diff --git a/.svelte-kit/ambient.d.ts b/.svelte-kit/ambient.d.ts
deleted file mode 100644
index 489f945..0000000
--- a/.svelte-kit/ambient.d.ts
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// this file is generated — do not edit it
-
-
-///
-
-/**
- * Environment variables [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env`. Like [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), this module cannot be imported into client-side code. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured).
- *
- * _Unlike_ [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), the values exported from this module are statically injected into your bundle at build time, enabling optimisations like dead code elimination.
- *
- * ```ts
- * import { API_KEY } from '$env/static/private';
- * ```
- *
- * Note that all environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed:
- *
- * ```
- * MY_FEATURE_FLAG=""
- * ```
- *
- * You can override `.env` values from the command line like so:
- *
- * ```bash
- * MY_FEATURE_FLAG="enabled" npm run dev
- * ```
- */
-declare module '$env/static/private' {
- export const ALLUSERSPROFILE: string;
- export const APPDATA: string;
- export const CHROME_CRASHPAD_PIPE_NAME: string;
- export const COLOR: string;
- export const COLORTERM: string;
- export const CommonProgramFiles: string;
- export const CommonProgramW6432: string;
- export const COMPUTERNAME: string;
- export const ComSpec: string;
- export const CURSOR_TRACE_ID: string;
- export const DriverData: string;
- export const EDITOR: string;
- export const EFC_39776: string;
- export const GIT_ASKPASS: string;
- export const HOME: string;
- export const HOMEDRIVE: string;
- export const HOMEPATH: string;
- export const IGCCSVC_DB: string;
- export const INIT_CWD: string;
- export const INTEL_DEV_REDIST: string;
- export const LANG: string;
- export const LOCALAPPDATA: string;
- export const LOGONSERVER: string;
- export const MIC_LD_LIBRARY_PATH: string;
- export const NODE: string;
- export const NODE_ENV: string;
- export const npm_command: string;
- export const npm_config_cache: string;
- export const npm_config_globalconfig: string;
- export const npm_config_global_prefix: string;
- export const npm_config_init_module: string;
- export const npm_config_local_prefix: string;
- export const npm_config_node_gyp: string;
- export const npm_config_noproxy: string;
- export const npm_config_npm_version: string;
- export const npm_config_prefix: string;
- export const npm_config_userconfig: string;
- export const npm_config_user_agent: string;
- export const npm_execpath: string;
- export const npm_lifecycle_event: string;
- export const npm_lifecycle_script: string;
- export const npm_node_execpath: string;
- export const npm_package_json: string;
- export const npm_package_name: string;
- export const npm_package_version: string;
- export const NUMBER_OF_PROCESSORS: string;
- export const OneDrive: string;
- export const OneDriveConsumer: string;
- export const OPENSSL_CONF: string;
- export const ORIGINAL_XDG_CURRENT_DESKTOP: string;
- export const OS: string;
- export const Path: string;
- export const PATHEXT: string;
- export const POWERSHELL_DISTRIBUTION_CHANNEL: string;
- export const PROCESSOR_ARCHITECTURE: string;
- export const PROCESSOR_IDENTIFIER: string;
- export const PROCESSOR_LEVEL: string;
- export const PROCESSOR_REVISION: string;
- export const ProgramData: string;
- export const ProgramFiles: string;
- export const ProgramW6432: string;
- export const PROMPT: string;
- export const PSModulePath: string;
- export const PUBLIC: string;
- export const SESSIONNAME: string;
- export const SystemDrive: string;
- export const SystemRoot: string;
- export const TEMP: string;
- export const TERM_PROGRAM: string;
- export const TERM_PROGRAM_VERSION: string;
- export const TMP: string;
- export const USERDOMAIN: string;
- export const USERDOMAIN_ROAMINGPROFILE: string;
- export const USERNAME: string;
- export const USERPROFILE: string;
- export const VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
- export const VSCODE_GIT_ASKPASS_MAIN: string;
- export const VSCODE_GIT_ASKPASS_NODE: string;
- export const VSCODE_GIT_IPC_HANDLE: string;
- export const VSCODE_INJECTION: string;
- export const windir: string;
- export const ZES_ENABLE_SYSMAN: string;
-}
-
-/**
- * Similar to [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private), except that it only includes environment variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
- *
- * Values are replaced statically at build time.
- *
- * ```ts
- * import { PUBLIC_BASE_URL } from '$env/static/public';
- * ```
- */
-declare module '$env/static/public' {
-
-}
-
-/**
- * This module provides access to runtime environment variables, as defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/main/packages/adapter-node) (or running [`vite preview`](https://svelte.dev/docs/kit/cli)), this is equivalent to `process.env`. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured).
- *
- * This module cannot be imported into client-side code.
- *
- * Dynamic environment variables cannot be used during prerendering.
- *
- * ```ts
- * import { env } from '$env/dynamic/private';
- * console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE);
- * ```
- *
- * > In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
- */
-declare module '$env/dynamic/private' {
- export const env: {
- ALLUSERSPROFILE: string;
- APPDATA: string;
- CHROME_CRASHPAD_PIPE_NAME: string;
- COLOR: string;
- COLORTERM: string;
- CommonProgramFiles: string;
- CommonProgramW6432: string;
- COMPUTERNAME: string;
- ComSpec: string;
- CURSOR_TRACE_ID: string;
- DriverData: string;
- EDITOR: string;
- EFC_39776: string;
- GIT_ASKPASS: string;
- HOME: string;
- HOMEDRIVE: string;
- HOMEPATH: string;
- IGCCSVC_DB: string;
- INIT_CWD: string;
- INTEL_DEV_REDIST: string;
- LANG: string;
- LOCALAPPDATA: string;
- LOGONSERVER: string;
- MIC_LD_LIBRARY_PATH: string;
- NODE: string;
- NODE_ENV: string;
- npm_command: string;
- npm_config_cache: string;
- npm_config_globalconfig: string;
- npm_config_global_prefix: string;
- npm_config_init_module: string;
- npm_config_local_prefix: string;
- npm_config_node_gyp: string;
- npm_config_noproxy: string;
- npm_config_npm_version: string;
- npm_config_prefix: string;
- npm_config_userconfig: string;
- npm_config_user_agent: string;
- npm_execpath: string;
- npm_lifecycle_event: string;
- npm_lifecycle_script: string;
- npm_node_execpath: string;
- npm_package_json: string;
- npm_package_name: string;
- npm_package_version: string;
- NUMBER_OF_PROCESSORS: string;
- OneDrive: string;
- OneDriveConsumer: string;
- OPENSSL_CONF: string;
- ORIGINAL_XDG_CURRENT_DESKTOP: string;
- OS: string;
- Path: string;
- PATHEXT: string;
- POWERSHELL_DISTRIBUTION_CHANNEL: string;
- PROCESSOR_ARCHITECTURE: string;
- PROCESSOR_IDENTIFIER: string;
- PROCESSOR_LEVEL: string;
- PROCESSOR_REVISION: string;
- ProgramData: string;
- ProgramFiles: string;
- ProgramW6432: string;
- PROMPT: string;
- PSModulePath: string;
- PUBLIC: string;
- SESSIONNAME: string;
- SystemDrive: string;
- SystemRoot: string;
- TEMP: string;
- TERM_PROGRAM: string;
- TERM_PROGRAM_VERSION: string;
- TMP: string;
- USERDOMAIN: string;
- USERDOMAIN_ROAMINGPROFILE: string;
- USERNAME: string;
- USERPROFILE: string;
- VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
- VSCODE_GIT_ASKPASS_MAIN: string;
- VSCODE_GIT_ASKPASS_NODE: string;
- VSCODE_GIT_IPC_HANDLE: string;
- VSCODE_INJECTION: string;
- windir: string;
- ZES_ENABLE_SYSMAN: string;
- [key: `PUBLIC_${string}`]: undefined;
- [key: `${string}`]: string | undefined;
- }
-}
-
-/**
- * Similar to [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), but only includes variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
- *
- * Note that public dynamic environment variables must all be sent from the server to the client, causing larger network requests — when possible, use `$env/static/public` instead.
- *
- * Dynamic environment variables cannot be used during prerendering.
- *
- * ```ts
- * import { env } from '$env/dynamic/public';
- * console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE);
- * ```
- */
-declare module '$env/dynamic/public' {
- export const env: {
- [key: `PUBLIC_${string}`]: string | undefined;
- }
-}
diff --git a/.svelte-kit/generated/client/app.js b/.svelte-kit/generated/client/app.js
deleted file mode 100644
index 163b3c7..0000000
--- a/.svelte-kit/generated/client/app.js
+++ /dev/null
@@ -1,34 +0,0 @@
-export { matchers } from './matchers.js';
-
-export const nodes = [
- () => import('./nodes/0'),
- () => import('./nodes/1'),
- () => import('./nodes/2'),
- () => import('./nodes/3'),
- () => import('./nodes/4'),
- () => import('./nodes/5')
-];
-
-export const server_loads = [];
-
-export const dictionary = {
- "/": [2],
- "/blog": [~3],
- "/blog/[slug]": [~4],
- "/builds": [5]
- };
-
-export const hooks = {
- handleError: (({ error }) => { console.error(error) }),
-
- reroute: (() => {}),
- transport: {}
-};
-
-export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode]));
-
-export const hash = false;
-
-export const decode = (type, value) => decoders[type](value);
-
-export { default as root } from '../root.svelte';
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/matchers.js b/.svelte-kit/generated/client/matchers.js
deleted file mode 100644
index f6bd30a..0000000
--- a/.svelte-kit/generated/client/matchers.js
+++ /dev/null
@@ -1 +0,0 @@
-export const matchers = {};
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/0.js b/.svelte-kit/generated/client/nodes/0.js
deleted file mode 100644
index fed1375..0000000
--- a/.svelte-kit/generated/client/nodes/0.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../src/routes/+layout.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/1.js b/.svelte-kit/generated/client/nodes/1.js
deleted file mode 100644
index 9cae4f0..0000000
--- a/.svelte-kit/generated/client/nodes/1.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-4/error.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/2.js b/.svelte-kit/generated/client/nodes/2.js
deleted file mode 100644
index 1cb4f85..0000000
--- a/.svelte-kit/generated/client/nodes/2.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../src/routes/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/3.js b/.svelte-kit/generated/client/nodes/3.js
deleted file mode 100644
index 27ed53b..0000000
--- a/.svelte-kit/generated/client/nodes/3.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../src/routes/blog/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/4.js b/.svelte-kit/generated/client/nodes/4.js
deleted file mode 100644
index 480ba90..0000000
--- a/.svelte-kit/generated/client/nodes/4.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../src/routes/blog/[slug]/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/5.js b/.svelte-kit/generated/client/nodes/5.js
deleted file mode 100644
index c6726ac..0000000
--- a/.svelte-kit/generated/client/nodes/5.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../src/routes/builds/+page.svelte";
\ No newline at end of file
diff --git a/.svelte-kit/generated/root.svelte b/.svelte-kit/generated/root.svelte
deleted file mode 100644
index 594b8fd..0000000
--- a/.svelte-kit/generated/root.svelte
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-{#if constructors[1]}
-
-
-
-
-{:else}
-
-
-{/if}
-
-{#if mounted}
-
- {#if navigated}
- {title}
- {/if}
-
-{/if}
\ No newline at end of file
diff --git a/.svelte-kit/generated/server/internal.js b/.svelte-kit/generated/server/internal.js
deleted file mode 100644
index ecb2f5e..0000000
--- a/.svelte-kit/generated/server/internal.js
+++ /dev/null
@@ -1,49 +0,0 @@
-
-import root from '../root.svelte';
-import { set_building, set_prerendering } from '__sveltekit/environment';
-import { set_assets } from '__sveltekit/paths';
-import { set_manifest, set_read_implementation } from '__sveltekit/server';
-import { set_private_env, set_public_env, set_safe_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js';
-
-export const options = {
- app_dir: "_app",
- app_template_contains_nonce: false,
- csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}},
- csrf_check_origin: true,
- embedded: false,
- env_public_prefix: 'PUBLIC_',
- env_private_prefix: '',
- hash_routing: false,
- hooks: null, // added lazily, via `get_hooks`
- preload_strategy: "modulepreload",
- root,
- service_worker: false,
- templates: {
- app: ({ head, body, assets, nonce, env }) => "\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t" + head + "\r\n\t\r\n\t\r\n\t\t" + body + "
\r\n\t\r\n ",
- error: ({ status, message }) => "\n\n\t\n\t\t\n\t\t" + message + "\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t
" + status + "\n\t\t\t
\n\t\t\t\t
" + message + "
\n\t\t\t\n\t\t
\n\t\n\n"
- },
- version_hash: "1g7u9qw"
-};
-
-export async function get_hooks() {
- let handle;
- let handleFetch;
- let handleError;
- let init;
-
-
- let reroute;
- let transport;
-
-
- return {
- handle,
- handleFetch,
- handleError,
- init,
- reroute,
- transport
- };
-}
-
-export { set_assets, set_building, set_manifest, set_prerendering, set_private_env, set_public_env, set_read_implementation, set_safe_public_env };
diff --git a/.svelte-kit/non-ambient.d.ts b/.svelte-kit/non-ambient.d.ts
deleted file mode 100644
index 46bd7fb..0000000
--- a/.svelte-kit/non-ambient.d.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-
-// this file is generated — do not edit it
-
-
-declare module "svelte/elements" {
- export interface HTMLAttributes {
- 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null;
- 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null;
- 'data-sveltekit-preload-code'?:
- | true
- | ''
- | 'eager'
- | 'viewport'
- | 'hover'
- | 'tap'
- | 'off'
- | undefined
- | null;
- 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null;
- 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
- 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
- }
-}
-
-export {};
diff --git a/.svelte-kit/output/client/_app/immutable/chunks/entry.BKCGSc5I.js b/.svelte-kit/output/client/_app/immutable/chunks/entry.BKCGSc5I.js
new file mode 100644
index 0000000..892c03e
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/chunks/entry.BKCGSc5I.js
@@ -0,0 +1,3 @@
+var wt=Object.defineProperty;var _t=(e,n,t)=>n in e?wt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var x=(e,n,t)=>_t(e,typeof n!="symbol"?n+"":n,t);import{n as de,s as bt,o as Ce,t as vt}from"./scheduler.Dnz8ZsAA.js";new URL("sveltekit-internal://");function St(e,n){return e==="/"||n==="ignore"?e:n==="never"?e.endsWith("/")?e.slice(0,-1):e:n==="always"&&!e.endsWith("/")?e+"/":e}function kt(e){return e.split("%25").map(decodeURI).join("%25")}function At(e){for(const n in e)e[n]=decodeURIComponent(e[n]);return e}function he({href:e}){return e.split("#")[0]}function Et(e,n,t,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,s){if(s==="get"||s==="getAll"||s==="has")return l=>(t(l),i[s](l));n();const c=Reflect.get(i,s);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const o=["href","pathname","search","toString","toJSON"];r&&o.push("hash");for(const i of o)Object.defineProperty(a,i,{get(){return n(),e[i]},enumerable:!0,configurable:!0});return a}const Rt="/__data.json",It=".html__data.json";function Ut(e){return e.endsWith(".html")?e.replace(/\.html$/,It):e.replace(/\/$/,"")+Rt}function Lt(...e){let n=5381;for(const t of e)if(typeof t=="string"){let r=t.length;for(;r;)n=n*33^t.charCodeAt(--r)}else if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function Tt(e){const n=atob(e),t=new Uint8Array(n.length);for(let r=0;r((e instanceof Request?e.method:(n==null?void 0:n.method)||"GET")!=="GET"&&G.delete(be(e)),ze(e,n));const G=new Map;function xt(e,n){const t=be(e,n),r=document.querySelector(t);if(r!=null&&r.textContent){let{body:a,...o}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&G.set(t,{body:a,init:o,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Tt(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,n)}function Pt(e,n,t){if(G.size>0){const r=be(e,t),a=G.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return n.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return pe(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return pe(String.fromCharCode(...c.slice(2).split("-").map(f=>parseInt(f,16))));const d=Ct.exec(c),[,h,y,u,g]=d;return n.push({name:u,matcher:g,optional:!!h,rest:!!y,chained:y?l===1&&i[0]==="":!1}),y?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return pe(c)}).join("")}).join("")}/?$`),params:n}}function Nt(e){return!/^\([^)]+\)$/.test(e)}function $t(e){return e.slice(1).split("/").filter(Nt)}function jt(e,n,t){const r={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;sd).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||t[c.matcher](l)){r[c.name]=l;const d=n[s+1],h=a[s+1];d&&!d.rest&&d.optional&&h&&c.chained&&(i=0),!d&&!h&&Object.keys(r).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function pe(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Dt({nodes:e,server_loads:n,dictionary:t,matchers:r}){const a=new Set(n);return Object.entries(t).map(([s,[c,l,d]])=>{const{pattern:h,params:y}=Ot(s),u={id:s,exec:g=>{const f=h.exec(g);if(f)return jt(f,y,r)},errors:[1,...d||[]].map(g=>e[g]),layouts:[0,...l||[]].map(i),leaf:o(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function o(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function He(e,n=JSON.parse){try{return n(sessionStorage[e])}catch{}}function Oe(e,n,t=JSON.stringify){const r=t(n);try{sessionStorage[e]=r}catch{}}const $=[];function ve(e,n=de){let t;const r=new Set;function a(s){if(bt(e,s)&&(e=s,t)){const c=!$.length;for(const l of r)l[1](),$.push(l,e);if(c){for(let l=0;l<$.length;l+=2)$[l][0]($[l+1]);$.length=0}}}function o(s){a(s(e))}function i(s,c=de){const l=[s,c];return r.add(l),r.size===1&&(t=n(a,o)||de),s(e),()=>{r.delete(l),r.size===0&&t&&(t(),t=null)}}return{set:a,update:o,subscribe:i}}var Ge;const T=((Ge=globalThis.__sveltekit_1kcqnxz)==null?void 0:Ge.base)??"/SS2";var Me;const Ft=((Me=globalThis.__sveltekit_1kcqnxz)==null?void 0:Me.assets)??T,Vt="1736628328334",Ke="sveltekit:snapshot",We="sveltekit:scroll",Ye="sveltekit:states",qt="sveltekit:pageurl",D="sveltekit:history",H="sveltekit:navigation",X={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},J=location.origin;function Je(e){if(e instanceof URL)return e;let n=document.baseURI;if(!n){const t=document.getElementsByTagName("base");n=t.length?t[0].href:document.URL}return new URL(e,n)}function Se(){return{x:pageXOffset,y:pageYOffset}}function j(e,n){return e.getAttribute(`data-sveltekit-${n}`)}const Ne={...X,"":X.hover};function Xe(e){let n=e.assignedSlot??e.parentNode;return(n==null?void 0:n.nodeType)===11&&(n=n.host),n}function Ze(e,n){for(;e&&e!==n;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Xe(e)}}function ye(e,n,t){let r;try{r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,o=!r||!!a||se(r,n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(r==null?void 0:r.origin)===J&&e.hasAttribute("download");return{url:r,external:o,target:a,download:i}}function Z(e){let n=null,t=null,r=null,a=null,o=null,i=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=j(s,"preload-code")),a===null&&(a=j(s,"preload-data")),n===null&&(n=j(s,"keepfocus")),t===null&&(t=j(s,"noscroll")),o===null&&(o=j(s,"reload")),i===null&&(i=j(s,"replacestate")),s=Xe(s);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ne[r??"off"],preload_data:Ne[a??"off"],keepfocus:c(n),noscroll:c(t),reload:c(o),replace_state:c(i)}}function $e(e){const n=ve(e);let t=!0;function r(){t=!0,n.update(i=>i)}function a(i){t=!1,n.set(i)}function o(i){let s;return n.subscribe(c=>{(s===void 0||t&&c!==s)&&i(s=c)})}return{notify:r,set:a,subscribe:o}}const Qe={v:()=>{}};function Bt(){const{set:e,subscribe:n}=ve(!1);let t;async function r(){clearTimeout(t);try{const a=await fetch(`${Ft}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Vt;return i&&(e(!0),Qe.v(),clearTimeout(t)),i}catch{return!1}}return{subscribe:n,check:r}}function se(e,n,t){return e.origin!==J||!e.pathname.startsWith(n)?!0:t?!(e.pathname===n+"/"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===n):!1}function je(e){const n=Mt(e),t=new ArrayBuffer(n.length),r=new DataView(t);for(let a=0;a>16),n+=String.fromCharCode((t&65280)>>8),n+=String.fromCharCode(t&255),t=r=0);return r===12?(t>>=4,n+=String.fromCharCode(t)):r===18&&(t>>=2,n+=String.fromCharCode((t&65280)>>8),n+=String.fromCharCode(t&255)),n}const zt=-1,Ht=-2,Kt=-3,Wt=-4,Yt=-5,Jt=-6;function Xt(e,n){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,r=Array(t.length);function a(o,i=!1){if(o===zt)return;if(o===Kt)return NaN;if(o===Wt)return 1/0;if(o===Yt)return-1/0;if(o===Jt)return-0;if(i)throw new Error("Invalid input");if(o in r)return r[o];const s=t[o];if(!s||typeof s!="object")r[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const c=s[0],l=n==null?void 0:n[c];if(l)return r[o]=l(a(s[1]));switch(c){case"Date":r[o]=new Date(s[1]);break;case"Set":const d=new Set;r[o]=d;for(let u=1;un!=null)}class ie{constructor(n,t){this.status=n,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class tt{constructor(n,t){this.status=n,this.location=t}}class ke extends Error{constructor(n,t,r){super(r),this.status=n,this.text=t}}const en="x-sveltekit-invalidated",tn="x-sveltekit-trailing-slash";function Q(e){return e instanceof ie||e instanceof ke?e.status:500}function nn(e){return e instanceof ke?e.text:"Internal Error"}let I,K,ge;const rn=Ce.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ce.toString());rn?(I={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},K={current:null},ge={current:!1}):(I=new class{constructor(){x(this,"data",$state.raw({}));x(this,"form",$state.raw(null));x(this,"error",$state.raw(null));x(this,"params",$state.raw({}));x(this,"route",$state.raw({id:null}));x(this,"state",$state.raw({}));x(this,"status",$state.raw(-1));x(this,"url",$state.raw(new URL("https://example.com")))}},K=new class{constructor(){x(this,"current",$state.raw(null))}},ge=new class{constructor(){x(this,"current",$state.raw(!1))}},Qe.v=()=>ge.current=!0);function an(e){Object.assign(I,e)}const on=new Set(["icon","shortcut icon","apple-touch-icon"]),N=He(We)??{},W=He(Ke)??{},C={url:$e({}),page:$e({}),navigating:ve(null),updated:Bt()};function Ae(e){N[e]=Se()}function sn(e,n){let t=e+1;for(;N[t];)delete N[t],t+=1;for(t=n+1;W[t];)delete W[t],t+=1}function V(e){return location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(T||"/");e&&await e.update()}}function De(){}let ce,we,ee,P,_e,S;const rt=[],te=[];let U=null;const at=new Set,cn=new Set,M=new Set;let w={branch:[],error:null,url:null},Ee=!1,ne=!1,Fe=!0,Y=!1,q=!1,ot=!1,Re=!1,st,R,L,re;const z=new Set;async function kn(e,n,t){var a,o,i,s;document.URL!==location.href&&(location.href=location.href),S=e,await((o=(a=e.hooks).init)==null?void 0:o.call(a)),ce=Dt(e),P=document.documentElement,_e=n,we=e.nodes[0],ee=e.nodes[1],we(),ee(),R=(i=history.state)==null?void 0:i[D],L=(s=history.state)==null?void 0:s[H],R||(R=L=Date.now(),history.replaceState({...history.state,[D]:R,[H]:L},""));const r=N[R];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),t?await mn(_e,t):pn(location.href,{replaceState:!0}),gn()}function ln(){rt.length=0,Re=!1}function it(e){te.some(n=>n==null?void 0:n.snapshot)&&(W[e]=te.map(n=>{var t;return(t=n==null?void 0:n.snapshot)==null?void 0:t.capture()}))}function ct(e){var n;(n=W[e])==null||n.forEach((t,r)=>{var a,o;(o=(a=te[r])==null?void 0:a.snapshot)==null||o.restore(t)})}function Ve(){Ae(R),Oe(We,N),it(L),Oe(Ke,W)}async function lt(e,n,t,r){return B({type:"goto",url:Je(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:t,nav_token:r,accept:()=>{n.invalidateAll&&(Re=!0)}})}async function fn(e){if(e.id!==(U==null?void 0:U.id)){const n={};z.add(n),U={id:e.id,token:n,promise:ut({...e,preload:n}).then(t=>(z.delete(n),t.type==="loaded"&&t.state.error&&(U=null),t))}}return U.promise}async function me(e){const n=ce.find(t=>t.exec(dt(e)));n&&await Promise.all([...n.layouts,n.leaf].map(t=>t==null?void 0:t[1]()))}function ft(e,n,t){var o;w=e.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),Object.assign(I,e.props.page),st=new S.root({target:n,props:{...e.props,stores:C,components:te},hydrate:t,sync:!1}),ct(L);const a={from:null,to:{params:w.params,route:{id:((o=w.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};M.forEach(i=>i(a)),ne=!0}function ae({url:e,params:n,branch:t,status:r,error:a,route:o,form:i}){let s="never";if(T&&(e.pathname===T||e.pathname===T+"/"))s="always";else for(const u of t)(u==null?void 0:u.slash)!==void 0&&(s=u.slash);e.pathname=St(e.pathname,s),e.search=e.search;const c={type:"loaded",state:{url:e,params:n,branch:t,error:a,route:o},props:{constructors:Qt(t).map(u=>u.node.component),page:Te(I)}};i!==void 0&&(c.props.form=i);let l={},d=!I,h=0;for(let u=0;u(s&&(c.route=!0),f[p])}),params:new Proxy(r,{get:(f,p)=>(s&&c.params.add(p),f[p])}),data:(o==null?void 0:o.data)??null,url:Et(t,()=>{s&&(c.url=!0)},f=>{s&&c.search_params.add(f)},S.hash),async fetch(f,p){let v;f instanceof Request?(v=f.url,p={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length?f.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...p}):v=f;const A=new URL(v,t);return s&&u(A.href),A.origin===t.origin&&(v=A.href.slice(t.origin.length)),ne?Pt(v,A.href,p):xt(v,p)},setHeaders:()=>{},depends:u,parent(){return s&&(c.parent=!0),n()},untrack(f){s=!1;try{return f()}finally{s=!0}}};i=await l.universal.load.call(null,g)??null}return{node:l,loader:e,server:o,universal:(h=l.universal)!=null&&h.load?{type:"data",data:i,uses:c}:null,data:i??(o==null?void 0:o.data)??null,slash:((y=l.universal)==null?void 0:y.trailingSlash)??(o==null?void 0:o.slash)}}function qe(e,n,t,r,a,o){if(Re)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&t)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(o[i]!==w.params[i])return!0;for(const i of a.dependencies)if(rt.some(s=>s(new URL(i))))return!0;return!1}function Ue(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}function un(e,n){if(!e)return new Set(n.searchParams.keys());const t=new Set([...e.searchParams.keys(),...n.searchParams.keys()]);for(const r of t){const a=e.searchParams.getAll(r),o=n.searchParams.getAll(r);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(r)}return t}function Be({error:e,url:n,route:t,params:r}){return{type:"loaded",state:{error:e,url:n,route:t,params:r,branch:[]},props:{page:Te(I),constructors:[]}}}async function ut({id:e,invalidating:n,url:t,params:r,route:a,preload:o}){if((U==null?void 0:U.id)===e)return z.delete(U.token),U.promise;const{errors:i,layouts:s,leaf:c}=a,l=[...s,c];i.forEach(m=>m==null?void 0:m().catch(()=>{})),l.forEach(m=>m==null?void 0:m[1]().catch(()=>{}));let d=null;const h=w.url?e!==oe(w.url):!1,y=w.route?a.id!==w.route.id:!1,u=un(w.url,t);let g=!1;const f=l.map((m,_)=>{var O;const k=w.branch[_],E=!!(m!=null&&m[0])&&((k==null?void 0:k.loader)!==m[1]||qe(g,y,h,u,(O=k.server)==null?void 0:O.uses,r));return E&&(g=!0),E});if(f.some(Boolean)){try{d=await gt(t,f)}catch(m){const _=await F(m,{url:t,params:r,route:{id:e}});return z.has(o)?Be({error:_,url:t,params:r,route:a}):le({status:Q(m),error:_,url:t,route:a})}if(d.type==="redirect")return d}const p=d==null?void 0:d.nodes;let v=!1;const A=l.map(async(m,_)=>{var fe;if(!m)return;const k=w.branch[_],E=p==null?void 0:p[_];if((!E||E.type==="skip")&&m[1]===(k==null?void 0:k.loader)&&!qe(v,y,h,u,(fe=k.universal)==null?void 0:fe.uses,r))return k;if(v=!0,(E==null?void 0:E.type)==="error")throw E;return Ie({loader:m[1],url:t,params:r,route:a,parent:async()=>{var Pe;const xe={};for(let ue=0;ue<_;ue+=1)Object.assign(xe,(Pe=await A[ue])==null?void 0:Pe.data);return xe},server_data_node:Ue(E===void 0&&m[0]?{type:"skip"}:E??null,m[0]?k==null?void 0:k.server:void 0)})});for(const m of A)m.catch(()=>{});const b=[];for(let m=0;mPromise.resolve({}),server_data_node:Ue(o)}),c={node:await ee(),loader:ee,universal:null,server:null,data:null};return ae({url:t,params:a,branch:[s,c],status:e,error:n,route:null})}function Le(e,n){if(!e||se(e,T,S.hash))return;let t;try{if(t=S.hooks.reroute({url:new URL(e)})??e,typeof t=="string"){const a=new URL(e);S.hash?a.hash=t:a.pathname=t,t=a}}catch{return}const r=dt(t);for(const a of ce){const o=a.exec(r);if(o)return{id:oe(e),invalidating:n,route:a,params:At(o),url:e}}}function dt(e){return kt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(T.length))||"/"}function oe(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ht({url:e,type:n,intent:t,delta:r}){let a=!1;const o=yt(w,t,e,n);r!==void 0&&(o.navigation.delta=r);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return Y||at.forEach(s=>s(i)),a?null:o}async function B({type:e,url:n,popped:t,keepfocus:r,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:l=De,block:d=De}){const h=Le(n,!1),y=ht({url:n,type:e,delta:t==null?void 0:t.delta,intent:h});if(!y){d();return}const u=R,g=L;l(),Y=!0,ne&&C.navigating.set(K.current=y.navigation),re=c;let f=h&&await ut(h);if(!f){if(se(n,T,S.hash))return await V(n);f=await pt(n,{id:null},await F(new ke(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(h==null?void 0:h.url)||n,re!==c)return y.reject(new Error("navigation aborted")),!1;if(f.type==="redirect")if(s>=20)f=await le({status:500,error:await F(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return lt(new URL(f.location,n).href,{},s+1,c),!1;else f.props.page.status>=400&&await C.updated.check()&&(await nt(),await V(n));if(ln(),Ae(u),it(g),f.props.page.url.pathname!==n.pathname&&(n.pathname=f.props.page.url.pathname),i=t?t.state:i,!t){const b=o?0:1,m={[D]:R+=b,[H]:L+=b,[Ye]:i};(o?history.replaceState:history.pushState).call(history,m,"",n),o||sn(R,L)}if(U=null,f.props.page.state=i,ne){w=f.state,f.props.page&&(f.props.page.url=n);const b=(await Promise.all(Array.from(cn,m=>m(y.navigation)))).filter(m=>typeof m=="function");if(b.length>0){let m=function(){b.forEach(_=>{M.delete(_)})};b.push(m),b.forEach(_=>{M.add(_)})}st.$set(f.props),an(f.props.page),ot=!0}else ft(f,_e,!1);const{activeElement:p}=document;await vt();const v=t?t.scroll:a?Se():null;if(Fe){const b=n.hash&&document.getElementById(decodeURIComponent(S.hash?n.hash.split("#")[2]??"":n.hash.slice(1)));v?scrollTo(v.x,v.y):b?b.scrollIntoView():scrollTo(0,0)}const A=document.activeElement!==p&&document.activeElement!==document.body;!r&&!A&&yn(),Fe=!0,f.props.page&&Object.assign(I,f.props.page),Y=!1,e==="popstate"&&ct(L),y.fulfil(void 0),M.forEach(b=>b(y.navigation)),C.navigating.set(K.current=null)}async function pt(e,n,t,r){return e.origin===J&&e.pathname===location.pathname&&!Ee?await le({status:r,error:t,url:e,route:n}):await V(e)}function hn(){let e;P.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{r(i,2)},20)});function n(o){o.defaultPrevented||r(o.composedPath()[0],1)}P.addEventListener("mousedown",n),P.addEventListener("touchstart",n,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(me(new URL(i.target.href)),t.unobserve(i.target))},{threshold:0});function r(o,i){const s=Ze(o,P);if(!s)return;const{url:c,external:l,download:d}=ye(s,T,S.hash);if(l||d)return;const h=Z(s),y=c&&oe(w.url)===oe(c);if(!h.reload&&!y)if(i<=h.preload_data){const u=Le(c,!1);u&&fn(u)}else i<=h.preload_code&&me(c)}function a(){t.disconnect();for(const o of P.querySelectorAll("a")){const{url:i,external:s,download:c}=ye(o,T,S.hash);if(s||c)continue;const l=Z(o);l.reload||(l.preload_code===X.viewport&&t.observe(o),l.preload_code===X.eager&&me(i))}}M.add(a),a()}function F(e,n){if(e instanceof ie)return e.body;const t=Q(e),r=nn(e);return S.hooks.handleError({error:e,event:n,status:t,message:r})??{message:r}}function pn(e,n={}){return e=new URL(Je(e)),e.origin!==J?Promise.reject(new Error("goto: invalid URL")):lt(e,n,0)}function gn(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(Ve(),!Y){const a=yt(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};at.forEach(i=>i(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ve()}),(n=navigator.connection)!=null&&n.saveData||hn(),P.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Ze(t.composedPath()[0],P);if(!r)return;const{url:a,external:o,target:i,download:s}=ye(r,T,S.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=Z(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[d,h]=(S.hash?a.hash.replace(/^#/,""):a.href).split("#"),y=d===he(location);if(o||c.reload&&(!y||!h)){ht({url:a,type:"link"})?Y=!0:t.preventDefault();return}if(h!==void 0&&y){const[,u]=w.url.href.split("#");if(u===h){if(t.preventDefault(),h===""||h==="top"&&r.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const g=r.ownerDocument.getElementById(decodeURIComponent(h));g&&(g.scrollIntoView(),g.focus())}return}if(q=!0,Ae(R),e(a),!c.replace_state)return;q=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),B({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),P.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const s=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(se(s,T,!1))return;const c=t.target,l=Z(c);if(l.reload)return;t.preventDefault(),t.stopPropagation();const d=new FormData(c),h=a==null?void 0:a.getAttribute("name");h&&d.append(h,(a==null?void 0:a.getAttribute("value"))??""),s.search=new URLSearchParams(d).toString(),B({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[D]){const a=t.state[D];if(re={},a===R)return;const o=N[a],i=t.state[Ye]??{},s=new URL(t.state[qt]??location.href),c=t.state[H],l=he(location)===he(w.url);if(c===L&&(ot||l)){i!==I.state&&(I.state=i),e(s),N[R]=Se(),o&&scrollTo(o.x,o.y),R=a;return}const h=a-R;await B({type:"popstate",url:s,popped:{state:i,scroll:o,delta:h},accept:()=>{R=a,L=c},block:()=>{history.go(-h)},nav_token:re})}else if(!q){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{q?(q=!1,history.replaceState({...history.state,[D]:++R,[H]:L},"",location.href)):S.hash&&w.url.hash===location.hash&&B({type:"goto",url:w.url})});for(const t of document.querySelectorAll("link"))on.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&C.navigating.set(K.current=null)});function e(t){w.url=I.url=t,C.page.set(Te(I)),C.page.notify()}}async function mn(e,{status:n=200,error:t,node_ids:r,params:a,route:o,data:i,form:s}){Ee=!0;const c=new URL(location.href);({params:a={},route:o={id:null}}=Le(c,!1)||{});let l,d=!0;try{const h=r.map(async(g,f)=>{const p=i[f];return p!=null&&p.uses&&(p.uses=mt(p.uses)),Ie({loader:S.nodes[g],url:c,params:a,route:o,parent:async()=>{const v={};for(let A=0;Ag===o.id);if(u){const g=u.layouts;for(let f=0;fo?"1":"0").join(""));const r=await ze(t.href);if(!r.ok){let o;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?o=await r.json():r.status===404?o="Not Found":r.status===500&&(o="Internal Error"),new ie(r.status,o)}return new Promise(async o=>{var h;const i=new Map,s=r.body.getReader(),c=new TextDecoder;function l(y){return Xt(y,{...S.decoders,Promise:u=>new Promise((g,f)=>{i.set(u,{fulfil:g,reject:f})})})}let d="";for(;;){const{done:y,value:u}=await s.read();if(y&&!d)break;for(d+=!u&&d?`
+`:c.decode(u,{stream:!0});;){const g=d.indexOf(`
+`);if(g===-1)break;const f=JSON.parse(d.slice(0,g));if(d=d.slice(g+1),f.type==="redirect")return o(f);if(f.type==="data")(h=f.nodes)==null||h.forEach(p=>{(p==null?void 0:p.type)==="data"&&(p.uses=mt(p.uses),p.data=l(p.data))}),o(f);else if(f.type==="chunk"){const{id:p,data:v,error:A}=f,b=i.get(p);i.delete(p),A?b.reject(l(A)):b.fulfil(l(v))}}}})}function mt(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function yn(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const n=document.body,t=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),t!==null?n.setAttribute("tabindex",t):n.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let o=0;o{if(r.rangeCount===a.length){for(let o=0;o{a=d,o=h});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url},to:t&&{params:(n==null?void 0:n.params)??null,route:{id:((l=n==null?void 0:n.route)==null?void 0:l.id)??null},url:t},willUnload:!n,type:r,complete:i},fulfil:a,reject:o}}function Te(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}export{kn as a,C as s};
diff --git a/.svelte-kit/output/client/_app/immutable/entry/app.C0DeC1ga.js b/.svelte-kit/output/client/_app/immutable/entry/app.C0DeC1ga.js
new file mode 100644
index 0000000..beab1ac
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/entry/app.C0DeC1ga.js
@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Deayxlmz.js","../chunks/scheduler.Dnz8ZsAA.js","../chunks/index.cD3UBkeq.js","../chunks/each.D6YF6ztN.js","../assets/0.BwpHp3zv.css","../nodes/1.CsbMDU56.js","../chunks/entry.BKCGSc5I.js","../nodes/2.D1H8Umye.js","../assets/2.O1OMYN-z.css","../nodes/3.Co9ydvvn.js","../assets/3.DZYUQWo6.css","../nodes/4.B5nT-XC-.js","../assets/4.DFklNFlY.css","../nodes/5.Cj6kOlcX.js","../assets/5.Z3mEMJFf.css"])))=>i.map(i=>d[i]);
+import{s as B,b as N,o as q,t as U,d as S}from"../chunks/scheduler.Dnz8ZsAA.js";import{S as z,i as W,s as F,r as h,f as G,g as k,u as p,v as O,w as g,d as w,e as H,c as J,a as K,m as I,x as d,t as Q,b as X,j as Y,y as D,z as P,A as R,B as T,C as L,D as A}from"../chunks/index.cD3UBkeq.js";const Z="modulepreload",M=function(o,e){return new URL(o,e).href},V={},y=function(e,n,s){let r=Promise.resolve();if(n&&n.length>0){const t=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(f=>{if(f=M(f,s),f in V)return;V[f]=!0;const a=f.endsWith(".css"),_=a?'[rel="stylesheet"]':"";if(!!s)for(let E=t.length-1;E>=0;E--){const v=t[E];if(v.href===f&&(!a||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${_}`))return;const m=document.createElement("link");if(m.rel=a?"stylesheet":Z,a||(m.as="script"),m.crossOrigin="",m.href=f,l&&m.setAttribute("nonce",l),document.head.appendChild(m),a)return new Promise((E,v)=>{m.addEventListener("load",E),m.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${f}`)))})}))}function u(t){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=t,window.dispatchEvent(i),!i.defaultPrevented)throw t}return r.then(t=>{for(const i of t||[])i.status==="rejected"&&u(i.reason);return e().catch(u)})},ae={};function $(o){let e,n,s;var r=o[1][0];function u(t,i){return{props:{data:t[3],form:t[2]}}}return r&&(e=P(r,u(o)),o[12](e)),{c(){e&&R(e.$$.fragment),n=h()},l(t){e&&T(e.$$.fragment,t),n=h()},m(t,i){e&&L(e,t,i),k(t,n,i),s=!0},p(t,i){if(i&2&&r!==(r=t[1][0])){if(e){D();const l=e;p(l.$$.fragment,1,0,()=>{A(l,1)}),O()}r?(e=P(r,u(t)),t[12](e),R(e.$$.fragment),g(e.$$.fragment,1),L(e,n.parentNode,n)):e=null}else if(r){const l={};i&8&&(l.data=t[3]),i&4&&(l.form=t[2]),e.$set(l)}},i(t){s||(e&&g(e.$$.fragment,t),s=!0)},o(t){e&&p(e.$$.fragment,t),s=!1},d(t){t&&w(n),o[12](null),e&&A(e,t)}}}function x(o){let e,n,s;var r=o[1][0];function u(t,i){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return r&&(e=P(r,u(o)),o[11](e)),{c(){e&&R(e.$$.fragment),n=h()},l(t){e&&T(e.$$.fragment,t),n=h()},m(t,i){e&&L(e,t,i),k(t,n,i),s=!0},p(t,i){if(i&2&&r!==(r=t[1][0])){if(e){D();const l=e;p(l.$$.fragment,1,0,()=>{A(l,1)}),O()}r?(e=P(r,u(t)),t[11](e),R(e.$$.fragment),g(e.$$.fragment,1),L(e,n.parentNode,n)):e=null}else if(r){const l={};i&8&&(l.data=t[3]),i&8215&&(l.$$scope={dirty:i,ctx:t}),e.$set(l)}},i(t){s||(e&&g(e.$$.fragment,t),s=!0)},o(t){e&&p(e.$$.fragment,t),s=!1},d(t){t&&w(n),o[11](null),e&&A(e,t)}}}function ee(o){let e,n,s;var r=o[1][1];function u(t,i){return{props:{data:t[4],form:t[2]}}}return r&&(e=P(r,u(o)),o[10](e)),{c(){e&&R(e.$$.fragment),n=h()},l(t){e&&T(e.$$.fragment,t),n=h()},m(t,i){e&&L(e,t,i),k(t,n,i),s=!0},p(t,i){if(i&2&&r!==(r=t[1][1])){if(e){D();const l=e;p(l.$$.fragment,1,0,()=>{A(l,1)}),O()}r?(e=P(r,u(t)),t[10](e),R(e.$$.fragment),g(e.$$.fragment,1),L(e,n.parentNode,n)):e=null}else if(r){const l={};i&16&&(l.data=t[4]),i&4&&(l.form=t[2]),e.$set(l)}},i(t){s||(e&&g(e.$$.fragment,t),s=!0)},o(t){e&&p(e.$$.fragment,t),s=!1},d(t){t&&w(n),o[10](null),e&&A(e,t)}}}function C(o){let e,n=o[6]&&j(o);return{c(){e=H("div"),n&&n.c(),this.h()},l(s){e=J(s,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var r=K(e);n&&n.l(r),r.forEach(w),this.h()},h(){I(e,"id","svelte-announcer"),I(e,"aria-live","assertive"),I(e,"aria-atomic","true"),d(e,"position","absolute"),d(e,"left","0"),d(e,"top","0"),d(e,"clip","rect(0 0 0 0)"),d(e,"clip-path","inset(50%)"),d(e,"overflow","hidden"),d(e,"white-space","nowrap"),d(e,"width","1px"),d(e,"height","1px")},m(s,r){k(s,e,r),n&&n.m(e,null)},p(s,r){s[6]?n?n.p(s,r):(n=j(s),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(s){s&&w(e),n&&n.d()}}}function j(o){let e;return{c(){e=Q(o[7])},l(n){e=X(n,o[7])},m(n,s){k(n,e,s)},p(n,s){s&128&&Y(e,n[7])},d(n){n&&w(e)}}}function te(o){let e,n,s,r,u;const t=[x,$],i=[];function l(a,_){return a[1][1]?0:1}e=l(o),n=i[e]=t[e](o);let f=o[5]&&C(o);return{c(){n.c(),s=F(),f&&f.c(),r=h()},l(a){n.l(a),s=G(a),f&&f.l(a),r=h()},m(a,_){i[e].m(a,_),k(a,s,_),f&&f.m(a,_),k(a,r,_),u=!0},p(a,[_]){let b=e;e=l(a),e===b?i[e].p(a,_):(D(),p(i[b],1,1,()=>{i[b]=null}),O(),n=i[e],n?n.p(a,_):(n=i[e]=t[e](a),n.c()),g(n,1),n.m(s.parentNode,s)),a[5]?f?f.p(a,_):(f=C(a),f.c(),f.m(r.parentNode,r)):f&&(f.d(1),f=null)},i(a){u||(g(n),u=!0)},o(a){p(n),u=!1},d(a){a&&(w(s),w(r)),i[e].d(a),f&&f.d(a)}}}function ne(o,e,n){let{stores:s}=e,{page:r}=e,{constructors:u}=e,{components:t=[]}=e,{form:i}=e,{data_0:l=null}=e,{data_1:f=null}=e;N(s.page.notify);let a=!1,_=!1,b=null;q(()=>{const c=s.page.subscribe(()=>{a&&(n(6,_=!0),U().then(()=>{n(7,b=document.title||"untitled page")}))});return n(5,a=!0),c});function m(c){S[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function E(c){S[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function v(c){S[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return o.$$set=c=>{"stores"in c&&n(8,s=c.stores),"page"in c&&n(9,r=c.page),"constructors"in c&&n(1,u=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,i=c.form),"data_0"in c&&n(3,l=c.data_0),"data_1"in c&&n(4,f=c.data_1)},o.$$.update=()=>{o.$$.dirty&768&&s.page.set(r)},[t,u,i,l,f,a,_,b,s,r,m,E,v]}class le extends z{constructor(e){super(),W(this,e,ne,te,B,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const fe=[()=>y(()=>import("../nodes/0.Deayxlmz.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>y(()=>import("../nodes/1.CsbMDU56.js"),__vite__mapDeps([5,1,2,6]),import.meta.url),()=>y(()=>import("../nodes/2.D1H8Umye.js"),__vite__mapDeps([7,1,2,8]),import.meta.url),()=>y(()=>import("../nodes/3.Co9ydvvn.js"),__vite__mapDeps([9,1,2,3,10]),import.meta.url),()=>y(()=>import("../nodes/4.B5nT-XC-.js"),__vite__mapDeps([11,1,2,3,12]),import.meta.url),()=>y(()=>import("../nodes/5.Cj6kOlcX.js"),__vite__mapDeps([13,1,2,3,14]),import.meta.url)],ce=[],ue={"/":[2],"/blog":[-4],"/blog/[slug]":[-5],"/builds":[5]},ie={handleError:({error:o})=>{console.error(o)},reroute:()=>{},transport:{}},se=Object.fromEntries(Object.entries(ie.transport).map(([o,e])=>[o,e.decode])),_e=!1,me=(o,e)=>se[o](e);export{me as decode,se as decoders,ue as dictionary,_e as hash,ie as hooks,ae as matchers,fe as nodes,le as root,ce as server_loads};
diff --git a/.svelte-kit/output/client/_app/immutable/entry/start.BDTV9D9a.js b/.svelte-kit/output/client/_app/immutable/entry/start.BDTV9D9a.js
new file mode 100644
index 0000000..7bbf12f
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/entry/start.BDTV9D9a.js
@@ -0,0 +1 @@
+import{a as t}from"../chunks/entry.BKCGSc5I.js";export{t as start};
diff --git a/.svelte-kit/output/client/_app/immutable/nodes/1.CsbMDU56.js b/.svelte-kit/output/client/_app/immutable/nodes/1.CsbMDU56.js
new file mode 100644
index 0000000..e3ceca2
--- /dev/null
+++ b/.svelte-kit/output/client/_app/immutable/nodes/1.CsbMDU56.js
@@ -0,0 +1 @@
+import{s as S,n as _,c as x}from"../chunks/scheduler.Dnz8ZsAA.js";import{S as j,i as q,e as f,t as d,s as y,c as g,a as h,b as v,d as u,f as C,g as m,h as $,j as E}from"../chunks/index.cD3UBkeq.js";import{s as H}from"../chunks/entry.BKCGSc5I.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},k={subscribe(s){return P().page.subscribe(s)}};function w(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=f("h1"),o=d(r),n=y(),i=f("p"),l=d(c)},l(e){t=g(e,"H1",{});var a=h(t);o=v(a,r),a.forEach(u),n=C(e),i=g(e,"P",{});var p=h(i);l=v(p,c),p.forEach(u)},m(e,a){m(e,t,a),$(t,o),m(e,n,a),m(e,i,a),$(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&E(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&E(l,c)},i:_,o:_,d(e){e&&(u(t),u(n),u(i))}}}function z(s,t,r){let o;return x(s,k,n=>r(0,o=n)),[o]}let F=class extends j{constructor(t){super(),q(this,t,z,w,S,{})}};export{F as component};
diff --git a/.svelte-kit/tsconfig.json b/.svelte-kit/tsconfig.json
deleted file mode 100644
index a2a7665..0000000
--- a/.svelte-kit/tsconfig.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "compilerOptions": {
- "paths": {
- "$lib": [
- "../src/lib"
- ],
- "$lib/*": [
- "../src/lib/*"
- ]
- },
- "rootDirs": [
- "..",
- "./types"
- ],
- "verbatimModuleSyntax": true,
- "isolatedModules": true,
- "lib": [
- "esnext",
- "DOM",
- "DOM.Iterable"
- ],
- "moduleResolution": "bundler",
- "module": "esnext",
- "noEmit": true,
- "target": "esnext"
- },
- "include": [
- "ambient.d.ts",
- "non-ambient.d.ts",
- "./types/**/$types.d.ts",
- "../vite.config.js",
- "../vite.config.ts",
- "../src/**/*.js",
- "../src/**/*.ts",
- "../src/**/*.svelte",
- "../tests/**/*.js",
- "../tests/**/*.ts",
- "../tests/**/*.svelte"
- ],
- "exclude": [
- "../node_modules/**",
- "../src/service-worker.js",
- "../src/service-worker/**/*.js",
- "../src/service-worker.ts",
- "../src/service-worker/**/*.ts",
- "../src/service-worker.d.ts",
- "../src/service-worker/**/*.d.ts"
- ]
-}
\ No newline at end of file
diff --git a/_app/immutable/chunks/entry.BKCGSc5I.js b/_app/immutable/chunks/entry.BKCGSc5I.js
new file mode 100644
index 0000000..892c03e
--- /dev/null
+++ b/_app/immutable/chunks/entry.BKCGSc5I.js
@@ -0,0 +1,3 @@
+var wt=Object.defineProperty;var _t=(e,n,t)=>n in e?wt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var x=(e,n,t)=>_t(e,typeof n!="symbol"?n+"":n,t);import{n as de,s as bt,o as Ce,t as vt}from"./scheduler.Dnz8ZsAA.js";new URL("sveltekit-internal://");function St(e,n){return e==="/"||n==="ignore"?e:n==="never"?e.endsWith("/")?e.slice(0,-1):e:n==="always"&&!e.endsWith("/")?e+"/":e}function kt(e){return e.split("%25").map(decodeURI).join("%25")}function At(e){for(const n in e)e[n]=decodeURIComponent(e[n]);return e}function he({href:e}){return e.split("#")[0]}function Et(e,n,t,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,s){if(s==="get"||s==="getAll"||s==="has")return l=>(t(l),i[s](l));n();const c=Reflect.get(i,s);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const o=["href","pathname","search","toString","toJSON"];r&&o.push("hash");for(const i of o)Object.defineProperty(a,i,{get(){return n(),e[i]},enumerable:!0,configurable:!0});return a}const Rt="/__data.json",It=".html__data.json";function Ut(e){return e.endsWith(".html")?e.replace(/\.html$/,It):e.replace(/\/$/,"")+Rt}function Lt(...e){let n=5381;for(const t of e)if(typeof t=="string"){let r=t.length;for(;r;)n=n*33^t.charCodeAt(--r)}else if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function Tt(e){const n=atob(e),t=new Uint8Array(n.length);for(let r=0;r((e instanceof Request?e.method:(n==null?void 0:n.method)||"GET")!=="GET"&&G.delete(be(e)),ze(e,n));const G=new Map;function xt(e,n){const t=be(e,n),r=document.querySelector(t);if(r!=null&&r.textContent){let{body:a,...o}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&G.set(t,{body:a,init:o,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Tt(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,n)}function Pt(e,n,t){if(G.size>0){const r=be(e,t),a=G.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return n.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return pe(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return pe(String.fromCharCode(...c.slice(2).split("-").map(f=>parseInt(f,16))));const d=Ct.exec(c),[,h,y,u,g]=d;return n.push({name:u,matcher:g,optional:!!h,rest:!!y,chained:y?l===1&&i[0]==="":!1}),y?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return pe(c)}).join("")}).join("")}/?$`),params:n}}function Nt(e){return!/^\([^)]+\)$/.test(e)}function $t(e){return e.slice(1).split("/").filter(Nt)}function jt(e,n,t){const r={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;sd).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||t[c.matcher](l)){r[c.name]=l;const d=n[s+1],h=a[s+1];d&&!d.rest&&d.optional&&h&&c.chained&&(i=0),!d&&!h&&Object.keys(r).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function pe(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Dt({nodes:e,server_loads:n,dictionary:t,matchers:r}){const a=new Set(n);return Object.entries(t).map(([s,[c,l,d]])=>{const{pattern:h,params:y}=Ot(s),u={id:s,exec:g=>{const f=h.exec(g);if(f)return jt(f,y,r)},errors:[1,...d||[]].map(g=>e[g]),layouts:[0,...l||[]].map(i),leaf:o(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function o(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function He(e,n=JSON.parse){try{return n(sessionStorage[e])}catch{}}function Oe(e,n,t=JSON.stringify){const r=t(n);try{sessionStorage[e]=r}catch{}}const $=[];function ve(e,n=de){let t;const r=new Set;function a(s){if(bt(e,s)&&(e=s,t)){const c=!$.length;for(const l of r)l[1](),$.push(l,e);if(c){for(let l=0;l<$.length;l+=2)$[l][0]($[l+1]);$.length=0}}}function o(s){a(s(e))}function i(s,c=de){const l=[s,c];return r.add(l),r.size===1&&(t=n(a,o)||de),s(e),()=>{r.delete(l),r.size===0&&t&&(t(),t=null)}}return{set:a,update:o,subscribe:i}}var Ge;const T=((Ge=globalThis.__sveltekit_1kcqnxz)==null?void 0:Ge.base)??"/SS2";var Me;const Ft=((Me=globalThis.__sveltekit_1kcqnxz)==null?void 0:Me.assets)??T,Vt="1736628328334",Ke="sveltekit:snapshot",We="sveltekit:scroll",Ye="sveltekit:states",qt="sveltekit:pageurl",D="sveltekit:history",H="sveltekit:navigation",X={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},J=location.origin;function Je(e){if(e instanceof URL)return e;let n=document.baseURI;if(!n){const t=document.getElementsByTagName("base");n=t.length?t[0].href:document.URL}return new URL(e,n)}function Se(){return{x:pageXOffset,y:pageYOffset}}function j(e,n){return e.getAttribute(`data-sveltekit-${n}`)}const Ne={...X,"":X.hover};function Xe(e){let n=e.assignedSlot??e.parentNode;return(n==null?void 0:n.nodeType)===11&&(n=n.host),n}function Ze(e,n){for(;e&&e!==n;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Xe(e)}}function ye(e,n,t){let r;try{r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,o=!r||!!a||se(r,n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(r==null?void 0:r.origin)===J&&e.hasAttribute("download");return{url:r,external:o,target:a,download:i}}function Z(e){let n=null,t=null,r=null,a=null,o=null,i=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=j(s,"preload-code")),a===null&&(a=j(s,"preload-data")),n===null&&(n=j(s,"keepfocus")),t===null&&(t=j(s,"noscroll")),o===null&&(o=j(s,"reload")),i===null&&(i=j(s,"replacestate")),s=Xe(s);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ne[r??"off"],preload_data:Ne[a??"off"],keepfocus:c(n),noscroll:c(t),reload:c(o),replace_state:c(i)}}function $e(e){const n=ve(e);let t=!0;function r(){t=!0,n.update(i=>i)}function a(i){t=!1,n.set(i)}function o(i){let s;return n.subscribe(c=>{(s===void 0||t&&c!==s)&&i(s=c)})}return{notify:r,set:a,subscribe:o}}const Qe={v:()=>{}};function Bt(){const{set:e,subscribe:n}=ve(!1);let t;async function r(){clearTimeout(t);try{const a=await fetch(`${Ft}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Vt;return i&&(e(!0),Qe.v(),clearTimeout(t)),i}catch{return!1}}return{subscribe:n,check:r}}function se(e,n,t){return e.origin!==J||!e.pathname.startsWith(n)?!0:t?!(e.pathname===n+"/"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===n):!1}function je(e){const n=Mt(e),t=new ArrayBuffer(n.length),r=new DataView(t);for(let a=0;a>16),n+=String.fromCharCode((t&65280)>>8),n+=String.fromCharCode(t&255),t=r=0);return r===12?(t>>=4,n+=String.fromCharCode(t)):r===18&&(t>>=2,n+=String.fromCharCode((t&65280)>>8),n+=String.fromCharCode(t&255)),n}const zt=-1,Ht=-2,Kt=-3,Wt=-4,Yt=-5,Jt=-6;function Xt(e,n){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,r=Array(t.length);function a(o,i=!1){if(o===zt)return;if(o===Kt)return NaN;if(o===Wt)return 1/0;if(o===Yt)return-1/0;if(o===Jt)return-0;if(i)throw new Error("Invalid input");if(o in r)return r[o];const s=t[o];if(!s||typeof s!="object")r[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const c=s[0],l=n==null?void 0:n[c];if(l)return r[o]=l(a(s[1]));switch(c){case"Date":r[o]=new Date(s[1]);break;case"Set":const d=new Set;r[o]=d;for(let u=1;un!=null)}class ie{constructor(n,t){this.status=n,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class tt{constructor(n,t){this.status=n,this.location=t}}class ke extends Error{constructor(n,t,r){super(r),this.status=n,this.text=t}}const en="x-sveltekit-invalidated",tn="x-sveltekit-trailing-slash";function Q(e){return e instanceof ie||e instanceof ke?e.status:500}function nn(e){return e instanceof ke?e.text:"Internal Error"}let I,K,ge;const rn=Ce.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ce.toString());rn?(I={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},K={current:null},ge={current:!1}):(I=new class{constructor(){x(this,"data",$state.raw({}));x(this,"form",$state.raw(null));x(this,"error",$state.raw(null));x(this,"params",$state.raw({}));x(this,"route",$state.raw({id:null}));x(this,"state",$state.raw({}));x(this,"status",$state.raw(-1));x(this,"url",$state.raw(new URL("https://example.com")))}},K=new class{constructor(){x(this,"current",$state.raw(null))}},ge=new class{constructor(){x(this,"current",$state.raw(!1))}},Qe.v=()=>ge.current=!0);function an(e){Object.assign(I,e)}const on=new Set(["icon","shortcut icon","apple-touch-icon"]),N=He(We)??{},W=He(Ke)??{},C={url:$e({}),page:$e({}),navigating:ve(null),updated:Bt()};function Ae(e){N[e]=Se()}function sn(e,n){let t=e+1;for(;N[t];)delete N[t],t+=1;for(t=n+1;W[t];)delete W[t],t+=1}function V(e){return location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(T||"/");e&&await e.update()}}function De(){}let ce,we,ee,P,_e,S;const rt=[],te=[];let U=null;const at=new Set,cn=new Set,M=new Set;let w={branch:[],error:null,url:null},Ee=!1,ne=!1,Fe=!0,Y=!1,q=!1,ot=!1,Re=!1,st,R,L,re;const z=new Set;async function kn(e,n,t){var a,o,i,s;document.URL!==location.href&&(location.href=location.href),S=e,await((o=(a=e.hooks).init)==null?void 0:o.call(a)),ce=Dt(e),P=document.documentElement,_e=n,we=e.nodes[0],ee=e.nodes[1],we(),ee(),R=(i=history.state)==null?void 0:i[D],L=(s=history.state)==null?void 0:s[H],R||(R=L=Date.now(),history.replaceState({...history.state,[D]:R,[H]:L},""));const r=N[R];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),t?await mn(_e,t):pn(location.href,{replaceState:!0}),gn()}function ln(){rt.length=0,Re=!1}function it(e){te.some(n=>n==null?void 0:n.snapshot)&&(W[e]=te.map(n=>{var t;return(t=n==null?void 0:n.snapshot)==null?void 0:t.capture()}))}function ct(e){var n;(n=W[e])==null||n.forEach((t,r)=>{var a,o;(o=(a=te[r])==null?void 0:a.snapshot)==null||o.restore(t)})}function Ve(){Ae(R),Oe(We,N),it(L),Oe(Ke,W)}async function lt(e,n,t,r){return B({type:"goto",url:Je(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:t,nav_token:r,accept:()=>{n.invalidateAll&&(Re=!0)}})}async function fn(e){if(e.id!==(U==null?void 0:U.id)){const n={};z.add(n),U={id:e.id,token:n,promise:ut({...e,preload:n}).then(t=>(z.delete(n),t.type==="loaded"&&t.state.error&&(U=null),t))}}return U.promise}async function me(e){const n=ce.find(t=>t.exec(dt(e)));n&&await Promise.all([...n.layouts,n.leaf].map(t=>t==null?void 0:t[1]()))}function ft(e,n,t){var o;w=e.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),Object.assign(I,e.props.page),st=new S.root({target:n,props:{...e.props,stores:C,components:te},hydrate:t,sync:!1}),ct(L);const a={from:null,to:{params:w.params,route:{id:((o=w.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};M.forEach(i=>i(a)),ne=!0}function ae({url:e,params:n,branch:t,status:r,error:a,route:o,form:i}){let s="never";if(T&&(e.pathname===T||e.pathname===T+"/"))s="always";else for(const u of t)(u==null?void 0:u.slash)!==void 0&&(s=u.slash);e.pathname=St(e.pathname,s),e.search=e.search;const c={type:"loaded",state:{url:e,params:n,branch:t,error:a,route:o},props:{constructors:Qt(t).map(u=>u.node.component),page:Te(I)}};i!==void 0&&(c.props.form=i);let l={},d=!I,h=0;for(let u=0;u(s&&(c.route=!0),f[p])}),params:new Proxy(r,{get:(f,p)=>(s&&c.params.add(p),f[p])}),data:(o==null?void 0:o.data)??null,url:Et(t,()=>{s&&(c.url=!0)},f=>{s&&c.search_params.add(f)},S.hash),async fetch(f,p){let v;f instanceof Request?(v=f.url,p={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length?f.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...p}):v=f;const A=new URL(v,t);return s&&u(A.href),A.origin===t.origin&&(v=A.href.slice(t.origin.length)),ne?Pt(v,A.href,p):xt(v,p)},setHeaders:()=>{},depends:u,parent(){return s&&(c.parent=!0),n()},untrack(f){s=!1;try{return f()}finally{s=!0}}};i=await l.universal.load.call(null,g)??null}return{node:l,loader:e,server:o,universal:(h=l.universal)!=null&&h.load?{type:"data",data:i,uses:c}:null,data:i??(o==null?void 0:o.data)??null,slash:((y=l.universal)==null?void 0:y.trailingSlash)??(o==null?void 0:o.slash)}}function qe(e,n,t,r,a,o){if(Re)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&t)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(o[i]!==w.params[i])return!0;for(const i of a.dependencies)if(rt.some(s=>s(new URL(i))))return!0;return!1}function Ue(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}function un(e,n){if(!e)return new Set(n.searchParams.keys());const t=new Set([...e.searchParams.keys(),...n.searchParams.keys()]);for(const r of t){const a=e.searchParams.getAll(r),o=n.searchParams.getAll(r);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(r)}return t}function Be({error:e,url:n,route:t,params:r}){return{type:"loaded",state:{error:e,url:n,route:t,params:r,branch:[]},props:{page:Te(I),constructors:[]}}}async function ut({id:e,invalidating:n,url:t,params:r,route:a,preload:o}){if((U==null?void 0:U.id)===e)return z.delete(U.token),U.promise;const{errors:i,layouts:s,leaf:c}=a,l=[...s,c];i.forEach(m=>m==null?void 0:m().catch(()=>{})),l.forEach(m=>m==null?void 0:m[1]().catch(()=>{}));let d=null;const h=w.url?e!==oe(w.url):!1,y=w.route?a.id!==w.route.id:!1,u=un(w.url,t);let g=!1;const f=l.map((m,_)=>{var O;const k=w.branch[_],E=!!(m!=null&&m[0])&&((k==null?void 0:k.loader)!==m[1]||qe(g,y,h,u,(O=k.server)==null?void 0:O.uses,r));return E&&(g=!0),E});if(f.some(Boolean)){try{d=await gt(t,f)}catch(m){const _=await F(m,{url:t,params:r,route:{id:e}});return z.has(o)?Be({error:_,url:t,params:r,route:a}):le({status:Q(m),error:_,url:t,route:a})}if(d.type==="redirect")return d}const p=d==null?void 0:d.nodes;let v=!1;const A=l.map(async(m,_)=>{var fe;if(!m)return;const k=w.branch[_],E=p==null?void 0:p[_];if((!E||E.type==="skip")&&m[1]===(k==null?void 0:k.loader)&&!qe(v,y,h,u,(fe=k.universal)==null?void 0:fe.uses,r))return k;if(v=!0,(E==null?void 0:E.type)==="error")throw E;return Ie({loader:m[1],url:t,params:r,route:a,parent:async()=>{var Pe;const xe={};for(let ue=0;ue<_;ue+=1)Object.assign(xe,(Pe=await A[ue])==null?void 0:Pe.data);return xe},server_data_node:Ue(E===void 0&&m[0]?{type:"skip"}:E??null,m[0]?k==null?void 0:k.server:void 0)})});for(const m of A)m.catch(()=>{});const b=[];for(let m=0;mPromise.resolve({}),server_data_node:Ue(o)}),c={node:await ee(),loader:ee,universal:null,server:null,data:null};return ae({url:t,params:a,branch:[s,c],status:e,error:n,route:null})}function Le(e,n){if(!e||se(e,T,S.hash))return;let t;try{if(t=S.hooks.reroute({url:new URL(e)})??e,typeof t=="string"){const a=new URL(e);S.hash?a.hash=t:a.pathname=t,t=a}}catch{return}const r=dt(t);for(const a of ce){const o=a.exec(r);if(o)return{id:oe(e),invalidating:n,route:a,params:At(o),url:e}}}function dt(e){return kt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(T.length))||"/"}function oe(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ht({url:e,type:n,intent:t,delta:r}){let a=!1;const o=yt(w,t,e,n);r!==void 0&&(o.navigation.delta=r);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return Y||at.forEach(s=>s(i)),a?null:o}async function B({type:e,url:n,popped:t,keepfocus:r,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:l=De,block:d=De}){const h=Le(n,!1),y=ht({url:n,type:e,delta:t==null?void 0:t.delta,intent:h});if(!y){d();return}const u=R,g=L;l(),Y=!0,ne&&C.navigating.set(K.current=y.navigation),re=c;let f=h&&await ut(h);if(!f){if(se(n,T,S.hash))return await V(n);f=await pt(n,{id:null},await F(new ke(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(h==null?void 0:h.url)||n,re!==c)return y.reject(new Error("navigation aborted")),!1;if(f.type==="redirect")if(s>=20)f=await le({status:500,error:await F(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return lt(new URL(f.location,n).href,{},s+1,c),!1;else f.props.page.status>=400&&await C.updated.check()&&(await nt(),await V(n));if(ln(),Ae(u),it(g),f.props.page.url.pathname!==n.pathname&&(n.pathname=f.props.page.url.pathname),i=t?t.state:i,!t){const b=o?0:1,m={[D]:R+=b,[H]:L+=b,[Ye]:i};(o?history.replaceState:history.pushState).call(history,m,"",n),o||sn(R,L)}if(U=null,f.props.page.state=i,ne){w=f.state,f.props.page&&(f.props.page.url=n);const b=(await Promise.all(Array.from(cn,m=>m(y.navigation)))).filter(m=>typeof m=="function");if(b.length>0){let m=function(){b.forEach(_=>{M.delete(_)})};b.push(m),b.forEach(_=>{M.add(_)})}st.$set(f.props),an(f.props.page),ot=!0}else ft(f,_e,!1);const{activeElement:p}=document;await vt();const v=t?t.scroll:a?Se():null;if(Fe){const b=n.hash&&document.getElementById(decodeURIComponent(S.hash?n.hash.split("#")[2]??"":n.hash.slice(1)));v?scrollTo(v.x,v.y):b?b.scrollIntoView():scrollTo(0,0)}const A=document.activeElement!==p&&document.activeElement!==document.body;!r&&!A&&yn(),Fe=!0,f.props.page&&Object.assign(I,f.props.page),Y=!1,e==="popstate"&&ct(L),y.fulfil(void 0),M.forEach(b=>b(y.navigation)),C.navigating.set(K.current=null)}async function pt(e,n,t,r){return e.origin===J&&e.pathname===location.pathname&&!Ee?await le({status:r,error:t,url:e,route:n}):await V(e)}function hn(){let e;P.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{r(i,2)},20)});function n(o){o.defaultPrevented||r(o.composedPath()[0],1)}P.addEventListener("mousedown",n),P.addEventListener("touchstart",n,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(me(new URL(i.target.href)),t.unobserve(i.target))},{threshold:0});function r(o,i){const s=Ze(o,P);if(!s)return;const{url:c,external:l,download:d}=ye(s,T,S.hash);if(l||d)return;const h=Z(s),y=c&&oe(w.url)===oe(c);if(!h.reload&&!y)if(i<=h.preload_data){const u=Le(c,!1);u&&fn(u)}else i<=h.preload_code&&me(c)}function a(){t.disconnect();for(const o of P.querySelectorAll("a")){const{url:i,external:s,download:c}=ye(o,T,S.hash);if(s||c)continue;const l=Z(o);l.reload||(l.preload_code===X.viewport&&t.observe(o),l.preload_code===X.eager&&me(i))}}M.add(a),a()}function F(e,n){if(e instanceof ie)return e.body;const t=Q(e),r=nn(e);return S.hooks.handleError({error:e,event:n,status:t,message:r})??{message:r}}function pn(e,n={}){return e=new URL(Je(e)),e.origin!==J?Promise.reject(new Error("goto: invalid URL")):lt(e,n,0)}function gn(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(Ve(),!Y){const a=yt(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};at.forEach(i=>i(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ve()}),(n=navigator.connection)!=null&&n.saveData||hn(),P.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Ze(t.composedPath()[0],P);if(!r)return;const{url:a,external:o,target:i,download:s}=ye(r,T,S.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=Z(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[d,h]=(S.hash?a.hash.replace(/^#/,""):a.href).split("#"),y=d===he(location);if(o||c.reload&&(!y||!h)){ht({url:a,type:"link"})?Y=!0:t.preventDefault();return}if(h!==void 0&&y){const[,u]=w.url.href.split("#");if(u===h){if(t.preventDefault(),h===""||h==="top"&&r.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const g=r.ownerDocument.getElementById(decodeURIComponent(h));g&&(g.scrollIntoView(),g.focus())}return}if(q=!0,Ae(R),e(a),!c.replace_state)return;q=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),B({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),P.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const s=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(se(s,T,!1))return;const c=t.target,l=Z(c);if(l.reload)return;t.preventDefault(),t.stopPropagation();const d=new FormData(c),h=a==null?void 0:a.getAttribute("name");h&&d.append(h,(a==null?void 0:a.getAttribute("value"))??""),s.search=new URLSearchParams(d).toString(),B({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[D]){const a=t.state[D];if(re={},a===R)return;const o=N[a],i=t.state[Ye]??{},s=new URL(t.state[qt]??location.href),c=t.state[H],l=he(location)===he(w.url);if(c===L&&(ot||l)){i!==I.state&&(I.state=i),e(s),N[R]=Se(),o&&scrollTo(o.x,o.y),R=a;return}const h=a-R;await B({type:"popstate",url:s,popped:{state:i,scroll:o,delta:h},accept:()=>{R=a,L=c},block:()=>{history.go(-h)},nav_token:re})}else if(!q){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{q?(q=!1,history.replaceState({...history.state,[D]:++R,[H]:L},"",location.href)):S.hash&&w.url.hash===location.hash&&B({type:"goto",url:w.url})});for(const t of document.querySelectorAll("link"))on.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&C.navigating.set(K.current=null)});function e(t){w.url=I.url=t,C.page.set(Te(I)),C.page.notify()}}async function mn(e,{status:n=200,error:t,node_ids:r,params:a,route:o,data:i,form:s}){Ee=!0;const c=new URL(location.href);({params:a={},route:o={id:null}}=Le(c,!1)||{});let l,d=!0;try{const h=r.map(async(g,f)=>{const p=i[f];return p!=null&&p.uses&&(p.uses=mt(p.uses)),Ie({loader:S.nodes[g],url:c,params:a,route:o,parent:async()=>{const v={};for(let A=0;Ag===o.id);if(u){const g=u.layouts;for(let f=0;fo?"1":"0").join(""));const r=await ze(t.href);if(!r.ok){let o;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?o=await r.json():r.status===404?o="Not Found":r.status===500&&(o="Internal Error"),new ie(r.status,o)}return new Promise(async o=>{var h;const i=new Map,s=r.body.getReader(),c=new TextDecoder;function l(y){return Xt(y,{...S.decoders,Promise:u=>new Promise((g,f)=>{i.set(u,{fulfil:g,reject:f})})})}let d="";for(;;){const{done:y,value:u}=await s.read();if(y&&!d)break;for(d+=!u&&d?`
+`:c.decode(u,{stream:!0});;){const g=d.indexOf(`
+`);if(g===-1)break;const f=JSON.parse(d.slice(0,g));if(d=d.slice(g+1),f.type==="redirect")return o(f);if(f.type==="data")(h=f.nodes)==null||h.forEach(p=>{(p==null?void 0:p.type)==="data"&&(p.uses=mt(p.uses),p.data=l(p.data))}),o(f);else if(f.type==="chunk"){const{id:p,data:v,error:A}=f,b=i.get(p);i.delete(p),A?b.reject(l(A)):b.fulfil(l(v))}}}})}function mt(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function yn(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const n=document.body,t=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),t!==null?n.setAttribute("tabindex",t):n.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let o=0;o{if(r.rangeCount===a.length){for(let o=0;o{a=d,o=h});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url},to:t&&{params:(n==null?void 0:n.params)??null,route:{id:((l=n==null?void 0:n.route)==null?void 0:l.id)??null},url:t},willUnload:!n,type:r,complete:i},fulfil:a,reject:o}}function Te(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}export{kn as a,C as s};
diff --git a/_app/immutable/entry/app.C0DeC1ga.js b/_app/immutable/entry/app.C0DeC1ga.js
new file mode 100644
index 0000000..beab1ac
--- /dev/null
+++ b/_app/immutable/entry/app.C0DeC1ga.js
@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Deayxlmz.js","../chunks/scheduler.Dnz8ZsAA.js","../chunks/index.cD3UBkeq.js","../chunks/each.D6YF6ztN.js","../assets/0.BwpHp3zv.css","../nodes/1.CsbMDU56.js","../chunks/entry.BKCGSc5I.js","../nodes/2.D1H8Umye.js","../assets/2.O1OMYN-z.css","../nodes/3.Co9ydvvn.js","../assets/3.DZYUQWo6.css","../nodes/4.B5nT-XC-.js","../assets/4.DFklNFlY.css","../nodes/5.Cj6kOlcX.js","../assets/5.Z3mEMJFf.css"])))=>i.map(i=>d[i]);
+import{s as B,b as N,o as q,t as U,d as S}from"../chunks/scheduler.Dnz8ZsAA.js";import{S as z,i as W,s as F,r as h,f as G,g as k,u as p,v as O,w as g,d as w,e as H,c as J,a as K,m as I,x as d,t as Q,b as X,j as Y,y as D,z as P,A as R,B as T,C as L,D as A}from"../chunks/index.cD3UBkeq.js";const Z="modulepreload",M=function(o,e){return new URL(o,e).href},V={},y=function(e,n,s){let r=Promise.resolve();if(n&&n.length>0){const t=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(f=>{if(f=M(f,s),f in V)return;V[f]=!0;const a=f.endsWith(".css"),_=a?'[rel="stylesheet"]':"";if(!!s)for(let E=t.length-1;E>=0;E--){const v=t[E];if(v.href===f&&(!a||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${_}`))return;const m=document.createElement("link");if(m.rel=a?"stylesheet":Z,a||(m.as="script"),m.crossOrigin="",m.href=f,l&&m.setAttribute("nonce",l),document.head.appendChild(m),a)return new Promise((E,v)=>{m.addEventListener("load",E),m.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${f}`)))})}))}function u(t){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=t,window.dispatchEvent(i),!i.defaultPrevented)throw t}return r.then(t=>{for(const i of t||[])i.status==="rejected"&&u(i.reason);return e().catch(u)})},ae={};function $(o){let e,n,s;var r=o[1][0];function u(t,i){return{props:{data:t[3],form:t[2]}}}return r&&(e=P(r,u(o)),o[12](e)),{c(){e&&R(e.$$.fragment),n=h()},l(t){e&&T(e.$$.fragment,t),n=h()},m(t,i){e&&L(e,t,i),k(t,n,i),s=!0},p(t,i){if(i&2&&r!==(r=t[1][0])){if(e){D();const l=e;p(l.$$.fragment,1,0,()=>{A(l,1)}),O()}r?(e=P(r,u(t)),t[12](e),R(e.$$.fragment),g(e.$$.fragment,1),L(e,n.parentNode,n)):e=null}else if(r){const l={};i&8&&(l.data=t[3]),i&4&&(l.form=t[2]),e.$set(l)}},i(t){s||(e&&g(e.$$.fragment,t),s=!0)},o(t){e&&p(e.$$.fragment,t),s=!1},d(t){t&&w(n),o[12](null),e&&A(e,t)}}}function x(o){let e,n,s;var r=o[1][0];function u(t,i){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return r&&(e=P(r,u(o)),o[11](e)),{c(){e&&R(e.$$.fragment),n=h()},l(t){e&&T(e.$$.fragment,t),n=h()},m(t,i){e&&L(e,t,i),k(t,n,i),s=!0},p(t,i){if(i&2&&r!==(r=t[1][0])){if(e){D();const l=e;p(l.$$.fragment,1,0,()=>{A(l,1)}),O()}r?(e=P(r,u(t)),t[11](e),R(e.$$.fragment),g(e.$$.fragment,1),L(e,n.parentNode,n)):e=null}else if(r){const l={};i&8&&(l.data=t[3]),i&8215&&(l.$$scope={dirty:i,ctx:t}),e.$set(l)}},i(t){s||(e&&g(e.$$.fragment,t),s=!0)},o(t){e&&p(e.$$.fragment,t),s=!1},d(t){t&&w(n),o[11](null),e&&A(e,t)}}}function ee(o){let e,n,s;var r=o[1][1];function u(t,i){return{props:{data:t[4],form:t[2]}}}return r&&(e=P(r,u(o)),o[10](e)),{c(){e&&R(e.$$.fragment),n=h()},l(t){e&&T(e.$$.fragment,t),n=h()},m(t,i){e&&L(e,t,i),k(t,n,i),s=!0},p(t,i){if(i&2&&r!==(r=t[1][1])){if(e){D();const l=e;p(l.$$.fragment,1,0,()=>{A(l,1)}),O()}r?(e=P(r,u(t)),t[10](e),R(e.$$.fragment),g(e.$$.fragment,1),L(e,n.parentNode,n)):e=null}else if(r){const l={};i&16&&(l.data=t[4]),i&4&&(l.form=t[2]),e.$set(l)}},i(t){s||(e&&g(e.$$.fragment,t),s=!0)},o(t){e&&p(e.$$.fragment,t),s=!1},d(t){t&&w(n),o[10](null),e&&A(e,t)}}}function C(o){let e,n=o[6]&&j(o);return{c(){e=H("div"),n&&n.c(),this.h()},l(s){e=J(s,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var r=K(e);n&&n.l(r),r.forEach(w),this.h()},h(){I(e,"id","svelte-announcer"),I(e,"aria-live","assertive"),I(e,"aria-atomic","true"),d(e,"position","absolute"),d(e,"left","0"),d(e,"top","0"),d(e,"clip","rect(0 0 0 0)"),d(e,"clip-path","inset(50%)"),d(e,"overflow","hidden"),d(e,"white-space","nowrap"),d(e,"width","1px"),d(e,"height","1px")},m(s,r){k(s,e,r),n&&n.m(e,null)},p(s,r){s[6]?n?n.p(s,r):(n=j(s),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(s){s&&w(e),n&&n.d()}}}function j(o){let e;return{c(){e=Q(o[7])},l(n){e=X(n,o[7])},m(n,s){k(n,e,s)},p(n,s){s&128&&Y(e,n[7])},d(n){n&&w(e)}}}function te(o){let e,n,s,r,u;const t=[x,$],i=[];function l(a,_){return a[1][1]?0:1}e=l(o),n=i[e]=t[e](o);let f=o[5]&&C(o);return{c(){n.c(),s=F(),f&&f.c(),r=h()},l(a){n.l(a),s=G(a),f&&f.l(a),r=h()},m(a,_){i[e].m(a,_),k(a,s,_),f&&f.m(a,_),k(a,r,_),u=!0},p(a,[_]){let b=e;e=l(a),e===b?i[e].p(a,_):(D(),p(i[b],1,1,()=>{i[b]=null}),O(),n=i[e],n?n.p(a,_):(n=i[e]=t[e](a),n.c()),g(n,1),n.m(s.parentNode,s)),a[5]?f?f.p(a,_):(f=C(a),f.c(),f.m(r.parentNode,r)):f&&(f.d(1),f=null)},i(a){u||(g(n),u=!0)},o(a){p(n),u=!1},d(a){a&&(w(s),w(r)),i[e].d(a),f&&f.d(a)}}}function ne(o,e,n){let{stores:s}=e,{page:r}=e,{constructors:u}=e,{components:t=[]}=e,{form:i}=e,{data_0:l=null}=e,{data_1:f=null}=e;N(s.page.notify);let a=!1,_=!1,b=null;q(()=>{const c=s.page.subscribe(()=>{a&&(n(6,_=!0),U().then(()=>{n(7,b=document.title||"untitled page")}))});return n(5,a=!0),c});function m(c){S[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function E(c){S[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function v(c){S[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return o.$$set=c=>{"stores"in c&&n(8,s=c.stores),"page"in c&&n(9,r=c.page),"constructors"in c&&n(1,u=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,i=c.form),"data_0"in c&&n(3,l=c.data_0),"data_1"in c&&n(4,f=c.data_1)},o.$$.update=()=>{o.$$.dirty&768&&s.page.set(r)},[t,u,i,l,f,a,_,b,s,r,m,E,v]}class le extends z{constructor(e){super(),W(this,e,ne,te,B,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const fe=[()=>y(()=>import("../nodes/0.Deayxlmz.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>y(()=>import("../nodes/1.CsbMDU56.js"),__vite__mapDeps([5,1,2,6]),import.meta.url),()=>y(()=>import("../nodes/2.D1H8Umye.js"),__vite__mapDeps([7,1,2,8]),import.meta.url),()=>y(()=>import("../nodes/3.Co9ydvvn.js"),__vite__mapDeps([9,1,2,3,10]),import.meta.url),()=>y(()=>import("../nodes/4.B5nT-XC-.js"),__vite__mapDeps([11,1,2,3,12]),import.meta.url),()=>y(()=>import("../nodes/5.Cj6kOlcX.js"),__vite__mapDeps([13,1,2,3,14]),import.meta.url)],ce=[],ue={"/":[2],"/blog":[-4],"/blog/[slug]":[-5],"/builds":[5]},ie={handleError:({error:o})=>{console.error(o)},reroute:()=>{},transport:{}},se=Object.fromEntries(Object.entries(ie.transport).map(([o,e])=>[o,e.decode])),_e=!1,me=(o,e)=>se[o](e);export{me as decode,se as decoders,ue as dictionary,_e as hash,ie as hooks,ae as matchers,fe as nodes,le as root,ce as server_loads};
diff --git a/_app/immutable/entry/start.BDTV9D9a.js b/_app/immutable/entry/start.BDTV9D9a.js
new file mode 100644
index 0000000..7bbf12f
--- /dev/null
+++ b/_app/immutable/entry/start.BDTV9D9a.js
@@ -0,0 +1 @@
+import{a as t}from"../chunks/entry.BKCGSc5I.js";export{t as start};
diff --git a/_app/immutable/nodes/1.CsbMDU56.js b/_app/immutable/nodes/1.CsbMDU56.js
new file mode 100644
index 0000000..e3ceca2
--- /dev/null
+++ b/_app/immutable/nodes/1.CsbMDU56.js
@@ -0,0 +1 @@
+import{s as S,n as _,c as x}from"../chunks/scheduler.Dnz8ZsAA.js";import{S as j,i as q,e as f,t as d,s as y,c as g,a as h,b as v,d as u,f as C,g as m,h as $,j as E}from"../chunks/index.cD3UBkeq.js";import{s as H}from"../chunks/entry.BKCGSc5I.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},k={subscribe(s){return P().page.subscribe(s)}};function w(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=f("h1"),o=d(r),n=y(),i=f("p"),l=d(c)},l(e){t=g(e,"H1",{});var a=h(t);o=v(a,r),a.forEach(u),n=C(e),i=g(e,"P",{});var p=h(i);l=v(p,c),p.forEach(u)},m(e,a){m(e,t,a),$(t,o),m(e,n,a),m(e,i,a),$(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&E(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&E(l,c)},i:_,o:_,d(e){e&&(u(t),u(n),u(i))}}}function z(s,t,r){let o;return x(s,k,n=>r(0,o=n)),[o]}let F=class extends j{constructor(t){super(),q(this,t,z,w,S,{})}};export{F as component};
diff --git a/node_modules/.bin/acorn b/node_modules/.bin/acorn
deleted file mode 100644
index 679bd16..0000000
--- a/node_modules/.bin/acorn
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
-else
- exec node "$basedir/../acorn/bin/acorn" "$@"
-fi
diff --git a/node_modules/.bin/acorn.cmd b/node_modules/.bin/acorn.cmd
deleted file mode 100644
index a9324df..0000000
--- a/node_modules/.bin/acorn.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\acorn\bin\acorn" %*
diff --git a/node_modules/.bin/acorn.ps1 b/node_modules/.bin/acorn.ps1
deleted file mode 100644
index 6f6dcdd..0000000
--- a/node_modules/.bin/acorn.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
- } else {
- & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../acorn/bin/acorn" $args
- } else {
- & "node$exe" "$basedir/../acorn/bin/acorn" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/esbuild b/node_modules/.bin/esbuild
deleted file mode 100644
index 63bb6d4..0000000
--- a/node_modules/.bin/esbuild
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
-else
- exec node "$basedir/../esbuild/bin/esbuild" "$@"
-fi
diff --git a/node_modules/.bin/esbuild.cmd b/node_modules/.bin/esbuild.cmd
deleted file mode 100644
index cc920c5..0000000
--- a/node_modules/.bin/esbuild.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %*
diff --git a/node_modules/.bin/esbuild.ps1 b/node_modules/.bin/esbuild.ps1
deleted file mode 100644
index 81ffbf9..0000000
--- a/node_modules/.bin/esbuild.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
- } else {
- & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
- } else {
- & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
deleted file mode 100644
index 601762c..0000000
--- a/node_modules/.bin/esparse
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../esprima/bin/esparse.js" "$@"
-else
- exec node "$basedir/../esprima/bin/esparse.js" "$@"
-fi
diff --git a/node_modules/.bin/esparse.cmd b/node_modules/.bin/esparse.cmd
deleted file mode 100644
index 2ca6d50..0000000
--- a/node_modules/.bin/esparse.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esprima\bin\esparse.js" %*
diff --git a/node_modules/.bin/esparse.ps1 b/node_modules/.bin/esparse.ps1
deleted file mode 100644
index f19ed73..0000000
--- a/node_modules/.bin/esparse.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../esprima/bin/esparse.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../esprima/bin/esparse.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../esprima/bin/esparse.js" $args
- } else {
- & "node$exe" "$basedir/../esprima/bin/esparse.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
deleted file mode 100644
index e2fee1f..0000000
--- a/node_modules/.bin/esvalidate
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../esprima/bin/esvalidate.js" "$@"
-else
- exec node "$basedir/../esprima/bin/esvalidate.js" "$@"
-fi
diff --git a/node_modules/.bin/esvalidate.cmd b/node_modules/.bin/esvalidate.cmd
deleted file mode 100644
index 4c41643..0000000
--- a/node_modules/.bin/esvalidate.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esprima\bin\esvalidate.js" %*
diff --git a/node_modules/.bin/esvalidate.ps1 b/node_modules/.bin/esvalidate.ps1
deleted file mode 100644
index 23699d1..0000000
--- a/node_modules/.bin/esvalidate.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- } else {
- & "node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
deleted file mode 100644
index 82416ef..0000000
--- a/node_modules/.bin/js-yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@"
-else
- exec node "$basedir/../js-yaml/bin/js-yaml.js" "$@"
-fi
diff --git a/node_modules/.bin/js-yaml.cmd b/node_modules/.bin/js-yaml.cmd
deleted file mode 100644
index 453312b..0000000
--- a/node_modules/.bin/js-yaml.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\js-yaml\bin\js-yaml.js" %*
diff --git a/node_modules/.bin/js-yaml.ps1 b/node_modules/.bin/js-yaml.ps1
deleted file mode 100644
index 2acfc61..0000000
--- a/node_modules/.bin/js-yaml.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
- } else {
- & "node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/marked b/node_modules/.bin/marked
deleted file mode 100644
index 9ba4dfd..0000000
--- a/node_modules/.bin/marked
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../marked/bin/marked.js" "$@"
-else
- exec node "$basedir/../marked/bin/marked.js" "$@"
-fi
diff --git a/node_modules/.bin/marked.cmd b/node_modules/.bin/marked.cmd
deleted file mode 100644
index a736455..0000000
--- a/node_modules/.bin/marked.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\marked\bin\marked.js" %*
diff --git a/node_modules/.bin/marked.ps1 b/node_modules/.bin/marked.ps1
deleted file mode 100644
index c6b4c9f..0000000
--- a/node_modules/.bin/marked.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../marked/bin/marked.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../marked/bin/marked.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../marked/bin/marked.js" $args
- } else {
- & "node$exe" "$basedir/../marked/bin/marked.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/nanoid b/node_modules/.bin/nanoid
deleted file mode 100644
index 46220bd..0000000
--- a/node_modules/.bin/nanoid
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@"
-else
- exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@"
-fi
diff --git a/node_modules/.bin/nanoid.cmd b/node_modules/.bin/nanoid.cmd
deleted file mode 100644
index 9c40107..0000000
--- a/node_modules/.bin/nanoid.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %*
diff --git a/node_modules/.bin/nanoid.ps1 b/node_modules/.bin/nanoid.ps1
deleted file mode 100644
index d8a4d7a..0000000
--- a/node_modules/.bin/nanoid.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
- } else {
- & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
- } else {
- & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/rollup b/node_modules/.bin/rollup
deleted file mode 100644
index 998fc16..0000000
--- a/node_modules/.bin/rollup
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@"
-else
- exec node "$basedir/../rollup/dist/bin/rollup" "$@"
-fi
diff --git a/node_modules/.bin/rollup.cmd b/node_modules/.bin/rollup.cmd
deleted file mode 100644
index b3f110b..0000000
--- a/node_modules/.bin/rollup.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rollup\dist\bin\rollup" %*
diff --git a/node_modules/.bin/rollup.ps1 b/node_modules/.bin/rollup.ps1
deleted file mode 100644
index 10f657d..0000000
--- a/node_modules/.bin/rollup.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args
- } else {
- & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args
- } else {
- & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/svelte-kit b/node_modules/.bin/svelte-kit
deleted file mode 100644
index b9c8383..0000000
--- a/node_modules/.bin/svelte-kit
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../@sveltejs/kit/svelte-kit.js" "$@"
-else
- exec node "$basedir/../@sveltejs/kit/svelte-kit.js" "$@"
-fi
diff --git a/node_modules/.bin/svelte-kit.cmd b/node_modules/.bin/svelte-kit.cmd
deleted file mode 100644
index 38d52f9..0000000
--- a/node_modules/.bin/svelte-kit.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@sveltejs\kit\svelte-kit.js" %*
diff --git a/node_modules/.bin/svelte-kit.ps1 b/node_modules/.bin/svelte-kit.ps1
deleted file mode 100644
index 1ac1f3f..0000000
--- a/node_modules/.bin/svelte-kit.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../@sveltejs/kit/svelte-kit.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../@sveltejs/kit/svelte-kit.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../@sveltejs/kit/svelte-kit.js" $args
- } else {
- & "node$exe" "$basedir/../@sveltejs/kit/svelte-kit.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/vite b/node_modules/.bin/vite
deleted file mode 100644
index 014463f..0000000
--- a/node_modules/.bin/vite
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
-else
- exec node "$basedir/../vite/bin/vite.js" "$@"
-fi
diff --git a/node_modules/.bin/vite.cmd b/node_modules/.bin/vite.cmd
deleted file mode 100644
index f62e966..0000000
--- a/node_modules/.bin/vite.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\vite\bin\vite.js" %*
diff --git a/node_modules/.bin/vite.ps1 b/node_modules/.bin/vite.ps1
deleted file mode 100644
index a7759bc..0000000
--- a/node_modules/.bin/vite.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../vite/bin/vite.js" $args
- } else {
- & "node$exe" "$basedir/../vite/bin/vite.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
deleted file mode 100644
index b60fe44..0000000
--- a/node_modules/.package-lock.json
+++ /dev/null
@@ -1,897 +0,0 @@
-{
- "name": "ss2",
- "version": "0.0.1",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
- "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@polka/url": {
- "version": "1.0.0-next.28",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz",
- "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.30.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz",
- "integrity": "sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@sveltejs/adapter-auto": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.3.1.tgz",
- "integrity": "sha512-5Sc7WAxYdL6q9j/+D0jJKjGREGlfIevDyHSQ2eNETHcB1TKlQWHcAo8AS8H1QdjNvSXpvOwNjykDUHPEAyGgdQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "import-meta-resolve": "^4.1.0"
- },
- "peerDependencies": {
- "@sveltejs/kit": "^2.0.0"
- }
- },
- "node_modules/@sveltejs/kit": {
- "version": "2.15.2",
- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.15.2.tgz",
- "integrity": "sha512-p208T1kdM6zd8k4YXIUM60pLWQ8dZqehXSiqn4NulXHyHibX53uIAL2xtNL8GjxX2IVPqPRT978MwVYhCKExdQ==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "@types/cookie": "^0.6.0",
- "cookie": "^0.6.0",
- "devalue": "^5.1.0",
- "esm-env": "^1.2.1",
- "import-meta-resolve": "^4.1.0",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.5",
- "mrmime": "^2.0.0",
- "sade": "^1.8.1",
- "set-cookie-parser": "^2.6.0",
- "sirv": "^3.0.0",
- "tiny-glob": "^0.2.9"
- },
- "bin": {
- "svelte-kit": "svelte-kit.js"
- },
- "engines": {
- "node": ">=18.13"
- },
- "peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0",
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.3 || ^6.0.0"
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz",
- "integrity": "sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0",
- "debug": "^4.3.4",
- "deepmerge": "^4.3.1",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.10",
- "svelte-hmr": "^0.16.0",
- "vitefu": "^0.2.5"
- },
- "engines": {
- "node": "^18.0.0 || >=20"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.0"
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz",
- "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.0.0 || >=20"
- },
- "peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.0",
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.0"
- }
- },
- "node_modules/@types/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/acorn": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
- "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/aria-query": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
- "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/axobject-query": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
- "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/code-red": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
- "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@types/estree": "^1.0.1",
- "acorn": "^8.10.0",
- "estree-walker": "^3.0.3",
- "periscopic": "^3.1.0"
- }
- },
- "node_modules/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/css-tree": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
- "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.0.30",
- "source-map-js": "^1.0.1"
- },
- "engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
- }
- },
- "node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deepmerge": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/devalue": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz",
- "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
- }
- },
- "node_modules/esm-env": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz",
- "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
- "node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
- "license": "MIT",
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/globalyzer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
- "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/gray-matter": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
- "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
- "license": "MIT",
- "dependencies": {
- "js-yaml": "^3.13.1",
- "kind-of": "^6.0.2",
- "section-matter": "^1.0.0",
- "strip-bom-string": "^1.0.0"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/import-meta-resolve": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
- "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-reference": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
- "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.6"
- }
- },
- "node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/kleur": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/locate-character": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
- "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/magic-string": {
- "version": "0.30.17",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
- "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0"
- }
- },
- "node_modules/marked": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-11.2.0.tgz",
- "integrity": "sha512-HR0m3bvu0jAPYiIvLUUQtdg1g6D247//lvcekpHO1WMvbwDlwSkZAX9Lw4F4YHE1T0HaaNve0tuAWuV1UJ6vtw==",
- "license": "MIT",
- "bin": {
- "marked": "bin/marked.js"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/mdn-data": {
- "version": "2.0.30",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true,
- "license": "CC0-1.0"
- },
- "node_modules/mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mrmime": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
- "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nanoid": {
- "version": "3.3.8",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
- "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/periscopic": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
- "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^3.0.0",
- "is-reference": "^3.0.0"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/postcss": {
- "version": "8.4.49",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
- "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/rollup": {
- "version": "4.30.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz",
- "integrity": "sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "1.0.6"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.30.1",
- "@rollup/rollup-android-arm64": "4.30.1",
- "@rollup/rollup-darwin-arm64": "4.30.1",
- "@rollup/rollup-darwin-x64": "4.30.1",
- "@rollup/rollup-freebsd-arm64": "4.30.1",
- "@rollup/rollup-freebsd-x64": "4.30.1",
- "@rollup/rollup-linux-arm-gnueabihf": "4.30.1",
- "@rollup/rollup-linux-arm-musleabihf": "4.30.1",
- "@rollup/rollup-linux-arm64-gnu": "4.30.1",
- "@rollup/rollup-linux-arm64-musl": "4.30.1",
- "@rollup/rollup-linux-loongarch64-gnu": "4.30.1",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.30.1",
- "@rollup/rollup-linux-riscv64-gnu": "4.30.1",
- "@rollup/rollup-linux-s390x-gnu": "4.30.1",
- "@rollup/rollup-linux-x64-gnu": "4.30.1",
- "@rollup/rollup-linux-x64-musl": "4.30.1",
- "@rollup/rollup-win32-arm64-msvc": "4.30.1",
- "@rollup/rollup-win32-ia32-msvc": "4.30.1",
- "@rollup/rollup-win32-x64-msvc": "4.30.1",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/sade": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
- "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mri": "^1.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/section-matter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
- "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
- "license": "MIT",
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/set-cookie-parser": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
- "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/sirv": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.0.tgz",
- "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@polka/url": "^1.0.0-next.24",
- "mrmime": "^2.0.0",
- "totalist": "^3.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "license": "BSD-3-Clause"
- },
- "node_modules/strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/svelte": {
- "version": "4.2.19",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
- "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@jridgewell/trace-mapping": "^0.3.18",
- "@types/estree": "^1.0.1",
- "acorn": "^8.9.0",
- "aria-query": "^5.3.0",
- "axobject-query": "^4.0.0",
- "code-red": "^1.0.3",
- "css-tree": "^2.3.1",
- "estree-walker": "^3.0.3",
- "is-reference": "^3.0.1",
- "locate-character": "^3.0.0",
- "magic-string": "^0.30.4",
- "periscopic": "^3.1.0"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/svelte-hmr": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz",
- "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^12.20 || ^14.13.1 || >= 16"
- },
- "peerDependencies": {
- "svelte": "^3.19.0 || ^4.0.0"
- }
- },
- "node_modules/swiper": {
- "version": "11.2.1",
- "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.1.tgz",
- "integrity": "sha512-62G69+iQRIfUqTmJkWpZDcX891Ra8O9050ckt1/JI2H+0483g+gq0m7gINecDqMtDh2zt5dK+uzBRxGhGOOvQA==",
- "funding": [
- {
- "type": "patreon",
- "url": "https://www.patreon.com/swiperjs"
- },
- {
- "type": "open_collective",
- "url": "http://opencollective.com/swiper"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">= 4.7.0"
- }
- },
- "node_modules/tiny-glob": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
- "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "globalyzer": "0.1.0",
- "globrex": "^0.1.2"
- }
- },
- "node_modules/totalist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/vite": {
- "version": "5.4.11",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz",
- "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vitefu": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
- "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "vite": {
- "optional": true
- }
- }
- }
- }
-}
diff --git a/node_modules/.vite/_svelte_metadata.json b/node_modules/.vite/_svelte_metadata.json
deleted file mode 100644
index 9f6e4b2..0000000
--- a/node_modules/.vite/_svelte_metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"compilerOptions":{"css":"external","dev":true,"hydratable":true},"configFile":false,"extensions":[".svelte"],"preprocess":{"script":"({ content, filename }) => {\n\t\tif (!filename) return;\n\n\t\tconst basename = path.basename(filename);\n\t\tif (basename.startsWith('+page.') || basename.startsWith('+layout.')) {\n\t\t\tconst match = content.match(options_regex);\n\t\t\tif (match) {\n\t\t\t\tconst fixed = basename.replace('.svelte', '(.server).js/ts');\n\n\t\t\t\tconst message =\n\t\t\t\t\t`\\n${colors.bold().red(path.relative('.', filename))}\\n` +\n\t\t\t\t\t`\\`${match[1]}\\` will be ignored — move it to ${fixed} instead. See https://svelte.dev/docs/kit/page-options for more information.`;\n\n\t\t\t\tif (!warned.has(message)) {\n\t\t\t\t\tconsole.log(message);\n\t\t\t\t\twarned.add(message);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}","markup":"({ content, filename }) => {\n\t\tif (!filename) return;\n\n\t\tconst basename = path.basename(filename);\n\t\tconst has_children =\n\t\t\tcontent.includes('\\`${isSvelte5Plus() ? ' or `{@render ...}` tag' : ''}` +\n\t\t\t\t' missing — inner content will not be rendered';\n\n\t\t\tif (!warned.has(message)) {\n\t\t\t\tconsole.log(message);\n\t\t\t\twarned.add(message);\n\t\t\t}\n\t\t}\n\t}"}}
\ No newline at end of file
diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json
deleted file mode 100644
index 9ede51c..0000000
--- a/node_modules/.vite/deps/_metadata.json
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "hash": "c00de83a",
- "configHash": "4f87fa19",
- "lockfileHash": "7861e98c",
- "browserHash": "65a7694c",
- "optimized": {
- "svelte/animate": {
- "src": "../../svelte/src/runtime/animate/index.js",
- "file": "svelte_animate.js",
- "fileHash": "09b890b5",
- "needsInterop": false
- },
- "svelte/easing": {
- "src": "../../svelte/src/runtime/easing/index.js",
- "file": "svelte_easing.js",
- "fileHash": "029f1a2d",
- "needsInterop": false
- },
- "svelte/internal": {
- "src": "../../svelte/src/runtime/internal/index.js",
- "file": "svelte_internal.js",
- "fileHash": "945e8740",
- "needsInterop": false
- },
- "svelte/internal/disclose-version": {
- "src": "../../svelte/src/runtime/internal/disclose-version/index.js",
- "file": "svelte_internal_disclose-version.js",
- "fileHash": "5fad912b",
- "needsInterop": false
- },
- "svelte/motion": {
- "src": "../../svelte/src/runtime/motion/index.js",
- "file": "svelte_motion.js",
- "fileHash": "c5351909",
- "needsInterop": false
- },
- "svelte/store": {
- "src": "../../svelte/src/runtime/store/index.js",
- "file": "svelte_store.js",
- "fileHash": "c9aae21c",
- "needsInterop": false
- },
- "svelte/transition": {
- "src": "../../svelte/src/runtime/transition/index.js",
- "file": "svelte_transition.js",
- "fileHash": "f8ce5e87",
- "needsInterop": false
- },
- "svelte": {
- "src": "../../svelte/src/runtime/index.js",
- "file": "svelte.js",
- "fileHash": "56b23cc7",
- "needsInterop": false
- },
- "devalue": {
- "src": "../../devalue/index.js",
- "file": "devalue.js",
- "fileHash": "2ffccd92",
- "needsInterop": false
- },
- "swiper/modules": {
- "src": "../../swiper/modules/index.mjs",
- "file": "swiper_modules.js",
- "fileHash": "0bdcc419",
- "needsInterop": false
- },
- "marked": {
- "src": "../../marked/lib/marked.esm.js",
- "file": "marked.js",
- "fileHash": "6786aac9",
- "needsInterop": false
- },
- "gray-matter": {
- "src": "../../gray-matter/index.js",
- "file": "gray-matter.js",
- "fileHash": "3b57f937",
- "needsInterop": true
- }
- },
- "chunks": {
- "chunk-ETWSND26": {
- "file": "chunk-ETWSND26.js"
- },
- "chunk-A5SKBSFT": {
- "file": "chunk-A5SKBSFT.js"
- },
- "chunk-P6FJJZV5": {
- "file": "chunk-P6FJJZV5.js"
- },
- "chunk-2GBBIY5G": {
- "file": "chunk-2GBBIY5G.js"
- },
- "chunk-KZF2VKC5": {
- "file": "chunk-KZF2VKC5.js"
- }
- }
-}
\ No newline at end of file
diff --git a/node_modules/.vite/deps/chunk-2GBBIY5G.js b/node_modules/.vite/deps/chunk-2GBBIY5G.js
deleted file mode 100644
index 2675831..0000000
--- a/node_modules/.vite/deps/chunk-2GBBIY5G.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// node_modules/svelte/src/shared/version.js
-var VERSION = "4.2.19";
-var PUBLIC_VERSION = "4";
-
-export {
- VERSION,
- PUBLIC_VERSION
-};
-//# sourceMappingURL=chunk-2GBBIY5G.js.map
diff --git a/node_modules/.vite/deps/chunk-2GBBIY5G.js.map b/node_modules/.vite/deps/chunk-2GBBIY5G.js.map
deleted file mode 100644
index ce1ba33..0000000
--- a/node_modules/.vite/deps/chunk-2GBBIY5G.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/shared/version.js"],
- "sourcesContent": ["// generated during release, do not modify\n\n/**\n * The current version, as set in package.json.\n *\n * https://svelte.dev/docs/svelte-compiler#svelte-version\n * @type {string}\n */\nexport const VERSION = '4.2.19';\nexport const PUBLIC_VERSION = '4';\n"],
- "mappings": ";AAQO,IAAM,UAAU;AAChB,IAAM,iBAAiB;",
- "names": []
-}
diff --git a/node_modules/.vite/deps/chunk-A5SKBSFT.js b/node_modules/.vite/deps/chunk-A5SKBSFT.js
deleted file mode 100644
index b12afaf..0000000
--- a/node_modules/.vite/deps/chunk-A5SKBSFT.js
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- is_function,
- noop,
- run_all,
- safe_not_equal,
- subscribe
-} from "./chunk-P6FJJZV5.js";
-
-// node_modules/svelte/src/runtime/store/index.js
-var subscriber_queue = [];
-function readable(value, start) {
- return {
- subscribe: writable(value, start).subscribe
- };
-}
-function writable(value, start = noop) {
- let stop;
- const subscribers = /* @__PURE__ */ new Set();
- function set(new_value) {
- if (safe_not_equal(value, new_value)) {
- value = new_value;
- if (stop) {
- const run_queue = !subscriber_queue.length;
- for (const subscriber of subscribers) {
- subscriber[1]();
- subscriber_queue.push(subscriber, value);
- }
- if (run_queue) {
- for (let i = 0; i < subscriber_queue.length; i += 2) {
- subscriber_queue[i][0](subscriber_queue[i + 1]);
- }
- subscriber_queue.length = 0;
- }
- }
- }
- }
- function update(fn) {
- set(fn(value));
- }
- function subscribe2(run, invalidate = noop) {
- const subscriber = [run, invalidate];
- subscribers.add(subscriber);
- if (subscribers.size === 1) {
- stop = start(set, update) || noop;
- }
- run(value);
- return () => {
- subscribers.delete(subscriber);
- if (subscribers.size === 0 && stop) {
- stop();
- stop = null;
- }
- };
- }
- return { set, update, subscribe: subscribe2 };
-}
-function derived(stores, fn, initial_value) {
- const single = !Array.isArray(stores);
- const stores_array = single ? [stores] : stores;
- if (!stores_array.every(Boolean)) {
- throw new Error("derived() expects stores as input, got a falsy value");
- }
- const auto = fn.length < 2;
- return readable(initial_value, (set, update) => {
- let started = false;
- const values = [];
- let pending = 0;
- let cleanup = noop;
- const sync = () => {
- if (pending) {
- return;
- }
- cleanup();
- const result = fn(single ? values[0] : values, set, update);
- if (auto) {
- set(result);
- } else {
- cleanup = is_function(result) ? result : noop;
- }
- };
- const unsubscribers = stores_array.map(
- (store, i) => subscribe(
- store,
- (value) => {
- values[i] = value;
- pending &= ~(1 << i);
- if (started) {
- sync();
- }
- },
- () => {
- pending |= 1 << i;
- }
- )
- );
- started = true;
- sync();
- return function stop() {
- run_all(unsubscribers);
- cleanup();
- started = false;
- };
- });
-}
-function readonly(store) {
- return {
- subscribe: store.subscribe.bind(store)
- };
-}
-
-export {
- readable,
- writable,
- derived,
- readonly
-};
-//# sourceMappingURL=chunk-A5SKBSFT.js.map
diff --git a/node_modules/.vite/deps/chunk-A5SKBSFT.js.map b/node_modules/.vite/deps/chunk-A5SKBSFT.js.map
deleted file mode 100644
index ee8e3e0..0000000
--- a/node_modules/.vite/deps/chunk-A5SKBSFT.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/runtime/store/index.js"],
- "sourcesContent": ["import {\n\trun_all,\n\tsubscribe,\n\tnoop,\n\tsafe_not_equal,\n\tis_function,\n\tget_store_value\n} from '../internal/index.js';\n\nconst subscriber_queue = [];\n\n/**\n * Creates a `Readable` store that allows reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#readable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Readable}\n */\nexport function readable(value, start) {\n\treturn {\n\t\tsubscribe: writable(value, start).subscribe\n\t};\n}\n\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#writable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Writable}\n */\nexport function writable(value, start = noop) {\n\t/** @type {import('./public.js').Unsubscriber} */\n\tlet stop;\n\t/** @type {Set>} */\n\tconst subscribers = new Set();\n\t/** @param {T} new_value\n\t * @returns {void}\n\t */\n\tfunction set(new_value) {\n\t\tif (safe_not_equal(value, new_value)) {\n\t\t\tvalue = new_value;\n\t\t\tif (stop) {\n\t\t\t\t// store is ready\n\t\t\t\tconst run_queue = !subscriber_queue.length;\n\t\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\t\tsubscriber[1]();\n\t\t\t\t\tsubscriber_queue.push(subscriber, value);\n\t\t\t\t}\n\t\t\t\tif (run_queue) {\n\t\t\t\t\tfor (let i = 0; i < subscriber_queue.length; i += 2) {\n\t\t\t\t\t\tsubscriber_queue[i][0](subscriber_queue[i + 1]);\n\t\t\t\t\t}\n\t\t\t\t\tsubscriber_queue.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {import('./public.js').Updater} fn\n\t * @returns {void}\n\t */\n\tfunction update(fn) {\n\t\tset(fn(value));\n\t}\n\n\t/**\n\t * @param {import('./public.js').Subscriber} run\n\t * @param {import('./private.js').Invalidator} [invalidate]\n\t * @returns {import('./public.js').Unsubscriber}\n\t */\n\tfunction subscribe(run, invalidate = noop) {\n\t\t/** @type {import('./private.js').SubscribeInvalidateTuple} */\n\t\tconst subscriber = [run, invalidate];\n\t\tsubscribers.add(subscriber);\n\t\tif (subscribers.size === 1) {\n\t\t\tstop = start(set, update) || noop;\n\t\t}\n\t\trun(value);\n\t\treturn () => {\n\t\t\tsubscribers.delete(subscriber);\n\t\t\tif (subscribers.size === 0 && stop) {\n\t\t\t\tstop();\n\t\t\t\tstop = null;\n\t\t\t}\n\t\t};\n\t}\n\treturn { set, update, subscribe };\n}\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues, set: (value: T) => void, update: (fn: import('./public.js').Updater) => void) => import('./public.js').Unsubscriber | void} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues) => T} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * @template {import('./private.js').Stores} S\n * @template T\n * @param {S} stores\n * @param {Function} fn\n * @param {T} [initial_value]\n * @returns {import('./public.js').Readable}\n */\nexport function derived(stores, fn, initial_value) {\n\tconst single = !Array.isArray(stores);\n\t/** @type {Array>} */\n\tconst stores_array = single ? [stores] : stores;\n\tif (!stores_array.every(Boolean)) {\n\t\tthrow new Error('derived() expects stores as input, got a falsy value');\n\t}\n\tconst auto = fn.length < 2;\n\treturn readable(initial_value, (set, update) => {\n\t\tlet started = false;\n\t\tconst values = [];\n\t\tlet pending = 0;\n\t\tlet cleanup = noop;\n\t\tconst sync = () => {\n\t\t\tif (pending) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup();\n\t\t\tconst result = fn(single ? values[0] : values, set, update);\n\t\t\tif (auto) {\n\t\t\t\tset(result);\n\t\t\t} else {\n\t\t\t\tcleanup = is_function(result) ? result : noop;\n\t\t\t}\n\t\t};\n\t\tconst unsubscribers = stores_array.map((store, i) =>\n\t\t\tsubscribe(\n\t\t\t\tstore,\n\t\t\t\t(value) => {\n\t\t\t\t\tvalues[i] = value;\n\t\t\t\t\tpending &= ~(1 << i);\n\t\t\t\t\tif (started) {\n\t\t\t\t\t\tsync();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tpending |= 1 << i;\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\t\tstarted = true;\n\t\tsync();\n\t\treturn function stop() {\n\t\t\trun_all(unsubscribers);\n\t\t\tcleanup();\n\t\t\t// We need to set this to false because callbacks can still happen despite having unsubscribed:\n\t\t\t// Callbacks might already be placed in the queue which doesn't know it should no longer\n\t\t\t// invoke this derived store.\n\t\t\tstarted = false;\n\t\t};\n\t});\n}\n\n/**\n * Takes a store and returns a new one derived from the old one that is readable.\n *\n * https://svelte.dev/docs/svelte-store#readonly\n * @template T\n * @param {import('./public.js').Readable} store - store to make readonly\n * @returns {import('./public.js').Readable}\n */\nexport function readonly(store) {\n\treturn {\n\t\tsubscribe: store.subscribe.bind(store)\n\t};\n}\n\nexport { get_store_value as get };\n"],
- "mappings": ";;;;;;;;;AASA,IAAM,mBAAmB,CAAC;AAWnB,SAAS,SAAS,OAAO,OAAO;AACtC,SAAO;AAAA,IACN,WAAW,SAAS,OAAO,KAAK,EAAE;AAAA,EACnC;AACD;AAWO,SAAS,SAAS,OAAO,QAAQ,MAAM;AAE7C,MAAI;AAEJ,QAAM,cAAc,oBAAI,IAAI;AAI5B,WAAS,IAAI,WAAW;AACvB,QAAI,eAAe,OAAO,SAAS,GAAG;AACrC,cAAQ;AACR,UAAI,MAAM;AAET,cAAM,YAAY,CAAC,iBAAiB;AACpC,mBAAW,cAAc,aAAa;AACrC,qBAAW,CAAC,EAAE;AACd,2BAAiB,KAAK,YAAY,KAAK;AAAA,QACxC;AACA,YAAI,WAAW;AACd,mBAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK,GAAG;AACpD,6BAAiB,CAAC,EAAE,CAAC,EAAE,iBAAiB,IAAI,CAAC,CAAC;AAAA,UAC/C;AACA,2BAAiB,SAAS;AAAA,QAC3B;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAMA,WAAS,OAAO,IAAI;AACnB,QAAI,GAAG,KAAK,CAAC;AAAA,EACd;AAOA,WAASA,WAAU,KAAK,aAAa,MAAM;AAE1C,UAAM,aAAa,CAAC,KAAK,UAAU;AACnC,gBAAY,IAAI,UAAU;AAC1B,QAAI,YAAY,SAAS,GAAG;AAC3B,aAAO,MAAM,KAAK,MAAM,KAAK;AAAA,IAC9B;AACA,QAAI,KAAK;AACT,WAAO,MAAM;AACZ,kBAAY,OAAO,UAAU;AAC7B,UAAI,YAAY,SAAS,KAAK,MAAM;AACnC,aAAK;AACL,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACA,SAAO,EAAE,KAAK,QAAQ,WAAAA,WAAU;AACjC;AAsCO,SAAS,QAAQ,QAAQ,IAAI,eAAe;AAClD,QAAM,SAAS,CAAC,MAAM,QAAQ,MAAM;AAEpC,QAAM,eAAe,SAAS,CAAC,MAAM,IAAI;AACzC,MAAI,CAAC,aAAa,MAAM,OAAO,GAAG;AACjC,UAAM,IAAI,MAAM,sDAAsD;AAAA,EACvE;AACA,QAAM,OAAO,GAAG,SAAS;AACzB,SAAO,SAAS,eAAe,CAAC,KAAK,WAAW;AAC/C,QAAI,UAAU;AACd,UAAM,SAAS,CAAC;AAChB,QAAI,UAAU;AACd,QAAI,UAAU;AACd,UAAM,OAAO,MAAM;AAClB,UAAI,SAAS;AACZ;AAAA,MACD;AACA,cAAQ;AACR,YAAM,SAAS,GAAG,SAAS,OAAO,CAAC,IAAI,QAAQ,KAAK,MAAM;AAC1D,UAAI,MAAM;AACT,YAAI,MAAM;AAAA,MACX,OAAO;AACN,kBAAU,YAAY,MAAM,IAAI,SAAS;AAAA,MAC1C;AAAA,IACD;AACA,UAAM,gBAAgB,aAAa;AAAA,MAAI,CAAC,OAAO,MAC9C;AAAA,QACC;AAAA,QACA,CAAC,UAAU;AACV,iBAAO,CAAC,IAAI;AACZ,qBAAW,EAAE,KAAK;AAClB,cAAI,SAAS;AACZ,iBAAK;AAAA,UACN;AAAA,QACD;AAAA,QACA,MAAM;AACL,qBAAW,KAAK;AAAA,QACjB;AAAA,MACD;AAAA,IACD;AACA,cAAU;AACV,SAAK;AACL,WAAO,SAAS,OAAO;AACtB,cAAQ,aAAa;AACrB,cAAQ;AAIR,gBAAU;AAAA,IACX;AAAA,EACD,CAAC;AACF;AAUO,SAAS,SAAS,OAAO;AAC/B,SAAO;AAAA,IACN,WAAW,MAAM,UAAU,KAAK,KAAK;AAAA,EACtC;AACD;",
- "names": ["subscribe"]
-}
diff --git a/node_modules/.vite/deps/chunk-ETWSND26.js b/node_modules/.vite/deps/chunk-ETWSND26.js
deleted file mode 100644
index 0e3a0aa..0000000
--- a/node_modules/.vite/deps/chunk-ETWSND26.js
+++ /dev/null
@@ -1,144 +0,0 @@
-// node_modules/svelte/src/runtime/easing/index.js
-function backInOut(t) {
- const s = 1.70158 * 1.525;
- if ((t *= 2) < 1) return 0.5 * (t * t * ((s + 1) * t - s));
- return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);
-}
-function backIn(t) {
- const s = 1.70158;
- return t * t * ((s + 1) * t - s);
-}
-function backOut(t) {
- const s = 1.70158;
- return --t * t * ((s + 1) * t + s) + 1;
-}
-function bounceOut(t) {
- const a = 4 / 11;
- const b = 8 / 11;
- const c = 9 / 10;
- const ca = 4356 / 361;
- const cb = 35442 / 1805;
- const cc = 16061 / 1805;
- const t2 = t * t;
- return t < a ? 7.5625 * t2 : t < b ? 9.075 * t2 - 9.9 * t + 3.4 : t < c ? ca * t2 - cb * t + cc : 10.8 * t * t - 20.52 * t + 10.72;
-}
-function bounceInOut(t) {
- return t < 0.5 ? 0.5 * (1 - bounceOut(1 - t * 2)) : 0.5 * bounceOut(t * 2 - 1) + 0.5;
-}
-function bounceIn(t) {
- return 1 - bounceOut(1 - t);
-}
-function circInOut(t) {
- if ((t *= 2) < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1);
- return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);
-}
-function circIn(t) {
- return 1 - Math.sqrt(1 - t * t);
-}
-function circOut(t) {
- return Math.sqrt(1 - --t * t);
-}
-function cubicInOut(t) {
- return t < 0.5 ? 4 * t * t * t : 0.5 * Math.pow(2 * t - 2, 3) + 1;
-}
-function cubicIn(t) {
- return t * t * t;
-}
-function cubicOut(t) {
- const f = t - 1;
- return f * f * f + 1;
-}
-function elasticInOut(t) {
- return t < 0.5 ? 0.5 * Math.sin(13 * Math.PI / 2 * 2 * t) * Math.pow(2, 10 * (2 * t - 1)) : 0.5 * Math.sin(-13 * Math.PI / 2 * (2 * t - 1 + 1)) * Math.pow(2, -10 * (2 * t - 1)) + 1;
-}
-function elasticIn(t) {
- return Math.sin(13 * t * Math.PI / 2) * Math.pow(2, 10 * (t - 1));
-}
-function elasticOut(t) {
- return Math.sin(-13 * (t + 1) * Math.PI / 2) * Math.pow(2, -10 * t) + 1;
-}
-function expoInOut(t) {
- return t === 0 || t === 1 ? t : t < 0.5 ? 0.5 * Math.pow(2, 20 * t - 10) : -0.5 * Math.pow(2, 10 - t * 20) + 1;
-}
-function expoIn(t) {
- return t === 0 ? t : Math.pow(2, 10 * (t - 1));
-}
-function expoOut(t) {
- return t === 1 ? t : 1 - Math.pow(2, -10 * t);
-}
-function quadInOut(t) {
- t /= 0.5;
- if (t < 1) return 0.5 * t * t;
- t--;
- return -0.5 * (t * (t - 2) - 1);
-}
-function quadIn(t) {
- return t * t;
-}
-function quadOut(t) {
- return -t * (t - 2);
-}
-function quartInOut(t) {
- return t < 0.5 ? 8 * Math.pow(t, 4) : -8 * Math.pow(t - 1, 4) + 1;
-}
-function quartIn(t) {
- return Math.pow(t, 4);
-}
-function quartOut(t) {
- return Math.pow(t - 1, 3) * (1 - t) + 1;
-}
-function quintInOut(t) {
- if ((t *= 2) < 1) return 0.5 * t * t * t * t * t;
- return 0.5 * ((t -= 2) * t * t * t * t + 2);
-}
-function quintIn(t) {
- return t * t * t * t * t;
-}
-function quintOut(t) {
- return --t * t * t * t * t + 1;
-}
-function sineInOut(t) {
- return -0.5 * (Math.cos(Math.PI * t) - 1);
-}
-function sineIn(t) {
- const v = Math.cos(t * Math.PI * 0.5);
- if (Math.abs(v) < 1e-14) return 1;
- else return 1 - v;
-}
-function sineOut(t) {
- return Math.sin(t * Math.PI / 2);
-}
-
-export {
- backInOut,
- backIn,
- backOut,
- bounceOut,
- bounceInOut,
- bounceIn,
- circInOut,
- circIn,
- circOut,
- cubicInOut,
- cubicIn,
- cubicOut,
- elasticInOut,
- elasticIn,
- elasticOut,
- expoInOut,
- expoIn,
- expoOut,
- quadInOut,
- quadIn,
- quadOut,
- quartInOut,
- quartIn,
- quartOut,
- quintInOut,
- quintIn,
- quintOut,
- sineInOut,
- sineIn,
- sineOut
-};
-//# sourceMappingURL=chunk-ETWSND26.js.map
diff --git a/node_modules/.vite/deps/chunk-ETWSND26.js.map b/node_modules/.vite/deps/chunk-ETWSND26.js.map
deleted file mode 100644
index a878d13..0000000
--- a/node_modules/.vite/deps/chunk-ETWSND26.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/runtime/easing/index.js"],
- "sourcesContent": ["/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nexport { identity as linear } from '../internal/index.js';\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function backInOut(t) {\n\tconst s = 1.70158 * 1.525;\n\tif ((t *= 2) < 1) return 0.5 * (t * t * ((s + 1) * t - s));\n\treturn 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function backIn(t) {\n\tconst s = 1.70158;\n\treturn t * t * ((s + 1) * t - s);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function backOut(t) {\n\tconst s = 1.70158;\n\treturn --t * t * ((s + 1) * t + s) + 1;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function bounceOut(t) {\n\tconst a = 4.0 / 11.0;\n\tconst b = 8.0 / 11.0;\n\tconst c = 9.0 / 10.0;\n\tconst ca = 4356.0 / 361.0;\n\tconst cb = 35442.0 / 1805.0;\n\tconst cc = 16061.0 / 1805.0;\n\tconst t2 = t * t;\n\treturn t < a\n\t\t? 7.5625 * t2\n\t\t: t < b\n\t\t? 9.075 * t2 - 9.9 * t + 3.4\n\t\t: t < c\n\t\t? ca * t2 - cb * t + cc\n\t\t: 10.8 * t * t - 20.52 * t + 10.72;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function bounceInOut(t) {\n\treturn t < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0)) : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function bounceIn(t) {\n\treturn 1.0 - bounceOut(1.0 - t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function circInOut(t) {\n\tif ((t *= 2) < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1);\n\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function circIn(t) {\n\treturn 1.0 - Math.sqrt(1.0 - t * t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function circOut(t) {\n\treturn Math.sqrt(1 - --t * t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function cubicInOut(t) {\n\treturn t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function cubicIn(t) {\n\treturn t * t * t;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function cubicOut(t) {\n\tconst f = t - 1.0;\n\treturn f * f * f + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function elasticInOut(t) {\n\treturn t < 0.5\n\t\t? 0.5 * Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) * Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n\t\t: 0.5 *\n\t\t\t\tMath.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n\t\t\t\tMath.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n\t\t\t\t1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function elasticIn(t) {\n\treturn Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function elasticOut(t) {\n\treturn Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function expoInOut(t) {\n\treturn t === 0.0 || t === 1.0\n\t\t? t\n\t\t: t < 0.5\n\t\t? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n\t\t: -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function expoIn(t) {\n\treturn t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function expoOut(t) {\n\treturn t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quadInOut(t) {\n\tt /= 0.5;\n\tif (t < 1) return 0.5 * t * t;\n\tt--;\n\treturn -0.5 * (t * (t - 2) - 1);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quadIn(t) {\n\treturn t * t;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quadOut(t) {\n\treturn -t * (t - 2.0);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quartInOut(t) {\n\treturn t < 0.5 ? +8.0 * Math.pow(t, 4.0) : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quartIn(t) {\n\treturn Math.pow(t, 4.0);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quartOut(t) {\n\treturn Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quintInOut(t) {\n\tif ((t *= 2) < 1) return 0.5 * t * t * t * t * t;\n\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quintIn(t) {\n\treturn t * t * t * t * t;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quintOut(t) {\n\treturn --t * t * t * t * t + 1;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function sineInOut(t) {\n\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function sineIn(t) {\n\tconst v = Math.cos(t * Math.PI * 0.5);\n\tif (Math.abs(v) < 1e-14) return 1;\n\telse return 1 - v;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function sineOut(t) {\n\treturn Math.sin((t * Math.PI) / 2);\n}\n"],
- "mappings": ";AAWO,SAAS,UAAU,GAAG;AAC5B,QAAM,IAAI,UAAU;AACpB,OAAK,KAAK,KAAK,EAAG,QAAO,OAAO,IAAI,MAAM,IAAI,KAAK,IAAI;AACvD,SAAO,QAAQ,KAAK,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK;AAClD;AAOO,SAAS,OAAO,GAAG;AACzB,QAAM,IAAI;AACV,SAAO,IAAI,MAAM,IAAI,KAAK,IAAI;AAC/B;AAOO,SAAS,QAAQ,GAAG;AAC1B,QAAM,IAAI;AACV,SAAO,EAAE,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK;AACtC;AAOO,SAAS,UAAU,GAAG;AAC5B,QAAM,IAAI,IAAM;AAChB,QAAM,IAAI,IAAM;AAChB,QAAM,IAAI,IAAM;AAChB,QAAM,KAAK,OAAS;AACpB,QAAM,KAAK,QAAU;AACrB,QAAM,KAAK,QAAU;AACrB,QAAM,KAAK,IAAI;AACf,SAAO,IAAI,IACR,SAAS,KACT,IAAI,IACJ,QAAQ,KAAK,MAAM,IAAI,MACvB,IAAI,IACJ,KAAK,KAAK,KAAK,IAAI,KACnB,OAAO,IAAI,IAAI,QAAQ,IAAI;AAC/B;AAOO,SAAS,YAAY,GAAG;AAC9B,SAAO,IAAI,MAAM,OAAO,IAAM,UAAU,IAAM,IAAI,CAAG,KAAK,MAAM,UAAU,IAAI,IAAM,CAAG,IAAI;AAC5F;AAOO,SAAS,SAAS,GAAG;AAC3B,SAAO,IAAM,UAAU,IAAM,CAAC;AAC/B;AAOO,SAAS,UAAU,GAAG;AAC5B,OAAK,KAAK,KAAK,EAAG,QAAO,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI;AACxD,SAAO,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,IAAI;AAC7C;AAOO,SAAS,OAAO,GAAG;AACzB,SAAO,IAAM,KAAK,KAAK,IAAM,IAAI,CAAC;AACnC;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC;AAC7B;AAOO,SAAS,WAAW,GAAG;AAC7B,SAAO,IAAI,MAAM,IAAM,IAAI,IAAI,IAAI,MAAM,KAAK,IAAI,IAAM,IAAI,GAAK,CAAG,IAAI;AACzE;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,IAAI,IAAI;AAChB;AAOO,SAAS,SAAS,GAAG;AAC3B,QAAM,IAAI,IAAI;AACd,SAAO,IAAI,IAAI,IAAI;AACpB;AAOO,SAAS,aAAa,GAAG;AAC/B,SAAO,IAAI,MACR,MAAM,KAAK,IAAM,KAAQ,KAAK,KAAM,IAAK,IAAM,CAAC,IAAI,KAAK,IAAI,GAAK,MAAQ,IAAM,IAAI,EAAI,IACxF,MACA,KAAK,IAAM,MAAQ,KAAK,KAAM,KAAM,IAAM,IAAI,IAAM,EAAI,IACxD,KAAK,IAAI,GAAK,OAAS,IAAM,IAAI,EAAI,IACrC;AACJ;AAOO,SAAS,UAAU,GAAG;AAC5B,SAAO,KAAK,IAAK,KAAO,IAAI,KAAK,KAAM,CAAC,IAAI,KAAK,IAAI,GAAK,MAAQ,IAAI,EAAI;AAC3E;AAOO,SAAS,WAAW,GAAG;AAC7B,SAAO,KAAK,IAAK,OAAS,IAAI,KAAO,KAAK,KAAM,CAAC,IAAI,KAAK,IAAI,GAAK,MAAQ,CAAC,IAAI;AACjF;AAOO,SAAS,UAAU,GAAG;AAC5B,SAAO,MAAM,KAAO,MAAM,IACvB,IACA,IAAI,MACJ,MAAO,KAAK,IAAI,GAAK,KAAO,IAAI,EAAI,IACpC,OAAO,KAAK,IAAI,GAAK,KAAO,IAAI,EAAI,IAAI;AAC5C;AAOO,SAAS,OAAO,GAAG;AACzB,SAAO,MAAM,IAAM,IAAI,KAAK,IAAI,GAAK,MAAQ,IAAI,EAAI;AACtD;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,MAAM,IAAM,IAAI,IAAM,KAAK,IAAI,GAAK,MAAQ,CAAC;AACrD;AAOO,SAAS,UAAU,GAAG;AAC5B,OAAK;AACL,MAAI,IAAI,EAAG,QAAO,MAAM,IAAI;AAC5B;AACA,SAAO,QAAQ,KAAK,IAAI,KAAK;AAC9B;AAOO,SAAS,OAAO,GAAG;AACzB,SAAO,IAAI;AACZ;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,CAAC,KAAK,IAAI;AAClB;AAOO,SAAS,WAAW,GAAG;AAC7B,SAAO,IAAI,MAAM,IAAO,KAAK,IAAI,GAAG,CAAG,IAAI,KAAO,KAAK,IAAI,IAAI,GAAK,CAAG,IAAI;AAC5E;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,KAAK,IAAI,GAAG,CAAG;AACvB;AAOO,SAAS,SAAS,GAAG;AAC3B,SAAO,KAAK,IAAI,IAAI,GAAK,CAAG,KAAK,IAAM,KAAK;AAC7C;AAOO,SAAS,WAAW,GAAG;AAC7B,OAAK,KAAK,KAAK,EAAG,QAAO,MAAM,IAAI,IAAI,IAAI,IAAI;AAC/C,SAAO,QAAQ,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI;AAC1C;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,IAAI,IAAI,IAAI,IAAI;AACxB;AAOO,SAAS,SAAS,GAAG;AAC3B,SAAO,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI;AAC9B;AAOO,SAAS,UAAU,GAAG;AAC5B,SAAO,QAAQ,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI;AACxC;AAOO,SAAS,OAAO,GAAG;AACzB,QAAM,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;AACpC,MAAI,KAAK,IAAI,CAAC,IAAI,MAAO,QAAO;AAAA,MAC3B,QAAO,IAAI;AACjB;AAOO,SAAS,QAAQ,GAAG;AAC1B,SAAO,KAAK,IAAK,IAAI,KAAK,KAAM,CAAC;AAClC;",
- "names": []
-}
diff --git a/node_modules/.vite/deps/chunk-KZF2VKC5.js b/node_modules/.vite/deps/chunk-KZF2VKC5.js
deleted file mode 100644
index 84fb9e4..0000000
--- a/node_modules/.vite/deps/chunk-KZF2VKC5.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var __defProp = Object.defineProperty;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __typeError = (msg) => {
- throw TypeError(msg);
-};
-var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
-var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
-}) : x)(function(x) {
- if (typeof require !== "undefined") return require.apply(this, arguments);
- throw Error('Dynamic require of "' + x + '" is not supported');
-});
-var __commonJS = (cb, mod) => function __require2() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
-};
-var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
-var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
-var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
-var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
-
-export {
- __require,
- __commonJS,
- __publicField,
- __privateAdd,
- __privateMethod
-};
-//# sourceMappingURL=chunk-KZF2VKC5.js.map
diff --git a/node_modules/.vite/deps/chunk-KZF2VKC5.js.map b/node_modules/.vite/deps/chunk-KZF2VKC5.js.map
deleted file mode 100644
index 9865211..0000000
--- a/node_modules/.vite/deps/chunk-KZF2VKC5.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": [],
- "sourcesContent": [],
- "mappings": "",
- "names": []
-}
diff --git a/node_modules/.vite/deps/chunk-P6FJJZV5.js b/node_modules/.vite/deps/chunk-P6FJJZV5.js
deleted file mode 100644
index 7f37eb0..0000000
--- a/node_modules/.vite/deps/chunk-P6FJJZV5.js
+++ /dev/null
@@ -1,2847 +0,0 @@
-import {
- VERSION
-} from "./chunk-2GBBIY5G.js";
-import {
- __publicField
-} from "./chunk-KZF2VKC5.js";
-
-// node_modules/svelte/src/runtime/internal/utils.js
-function noop() {
-}
-var identity = (x) => x;
-function assign(tar, src) {
- for (const k in src) tar[k] = src[k];
- return (
- /** @type {T & S} */
- tar
- );
-}
-function is_promise(value) {
- return !!value && (typeof value === "object" || typeof value === "function") && typeof /** @type {any} */
- value.then === "function";
-}
-function add_location(element2, file, line, column, char) {
- element2.__svelte_meta = {
- loc: { file, line, column, char }
- };
-}
-function run(fn) {
- return fn();
-}
-function blank_object() {
- return /* @__PURE__ */ Object.create(null);
-}
-function run_all(fns) {
- fns.forEach(run);
-}
-function is_function(thing) {
- return typeof thing === "function";
-}
-function safe_not_equal(a, b) {
- return a != a ? b == b : a !== b || a && typeof a === "object" || typeof a === "function";
-}
-var src_url_equal_anchor;
-function src_url_equal(element_src, url) {
- if (element_src === url) return true;
- if (!src_url_equal_anchor) {
- src_url_equal_anchor = document.createElement("a");
- }
- src_url_equal_anchor.href = url;
- return element_src === src_url_equal_anchor.href;
-}
-function split_srcset(srcset) {
- return srcset.split(",").map((src) => src.trim().split(" ").filter(Boolean));
-}
-function srcset_url_equal(element_srcset, srcset) {
- const element_urls = split_srcset(element_srcset.srcset);
- const urls = split_srcset(srcset || "");
- return urls.length === element_urls.length && urls.every(
- ([url, width], i) => width === element_urls[i][1] && // We need to test both ways because Vite will create an a full URL with
- // `new URL(asset, import.meta.url).href` for the client when `base: './'`, and the
- // relative URLs inside srcset are not automatically resolved to absolute URLs by
- // browsers (in contrast to img.src). This means both SSR and DOM code could
- // contain relative or absolute URLs.
- (src_url_equal(element_urls[i][0], url) || src_url_equal(url, element_urls[i][0]))
- );
-}
-function not_equal(a, b) {
- return a != a ? b == b : a !== b;
-}
-function is_empty(obj) {
- return Object.keys(obj).length === 0;
-}
-function validate_store(store, name) {
- if (store != null && typeof store.subscribe !== "function") {
- throw new Error(`'${name}' is not a store with a 'subscribe' method`);
- }
-}
-function subscribe(store, ...callbacks) {
- if (store == null) {
- for (const callback of callbacks) {
- callback(void 0);
- }
- return noop;
- }
- const unsub = store.subscribe(...callbacks);
- return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
-}
-function get_store_value(store) {
- let value;
- subscribe(store, (_) => value = _)();
- return value;
-}
-function component_subscribe(component, store, callback) {
- component.$$.on_destroy.push(subscribe(store, callback));
-}
-function create_slot(definition, ctx, $$scope, fn) {
- if (definition) {
- const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);
- return definition[0](slot_ctx);
- }
-}
-function get_slot_context(definition, ctx, $$scope, fn) {
- return definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx;
-}
-function get_slot_changes(definition, $$scope, dirty, fn) {
- if (definition[2] && fn) {
- const lets = definition[2](fn(dirty));
- if ($$scope.dirty === void 0) {
- return lets;
- }
- if (typeof lets === "object") {
- const merged = [];
- const len = Math.max($$scope.dirty.length, lets.length);
- for (let i = 0; i < len; i += 1) {
- merged[i] = $$scope.dirty[i] | lets[i];
- }
- return merged;
- }
- return $$scope.dirty | lets;
- }
- return $$scope.dirty;
-}
-function update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {
- if (slot_changes) {
- const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);
- slot.p(slot_context, slot_changes);
- }
-}
-function update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {
- const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);
- update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);
-}
-function get_all_dirty_from_scope($$scope) {
- if ($$scope.ctx.length > 32) {
- const dirty = [];
- const length = $$scope.ctx.length / 32;
- for (let i = 0; i < length; i++) {
- dirty[i] = -1;
- }
- return dirty;
- }
- return -1;
-}
-function exclude_internal_props(props) {
- const result = {};
- for (const k in props) if (k[0] !== "$") result[k] = props[k];
- return result;
-}
-function compute_rest_props(props, keys) {
- const rest = {};
- keys = new Set(keys);
- for (const k in props) if (!keys.has(k) && k[0] !== "$") rest[k] = props[k];
- return rest;
-}
-function compute_slots(slots) {
- const result = {};
- for (const key in slots) {
- result[key] = true;
- }
- return result;
-}
-function once(fn) {
- let ran = false;
- return function(...args) {
- if (ran) return;
- ran = true;
- fn.call(this, ...args);
- };
-}
-function null_to_empty(value) {
- return value == null ? "" : value;
-}
-function set_store_value(store, ret, value) {
- store.set(value);
- return ret;
-}
-var has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
-function action_destroyer(action_result) {
- return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;
-}
-function split_css_unit(value) {
- const split = typeof value === "string" && value.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);
- return split ? [parseFloat(split[1]), split[2] || "px"] : [
- /** @type {number} */
- value,
- "px"
- ];
-}
-var contenteditable_truthy_values = ["", true, 1, "true", "contenteditable"];
-
-// node_modules/svelte/src/runtime/internal/environment.js
-var is_client = typeof window !== "undefined";
-var now = is_client ? () => window.performance.now() : () => Date.now();
-var raf = is_client ? (cb) => requestAnimationFrame(cb) : noop;
-function set_now(fn) {
- now = fn;
-}
-function set_raf(fn) {
- raf = fn;
-}
-
-// node_modules/svelte/src/runtime/internal/loop.js
-var tasks = /* @__PURE__ */ new Set();
-function run_tasks(now2) {
- tasks.forEach((task) => {
- if (!task.c(now2)) {
- tasks.delete(task);
- task.f();
- }
- });
- if (tasks.size !== 0) raf(run_tasks);
-}
-function clear_loops() {
- tasks.clear();
-}
-function loop(callback) {
- let task;
- if (tasks.size === 0) raf(run_tasks);
- return {
- promise: new Promise((fulfill) => {
- tasks.add(task = { c: callback, f: fulfill });
- }),
- abort() {
- tasks.delete(task);
- }
- };
-}
-
-// node_modules/svelte/src/runtime/internal/globals.js
-var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : (
- // @ts-ignore Node typings have this
- global
-);
-
-// node_modules/svelte/src/runtime/internal/ResizeObserverSingleton.js
-var ResizeObserverSingleton = class _ResizeObserverSingleton {
- /** @param {ResizeObserverOptions} options */
- constructor(options) {
- /**
- * @private
- * @readonly
- * @type {WeakMap}
- */
- __publicField(this, "_listeners", "WeakMap" in globals ? /* @__PURE__ */ new WeakMap() : void 0);
- /**
- * @private
- * @type {ResizeObserver}
- */
- __publicField(this, "_observer");
- /** @type {ResizeObserverOptions} */
- __publicField(this, "options");
- this.options = options;
- }
- /**
- * @param {Element} element
- * @param {import('./private.js').Listener} listener
- * @returns {() => void}
- */
- observe(element2, listener) {
- this._listeners.set(element2, listener);
- this._getObserver().observe(element2, this.options);
- return () => {
- this._listeners.delete(element2);
- this._observer.unobserve(element2);
- };
- }
- /**
- * @private
- */
- _getObserver() {
- return this._observer ?? (this._observer = new ResizeObserver((entries) => {
- var _a;
- for (const entry of entries) {
- _ResizeObserverSingleton.entries.set(entry.target, entry);
- (_a = this._listeners.get(entry.target)) == null ? void 0 : _a(entry);
- }
- }));
- }
-};
-ResizeObserverSingleton.entries = "WeakMap" in globals ? /* @__PURE__ */ new WeakMap() : void 0;
-
-// node_modules/svelte/src/runtime/internal/dom.js
-var is_hydrating = false;
-function start_hydrating() {
- is_hydrating = true;
-}
-function end_hydrating() {
- is_hydrating = false;
-}
-function upper_bound(low, high, key, value) {
- while (low < high) {
- const mid = low + (high - low >> 1);
- if (key(mid) <= value) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return low;
-}
-function init_hydrate(target) {
- if (target.hydrate_init) return;
- target.hydrate_init = true;
- let children2 = (
- /** @type {ArrayLike} */
- target.childNodes
- );
- if (target.nodeName === "HEAD") {
- const my_children = [];
- for (let i = 0; i < children2.length; i++) {
- const node = children2[i];
- if (node.claim_order !== void 0) {
- my_children.push(node);
- }
- }
- children2 = my_children;
- }
- const m = new Int32Array(children2.length + 1);
- const p = new Int32Array(children2.length);
- m[0] = -1;
- let longest = 0;
- for (let i = 0; i < children2.length; i++) {
- const current = children2[i].claim_order;
- const seq_len = (longest > 0 && children2[m[longest]].claim_order <= current ? longest + 1 : upper_bound(1, longest, (idx) => children2[m[idx]].claim_order, current)) - 1;
- p[i] = m[seq_len] + 1;
- const new_len = seq_len + 1;
- m[new_len] = i;
- longest = Math.max(new_len, longest);
- }
- const lis = [];
- const to_move = [];
- let last = children2.length - 1;
- for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {
- lis.push(children2[cur - 1]);
- for (; last >= cur; last--) {
- to_move.push(children2[last]);
- }
- last--;
- }
- for (; last >= 0; last--) {
- to_move.push(children2[last]);
- }
- lis.reverse();
- to_move.sort((a, b) => a.claim_order - b.claim_order);
- for (let i = 0, j = 0; i < to_move.length; i++) {
- while (j < lis.length && to_move[i].claim_order >= lis[j].claim_order) {
- j++;
- }
- const anchor = j < lis.length ? lis[j] : null;
- target.insertBefore(to_move[i], anchor);
- }
-}
-function append(target, node) {
- target.appendChild(node);
-}
-function append_styles(target, style_sheet_id, styles) {
- const append_styles_to = get_root_for_style(target);
- if (!append_styles_to.getElementById(style_sheet_id)) {
- const style = element("style");
- style.id = style_sheet_id;
- style.textContent = styles;
- append_stylesheet(append_styles_to, style);
- }
-}
-function get_root_for_style(node) {
- if (!node) return document;
- const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;
- if (root && /** @type {ShadowRoot} */
- root.host) {
- return (
- /** @type {ShadowRoot} */
- root
- );
- }
- return node.ownerDocument;
-}
-function append_empty_stylesheet(node) {
- const style_element = element("style");
- style_element.textContent = "/* empty */";
- append_stylesheet(get_root_for_style(node), style_element);
- return style_element.sheet;
-}
-function append_stylesheet(node, style) {
- append(
- /** @type {Document} */
- node.head || node,
- style
- );
- return style.sheet;
-}
-function append_hydration(target, node) {
- if (is_hydrating) {
- init_hydrate(target);
- if (target.actual_end_child === void 0 || target.actual_end_child !== null && target.actual_end_child.parentNode !== target) {
- target.actual_end_child = target.firstChild;
- }
- while (target.actual_end_child !== null && target.actual_end_child.claim_order === void 0) {
- target.actual_end_child = target.actual_end_child.nextSibling;
- }
- if (node !== target.actual_end_child) {
- if (node.claim_order !== void 0 || node.parentNode !== target) {
- target.insertBefore(node, target.actual_end_child);
- }
- } else {
- target.actual_end_child = node.nextSibling;
- }
- } else if (node.parentNode !== target || node.nextSibling !== null) {
- target.appendChild(node);
- }
-}
-function insert(target, node, anchor) {
- target.insertBefore(node, anchor || null);
-}
-function insert_hydration(target, node, anchor) {
- if (is_hydrating && !anchor) {
- append_hydration(target, node);
- } else if (node.parentNode !== target || node.nextSibling != anchor) {
- target.insertBefore(node, anchor || null);
- }
-}
-function detach(node) {
- if (node.parentNode) {
- node.parentNode.removeChild(node);
- }
-}
-function destroy_each(iterations, detaching) {
- for (let i = 0; i < iterations.length; i += 1) {
- if (iterations[i]) iterations[i].d(detaching);
- }
-}
-function element(name) {
- return document.createElement(name);
-}
-function element_is(name, is) {
- return document.createElement(name, { is });
-}
-function object_without_properties(obj, exclude) {
- const target = (
- /** @type {Pick>} */
- {}
- );
- for (const k in obj) {
- if (has_prop(obj, k) && // @ts-ignore
- exclude.indexOf(k) === -1) {
- target[k] = obj[k];
- }
- }
- return target;
-}
-function svg_element(name) {
- return document.createElementNS("http://www.w3.org/2000/svg", name);
-}
-function text(data) {
- return document.createTextNode(data);
-}
-function space() {
- return text(" ");
-}
-function empty() {
- return text("");
-}
-function comment(content) {
- return document.createComment(content);
-}
-function listen(node, event, handler, options) {
- node.addEventListener(event, handler, options);
- return () => node.removeEventListener(event, handler, options);
-}
-function prevent_default(fn) {
- return function(event) {
- event.preventDefault();
- return fn.call(this, event);
- };
-}
-function stop_propagation(fn) {
- return function(event) {
- event.stopPropagation();
- return fn.call(this, event);
- };
-}
-function stop_immediate_propagation(fn) {
- return function(event) {
- event.stopImmediatePropagation();
- return fn.call(this, event);
- };
-}
-function self(fn) {
- return function(event) {
- if (event.target === this) fn.call(this, event);
- };
-}
-function trusted(fn) {
- return function(event) {
- if (event.isTrusted) fn.call(this, event);
- };
-}
-function attr(node, attribute, value) {
- if (value == null) node.removeAttribute(attribute);
- else if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value);
-}
-var always_set_through_set_attribute = ["width", "height"];
-function set_attributes(node, attributes) {
- const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);
- for (const key in attributes) {
- if (attributes[key] == null) {
- node.removeAttribute(key);
- } else if (key === "style") {
- node.style.cssText = attributes[key];
- } else if (key === "__value") {
- node.value = node[key] = attributes[key];
- } else if (descriptors[key] && descriptors[key].set && always_set_through_set_attribute.indexOf(key) === -1) {
- node[key] = attributes[key];
- } else {
- attr(node, key, attributes[key]);
- }
- }
-}
-function set_svg_attributes(node, attributes) {
- for (const key in attributes) {
- attr(node, key, attributes[key]);
- }
-}
-function set_custom_element_data_map(node, data_map) {
- Object.keys(data_map).forEach((key) => {
- set_custom_element_data(node, key, data_map[key]);
- });
-}
-function set_custom_element_data(node, prop, value) {
- const lower = prop.toLowerCase();
- if (lower in node) {
- node[lower] = typeof node[lower] === "boolean" && value === "" ? true : value;
- } else if (prop in node) {
- node[prop] = typeof node[prop] === "boolean" && value === "" ? true : value;
- } else {
- attr(node, prop, value);
- }
-}
-function set_dynamic_element_data(tag) {
- return /-/.test(tag) ? set_custom_element_data_map : set_attributes;
-}
-function xlink_attr(node, attribute, value) {
- node.setAttributeNS("http://www.w3.org/1999/xlink", attribute, value);
-}
-function get_svelte_dataset(node) {
- return node.dataset.svelteH;
-}
-function get_binding_group_value(group, __value, checked) {
- const value = /* @__PURE__ */ new Set();
- for (let i = 0; i < group.length; i += 1) {
- if (group[i].checked) value.add(group[i].__value);
- }
- if (!checked) {
- value.delete(__value);
- }
- return Array.from(value);
-}
-function init_binding_group(group) {
- let _inputs;
- return {
- /* push */
- p(...inputs) {
- _inputs = inputs;
- _inputs.forEach((input) => group.push(input));
- },
- /* remove */
- r() {
- _inputs.forEach((input) => group.splice(group.indexOf(input), 1));
- }
- };
-}
-function init_binding_group_dynamic(group, indexes) {
- let _group = get_binding_group(group);
- let _inputs;
- function get_binding_group(group2) {
- for (let i = 0; i < indexes.length; i++) {
- group2 = group2[indexes[i]] = group2[indexes[i]] || [];
- }
- return group2;
- }
- function push() {
- _inputs.forEach((input) => _group.push(input));
- }
- function remove() {
- _inputs.forEach((input) => _group.splice(_group.indexOf(input), 1));
- }
- return {
- /* update */
- u(new_indexes) {
- indexes = new_indexes;
- const new_group = get_binding_group(group);
- if (new_group !== _group) {
- remove();
- _group = new_group;
- push();
- }
- },
- /* push */
- p(...inputs) {
- _inputs = inputs;
- push();
- },
- /* remove */
- r: remove
- };
-}
-function to_number(value) {
- return value === "" ? null : +value;
-}
-function time_ranges_to_array(ranges) {
- const array = [];
- for (let i = 0; i < ranges.length; i += 1) {
- array.push({ start: ranges.start(i), end: ranges.end(i) });
- }
- return array;
-}
-function children(element2) {
- return Array.from(element2.childNodes);
-}
-function init_claim_info(nodes) {
- if (nodes.claim_info === void 0) {
- nodes.claim_info = { last_index: 0, total_claimed: 0 };
- }
-}
-function claim_node(nodes, predicate, process_node, create_node, dont_update_last_index = false) {
- init_claim_info(nodes);
- const result_node = (() => {
- for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {
- const node = nodes[i];
- if (predicate(node)) {
- const replacement = process_node(node);
- if (replacement === void 0) {
- nodes.splice(i, 1);
- } else {
- nodes[i] = replacement;
- }
- if (!dont_update_last_index) {
- nodes.claim_info.last_index = i;
- }
- return node;
- }
- }
- for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {
- const node = nodes[i];
- if (predicate(node)) {
- const replacement = process_node(node);
- if (replacement === void 0) {
- nodes.splice(i, 1);
- } else {
- nodes[i] = replacement;
- }
- if (!dont_update_last_index) {
- nodes.claim_info.last_index = i;
- } else if (replacement === void 0) {
- nodes.claim_info.last_index--;
- }
- return node;
- }
- }
- return create_node();
- })();
- result_node.claim_order = nodes.claim_info.total_claimed;
- nodes.claim_info.total_claimed += 1;
- return result_node;
-}
-function claim_element_base(nodes, name, attributes, create_element) {
- return claim_node(
- nodes,
- /** @returns {node is Element | SVGElement} */
- (node) => node.nodeName === name,
- /** @param {Element} node */
- (node) => {
- const remove = [];
- for (let j = 0; j < node.attributes.length; j++) {
- const attribute = node.attributes[j];
- if (!attributes[attribute.name]) {
- remove.push(attribute.name);
- }
- }
- remove.forEach((v) => node.removeAttribute(v));
- return void 0;
- },
- () => create_element(name)
- );
-}
-function claim_element(nodes, name, attributes) {
- return claim_element_base(nodes, name, attributes, element);
-}
-function claim_svg_element(nodes, name, attributes) {
- return claim_element_base(nodes, name, attributes, svg_element);
-}
-function claim_text(nodes, data) {
- return claim_node(
- nodes,
- /** @returns {node is Text} */
- (node) => node.nodeType === 3,
- /** @param {Text} node */
- (node) => {
- const data_str = "" + data;
- if (node.data.startsWith(data_str)) {
- if (node.data.length !== data_str.length) {
- return node.splitText(data_str.length);
- }
- } else {
- node.data = data_str;
- }
- },
- () => text(data),
- true
- // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements
- );
-}
-function claim_space(nodes) {
- return claim_text(nodes, " ");
-}
-function claim_comment(nodes, data) {
- return claim_node(
- nodes,
- /** @returns {node is Comment} */
- (node) => node.nodeType === 8,
- /** @param {Comment} node */
- (node) => {
- node.data = "" + data;
- return void 0;
- },
- () => comment(data),
- true
- );
-}
-function get_comment_idx(nodes, text2, start) {
- for (let i = start; i < nodes.length; i += 1) {
- const node = nodes[i];
- if (node.nodeType === 8 && node.textContent.trim() === text2) {
- return i;
- }
- }
- return -1;
-}
-function claim_html_tag(nodes, is_svg) {
- const start_index = get_comment_idx(nodes, "HTML_TAG_START", 0);
- const end_index = get_comment_idx(nodes, "HTML_TAG_END", start_index + 1);
- if (start_index === -1 || end_index === -1) {
- return new HtmlTagHydration(is_svg);
- }
- init_claim_info(nodes);
- const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);
- detach(html_tag_nodes[0]);
- detach(html_tag_nodes[html_tag_nodes.length - 1]);
- const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);
- if (claimed_nodes.length === 0) {
- return new HtmlTagHydration(is_svg);
- }
- for (const n of claimed_nodes) {
- n.claim_order = nodes.claim_info.total_claimed;
- nodes.claim_info.total_claimed += 1;
- }
- return new HtmlTagHydration(is_svg, claimed_nodes);
-}
-function set_data(text2, data) {
- data = "" + data;
- if (text2.data === data) return;
- text2.data = /** @type {string} */
- data;
-}
-function set_data_contenteditable(text2, data) {
- data = "" + data;
- if (text2.wholeText === data) return;
- text2.data = /** @type {string} */
- data;
-}
-function set_data_maybe_contenteditable(text2, data, attr_value) {
- if (~contenteditable_truthy_values.indexOf(attr_value)) {
- set_data_contenteditable(text2, data);
- } else {
- set_data(text2, data);
- }
-}
-function set_input_value(input, value) {
- input.value = value == null ? "" : value;
-}
-function set_input_type(input, type) {
- try {
- input.type = type;
- } catch (e) {
- }
-}
-function set_style(node, key, value, important) {
- if (value == null) {
- node.style.removeProperty(key);
- } else {
- node.style.setProperty(key, value, important ? "important" : "");
- }
-}
-function select_option(select, value, mounting) {
- for (let i = 0; i < select.options.length; i += 1) {
- const option = select.options[i];
- if (option.__value === value) {
- option.selected = true;
- return;
- }
- }
- if (!mounting || value !== void 0) {
- select.selectedIndex = -1;
- }
-}
-function select_options(select, value) {
- for (let i = 0; i < select.options.length; i += 1) {
- const option = select.options[i];
- option.selected = ~value.indexOf(option.__value);
- }
-}
-function select_value(select) {
- const selected_option = select.querySelector(":checked");
- return selected_option && selected_option.__value;
-}
-function select_multiple_value(select) {
- return [].map.call(select.querySelectorAll(":checked"), (option) => option.__value);
-}
-var crossorigin;
-function is_crossorigin() {
- if (crossorigin === void 0) {
- crossorigin = false;
- try {
- if (typeof window !== "undefined" && window.parent) {
- void window.parent.document;
- }
- } catch (error) {
- crossorigin = true;
- }
- }
- return crossorigin;
-}
-function add_iframe_resize_listener(node, fn) {
- const computed_style = getComputedStyle(node);
- if (computed_style.position === "static") {
- node.style.position = "relative";
- }
- const iframe = element("iframe");
- iframe.setAttribute(
- "style",
- "display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;"
- );
- iframe.setAttribute("aria-hidden", "true");
- iframe.tabIndex = -1;
- const crossorigin2 = is_crossorigin();
- let unsubscribe;
- if (crossorigin2) {
- iframe.src = "data:text/html,\";\n\t\tunsubscribe = listen(\n\t\t\twindow,\n\t\t\t'message',\n\t\t\t/** @param {MessageEvent} event */ (event) => {\n\t\t\t\tif (event.source === iframe.contentWindow) fn();\n\t\t\t}\n\t\t);\n\t} else {\n\t\tiframe.src = 'about:blank';\n\t\tiframe.onload = () => {\n\t\t\tunsubscribe = listen(iframe.contentWindow, 'resize', fn);\n\t\t\t// make sure an initial resize event is fired _after_ the iframe is loaded (which is asynchronous)\n\t\t\t// see https://github.com/sveltejs/svelte/issues/4233\n\t\t\tfn();\n\t\t};\n\t}\n\tappend(node, iframe);\n\treturn () => {\n\t\tif (crossorigin) {\n\t\t\tunsubscribe();\n\t\t} else if (unsubscribe && iframe.contentWindow) {\n\t\t\tunsubscribe();\n\t\t}\n\t\tdetach(iframe);\n\t};\n}\nexport const resize_observer_content_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'content-box'\n});\nexport const resize_observer_border_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'border-box'\n});\nexport const resize_observer_device_pixel_content_box = /* @__PURE__ */ new ResizeObserverSingleton(\n\t{ box: 'device-pixel-content-box' }\n);\nexport { ResizeObserverSingleton };\n\n/**\n * @returns {void} */\nexport function toggle_class(element, name, toggle) {\n\t// The `!!` is required because an `undefined` flag means flipping the current state.\n\telement.classList.toggle(name, !!toggle);\n}\n\n/**\n * @template T\n * @param {string} type\n * @param {T} [detail]\n * @param {{ bubbles?: boolean, cancelable?: boolean }} [options]\n * @returns {CustomEvent}\n */\nexport function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n\treturn new CustomEvent(type, { detail, bubbles, cancelable });\n}\n\n/**\n * @param {string} selector\n * @param {HTMLElement} parent\n * @returns {ChildNodeArray}\n */\nexport function query_selector_all(selector, parent = document.body) {\n\treturn Array.from(parent.querySelectorAll(selector));\n}\n\n/**\n * @param {string} nodeId\n * @param {HTMLElement} head\n * @returns {any[]}\n */\nexport function head_selector(nodeId, head) {\n\tconst result = [];\n\tlet started = 0;\n\tfor (const node of head.childNodes) {\n\t\tif (node.nodeType === 8 /* comment node */) {\n\t\t\tconst comment = node.textContent.trim();\n\t\t\tif (comment === `HEAD_${nodeId}_END`) {\n\t\t\t\tstarted -= 1;\n\t\t\t\tresult.push(node);\n\t\t\t} else if (comment === `HEAD_${nodeId}_START`) {\n\t\t\t\tstarted += 1;\n\t\t\t\tresult.push(node);\n\t\t\t}\n\t\t} else if (started > 0) {\n\t\t\tresult.push(node);\n\t\t}\n\t}\n\treturn result;\n}\n/** */\nexport class HtmlTag {\n\t/**\n\t * @private\n\t * @default false\n\t */\n\tis_svg = false;\n\t/** parent for creating node */\n\te = undefined;\n\t/** html tag nodes */\n\tn = undefined;\n\t/** target */\n\tt = undefined;\n\t/** anchor */\n\ta = undefined;\n\tconstructor(is_svg = false) {\n\t\tthis.is_svg = is_svg;\n\t\tthis.e = this.n = null;\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @returns {void}\n\t */\n\tc(html) {\n\t\tthis.h(html);\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @param {HTMLElement | SVGElement} target\n\t * @param {HTMLElement | SVGElement} anchor\n\t * @returns {void}\n\t */\n\tm(html, target, anchor = null) {\n\t\tif (!this.e) {\n\t\t\tif (this.is_svg)\n\t\t\t\tthis.e = svg_element(/** @type {keyof SVGElementTagNameMap} */ (target.nodeName));\n\t\t\t/** #7364 target for may be provided as #document-fragment(11) */ else\n\t\t\t\tthis.e = element(\n\t\t\t\t\t/** @type {keyof HTMLElementTagNameMap} */ (\n\t\t\t\t\t\ttarget.nodeType === 11 ? 'TEMPLATE' : target.nodeName\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\tthis.t =\n\t\t\t\ttarget.tagName !== 'TEMPLATE'\n\t\t\t\t\t? target\n\t\t\t\t\t: /** @type {HTMLTemplateElement} */ (target).content;\n\t\t\tthis.c(html);\n\t\t}\n\t\tthis.i(anchor);\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @returns {void}\n\t */\n\th(html) {\n\t\tthis.e.innerHTML = html;\n\t\tthis.n = Array.from(\n\t\t\tthis.e.nodeName === 'TEMPLATE' ? this.e.content.childNodes : this.e.childNodes\n\t\t);\n\t}\n\n\t/**\n\t * @returns {void} */\n\ti(anchor) {\n\t\tfor (let i = 0; i < this.n.length; i += 1) {\n\t\t\tinsert(this.t, this.n[i], anchor);\n\t\t}\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @returns {void}\n\t */\n\tp(html) {\n\t\tthis.d();\n\t\tthis.h(html);\n\t\tthis.i(this.a);\n\t}\n\n\t/**\n\t * @returns {void} */\n\td() {\n\t\tthis.n.forEach(detach);\n\t}\n}\n\nexport class HtmlTagHydration extends HtmlTag {\n\t/** @type {Element[]} hydration claimed nodes */\n\tl = undefined;\n\n\tconstructor(is_svg = false, claimed_nodes) {\n\t\tsuper(is_svg);\n\t\tthis.e = this.n = null;\n\t\tthis.l = claimed_nodes;\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @returns {void}\n\t */\n\tc(html) {\n\t\tif (this.l) {\n\t\t\tthis.n = this.l;\n\t\t} else {\n\t\t\tsuper.c(html);\n\t\t}\n\t}\n\n\t/**\n\t * @returns {void} */\n\ti(anchor) {\n\t\tfor (let i = 0; i < this.n.length; i += 1) {\n\t\t\tinsert_hydration(this.t, this.n[i], anchor);\n\t\t}\n\t}\n}\n\n/**\n * @param {NamedNodeMap} attributes\n * @returns {{}}\n */\nexport function attribute_to_object(attributes) {\n\tconst result = {};\n\tfor (const attribute of attributes) {\n\t\tresult[attribute.name] = attribute.value;\n\t}\n\treturn result;\n}\n\nconst escaped = {\n\t'\"': '"',\n\t'&': '&',\n\t'<': '<'\n};\n\nconst regex_attribute_characters_to_escape = /[\"&<]/g;\n\n/**\n * Note that the attribute itself should be surrounded in double quotes\n * @param {any} attribute\n */\nfunction escape_attribute(attribute) {\n\treturn String(attribute).replace(regex_attribute_characters_to_escape, (match) => escaped[match]);\n}\n\n/**\n * @param {Record} attributes\n */\nexport function stringify_spread(attributes) {\n\tlet str = ' ';\n\tfor (const key in attributes) {\n\t\tif (attributes[key] != null) {\n\t\t\tstr += `${key}=\"${escape_attribute(attributes[key])}\" `;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n/**\n * @param {HTMLElement} element\n * @returns {{}}\n */\nexport function get_custom_elements_slots(element) {\n\tconst result = {};\n\telement.childNodes.forEach(\n\t\t/** @param {Element} node */ (node) => {\n\t\t\tresult[node.slot || 'default'] = true;\n\t\t}\n\t);\n\treturn result;\n}\n\nexport function construct_svelte_component(component, props) {\n\treturn new component(props);\n}\n\n/**\n * @typedef {Node & {\n * \tclaim_order?: number;\n * \thydrate_init?: true;\n * \tactual_end_child?: NodeEx;\n * \tchildNodes: NodeListOf;\n * }} NodeEx\n */\n\n/** @typedef {ChildNode & NodeEx} ChildNodeEx */\n\n/** @typedef {NodeEx & { claim_order: number }} NodeEx2 */\n\n/**\n * @typedef {ChildNodeEx[] & {\n * \tclaim_info?: {\n * \t\tlast_index: number;\n * \t\ttotal_claimed: number;\n * \t};\n * }} ChildNodeArray\n */\n", "import { append_empty_stylesheet, detach, get_root_for_style } from './dom.js';\nimport { raf } from './environment.js';\n\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\n/** @type {Map} */\nconst managed_styles = new Map();\n\nlet active = 0;\n\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\n/**\n * @param {string} str\n * @returns {number}\n */\nfunction hash(str) {\n\tlet hash = 5381;\n\tlet i = str.length;\n\twhile (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n\treturn hash >>> 0;\n}\n\n/**\n * @param {Document | ShadowRoot} doc\n * @param {Element & ElementCSSInlineStyle} node\n * @returns {{ stylesheet: any; rules: {}; }}\n */\nfunction create_style_information(doc, node) {\n\tconst info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n\tmanaged_styles.set(doc, info);\n\treturn info;\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {number} a\n * @param {number} b\n * @param {number} duration\n * @param {number} delay\n * @param {(t: number) => number} ease\n * @param {(t: number, u: number) => string} fn\n * @param {number} uid\n * @returns {string}\n */\nexport function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n\tconst step = 16.666 / duration;\n\tlet keyframes = '{\\n';\n\tfor (let p = 0; p <= 1; p += step) {\n\t\tconst t = a + (b - a) * ease(p);\n\t\tkeyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n\t}\n\tconst rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n\tconst name = `__svelte_${hash(rule)}_${uid}`;\n\tconst doc = get_root_for_style(node);\n\tconst { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n\tif (!rules[name]) {\n\t\trules[name] = true;\n\t\tstylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n\t}\n\tconst animation = node.style.animation || '';\n\tnode.style.animation = `${\n\t\tanimation ? `${animation}, ` : ''\n\t}${name} ${duration}ms linear ${delay}ms 1 both`;\n\tactive += 1;\n\treturn name;\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {string} [name]\n * @returns {void}\n */\nexport function delete_rule(node, name) {\n\tconst previous = (node.style.animation || '').split(', ');\n\tconst next = previous.filter(\n\t\tname\n\t\t\t? (anim) => anim.indexOf(name) < 0 // remove specific animation\n\t\t\t: (anim) => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n\t);\n\tconst deleted = previous.length - next.length;\n\tif (deleted) {\n\t\tnode.style.animation = next.join(', ');\n\t\tactive -= deleted;\n\t\tif (!active) clear_rules();\n\t}\n}\n\n/** @returns {void} */\nexport function clear_rules() {\n\traf(() => {\n\t\tif (active) return;\n\t\tmanaged_styles.forEach((info) => {\n\t\t\tconst { ownerNode } = info.stylesheet;\n\t\t\t// there is no ownerNode if it runs on jsdom.\n\t\t\tif (ownerNode) detach(ownerNode);\n\t\t});\n\t\tmanaged_styles.clear();\n\t});\n}\n", "import { identity as linear, noop } from './utils.js';\nimport { now } from './environment.js';\nimport { loop } from './loop.js';\nimport { create_rule, delete_rule } from './style_manager.js';\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {import('./private.js').PositionRect} from\n * @param {import('./private.js').AnimationFn} fn\n */\nexport function create_animation(node, from, fn, params) {\n\tif (!from) return noop;\n\tconst to = node.getBoundingClientRect();\n\tif (\n\t\tfrom.left === to.left &&\n\t\tfrom.right === to.right &&\n\t\tfrom.top === to.top &&\n\t\tfrom.bottom === to.bottom\n\t)\n\t\treturn noop;\n\tconst {\n\t\tdelay = 0,\n\t\tduration = 300,\n\t\teasing = linear,\n\t\t// @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n\t\tstart: start_time = now() + delay,\n\t\t// @ts-ignore todo:\n\t\tend = start_time + duration,\n\t\ttick = noop,\n\t\tcss\n\t} = fn(node, { from, to }, params);\n\tlet running = true;\n\tlet started = false;\n\tlet name;\n\t/** @returns {void} */\n\tfunction start() {\n\t\tif (css) {\n\t\t\tname = create_rule(node, 0, 1, duration, delay, easing, css);\n\t\t}\n\t\tif (!delay) {\n\t\t\tstarted = true;\n\t\t}\n\t}\n\t/** @returns {void} */\n\tfunction stop() {\n\t\tif (css) delete_rule(node, name);\n\t\trunning = false;\n\t}\n\tloop((now) => {\n\t\tif (!started && now >= start_time) {\n\t\t\tstarted = true;\n\t\t}\n\t\tif (started && now >= end) {\n\t\t\ttick(1, 0);\n\t\t\tstop();\n\t\t}\n\t\tif (!running) {\n\t\t\treturn false;\n\t\t}\n\t\tif (started) {\n\t\t\tconst p = now - start_time;\n\t\t\tconst t = 0 + 1 * easing(p / duration);\n\t\t\ttick(t, 1 - t);\n\t\t}\n\t\treturn true;\n\t});\n\tstart();\n\ttick(0, 1);\n\treturn stop;\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @returns {void}\n */\nexport function fix_position(node) {\n\tconst style = getComputedStyle(node);\n\tif (style.position !== 'absolute' && style.position !== 'fixed') {\n\t\tconst { width, height } = style;\n\t\tconst a = node.getBoundingClientRect();\n\t\tnode.style.position = 'absolute';\n\t\tnode.style.width = width;\n\t\tnode.style.height = height;\n\t\tadd_transform(node, a);\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {import('./private.js').PositionRect} a\n * @returns {void}\n */\nexport function add_transform(node, a) {\n\tconst b = node.getBoundingClientRect();\n\tif (a.left !== b.left || a.top !== b.top) {\n\t\tconst style = getComputedStyle(node);\n\t\tconst transform = style.transform === 'none' ? '' : style.transform;\n\t\tnode.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n\t}\n}\n", "import { custom_event } from './dom.js';\n\nexport let current_component;\n\n/** @returns {void} */\nexport function set_current_component(component) {\n\tcurrent_component = component;\n}\n\nexport function get_current_component() {\n\tif (!current_component) throw new Error('Function called outside component initialization');\n\treturn current_component;\n}\n\n/**\n * Schedules a callback to run immediately before the component is updated after any state change.\n *\n * The first time the callback runs will be before the initial `onMount`\n *\n * https://svelte.dev/docs/svelte#beforeupdate\n * @param {() => any} fn\n * @returns {void}\n */\nexport function beforeUpdate(fn) {\n\tget_current_component().$$.before_update.push(fn);\n}\n\n/**\n * The `onMount` function schedules a callback to run as soon as the component has been mounted to the DOM.\n * It must be called during the component's initialisation (but doesn't need to live *inside* the component;\n * it can be called from an external module).\n *\n * If a function is returned _synchronously_ from `onMount`, it will be called when the component is unmounted.\n *\n * `onMount` does not run inside a [server-side component](https://svelte.dev/docs#run-time-server-side-component-api).\n *\n * https://svelte.dev/docs/svelte#onmount\n * @template T\n * @param {() => import('./private.js').NotFunction | Promise> | (() => any)} fn\n * @returns {void}\n */\nexport function onMount(fn) {\n\tget_current_component().$$.on_mount.push(fn);\n}\n\n/**\n * Schedules a callback to run immediately after the component has been updated.\n *\n * The first time the callback runs will be after the initial `onMount`\n *\n * https://svelte.dev/docs/svelte#afterupdate\n * @param {() => any} fn\n * @returns {void}\n */\nexport function afterUpdate(fn) {\n\tget_current_component().$$.after_update.push(fn);\n}\n\n/**\n * Schedules a callback to run immediately before the component is unmounted.\n *\n * Out of `onMount`, `beforeUpdate`, `afterUpdate` and `onDestroy`, this is the\n * only one that runs inside a server-side component.\n *\n * https://svelte.dev/docs/svelte#ondestroy\n * @param {() => any} fn\n * @returns {void}\n */\nexport function onDestroy(fn) {\n\tget_current_component().$$.on_destroy.push(fn);\n}\n\n/**\n * Creates an event dispatcher that can be used to dispatch [component events](https://svelte.dev/docs#template-syntax-component-directives-on-eventname).\n * Event dispatchers are functions that can take two arguments: `name` and `detail`.\n *\n * Component events created with `createEventDispatcher` create a\n * [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent).\n * These events do not [bubble](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_bubbling_and_capture).\n * The `detail` argument corresponds to the [CustomEvent.detail](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/detail)\n * property and can contain any type of data.\n *\n * The event dispatcher can be typed to narrow the allowed event names and the type of the `detail` argument:\n * ```ts\n * const dispatch = createEventDispatcher<{\n * loaded: never; // does not take a detail argument\n * change: string; // takes a detail argument of type string, which is required\n * optional: number | null; // takes an optional detail argument of type number\n * }>();\n * ```\n *\n * https://svelte.dev/docs/svelte#createeventdispatcher\n * @template {Record} [EventMap=any]\n * @returns {import('./public.js').EventDispatcher}\n */\nexport function createEventDispatcher() {\n\tconst component = get_current_component();\n\treturn (type, detail, { cancelable = false } = {}) => {\n\t\tconst callbacks = component.$$.callbacks[type];\n\t\tif (callbacks) {\n\t\t\t// TODO are there situations where events could be dispatched\n\t\t\t// in a server (non-DOM) environment?\n\t\t\tconst event = custom_event(/** @type {string} */ (type), detail, { cancelable });\n\t\t\tcallbacks.slice().forEach((fn) => {\n\t\t\t\tfn.call(component, event);\n\t\t\t});\n\t\t\treturn !event.defaultPrevented;\n\t\t}\n\t\treturn true;\n\t};\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to children of the component\n * (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * https://svelte.dev/docs/svelte#setcontext\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tget_current_component().$$.context.set(key, context);\n\treturn context;\n}\n\n/**\n * Retrieves the context that belongs to the closest parent component with the specified `key`.\n * Must be called during component initialisation.\n *\n * https://svelte.dev/docs/svelte#getcontext\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\treturn get_current_component().$$.context.get(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the closest parent component.\n * Must be called during component initialisation. Useful, for example, if you\n * programmatically create a component and want to pass the existing context to it.\n *\n * https://svelte.dev/docs/svelte#getallcontexts\n * @template {Map} [T=Map]\n * @returns {T}\n */\nexport function getAllContexts() {\n\treturn get_current_component().$$.context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of a parent component.\n * Must be called during component initialisation.\n *\n * https://svelte.dev/docs/svelte#hascontext\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\treturn get_current_component().$$.context.has(key);\n}\n\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\n/**\n * @param component\n * @param event\n * @returns {void}\n */\nexport function bubble(component, event) {\n\tconst callbacks = component.$$.callbacks[event.type];\n\tif (callbacks) {\n\t\t// @ts-ignore\n\t\tcallbacks.slice().forEach((fn) => fn.call(this, event));\n\t}\n}\n", "import { run_all } from './utils.js';\nimport { current_component, set_current_component } from './lifecycle.js';\n\nexport const dirty_components = [];\nexport const intros = { enabled: false };\nexport const binding_callbacks = [];\n\nlet render_callbacks = [];\n\nconst flush_callbacks = [];\n\nconst resolved_promise = /* @__PURE__ */ Promise.resolve();\n\nlet update_scheduled = false;\n\n/** @returns {void} */\nexport function schedule_update() {\n\tif (!update_scheduled) {\n\t\tupdate_scheduled = true;\n\t\tresolved_promise.then(flush);\n\t}\n}\n\n/** @returns {Promise} */\nexport function tick() {\n\tschedule_update();\n\treturn resolved_promise;\n}\n\n/** @returns {void} */\nexport function add_render_callback(fn) {\n\trender_callbacks.push(fn);\n}\n\n/** @returns {void} */\nexport function add_flush_callback(fn) {\n\tflush_callbacks.push(fn);\n}\n\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\n\nlet flushidx = 0; // Do *not* move this inside the flush() function\n\n/** @returns {void} */\nexport function flush() {\n\t// Do not reenter flush while dirty components are updated, as this can\n\t// result in an infinite loop. Instead, let the inner flush handle it.\n\t// Reentrancy is ok afterwards for bindings etc.\n\tif (flushidx !== 0) {\n\t\treturn;\n\t}\n\tconst saved_component = current_component;\n\tdo {\n\t\t// first, call beforeUpdate functions\n\t\t// and update components\n\t\ttry {\n\t\t\twhile (flushidx < dirty_components.length) {\n\t\t\t\tconst component = dirty_components[flushidx];\n\t\t\t\tflushidx++;\n\t\t\t\tset_current_component(component);\n\t\t\t\tupdate(component.$$);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// reset dirty state to not end up in a deadlocked state and then rethrow\n\t\t\tdirty_components.length = 0;\n\t\t\tflushidx = 0;\n\t\t\tthrow e;\n\t\t}\n\t\tset_current_component(null);\n\t\tdirty_components.length = 0;\n\t\tflushidx = 0;\n\t\twhile (binding_callbacks.length) binding_callbacks.pop()();\n\t\t// then, once components are updated, call\n\t\t// afterUpdate functions. This may cause\n\t\t// subsequent updates...\n\t\tfor (let i = 0; i < render_callbacks.length; i += 1) {\n\t\t\tconst callback = render_callbacks[i];\n\t\t\tif (!seen_callbacks.has(callback)) {\n\t\t\t\t// ...so guard against infinite loops\n\t\t\t\tseen_callbacks.add(callback);\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t\trender_callbacks.length = 0;\n\t} while (dirty_components.length);\n\twhile (flush_callbacks.length) {\n\t\tflush_callbacks.pop()();\n\t}\n\tupdate_scheduled = false;\n\tseen_callbacks.clear();\n\tset_current_component(saved_component);\n}\n\n/** @returns {void} */\nfunction update($$) {\n\tif ($$.fragment !== null) {\n\t\t$$.update();\n\t\trun_all($$.before_update);\n\t\tconst dirty = $$.dirty;\n\t\t$$.dirty = [-1];\n\t\t$$.fragment && $$.fragment.p($$.ctx, dirty);\n\t\t$$.after_update.forEach(add_render_callback);\n\t}\n}\n\n/**\n * Useful for example to execute remaining `afterUpdate` callbacks before executing `destroy`.\n * @param {Function[]} fns\n * @returns {void}\n */\nexport function flush_render_callbacks(fns) {\n\tconst filtered = [];\n\tconst targets = [];\n\trender_callbacks.forEach((c) => (fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c)));\n\ttargets.forEach((c) => c());\n\trender_callbacks = filtered;\n}\n", "import { identity as linear, is_function, noop, run_all } from './utils.js';\nimport { now } from './environment.js';\nimport { loop } from './loop.js';\nimport { create_rule, delete_rule } from './style_manager.js';\nimport { custom_event } from './dom.js';\nimport { add_render_callback } from './scheduler.js';\n\n/**\n * @type {Promise | null}\n */\nlet promise;\n\n/**\n * @returns {Promise}\n */\nfunction wait() {\n\tif (!promise) {\n\t\tpromise = Promise.resolve();\n\t\tpromise.then(() => {\n\t\t\tpromise = null;\n\t\t});\n\t}\n\treturn promise;\n}\n\n/**\n * @param {Element} node\n * @param {INTRO | OUTRO | boolean} direction\n * @param {'start' | 'end'} kind\n * @returns {void}\n */\nfunction dispatch(node, direction, kind) {\n\tnode.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\n\nconst outroing = new Set();\n\n/**\n * @type {Outro}\n */\nlet outros;\n\n/**\n * @returns {void} */\nexport function group_outros() {\n\toutros = {\n\t\tr: 0,\n\t\tc: [],\n\t\tp: outros // parent group\n\t};\n}\n\n/**\n * @returns {void} */\nexport function check_outros() {\n\tif (!outros.r) {\n\t\trun_all(outros.c);\n\t}\n\toutros = outros.p;\n}\n\n/**\n * @param {import('./private.js').Fragment} block\n * @param {0 | 1} [local]\n * @returns {void}\n */\nexport function transition_in(block, local) {\n\tif (block && block.i) {\n\t\toutroing.delete(block);\n\t\tblock.i(local);\n\t}\n}\n\n/**\n * @param {import('./private.js').Fragment} block\n * @param {0 | 1} local\n * @param {0 | 1} [detach]\n * @param {() => void} [callback]\n * @returns {void}\n */\nexport function transition_out(block, local, detach, callback) {\n\tif (block && block.o) {\n\t\tif (outroing.has(block)) return;\n\t\toutroing.add(block);\n\t\toutros.c.push(() => {\n\t\t\toutroing.delete(block);\n\t\t\tif (callback) {\n\t\t\t\tif (detach) block.d(1);\n\t\t\t\tcallback();\n\t\t\t}\n\t\t});\n\t\tblock.o(local);\n\t} else if (callback) {\n\t\tcallback();\n\t}\n}\n\n/**\n * @type {import('../transition/public.js').TransitionConfig}\n */\nconst null_transition = { duration: 0 };\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {TransitionFn} fn\n * @param {any} params\n * @returns {{ start(): void; invalidate(): void; end(): void; }}\n */\nexport function create_in_transition(node, fn, params) {\n\t/**\n\t * @type {TransitionOptions} */\n\tconst options = { direction: 'in' };\n\tlet config = fn(node, params, options);\n\tlet running = false;\n\tlet animation_name;\n\tlet task;\n\tlet uid = 0;\n\n\t/**\n\t * @returns {void} */\n\tfunction cleanup() {\n\t\tif (animation_name) delete_rule(node, animation_name);\n\t}\n\n\t/**\n\t * @returns {void} */\n\tfunction go() {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = 300,\n\t\t\teasing = linear,\n\t\t\ttick = noop,\n\t\t\tcss\n\t\t} = config || null_transition;\n\t\tif (css) animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n\t\ttick(0, 1);\n\t\tconst start_time = now() + delay;\n\t\tconst end_time = start_time + duration;\n\t\tif (task) task.abort();\n\t\trunning = true;\n\t\tadd_render_callback(() => dispatch(node, true, 'start'));\n\t\ttask = loop((now) => {\n\t\t\tif (running) {\n\t\t\t\tif (now >= end_time) {\n\t\t\t\t\ttick(1, 0);\n\t\t\t\t\tdispatch(node, true, 'end');\n\t\t\t\t\tcleanup();\n\t\t\t\t\treturn (running = false);\n\t\t\t\t}\n\t\t\t\tif (now >= start_time) {\n\t\t\t\t\tconst t = easing((now - start_time) / duration);\n\t\t\t\t\ttick(t, 1 - t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn running;\n\t\t});\n\t}\n\tlet started = false;\n\treturn {\n\t\tstart() {\n\t\t\tif (started) return;\n\t\t\tstarted = true;\n\t\t\tdelete_rule(node);\n\t\t\tif (is_function(config)) {\n\t\t\t\tconfig = config(options);\n\t\t\t\twait().then(go);\n\t\t\t} else {\n\t\t\t\tgo();\n\t\t\t}\n\t\t},\n\t\tinvalidate() {\n\t\t\tstarted = false;\n\t\t},\n\t\tend() {\n\t\t\tif (running) {\n\t\t\t\tcleanup();\n\t\t\t\trunning = false;\n\t\t\t}\n\t\t}\n\t};\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {TransitionFn} fn\n * @param {any} params\n * @returns {{ end(reset: any): void; }}\n */\nexport function create_out_transition(node, fn, params) {\n\t/** @type {TransitionOptions} */\n\tconst options = { direction: 'out' };\n\tlet config = fn(node, params, options);\n\tlet running = true;\n\tlet animation_name;\n\tconst group = outros;\n\tgroup.r += 1;\n\t/** @type {boolean} */\n\tlet original_inert_value;\n\n\t/**\n\t * @returns {void} */\n\tfunction go() {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = 300,\n\t\t\teasing = linear,\n\t\t\ttick = noop,\n\t\t\tcss\n\t\t} = config || null_transition;\n\n\t\tif (css) animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n\n\t\tconst start_time = now() + delay;\n\t\tconst end_time = start_time + duration;\n\t\tadd_render_callback(() => dispatch(node, false, 'start'));\n\n\t\tif ('inert' in node) {\n\t\t\toriginal_inert_value = /** @type {HTMLElement} */ (node).inert;\n\t\t\tnode.inert = true;\n\t\t}\n\n\t\tloop((now) => {\n\t\t\tif (running) {\n\t\t\t\tif (now >= end_time) {\n\t\t\t\t\ttick(0, 1);\n\t\t\t\t\tdispatch(node, false, 'end');\n\t\t\t\t\tif (!--group.r) {\n\t\t\t\t\t\t// this will result in `end()` being called,\n\t\t\t\t\t\t// so we don't need to clean up here\n\t\t\t\t\t\trun_all(group.c);\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (now >= start_time) {\n\t\t\t\t\tconst t = easing((now - start_time) / duration);\n\t\t\t\t\ttick(1 - t, t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn running;\n\t\t});\n\t}\n\n\tif (is_function(config)) {\n\t\twait().then(() => {\n\t\t\t// @ts-ignore\n\t\t\tconfig = config(options);\n\t\t\tgo();\n\t\t});\n\t} else {\n\t\tgo();\n\t}\n\n\treturn {\n\t\tend(reset) {\n\t\t\tif (reset && 'inert' in node) {\n\t\t\t\tnode.inert = original_inert_value;\n\t\t\t}\n\t\t\tif (reset && config.tick) {\n\t\t\t\tconfig.tick(1, 0);\n\t\t\t}\n\t\t\tif (running) {\n\t\t\t\tif (animation_name) delete_rule(node, animation_name);\n\t\t\t\trunning = false;\n\t\t\t}\n\t\t}\n\t};\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {TransitionFn} fn\n * @param {any} params\n * @param {boolean} intro\n * @returns {{ run(b: 0 | 1): void; end(): void; }}\n */\nexport function create_bidirectional_transition(node, fn, params, intro) {\n\t/**\n\t * @type {TransitionOptions} */\n\tconst options = { direction: 'both' };\n\tlet config = fn(node, params, options);\n\tlet t = intro ? 0 : 1;\n\n\t/**\n\t * @type {Program | null} */\n\tlet running_program = null;\n\n\t/**\n\t * @type {PendingProgram | null} */\n\tlet pending_program = null;\n\tlet animation_name = null;\n\n\t/** @type {boolean} */\n\tlet original_inert_value;\n\n\t/**\n\t * @returns {void} */\n\tfunction clear_animation() {\n\t\tif (animation_name) delete_rule(node, animation_name);\n\t}\n\n\t/**\n\t * @param {PendingProgram} program\n\t * @param {number} duration\n\t * @returns {Program}\n\t */\n\tfunction init(program, duration) {\n\t\tconst d = /** @type {Program['d']} */ (program.b - t);\n\t\tduration *= Math.abs(d);\n\t\treturn {\n\t\t\ta: t,\n\t\t\tb: program.b,\n\t\t\td,\n\t\t\tduration,\n\t\t\tstart: program.start,\n\t\t\tend: program.start + duration,\n\t\t\tgroup: program.group\n\t\t};\n\t}\n\n\t/**\n\t * @param {INTRO | OUTRO} b\n\t * @returns {void}\n\t */\n\tfunction go(b) {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = 300,\n\t\t\teasing = linear,\n\t\t\ttick = noop,\n\t\t\tcss\n\t\t} = config || null_transition;\n\n\t\t/**\n\t\t * @type {PendingProgram} */\n\t\tconst program = {\n\t\t\tstart: now() + delay,\n\t\t\tb\n\t\t};\n\n\t\tif (!b) {\n\t\t\t// @ts-ignore todo: improve typings\n\t\t\tprogram.group = outros;\n\t\t\toutros.r += 1;\n\t\t}\n\n\t\tif ('inert' in node) {\n\t\t\tif (b) {\n\t\t\t\tif (original_inert_value !== undefined) {\n\t\t\t\t\t// aborted/reversed outro — restore previous inert value\n\t\t\t\t\tnode.inert = original_inert_value;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toriginal_inert_value = /** @type {HTMLElement} */ (node).inert;\n\t\t\t\tnode.inert = true;\n\t\t\t}\n\t\t}\n\n\t\tif (running_program || pending_program) {\n\t\t\tpending_program = program;\n\t\t} else {\n\t\t\t// if this is an intro, and there's a delay, we need to do\n\t\t\t// an initial tick and/or apply CSS animation immediately\n\t\t\tif (css) {\n\t\t\t\tclear_animation();\n\t\t\t\tanimation_name = create_rule(node, t, b, duration, delay, easing, css);\n\t\t\t}\n\t\t\tif (b) tick(0, 1);\n\t\t\trunning_program = init(program, duration);\n\t\t\tadd_render_callback(() => dispatch(node, b, 'start'));\n\t\t\tloop((now) => {\n\t\t\t\tif (pending_program && now > pending_program.start) {\n\t\t\t\t\trunning_program = init(pending_program, duration);\n\t\t\t\t\tpending_program = null;\n\t\t\t\t\tdispatch(node, running_program.b, 'start');\n\t\t\t\t\tif (css) {\n\t\t\t\t\t\tclear_animation();\n\t\t\t\t\t\tanimation_name = create_rule(\n\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\tt,\n\t\t\t\t\t\t\trunning_program.b,\n\t\t\t\t\t\t\trunning_program.duration,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\teasing,\n\t\t\t\t\t\t\tconfig.css\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (running_program) {\n\t\t\t\t\tif (now >= running_program.end) {\n\t\t\t\t\t\ttick((t = running_program.b), 1 - t);\n\t\t\t\t\t\tdispatch(node, running_program.b, 'end');\n\t\t\t\t\t\tif (!pending_program) {\n\t\t\t\t\t\t\t// we're done\n\t\t\t\t\t\t\tif (running_program.b) {\n\t\t\t\t\t\t\t\t// intro — we can tidy up immediately\n\t\t\t\t\t\t\t\tclear_animation();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// outro — needs to be coordinated\n\t\t\t\t\t\t\t\tif (!--running_program.group.r) run_all(running_program.group.c);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trunning_program = null;\n\t\t\t\t\t} else if (now >= running_program.start) {\n\t\t\t\t\t\tconst p = now - running_program.start;\n\t\t\t\t\t\tt = running_program.a + running_program.d * easing(p / running_program.duration);\n\t\t\t\t\t\ttick(t, 1 - t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!(running_program || pending_program);\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\trun(b) {\n\t\t\tif (is_function(config)) {\n\t\t\t\twait().then(() => {\n\t\t\t\t\tconst opts = { direction: b ? 'in' : 'out' };\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tconfig = config(opts);\n\t\t\t\t\tgo(b);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tgo(b);\n\t\t\t}\n\t\t},\n\t\tend() {\n\t\t\tclear_animation();\n\t\t\trunning_program = pending_program = null;\n\t\t}\n\t};\n}\n\n/** @typedef {1} INTRO */\n/** @typedef {0} OUTRO */\n/** @typedef {{ direction: 'in' | 'out' | 'both' }} TransitionOptions */\n/** @typedef {(node: Element, params: any, options: TransitionOptions) => import('../transition/public.js').TransitionConfig} TransitionFn */\n\n/**\n * @typedef {Object} Outro\n * @property {number} r\n * @property {Function[]} c\n * @property {Object} p\n */\n\n/**\n * @typedef {Object} PendingProgram\n * @property {number} start\n * @property {INTRO|OUTRO} b\n * @property {Outro} [group]\n */\n\n/**\n * @typedef {Object} Program\n * @property {number} a\n * @property {INTRO|OUTRO} b\n * @property {1|-1} d\n * @property {number} duration\n * @property {number} start\n * @property {number} end\n * @property {Outro} [group]\n */\n", "import { is_promise } from './utils.js';\nimport { check_outros, group_outros, transition_in, transition_out } from './transitions.js';\nimport { flush } from './scheduler.js';\nimport { get_current_component, set_current_component } from './lifecycle.js';\n\n/**\n * @template T\n * @param {Promise} promise\n * @param {import('./private.js').PromiseInfo} info\n * @returns {boolean}\n */\nexport function handle_promise(promise, info) {\n\tconst token = (info.token = {});\n\t/**\n\t * @param {import('./private.js').FragmentFactory} type\n\t * @param {0 | 1 | 2} index\n\t * @param {number} [key]\n\t * @param {any} [value]\n\t * @returns {void}\n\t */\n\tfunction update(type, index, key, value) {\n\t\tif (info.token !== token) return;\n\t\tinfo.resolved = value;\n\t\tlet child_ctx = info.ctx;\n\t\tif (key !== undefined) {\n\t\t\tchild_ctx = child_ctx.slice();\n\t\t\tchild_ctx[key] = value;\n\t\t}\n\t\tconst block = type && (info.current = type)(child_ctx);\n\t\tlet needs_flush = false;\n\t\tif (info.block) {\n\t\t\tif (info.blocks) {\n\t\t\t\tinfo.blocks.forEach((block, i) => {\n\t\t\t\t\tif (i !== index && block) {\n\t\t\t\t\t\tgroup_outros();\n\t\t\t\t\t\ttransition_out(block, 1, 1, () => {\n\t\t\t\t\t\t\tif (info.blocks[i] === block) {\n\t\t\t\t\t\t\t\tinfo.blocks[i] = null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcheck_outros();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tinfo.block.d(1);\n\t\t\t}\n\t\t\tblock.c();\n\t\t\ttransition_in(block, 1);\n\t\t\tblock.m(info.mount(), info.anchor);\n\t\t\tneeds_flush = true;\n\t\t}\n\t\tinfo.block = block;\n\t\tif (info.blocks) info.blocks[index] = block;\n\t\tif (needs_flush) {\n\t\t\tflush();\n\t\t}\n\t}\n\tif (is_promise(promise)) {\n\t\tconst current_component = get_current_component();\n\t\tpromise.then(\n\t\t\t(value) => {\n\t\t\t\tset_current_component(current_component);\n\t\t\t\tupdate(info.then, 1, info.value, value);\n\t\t\t\tset_current_component(null);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tset_current_component(current_component);\n\t\t\t\tupdate(info.catch, 2, info.error, error);\n\t\t\t\tset_current_component(null);\n\t\t\t\tif (!info.hasCatch) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\t// if we previously had a then/catch block, destroy it\n\t\tif (info.current !== info.pending) {\n\t\t\tupdate(info.pending, 0);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\tif (info.current !== info.then) {\n\t\t\tupdate(info.then, 1, info.value, promise);\n\t\t\treturn true;\n\t\t}\n\t\tinfo.resolved = /** @type {T} */ (promise);\n\t}\n}\n\n/** @returns {void} */\nexport function update_await_block_branch(info, ctx, dirty) {\n\tconst child_ctx = ctx.slice();\n\tconst { resolved } = info;\n\tif (info.current === info.then) {\n\t\tchild_ctx[info.value] = resolved;\n\t}\n\tif (info.current === info.catch) {\n\t\tchild_ctx[info.error] = resolved;\n\t}\n\tinfo.block.p(child_ctx, dirty);\n}\n", "import { transition_in, transition_out } from './transitions.js';\nimport { run_all } from './utils.js';\n\n// general each functions:\n\nexport function ensure_array_like(array_like_or_iterator) {\n\treturn array_like_or_iterator?.length !== undefined\n\t\t? array_like_or_iterator\n\t\t: Array.from(array_like_or_iterator);\n}\n\n// keyed each functions:\n\n/** @returns {void} */\nexport function destroy_block(block, lookup) {\n\tblock.d(1);\n\tlookup.delete(block.key);\n}\n\n/** @returns {void} */\nexport function outro_and_destroy_block(block, lookup) {\n\ttransition_out(block, 1, 1, () => {\n\t\tlookup.delete(block.key);\n\t});\n}\n\n/** @returns {void} */\nexport function fix_and_destroy_block(block, lookup) {\n\tblock.f();\n\tdestroy_block(block, lookup);\n}\n\n/** @returns {void} */\nexport function fix_and_outro_and_destroy_block(block, lookup) {\n\tblock.f();\n\toutro_and_destroy_block(block, lookup);\n}\n\n/** @returns {any[]} */\nexport function update_keyed_each(\n\told_blocks,\n\tdirty,\n\tget_key,\n\tdynamic,\n\tctx,\n\tlist,\n\tlookup,\n\tnode,\n\tdestroy,\n\tcreate_each_block,\n\tnext,\n\tget_context\n) {\n\tlet o = old_blocks.length;\n\tlet n = list.length;\n\tlet i = o;\n\tconst old_indexes = {};\n\twhile (i--) old_indexes[old_blocks[i].key] = i;\n\tconst new_blocks = [];\n\tconst new_lookup = new Map();\n\tconst deltas = new Map();\n\tconst updates = [];\n\ti = n;\n\twhile (i--) {\n\t\tconst child_ctx = get_context(ctx, list, i);\n\t\tconst key = get_key(child_ctx);\n\t\tlet block = lookup.get(key);\n\t\tif (!block) {\n\t\t\tblock = create_each_block(key, child_ctx);\n\t\t\tblock.c();\n\t\t} else if (dynamic) {\n\t\t\t// defer updates until all the DOM shuffling is done\n\t\t\tupdates.push(() => block.p(child_ctx, dirty));\n\t\t}\n\t\tnew_lookup.set(key, (new_blocks[i] = block));\n\t\tif (key in old_indexes) deltas.set(key, Math.abs(i - old_indexes[key]));\n\t}\n\tconst will_move = new Set();\n\tconst did_move = new Set();\n\t/** @returns {void} */\n\tfunction insert(block) {\n\t\ttransition_in(block, 1);\n\t\tblock.m(node, next);\n\t\tlookup.set(block.key, block);\n\t\tnext = block.first;\n\t\tn--;\n\t}\n\twhile (o && n) {\n\t\tconst new_block = new_blocks[n - 1];\n\t\tconst old_block = old_blocks[o - 1];\n\t\tconst new_key = new_block.key;\n\t\tconst old_key = old_block.key;\n\t\tif (new_block === old_block) {\n\t\t\t// do nothing\n\t\t\tnext = new_block.first;\n\t\t\to--;\n\t\t\tn--;\n\t\t} else if (!new_lookup.has(old_key)) {\n\t\t\t// remove old block\n\t\t\tdestroy(old_block, lookup);\n\t\t\to--;\n\t\t} else if (!lookup.has(new_key) || will_move.has(new_key)) {\n\t\t\tinsert(new_block);\n\t\t} else if (did_move.has(old_key)) {\n\t\t\to--;\n\t\t} else if (deltas.get(new_key) > deltas.get(old_key)) {\n\t\t\tdid_move.add(new_key);\n\t\t\tinsert(new_block);\n\t\t} else {\n\t\t\twill_move.add(old_key);\n\t\t\to--;\n\t\t}\n\t}\n\twhile (o--) {\n\t\tconst old_block = old_blocks[o];\n\t\tif (!new_lookup.has(old_block.key)) destroy(old_block, lookup);\n\t}\n\twhile (n) insert(new_blocks[n - 1]);\n\trun_all(updates);\n\treturn new_blocks;\n}\n\n/** @returns {void} */\nexport function validate_each_keys(ctx, list, get_context, get_key) {\n\tconst keys = new Map();\n\tfor (let i = 0; i < list.length; i++) {\n\t\tconst key = get_key(get_context(ctx, list, i));\n\t\tif (keys.has(key)) {\n\t\t\tlet value = '';\n\t\t\ttry {\n\t\t\t\tvalue = `with value '${String(key)}' `;\n\t\t\t} catch (e) {\n\t\t\t\t// can't stringify\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot have duplicate keys in a keyed each: Keys at index ${keys.get(\n\t\t\t\t\tkey\n\t\t\t\t)} and ${i} ${value}are duplicates`\n\t\t\t);\n\t\t}\n\t\tkeys.set(key, i);\n\t}\n}\n", "/** @returns {{}} */\nexport function get_spread_update(levels, updates) {\n\tconst update = {};\n\tconst to_null_out = {};\n\tconst accounted_for = { $$scope: 1 };\n\tlet i = levels.length;\n\twhile (i--) {\n\t\tconst o = levels[i];\n\t\tconst n = updates[i];\n\t\tif (n) {\n\t\t\tfor (const key in o) {\n\t\t\t\tif (!(key in n)) to_null_out[key] = 1;\n\t\t\t}\n\t\t\tfor (const key in n) {\n\t\t\t\tif (!accounted_for[key]) {\n\t\t\t\t\tupdate[key] = n[key];\n\t\t\t\t\taccounted_for[key] = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlevels[i] = n;\n\t\t} else {\n\t\t\tfor (const key in o) {\n\t\t\t\taccounted_for[key] = 1;\n\t\t\t}\n\t\t}\n\t}\n\tfor (const key in to_null_out) {\n\t\tif (!(key in update)) update[key] = undefined;\n\t}\n\treturn update;\n}\n\nexport function get_spread_object(spread_props) {\n\treturn typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n", "const _boolean_attributes = /** @type {const} */ ([\n\t'allowfullscreen',\n\t'allowpaymentrequest',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'formnovalidate',\n\t'hidden',\n\t'inert',\n\t'ismap',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'selected'\n]);\n\n/**\n * List of HTML boolean attributes (e.g. ``).\n * Source: https://html.spec.whatwg.org/multipage/indices.html\n *\n * @type {Set}\n */\nexport const boolean_attributes = new Set([..._boolean_attributes]);\n\n/** @typedef {typeof _boolean_attributes[number]} BooleanAttributes */\n", "const ATTR_REGEX = /[&\"<]/g;\nconst CONTENT_REGEX = /[&<]/g;\n\n/**\n * Note: this method is performance sensitive and has been optimized\n * https://github.com/sveltejs/svelte/pull/5701\n * @param {unknown} value\n * @returns {string}\n */\nexport function escape(value, is_attr = false) {\n\tconst str = String(value);\n\tconst pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;\n\tpattern.lastIndex = 0;\n\tlet escaped = '';\n\tlet last = 0;\n\twhile (pattern.test(str)) {\n\t\tconst i = pattern.lastIndex - 1;\n\t\tconst ch = str[i];\n\t\tescaped += str.substring(last, i) + (ch === '&' ? '&' : ch === '\"' ? '"' : '<');\n\t\tlast = i + 1;\n\t}\n\treturn escaped + str.substring(last);\n}\n", "/** regex of all html void element names */\nconst void_element_names =\n\t/^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/;\n\n/** regex of all html element names. svg and math are omitted because they belong to the svg elements namespace */\nconst html_element_names =\n\t/^(?:a|abbr|address|area|article|aside|audio|b|base|bdi|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|main|map|mark|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|u|ul|var|video|wbr)$/;\n\n/** regex of all svg element names */\nconst svg =\n\t/^(?:altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|image|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|unknown|use|view|vkern)$/;\n\n/**\n * @param {string} name\n * @returns {boolean}\n */\nexport function is_void(name) {\n\treturn void_element_names.test(name) || name.toLowerCase() === '!doctype';\n}\n\n/**\n * @param {string} name\n * @returns {boolean}\n */\nexport function is_html(name) {\n\treturn html_element_names.test(name);\n}\n\n/**\n * @param {string} name\n * @returns {boolean}\n */\nexport function is_svg(name) {\n\treturn svg.test(name);\n}\n", "import { set_current_component, current_component } from './lifecycle.js';\nimport { run_all, blank_object } from './utils.js';\nimport { boolean_attributes } from '../../shared/boolean_attributes.js';\nimport { ensure_array_like } from './each.js';\nimport { escape } from '../../shared/utils/escape.js';\nexport { is_void } from '../../shared/utils/names.js';\nexport { escape };\n\nexport const invalid_attribute_name_character =\n\t/[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\n\n/** @returns {string} */\nexport function spread(args, attrs_to_add) {\n\tconst attributes = Object.assign({}, ...args);\n\tif (attrs_to_add) {\n\t\tconst classes_to_add = attrs_to_add.classes;\n\t\tconst styles_to_add = attrs_to_add.styles;\n\t\tif (classes_to_add) {\n\t\t\tif (attributes.class == null) {\n\t\t\t\tattributes.class = classes_to_add;\n\t\t\t} else {\n\t\t\t\tattributes.class += ' ' + classes_to_add;\n\t\t\t}\n\t\t}\n\t\tif (styles_to_add) {\n\t\t\tif (attributes.style == null) {\n\t\t\t\tattributes.style = style_object_to_string(styles_to_add);\n\t\t\t} else {\n\t\t\t\tattributes.style = style_object_to_string(\n\t\t\t\t\tmerge_ssr_styles(attributes.style, styles_to_add)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tlet str = '';\n\tObject.keys(attributes).forEach((name) => {\n\t\tif (invalid_attribute_name_character.test(name)) return;\n\t\tconst value = attributes[name];\n\t\tif (value === true) str += ' ' + name;\n\t\telse if (boolean_attributes.has(name.toLowerCase())) {\n\t\t\tif (value) str += ' ' + name;\n\t\t} else if (value != null) {\n\t\t\tstr += ` ${name}=\"${value}\"`;\n\t\t}\n\t});\n\treturn str;\n}\n\n/** @returns {{}} */\nexport function merge_ssr_styles(style_attribute, style_directive) {\n\tconst style_object = {};\n\tfor (const individual_style of style_attribute.split(';')) {\n\t\tconst colon_index = individual_style.indexOf(':');\n\t\tconst name = individual_style.slice(0, colon_index).trim();\n\t\tconst value = individual_style.slice(colon_index + 1).trim();\n\t\tif (!name) continue;\n\t\tstyle_object[name] = value;\n\t}\n\tfor (const name in style_directive) {\n\t\tconst value = style_directive[name];\n\t\tif (value) {\n\t\t\tstyle_object[name] = value;\n\t\t} else {\n\t\t\tdelete style_object[name];\n\t\t}\n\t}\n\treturn style_object;\n}\n\nexport function escape_attribute_value(value) {\n\t// keep booleans, null, and undefined for the sake of `spread`\n\tconst should_escape = typeof value === 'string' || (value && typeof value === 'object');\n\treturn should_escape ? escape(value, true) : value;\n}\n\n/** @returns {{}} */\nexport function escape_object(obj) {\n\tconst result = {};\n\tfor (const key in obj) {\n\t\tresult[key] = escape_attribute_value(obj[key]);\n\t}\n\treturn result;\n}\n\n/** @returns {string} */\nexport function each(items, fn) {\n\titems = ensure_array_like(items);\n\tlet str = '';\n\tfor (let i = 0; i < items.length; i += 1) {\n\t\tstr += fn(items[i], i);\n\t}\n\treturn str;\n}\n\nexport const missing_component = {\n\t$$render: () => ''\n};\n\nexport function validate_component(component, name) {\n\tif (!component || !component.$$render) {\n\t\tif (name === 'svelte:component') name += ' this={...}';\n\t\tthrow new Error(\n\t\t\t`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules. Otherwise you may need to fix a <${name}>.`\n\t\t);\n\t}\n\treturn component;\n}\n\n/** @returns {string} */\nexport function debug(file, line, column, values) {\n\tconsole.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n\tconsole.log(values); // eslint-disable-line no-console\n\treturn '';\n}\n\nlet on_destroy;\n\n/** @returns {{ render: (props?: {}, { $$slots, context }?: { $$slots?: {}; context?: Map; }) => { html: any; css: { code: string; map: any; }; head: string; }; $$render: (result: any, props: any, bindings: any, slots: any, context: any) => any; }} */\nexport function create_ssr_component(fn) {\n\tfunction $$render(result, props, bindings, slots, context) {\n\t\tconst parent_component = current_component;\n\t\tconst $$ = {\n\t\t\ton_destroy,\n\t\t\tcontext: new Map(context || (parent_component ? parent_component.$$.context : [])),\n\t\t\t// these will be immediately discarded\n\t\t\ton_mount: [],\n\t\t\tbefore_update: [],\n\t\t\tafter_update: [],\n\t\t\tcallbacks: blank_object()\n\t\t};\n\t\tset_current_component({ $$ });\n\t\tconst html = fn(result, props, bindings, slots);\n\t\tset_current_component(parent_component);\n\t\treturn html;\n\t}\n\treturn {\n\t\trender: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n\t\t\ton_destroy = [];\n\t\t\tconst result = { title: '', head: '', css: new Set() };\n\t\t\tconst html = $$render(result, props, {}, $$slots, context);\n\t\t\trun_all(on_destroy);\n\t\t\treturn {\n\t\t\t\thtml,\n\t\t\t\tcss: {\n\t\t\t\t\tcode: Array.from(result.css)\n\t\t\t\t\t\t.map((css) => css.code)\n\t\t\t\t\t\t.join('\\n'),\n\t\t\t\t\tmap: null // TODO\n\t\t\t\t},\n\t\t\t\thead: result.title + result.head\n\t\t\t};\n\t\t},\n\t\t$$render\n\t};\n}\n\n/** @returns {string} */\nexport function add_attribute(name, value, boolean) {\n\tif (value == null || (boolean && !value)) return '';\n\tconst assignment = boolean && value === true ? '' : `=\"${escape(value, true)}\"`;\n\treturn ` ${name}${assignment}`;\n}\n\n/** @returns {string} */\nexport function add_classes(classes) {\n\treturn classes ? ` class=\"${classes}\"` : '';\n}\n\n/** @returns {string} */\nfunction style_object_to_string(style_object) {\n\treturn Object.keys(style_object)\n\t\t.filter((key) => style_object[key] != null && style_object[key] !== '')\n\t\t.map((key) => `${key}: ${escape_attribute_value(style_object[key])};`)\n\t\t.join(' ');\n}\n\n/** @returns {string} */\nexport function add_styles(style_object) {\n\tconst styles = style_object_to_string(style_object);\n\treturn styles ? ` style=\"${styles}\"` : '';\n}\n", "import {\n\tadd_render_callback,\n\tflush,\n\tflush_render_callbacks,\n\tschedule_update,\n\tdirty_components\n} from './scheduler.js';\nimport { current_component, set_current_component } from './lifecycle.js';\nimport { blank_object, is_empty, is_function, run, run_all, noop } from './utils.js';\nimport {\n\tchildren,\n\tdetach,\n\tstart_hydrating,\n\tend_hydrating,\n\tget_custom_elements_slots,\n\tinsert,\n\telement,\n\tattr\n} from './dom.js';\nimport { transition_in } from './transitions.js';\n\n/** @returns {void} */\nexport function bind(component, name, callback) {\n\tconst index = component.$$.props[name];\n\tif (index !== undefined) {\n\t\tcomponent.$$.bound[index] = callback;\n\t\tcallback(component.$$.ctx[index]);\n\t}\n}\n\n/** @returns {void} */\nexport function create_component(block) {\n\tblock && block.c();\n}\n\n/** @returns {void} */\nexport function claim_component(block, parent_nodes) {\n\tblock && block.l(parent_nodes);\n}\n\n/** @returns {void} */\nexport function mount_component(component, target, anchor) {\n\tconst { fragment, after_update } = component.$$;\n\tfragment && fragment.m(target, anchor);\n\t// onMount happens before the initial afterUpdate\n\tadd_render_callback(() => {\n\t\tconst new_on_destroy = component.$$.on_mount.map(run).filter(is_function);\n\t\t// if the component was destroyed immediately\n\t\t// it will update the `$$.on_destroy` reference to `null`.\n\t\t// the destructured on_destroy may still reference to the old array\n\t\tif (component.$$.on_destroy) {\n\t\t\tcomponent.$$.on_destroy.push(...new_on_destroy);\n\t\t} else {\n\t\t\t// Edge case - component was destroyed immediately,\n\t\t\t// most likely as a result of a binding initialising\n\t\t\trun_all(new_on_destroy);\n\t\t}\n\t\tcomponent.$$.on_mount = [];\n\t});\n\tafter_update.forEach(add_render_callback);\n}\n\n/** @returns {void} */\nexport function destroy_component(component, detaching) {\n\tconst $$ = component.$$;\n\tif ($$.fragment !== null) {\n\t\tflush_render_callbacks($$.after_update);\n\t\trun_all($$.on_destroy);\n\t\t$$.fragment && $$.fragment.d(detaching);\n\t\t// TODO null out other refs, including component.$$ (but need to\n\t\t// preserve final state?)\n\t\t$$.on_destroy = $$.fragment = null;\n\t\t$$.ctx = [];\n\t}\n}\n\n/** @returns {void} */\nfunction make_dirty(component, i) {\n\tif (component.$$.dirty[0] === -1) {\n\t\tdirty_components.push(component);\n\t\tschedule_update();\n\t\tcomponent.$$.dirty.fill(0);\n\t}\n\tcomponent.$$.dirty[(i / 31) | 0] |= 1 << i % 31;\n}\n\n// TODO: Document the other params\n/**\n * @param {SvelteComponent} component\n * @param {import('./public.js').ComponentConstructorOptions} options\n *\n * @param {import('./utils.js')['not_equal']} not_equal Used to compare props and state values.\n * @param {(target: Element | ShadowRoot) => void} [append_styles] Function that appends styles to the DOM when the component is first initialised.\n * This will be the `add_css` function from the compiled component.\n *\n * @returns {void}\n */\nexport function init(\n\tcomponent,\n\toptions,\n\tinstance,\n\tcreate_fragment,\n\tnot_equal,\n\tprops,\n\tappend_styles = null,\n\tdirty = [-1]\n) {\n\tconst parent_component = current_component;\n\tset_current_component(component);\n\t/** @type {import('./private.js').T$$} */\n\tconst $$ = (component.$$ = {\n\t\tfragment: null,\n\t\tctx: [],\n\t\t// state\n\t\tprops,\n\t\tupdate: noop,\n\t\tnot_equal,\n\t\tbound: blank_object(),\n\t\t// lifecycle\n\t\ton_mount: [],\n\t\ton_destroy: [],\n\t\ton_disconnect: [],\n\t\tbefore_update: [],\n\t\tafter_update: [],\n\t\tcontext: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n\t\t// everything else\n\t\tcallbacks: blank_object(),\n\t\tdirty,\n\t\tskip_bound: false,\n\t\troot: options.target || parent_component.$$.root\n\t});\n\tappend_styles && append_styles($$.root);\n\tlet ready = false;\n\t$$.ctx = instance\n\t\t? instance(component, options.props || {}, (i, ret, ...rest) => {\n\t\t\t\tconst value = rest.length ? rest[0] : ret;\n\t\t\t\tif ($$.ctx && not_equal($$.ctx[i], ($$.ctx[i] = value))) {\n\t\t\t\t\tif (!$$.skip_bound && $$.bound[i]) $$.bound[i](value);\n\t\t\t\t\tif (ready) make_dirty(component, i);\n\t\t\t\t}\n\t\t\t\treturn ret;\n\t\t })\n\t\t: [];\n\t$$.update();\n\tready = true;\n\trun_all($$.before_update);\n\t// `false` as a special case of no DOM component\n\t$$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n\tif (options.target) {\n\t\tif (options.hydrate) {\n\t\t\tstart_hydrating();\n\t\t\t// TODO: what is the correct type here?\n\t\t\t// @ts-expect-error\n\t\t\tconst nodes = children(options.target);\n\t\t\t$$.fragment && $$.fragment.l(nodes);\n\t\t\tnodes.forEach(detach);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t$$.fragment && $$.fragment.c();\n\t\t}\n\t\tif (options.intro) transition_in(component.$$.fragment);\n\t\tmount_component(component, options.target, options.anchor);\n\t\tend_hydrating();\n\t\tflush();\n\t}\n\tset_current_component(parent_component);\n}\n\nexport let SvelteElement;\n\nif (typeof HTMLElement === 'function') {\n\tSvelteElement = class extends HTMLElement {\n\t\t/** The Svelte component constructor */\n\t\t$$ctor;\n\t\t/** Slots */\n\t\t$$s;\n\t\t/** The Svelte component instance */\n\t\t$$c;\n\t\t/** Whether or not the custom element is connected */\n\t\t$$cn = false;\n\t\t/** Component props data */\n\t\t$$d = {};\n\t\t/** `true` if currently in the process of reflecting component props back to attributes */\n\t\t$$r = false;\n\t\t/** @type {Record} Props definition (name, reflected, type etc) */\n\t\t$$p_d = {};\n\t\t/** @type {Record} Event listeners */\n\t\t$$l = {};\n\t\t/** @type {Map} Event listener unsubscribe functions */\n\t\t$$l_u = new Map();\n\n\t\tconstructor($$componentCtor, $$slots, use_shadow_dom) {\n\t\t\tsuper();\n\t\t\tthis.$$ctor = $$componentCtor;\n\t\t\tthis.$$s = $$slots;\n\t\t\tif (use_shadow_dom) {\n\t\t\t\tthis.attachShadow({ mode: 'open' });\n\t\t\t}\n\t\t}\n\n\t\taddEventListener(type, listener, options) {\n\t\t\t// We can't determine upfront if the event is a custom event or not, so we have to\n\t\t\t// listen to both. If someone uses a custom event with the same name as a regular\n\t\t\t// browser event, this fires twice - we can't avoid that.\n\t\t\tthis.$$l[type] = this.$$l[type] || [];\n\t\t\tthis.$$l[type].push(listener);\n\t\t\tif (this.$$c) {\n\t\t\t\tconst unsub = this.$$c.$on(type, listener);\n\t\t\t\tthis.$$l_u.set(listener, unsub);\n\t\t\t}\n\t\t\tsuper.addEventListener(type, listener, options);\n\t\t}\n\n\t\tremoveEventListener(type, listener, options) {\n\t\t\tsuper.removeEventListener(type, listener, options);\n\t\t\tif (this.$$c) {\n\t\t\t\tconst unsub = this.$$l_u.get(listener);\n\t\t\t\tif (unsub) {\n\t\t\t\t\tunsub();\n\t\t\t\t\tthis.$$l_u.delete(listener);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tasync connectedCallback() {\n\t\t\tthis.$$cn = true;\n\t\t\tif (!this.$$c) {\n\t\t\t\t// We wait one tick to let possible child slot elements be created/mounted\n\t\t\t\tawait Promise.resolve();\n\t\t\t\tif (!this.$$cn || this.$$c) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfunction create_slot(name) {\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tlet node;\n\t\t\t\t\t\tconst obj = {\n\t\t\t\t\t\t\tc: function create() {\n\t\t\t\t\t\t\t\tnode = element('slot');\n\t\t\t\t\t\t\t\tif (name !== 'default') {\n\t\t\t\t\t\t\t\t\tattr(node, 'name', name);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * @param {HTMLElement} target\n\t\t\t\t\t\t\t * @param {HTMLElement} [anchor]\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tm: function mount(target, anchor) {\n\t\t\t\t\t\t\t\tinsert(target, node, anchor);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\td: function destroy(detaching) {\n\t\t\t\t\t\t\t\tif (detaching) {\n\t\t\t\t\t\t\t\t\tdetach(node);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn obj;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst $$slots = {};\n\t\t\t\tconst existing_slots = get_custom_elements_slots(this);\n\t\t\t\tfor (const name of this.$$s) {\n\t\t\t\t\tif (name in existing_slots) {\n\t\t\t\t\t\t$$slots[name] = [create_slot(name)];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (const attribute of this.attributes) {\n\t\t\t\t\t// this.$$data takes precedence over this.attributes\n\t\t\t\t\tconst name = this.$$g_p(attribute.name);\n\t\t\t\t\tif (!(name in this.$$d)) {\n\t\t\t\t\t\tthis.$$d[name] = get_custom_element_value(name, attribute.value, this.$$p_d, 'toProp');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Port over props that were set programmatically before ce was initialized\n\t\t\t\tfor (const key in this.$$p_d) {\n\t\t\t\t\tif (!(key in this.$$d) && this[key] !== undefined) {\n\t\t\t\t\t\tthis.$$d[key] = this[key]; // don't transform, these were set through JavaScript\n\t\t\t\t\t\tdelete this[key]; // remove the property that shadows the getter/setter\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$$c = new this.$$ctor({\n\t\t\t\t\ttarget: this.shadowRoot || this,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...this.$$d,\n\t\t\t\t\t\t$$slots,\n\t\t\t\t\t\t$$scope: {\n\t\t\t\t\t\t\tctx: []\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Reflect component props as attributes\n\t\t\t\tconst reflect_attributes = () => {\n\t\t\t\t\tthis.$$r = true;\n\t\t\t\t\tfor (const key in this.$$p_d) {\n\t\t\t\t\t\tthis.$$d[key] = this.$$c.$$.ctx[this.$$c.$$.props[key]];\n\t\t\t\t\t\tif (this.$$p_d[key].reflect) {\n\t\t\t\t\t\t\tconst attribute_value = get_custom_element_value(\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tthis.$$d[key],\n\t\t\t\t\t\t\t\tthis.$$p_d,\n\t\t\t\t\t\t\t\t'toAttribute'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (attribute_value == null) {\n\t\t\t\t\t\t\t\tthis.removeAttribute(this.$$p_d[key].attribute || key);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.setAttribute(this.$$p_d[key].attribute || key, attribute_value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.$$r = false;\n\t\t\t\t};\n\t\t\t\tthis.$$c.$$.after_update.push(reflect_attributes);\n\t\t\t\treflect_attributes(); // once initially because after_update is added too late for first render\n\n\t\t\t\tfor (const type in this.$$l) {\n\t\t\t\t\tfor (const listener of this.$$l[type]) {\n\t\t\t\t\t\tconst unsub = this.$$c.$on(type, listener);\n\t\t\t\t\t\tthis.$$l_u.set(listener, unsub);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$$l = {};\n\t\t\t}\n\t\t}\n\n\t\t// We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte\n\t\t// and setting attributes through setAttribute etc, this is helpful\n\t\tattributeChangedCallback(attr, _oldValue, newValue) {\n\t\t\tif (this.$$r) return;\n\t\t\tattr = this.$$g_p(attr);\n\t\t\tthis.$$d[attr] = get_custom_element_value(attr, newValue, this.$$p_d, 'toProp');\n\t\t\tthis.$$c?.$set({ [attr]: this.$$d[attr] });\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.$$cn = false;\n\t\t\t// In a microtask, because this could be a move within the DOM\n\t\t\tPromise.resolve().then(() => {\n\t\t\t\tif (!this.$$cn && this.$$c) {\n\t\t\t\t\tthis.$$c.$destroy();\n\t\t\t\t\tthis.$$c = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t$$g_p(attribute_name) {\n\t\t\treturn (\n\t\t\t\tObject.keys(this.$$p_d).find(\n\t\t\t\t\t(key) =>\n\t\t\t\t\t\tthis.$$p_d[key].attribute === attribute_name ||\n\t\t\t\t\t\t(!this.$$p_d[key].attribute && key.toLowerCase() === attribute_name)\n\t\t\t\t) || attribute_name\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * @param {string} prop\n * @param {any} value\n * @param {Record} props_definition\n * @param {'toAttribute' | 'toProp'} [transform]\n */\nfunction get_custom_element_value(prop, value, props_definition, transform) {\n\tconst type = props_definition[prop]?.type;\n\tvalue = type === 'Boolean' && typeof value !== 'boolean' ? value != null : value;\n\tif (!transform || !props_definition[prop]) {\n\t\treturn value;\n\t} else if (transform === 'toAttribute') {\n\t\tswitch (type) {\n\t\t\tcase 'Object':\n\t\t\tcase 'Array':\n\t\t\t\treturn value == null ? null : JSON.stringify(value);\n\t\t\tcase 'Boolean':\n\t\t\t\treturn value ? '' : null;\n\t\t\tcase 'Number':\n\t\t\t\treturn value == null ? null : value;\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t} else {\n\t\tswitch (type) {\n\t\t\tcase 'Object':\n\t\t\tcase 'Array':\n\t\t\t\treturn value && JSON.parse(value);\n\t\t\tcase 'Boolean':\n\t\t\t\treturn value; // conversion already handled above\n\t\t\tcase 'Number':\n\t\t\t\treturn value != null ? +value : value;\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t}\n}\n\n/**\n * @internal\n *\n * Turn a Svelte component into a custom element.\n * @param {import('./public.js').ComponentType} Component A Svelte component constructor\n * @param {Record} props_definition The props to observe\n * @param {string[]} slots The slots to create\n * @param {string[]} accessors Other accessors besides the ones for props the component has\n * @param {boolean} use_shadow_dom Whether to use shadow DOM\n * @param {(ce: new () => HTMLElement) => new () => HTMLElement} [extend]\n */\nexport function create_custom_element(\n\tComponent,\n\tprops_definition,\n\tslots,\n\taccessors,\n\tuse_shadow_dom,\n\textend\n) {\n\tlet Class = class extends SvelteElement {\n\t\tconstructor() {\n\t\t\tsuper(Component, slots, use_shadow_dom);\n\t\t\tthis.$$p_d = props_definition;\n\t\t}\n\t\tstatic get observedAttributes() {\n\t\t\treturn Object.keys(props_definition).map((key) =>\n\t\t\t\t(props_definition[key].attribute || key).toLowerCase()\n\t\t\t);\n\t\t}\n\t};\n\tObject.keys(props_definition).forEach((prop) => {\n\t\tObject.defineProperty(Class.prototype, prop, {\n\t\t\tget() {\n\t\t\t\treturn this.$$c && prop in this.$$c ? this.$$c[prop] : this.$$d[prop];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tvalue = get_custom_element_value(prop, value, props_definition);\n\t\t\t\tthis.$$d[prop] = value;\n\t\t\t\tthis.$$c?.$set({ [prop]: value });\n\t\t\t}\n\t\t});\n\t});\n\taccessors.forEach((accessor) => {\n\t\tObject.defineProperty(Class.prototype, accessor, {\n\t\t\tget() {\n\t\t\t\treturn this.$$c?.[accessor];\n\t\t\t}\n\t\t});\n\t});\n\tif (extend) {\n\t\t// @ts-expect-error - assigning here is fine\n\t\tClass = extend(Class);\n\t}\n\tComponent.element = /** @type {any} */ (Class);\n\treturn Class;\n}\n\n/**\n * Base class for Svelte components. Used when dev=false.\n *\n * @template {Record} [Props=any]\n * @template {Record} [Events=any]\n */\nexport class SvelteComponent {\n\t/**\n\t * ### PRIVATE API\n\t *\n\t * Do not use, may change at any time\n\t *\n\t * @type {any}\n\t */\n\t$$ = undefined;\n\t/**\n\t * ### PRIVATE API\n\t *\n\t * Do not use, may change at any time\n\t *\n\t * @type {any}\n\t */\n\t$$set = undefined;\n\n\t/** @returns {void} */\n\t$destroy() {\n\t\tdestroy_component(this, 1);\n\t\tthis.$destroy = noop;\n\t}\n\n\t/**\n\t * @template {Extract} K\n\t * @param {K} type\n\t * @param {((e: Events[K]) => void) | null | undefined} callback\n\t * @returns {() => void}\n\t */\n\t$on(type, callback) {\n\t\tif (!is_function(callback)) {\n\t\t\treturn noop;\n\t\t}\n\t\tconst callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n\t\tcallbacks.push(callback);\n\t\treturn () => {\n\t\t\tconst index = callbacks.indexOf(callback);\n\t\t\tif (index !== -1) callbacks.splice(index, 1);\n\t\t};\n\t}\n\n\t/**\n\t * @param {Partial} props\n\t * @returns {void}\n\t */\n\t$set(props) {\n\t\tif (this.$$set && !is_empty(props)) {\n\t\t\tthis.$$.skip_bound = true;\n\t\t\tthis.$$set(props);\n\t\t\tthis.$$.skip_bound = false;\n\t\t}\n\t}\n}\n\n/**\n * @typedef {Object} CustomElementPropDefinition\n * @property {string} [attribute]\n * @property {boolean} [reflect]\n * @property {'String'|'Boolean'|'Number'|'Array'|'Object'} [type]\n */\n", "import {\n\tcustom_event,\n\tappend,\n\tappend_hydration,\n\tinsert,\n\tinsert_hydration,\n\tdetach,\n\tlisten,\n\tattr\n} from './dom.js';\nimport { SvelteComponent } from './Component.js';\nimport { is_void } from '../../shared/utils/names.js';\nimport { VERSION } from '../../shared/version.js';\nimport { contenteditable_truthy_values } from './utils.js';\nimport { ensure_array_like } from './each.js';\n\n/**\n * @template T\n * @param {string} type\n * @param {T} [detail]\n * @returns {void}\n */\nexport function dispatch_dev(type, detail) {\n\tdocument.dispatchEvent(custom_event(type, { version: VERSION, ...detail }, { bubbles: true }));\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @returns {void}\n */\nexport function append_dev(target, node) {\n\tdispatch_dev('SvelteDOMInsert', { target, node });\n\tappend(target, node);\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @returns {void}\n */\nexport function append_hydration_dev(target, node) {\n\tdispatch_dev('SvelteDOMInsert', { target, node });\n\tappend_hydration(target, node);\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @param {Node} [anchor]\n * @returns {void}\n */\nexport function insert_dev(target, node, anchor) {\n\tdispatch_dev('SvelteDOMInsert', { target, node, anchor });\n\tinsert(target, node, anchor);\n}\n\n/** @param {Node} target\n * @param {Node} node\n * @param {Node} [anchor]\n * @returns {void}\n */\nexport function insert_hydration_dev(target, node, anchor) {\n\tdispatch_dev('SvelteDOMInsert', { target, node, anchor });\n\tinsert_hydration(target, node, anchor);\n}\n\n/**\n * @param {Node} node\n * @returns {void}\n */\nexport function detach_dev(node) {\n\tdispatch_dev('SvelteDOMRemove', { node });\n\tdetach(node);\n}\n\n/**\n * @param {Node} before\n * @param {Node} after\n * @returns {void}\n */\nexport function detach_between_dev(before, after) {\n\twhile (before.nextSibling && before.nextSibling !== after) {\n\t\tdetach_dev(before.nextSibling);\n\t}\n}\n\n/**\n * @param {Node} after\n * @returns {void}\n */\nexport function detach_before_dev(after) {\n\twhile (after.previousSibling) {\n\t\tdetach_dev(after.previousSibling);\n\t}\n}\n\n/**\n * @param {Node} before\n * @returns {void}\n */\nexport function detach_after_dev(before) {\n\twhile (before.nextSibling) {\n\t\tdetach_dev(before.nextSibling);\n\t}\n}\n\n/**\n * @param {Node} node\n * @param {string} event\n * @param {EventListenerOrEventListenerObject} handler\n * @param {boolean | AddEventListenerOptions | EventListenerOptions} [options]\n * @param {boolean} [has_prevent_default]\n * @param {boolean} [has_stop_propagation]\n * @param {boolean} [has_stop_immediate_propagation]\n * @returns {() => void}\n */\nexport function listen_dev(\n\tnode,\n\tevent,\n\thandler,\n\toptions,\n\thas_prevent_default,\n\thas_stop_propagation,\n\thas_stop_immediate_propagation\n) {\n\tconst modifiers =\n\t\toptions === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n\tif (has_prevent_default) modifiers.push('preventDefault');\n\tif (has_stop_propagation) modifiers.push('stopPropagation');\n\tif (has_stop_immediate_propagation) modifiers.push('stopImmediatePropagation');\n\tdispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n\tconst dispose = listen(node, event, handler, options);\n\treturn () => {\n\t\tdispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n\t\tdispose();\n\t};\n}\n\n/**\n * @param {Element} node\n * @param {string} attribute\n * @param {string} [value]\n * @returns {void}\n */\nexport function attr_dev(node, attribute, value) {\n\tattr(node, attribute, value);\n\tif (value == null) dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n\telse dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\n\n/**\n * @param {Element} node\n * @param {string} property\n * @param {any} [value]\n * @returns {void}\n */\nexport function prop_dev(node, property, value) {\n\tnode[property] = value;\n\tdispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\n\n/**\n * @param {HTMLElement} node\n * @param {string} property\n * @param {any} [value]\n * @returns {void}\n */\nexport function dataset_dev(node, property, value) {\n\tnode.dataset[property] = value;\n\tdispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @returns {void}\n */\nexport function set_data_dev(text, data) {\n\tdata = '' + data;\n\tif (text.data === data) return;\n\tdispatch_dev('SvelteDOMSetData', { node: text, data });\n\ttext.data = /** @type {string} */ (data);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @returns {void}\n */\nexport function set_data_contenteditable_dev(text, data) {\n\tdata = '' + data;\n\tif (text.wholeText === data) return;\n\tdispatch_dev('SvelteDOMSetData', { node: text, data });\n\ttext.data = /** @type {string} */ (data);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @param {string} attr_value\n * @returns {void}\n */\nexport function set_data_maybe_contenteditable_dev(text, data, attr_value) {\n\tif (~contenteditable_truthy_values.indexOf(attr_value)) {\n\t\tset_data_contenteditable_dev(text, data);\n\t} else {\n\t\tset_data_dev(text, data);\n\t}\n}\n\nexport function ensure_array_like_dev(arg) {\n\tif (\n\t\ttypeof arg !== 'string' &&\n\t\t!(arg && typeof arg === 'object' && 'length' in arg) &&\n\t\t!(typeof Symbol === 'function' && arg && Symbol.iterator in arg)\n\t) {\n\t\tthrow new Error('{#each} only works with iterable values.');\n\t}\n\treturn ensure_array_like(arg);\n}\n\n/**\n * @returns {void} */\nexport function validate_slots(name, slot, keys) {\n\tfor (const slot_key of Object.keys(slot)) {\n\t\tif (!~keys.indexOf(slot_key)) {\n\t\t\tconsole.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n\t\t}\n\t}\n}\n\n/**\n * @param {unknown} tag\n * @returns {void}\n */\nexport function validate_dynamic_element(tag) {\n\tconst is_string = typeof tag === 'string';\n\tif (tag && !is_string) {\n\t\tthrow new Error(' expects \"this\" attribute to be a string.');\n\t}\n}\n\n/**\n * @param {undefined | string} tag\n * @returns {void}\n */\nexport function validate_void_dynamic_element(tag) {\n\tif (tag && is_void(tag)) {\n\t\tconsole.warn(` is self-closing and cannot have content.`);\n\t}\n}\n\nexport function construct_svelte_component_dev(component, props) {\n\tconst error_message = 'this={...} of should specify a Svelte component.';\n\ttry {\n\t\tconst instance = new component(props);\n\t\tif (!instance.$$ || !instance.$set || !instance.$on || !instance.$destroy) {\n\t\t\tthrow new Error(error_message);\n\t\t}\n\t\treturn instance;\n\t} catch (err) {\n\t\tconst { message } = err;\n\t\tif (typeof message === 'string' && message.indexOf('is not a constructor') !== -1) {\n\t\t\tthrow new Error(error_message);\n\t\t} else {\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n *\n * Can be used to create strongly typed Svelte components.\n *\n * #### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponent } from \"svelte\";\n * export class MyComponent extends SvelteComponent<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * \n * \n * ```\n * @template {Record} [Props=any]\n * @template {Record} [Events=any]\n * @template {Record} [Slots=any]\n * @extends {SvelteComponent}\n */\nexport class SvelteComponentDev extends SvelteComponent {\n\t/**\n\t * For type checking capabilities only.\n\t * Does not exist at runtime.\n\t * ### DO NOT USE!\n\t *\n\t * @type {Props}\n\t */\n\t$$prop_def;\n\t/**\n\t * For type checking capabilities only.\n\t * Does not exist at runtime.\n\t * ### DO NOT USE!\n\t *\n\t * @type {Events}\n\t */\n\t$$events_def;\n\t/**\n\t * For type checking capabilities only.\n\t * Does not exist at runtime.\n\t * ### DO NOT USE!\n\t *\n\t * @type {Slots}\n\t */\n\t$$slot_def;\n\n\t/** @param {import('./public.js').ComponentConstructorOptions} options */\n\tconstructor(options) {\n\t\tif (!options || (!options.target && !options.$$inline)) {\n\t\t\tthrow new Error(\"'target' is a required option\");\n\t\t}\n\t\tsuper();\n\t}\n\n\t/** @returns {void} */\n\t$destroy() {\n\t\tsuper.$destroy();\n\t\tthis.$destroy = () => {\n\t\t\tconsole.warn('Component was already destroyed'); // eslint-disable-line no-console\n\t\t};\n\t}\n\n\t/** @returns {void} */\n\t$capture_state() {}\n\n\t/** @returns {void} */\n\t$inject_state() {}\n}\n/**\n * @template {Record} [Props=any]\n * @template {Record} [Events=any]\n * @template {Record} [Slots=any]\n * @deprecated Use `SvelteComponent` instead. See PR for more information: https://github.com/sveltejs/svelte/pull/8512\n * @extends {SvelteComponentDev}\n */\nexport class SvelteComponentTyped extends SvelteComponentDev {}\n\n/** @returns {() => void} */\nexport function loop_guard(timeout) {\n\tconst start = Date.now();\n\treturn () => {\n\t\tif (Date.now() - start > timeout) {\n\t\t\tthrow new Error('Infinite loop detected');\n\t\t}\n\t};\n}\n"],
- "mappings": "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",
- "names": ["element", "now", "element", "children", "group", "element", "text", "crossorigin", "element", "comment", "hash", "tick", "now", "detach", "tick", "now", "init", "promise", "update", "block", "current_component", "insert", "update", "escaped", "not_equal", "append_styles", "create_slot", "attr", "text"]
-}
diff --git a/node_modules/.vite/deps/devalue.js b/node_modules/.vite/deps/devalue.js
deleted file mode 100644
index b3df774..0000000
--- a/node_modules/.vite/deps/devalue.js
+++ /dev/null
@@ -1,698 +0,0 @@
-import "./chunk-KZF2VKC5.js";
-
-// node_modules/devalue/src/utils.js
-var escaped = {
- "<": "\\u003C",
- "\\": "\\\\",
- "\b": "\\b",
- "\f": "\\f",
- "\n": "\\n",
- "\r": "\\r",
- " ": "\\t",
- "\u2028": "\\u2028",
- "\u2029": "\\u2029"
-};
-var DevalueError = class extends Error {
- /**
- * @param {string} message
- * @param {string[]} keys
- */
- constructor(message, keys) {
- super(message);
- this.name = "DevalueError";
- this.path = keys.join("");
- }
-};
-function is_primitive(thing) {
- return Object(thing) !== thing;
-}
-var object_proto_names = Object.getOwnPropertyNames(
- Object.prototype
-).sort().join("\0");
-function is_plain_object(thing) {
- const proto = Object.getPrototypeOf(thing);
- return proto === Object.prototype || proto === null || Object.getOwnPropertyNames(proto).sort().join("\0") === object_proto_names;
-}
-function get_type(thing) {
- return Object.prototype.toString.call(thing).slice(8, -1);
-}
-function get_escaped_char(char) {
- switch (char) {
- case '"':
- return '\\"';
- case "<":
- return "\\u003C";
- case "\\":
- return "\\\\";
- case "\n":
- return "\\n";
- case "\r":
- return "\\r";
- case " ":
- return "\\t";
- case "\b":
- return "\\b";
- case "\f":
- return "\\f";
- case "\u2028":
- return "\\u2028";
- case "\u2029":
- return "\\u2029";
- default:
- return char < " " ? `\\u${char.charCodeAt(0).toString(16).padStart(4, "0")}` : "";
- }
-}
-function stringify_string(str) {
- let result = "";
- let last_pos = 0;
- const len = str.length;
- for (let i = 0; i < len; i += 1) {
- const char = str[i];
- const replacement = get_escaped_char(char);
- if (replacement) {
- result += str.slice(last_pos, i) + replacement;
- last_pos = i + 1;
- }
- }
- return `"${last_pos === 0 ? str : result + str.slice(last_pos)}"`;
-}
-function enumerable_symbols(object) {
- return Object.getOwnPropertySymbols(object).filter(
- (symbol) => Object.getOwnPropertyDescriptor(object, symbol).enumerable
- );
-}
-var is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;
-function stringify_key(key) {
- return is_identifier.test(key) ? "." + key : "[" + JSON.stringify(key) + "]";
-}
-
-// node_modules/devalue/src/uneval.js
-var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$";
-var unsafe_chars = /[<\b\f\n\r\t\0\u2028\u2029]/g;
-var reserved = /^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;
-function uneval(value, replacer) {
- const counts = /* @__PURE__ */ new Map();
- const keys = [];
- const custom = /* @__PURE__ */ new Map();
- function walk(thing) {
- if (typeof thing === "function") {
- throw new DevalueError(`Cannot stringify a function`, keys);
- }
- if (!is_primitive(thing)) {
- if (counts.has(thing)) {
- counts.set(thing, counts.get(thing) + 1);
- return;
- }
- counts.set(thing, 1);
- if (replacer) {
- const str2 = replacer(thing);
- if (typeof str2 === "string") {
- custom.set(thing, str2);
- return;
- }
- }
- const type = get_type(thing);
- switch (type) {
- case "Number":
- case "BigInt":
- case "String":
- case "Boolean":
- case "Date":
- case "RegExp":
- return;
- case "Array":
- thing.forEach((value2, i) => {
- keys.push(`[${i}]`);
- walk(value2);
- keys.pop();
- });
- break;
- case "Set":
- Array.from(thing).forEach(walk);
- break;
- case "Map":
- for (const [key, value2] of thing) {
- keys.push(
- `.get(${is_primitive(key) ? stringify_primitive(key) : "..."})`
- );
- walk(value2);
- keys.pop();
- }
- break;
- case "Int8Array":
- case "Uint8Array":
- case "Uint8ClampedArray":
- case "Int16Array":
- case "Uint16Array":
- case "Int32Array":
- case "Uint32Array":
- case "Float32Array":
- case "Float64Array":
- case "BigInt64Array":
- case "BigUint64Array":
- return;
- case "ArrayBuffer":
- return;
- default:
- if (!is_plain_object(thing)) {
- throw new DevalueError(
- `Cannot stringify arbitrary non-POJOs`,
- keys
- );
- }
- if (enumerable_symbols(thing).length > 0) {
- throw new DevalueError(
- `Cannot stringify POJOs with symbolic keys`,
- keys
- );
- }
- for (const key in thing) {
- keys.push(stringify_key(key));
- walk(thing[key]);
- keys.pop();
- }
- }
- }
- }
- walk(value);
- const names = /* @__PURE__ */ new Map();
- Array.from(counts).filter((entry) => entry[1] > 1).sort((a, b) => b[1] - a[1]).forEach((entry, i) => {
- names.set(entry[0], get_name(i));
- });
- function stringify2(thing) {
- if (names.has(thing)) {
- return names.get(thing);
- }
- if (is_primitive(thing)) {
- return stringify_primitive(thing);
- }
- if (custom.has(thing)) {
- return custom.get(thing);
- }
- const type = get_type(thing);
- switch (type) {
- case "Number":
- case "String":
- case "Boolean":
- return `Object(${stringify2(thing.valueOf())})`;
- case "RegExp":
- return `new RegExp(${stringify_string(thing.source)}, "${thing.flags}")`;
- case "Date":
- return `new Date(${thing.getTime()})`;
- case "Array":
- const members = (
- /** @type {any[]} */
- thing.map(
- (v, i) => i in thing ? stringify2(v) : ""
- )
- );
- const tail = thing.length === 0 || thing.length - 1 in thing ? "" : ",";
- return `[${members.join(",")}${tail}]`;
- case "Set":
- case "Map":
- return `new ${type}([${Array.from(thing).map(stringify2).join(",")}])`;
- case "Int8Array":
- case "Uint8Array":
- case "Uint8ClampedArray":
- case "Int16Array":
- case "Uint16Array":
- case "Int32Array":
- case "Uint32Array":
- case "Float32Array":
- case "Float64Array":
- case "BigInt64Array":
- case "BigUint64Array": {
- const typedArray = thing;
- return `new ${type}([${typedArray.toString()}])`;
- }
- case "ArrayBuffer": {
- const ui8 = new Uint8Array(thing);
- return `new Uint8Array([${ui8.toString()}]).buffer`;
- }
- default:
- const obj = `{${Object.keys(thing).map((key) => `${safe_key(key)}:${stringify2(thing[key])}`).join(",")}}`;
- const proto = Object.getPrototypeOf(thing);
- if (proto === null) {
- return Object.keys(thing).length > 0 ? `Object.assign(Object.create(null),${obj})` : `Object.create(null)`;
- }
- return obj;
- }
- }
- const str = stringify2(value);
- if (names.size) {
- const params = [];
- const statements = [];
- const values = [];
- names.forEach((name, thing) => {
- params.push(name);
- if (custom.has(thing)) {
- values.push(
- /** @type {string} */
- custom.get(thing)
- );
- return;
- }
- if (is_primitive(thing)) {
- values.push(stringify_primitive(thing));
- return;
- }
- const type = get_type(thing);
- switch (type) {
- case "Number":
- case "String":
- case "Boolean":
- values.push(`Object(${stringify2(thing.valueOf())})`);
- break;
- case "RegExp":
- values.push(thing.toString());
- break;
- case "Date":
- values.push(`new Date(${thing.getTime()})`);
- break;
- case "Array":
- values.push(`Array(${thing.length})`);
- thing.forEach((v, i) => {
- statements.push(`${name}[${i}]=${stringify2(v)}`);
- });
- break;
- case "Set":
- values.push(`new Set`);
- statements.push(
- `${name}.${Array.from(thing).map((v) => `add(${stringify2(v)})`).join(".")}`
- );
- break;
- case "Map":
- values.push(`new Map`);
- statements.push(
- `${name}.${Array.from(thing).map(([k, v]) => `set(${stringify2(k)}, ${stringify2(v)})`).join(".")}`
- );
- break;
- default:
- values.push(
- Object.getPrototypeOf(thing) === null ? "Object.create(null)" : "{}"
- );
- Object.keys(thing).forEach((key) => {
- statements.push(
- `${name}${safe_prop(key)}=${stringify2(thing[key])}`
- );
- });
- }
- });
- statements.push(`return ${str}`);
- return `(function(${params.join(",")}){${statements.join(
- ";"
- )}}(${values.join(",")}))`;
- } else {
- return str;
- }
-}
-function get_name(num) {
- let name = "";
- do {
- name = chars[num % chars.length] + name;
- num = ~~(num / chars.length) - 1;
- } while (num >= 0);
- return reserved.test(name) ? `${name}0` : name;
-}
-function escape_unsafe_char(c) {
- return escaped[c] || c;
-}
-function escape_unsafe_chars(str) {
- return str.replace(unsafe_chars, escape_unsafe_char);
-}
-function safe_key(key) {
- return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) ? key : escape_unsafe_chars(JSON.stringify(key));
-}
-function safe_prop(key) {
- return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) ? `.${key}` : `[${escape_unsafe_chars(JSON.stringify(key))}]`;
-}
-function stringify_primitive(thing) {
- if (typeof thing === "string") return stringify_string(thing);
- if (thing === void 0) return "void 0";
- if (thing === 0 && 1 / thing < 0) return "-0";
- const str = String(thing);
- if (typeof thing === "number") return str.replace(/^(-)?0\./, "$1.");
- if (typeof thing === "bigint") return thing + "n";
- return str;
-}
-
-// node_modules/devalue/src/base64.js
-function encode64(arraybuffer) {
- const dv = new DataView(arraybuffer);
- let binaryString = "";
- for (let i = 0; i < arraybuffer.byteLength; i++) {
- binaryString += String.fromCharCode(dv.getUint8(i));
- }
- return binaryToAscii(binaryString);
-}
-function decode64(string) {
- const binaryString = asciiToBinary(string);
- const arraybuffer = new ArrayBuffer(binaryString.length);
- const dv = new DataView(arraybuffer);
- for (let i = 0; i < arraybuffer.byteLength; i++) {
- dv.setUint8(i, binaryString.charCodeAt(i));
- }
- return arraybuffer;
-}
-var KEY_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-function asciiToBinary(data) {
- if (data.length % 4 === 0) {
- data = data.replace(/==?$/, "");
- }
- let output = "";
- let buffer = 0;
- let accumulatedBits = 0;
- for (let i = 0; i < data.length; i++) {
- buffer <<= 6;
- buffer |= KEY_STRING.indexOf(data[i]);
- accumulatedBits += 6;
- if (accumulatedBits === 24) {
- output += String.fromCharCode((buffer & 16711680) >> 16);
- output += String.fromCharCode((buffer & 65280) >> 8);
- output += String.fromCharCode(buffer & 255);
- buffer = accumulatedBits = 0;
- }
- }
- if (accumulatedBits === 12) {
- buffer >>= 4;
- output += String.fromCharCode(buffer);
- } else if (accumulatedBits === 18) {
- buffer >>= 2;
- output += String.fromCharCode((buffer & 65280) >> 8);
- output += String.fromCharCode(buffer & 255);
- }
- return output;
-}
-function binaryToAscii(str) {
- let out = "";
- for (let i = 0; i < str.length; i += 3) {
- const groupsOfSix = [void 0, void 0, void 0, void 0];
- groupsOfSix[0] = str.charCodeAt(i) >> 2;
- groupsOfSix[1] = (str.charCodeAt(i) & 3) << 4;
- if (str.length > i + 1) {
- groupsOfSix[1] |= str.charCodeAt(i + 1) >> 4;
- groupsOfSix[2] = (str.charCodeAt(i + 1) & 15) << 2;
- }
- if (str.length > i + 2) {
- groupsOfSix[2] |= str.charCodeAt(i + 2) >> 6;
- groupsOfSix[3] = str.charCodeAt(i + 2) & 63;
- }
- for (let j = 0; j < groupsOfSix.length; j++) {
- if (typeof groupsOfSix[j] === "undefined") {
- out += "=";
- } else {
- out += KEY_STRING[groupsOfSix[j]];
- }
- }
- }
- return out;
-}
-
-// node_modules/devalue/src/constants.js
-var UNDEFINED = -1;
-var HOLE = -2;
-var NAN = -3;
-var POSITIVE_INFINITY = -4;
-var NEGATIVE_INFINITY = -5;
-var NEGATIVE_ZERO = -6;
-
-// node_modules/devalue/src/parse.js
-function parse(serialized, revivers) {
- return unflatten(JSON.parse(serialized), revivers);
-}
-function unflatten(parsed, revivers) {
- if (typeof parsed === "number") return hydrate(parsed, true);
- if (!Array.isArray(parsed) || parsed.length === 0) {
- throw new Error("Invalid input");
- }
- const values = (
- /** @type {any[]} */
- parsed
- );
- const hydrated = Array(values.length);
- function hydrate(index, standalone = false) {
- if (index === UNDEFINED) return void 0;
- if (index === NAN) return NaN;
- if (index === POSITIVE_INFINITY) return Infinity;
- if (index === NEGATIVE_INFINITY) return -Infinity;
- if (index === NEGATIVE_ZERO) return -0;
- if (standalone) throw new Error(`Invalid input`);
- if (index in hydrated) return hydrated[index];
- const value = values[index];
- if (!value || typeof value !== "object") {
- hydrated[index] = value;
- } else if (Array.isArray(value)) {
- if (typeof value[0] === "string") {
- const type = value[0];
- const reviver = revivers == null ? void 0 : revivers[type];
- if (reviver) {
- return hydrated[index] = reviver(hydrate(value[1]));
- }
- switch (type) {
- case "Date":
- hydrated[index] = new Date(value[1]);
- break;
- case "Set":
- const set = /* @__PURE__ */ new Set();
- hydrated[index] = set;
- for (let i = 1; i < value.length; i += 1) {
- set.add(hydrate(value[i]));
- }
- break;
- case "Map":
- const map = /* @__PURE__ */ new Map();
- hydrated[index] = map;
- for (let i = 1; i < value.length; i += 2) {
- map.set(hydrate(value[i]), hydrate(value[i + 1]));
- }
- break;
- case "RegExp":
- hydrated[index] = new RegExp(value[1], value[2]);
- break;
- case "Object":
- hydrated[index] = Object(value[1]);
- break;
- case "BigInt":
- hydrated[index] = BigInt(value[1]);
- break;
- case "null":
- const obj = /* @__PURE__ */ Object.create(null);
- hydrated[index] = obj;
- for (let i = 1; i < value.length; i += 2) {
- obj[value[i]] = hydrate(value[i + 1]);
- }
- break;
- case "Int8Array":
- case "Uint8Array":
- case "Uint8ClampedArray":
- case "Int16Array":
- case "Uint16Array":
- case "Int32Array":
- case "Uint32Array":
- case "Float32Array":
- case "Float64Array":
- case "BigInt64Array":
- case "BigUint64Array": {
- const TypedArrayConstructor = globalThis[type];
- const base64 = value[1];
- const arraybuffer = decode64(base64);
- const typedArray = new TypedArrayConstructor(arraybuffer);
- hydrated[index] = typedArray;
- break;
- }
- case "ArrayBuffer": {
- const base64 = value[1];
- const arraybuffer = decode64(base64);
- hydrated[index] = arraybuffer;
- break;
- }
- default:
- throw new Error(`Unknown type ${type}`);
- }
- } else {
- const array = new Array(value.length);
- hydrated[index] = array;
- for (let i = 0; i < value.length; i += 1) {
- const n = value[i];
- if (n === HOLE) continue;
- array[i] = hydrate(n);
- }
- }
- } else {
- const object = {};
- hydrated[index] = object;
- for (const key in value) {
- const n = value[key];
- object[key] = hydrate(n);
- }
- }
- return hydrated[index];
- }
- return hydrate(0);
-}
-
-// node_modules/devalue/src/stringify.js
-function stringify(value, reducers) {
- const stringified = [];
- const indexes = /* @__PURE__ */ new Map();
- const custom = [];
- if (reducers) {
- for (const key of Object.getOwnPropertyNames(reducers)) {
- custom.push({ key, fn: reducers[key] });
- }
- }
- const keys = [];
- let p = 0;
- function flatten(thing) {
- if (typeof thing === "function") {
- throw new DevalueError(`Cannot stringify a function`, keys);
- }
- if (indexes.has(thing)) return indexes.get(thing);
- if (thing === void 0) return UNDEFINED;
- if (Number.isNaN(thing)) return NAN;
- if (thing === Infinity) return POSITIVE_INFINITY;
- if (thing === -Infinity) return NEGATIVE_INFINITY;
- if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO;
- const index2 = p++;
- indexes.set(thing, index2);
- for (const { key, fn } of custom) {
- const value2 = fn(thing);
- if (value2) {
- stringified[index2] = `["${key}",${flatten(value2)}]`;
- return index2;
- }
- }
- let str = "";
- if (is_primitive(thing)) {
- str = stringify_primitive2(thing);
- } else {
- const type = get_type(thing);
- switch (type) {
- case "Number":
- case "String":
- case "Boolean":
- str = `["Object",${stringify_primitive2(thing)}]`;
- break;
- case "BigInt":
- str = `["BigInt",${thing}]`;
- break;
- case "Date":
- const valid = !isNaN(thing.getDate());
- str = `["Date","${valid ? thing.toISOString() : ""}"]`;
- break;
- case "RegExp":
- const { source, flags } = thing;
- str = flags ? `["RegExp",${stringify_string(source)},"${flags}"]` : `["RegExp",${stringify_string(source)}]`;
- break;
- case "Array":
- str = "[";
- for (let i = 0; i < thing.length; i += 1) {
- if (i > 0) str += ",";
- if (i in thing) {
- keys.push(`[${i}]`);
- str += flatten(thing[i]);
- keys.pop();
- } else {
- str += HOLE;
- }
- }
- str += "]";
- break;
- case "Set":
- str = '["Set"';
- for (const value2 of thing) {
- str += `,${flatten(value2)}`;
- }
- str += "]";
- break;
- case "Map":
- str = '["Map"';
- for (const [key, value2] of thing) {
- keys.push(
- `.get(${is_primitive(key) ? stringify_primitive2(key) : "..."})`
- );
- str += `,${flatten(key)},${flatten(value2)}`;
- keys.pop();
- }
- str += "]";
- break;
- case "Int8Array":
- case "Uint8Array":
- case "Uint8ClampedArray":
- case "Int16Array":
- case "Uint16Array":
- case "Int32Array":
- case "Uint32Array":
- case "Float32Array":
- case "Float64Array":
- case "BigInt64Array":
- case "BigUint64Array": {
- const typedArray = thing;
- const base64 = encode64(typedArray.buffer);
- str = '["' + type + '","' + base64 + '"]';
- break;
- }
- case "ArrayBuffer": {
- const arraybuffer = thing;
- const base64 = encode64(arraybuffer);
- str = `["ArrayBuffer","${base64}"]`;
- break;
- }
- default:
- if (!is_plain_object(thing)) {
- throw new DevalueError(
- `Cannot stringify arbitrary non-POJOs`,
- keys
- );
- }
- if (enumerable_symbols(thing).length > 0) {
- throw new DevalueError(
- `Cannot stringify POJOs with symbolic keys`,
- keys
- );
- }
- if (Object.getPrototypeOf(thing) === null) {
- str = '["null"';
- for (const key in thing) {
- keys.push(stringify_key(key));
- str += `,${stringify_string(key)},${flatten(thing[key])}`;
- keys.pop();
- }
- str += "]";
- } else {
- str = "{";
- let started = false;
- for (const key in thing) {
- if (started) str += ",";
- started = true;
- keys.push(stringify_key(key));
- str += `${stringify_string(key)}:${flatten(thing[key])}`;
- keys.pop();
- }
- str += "}";
- }
- }
- }
- stringified[index2] = str;
- return index2;
- }
- const index = flatten(value);
- if (index < 0) return `${index}`;
- return `[${stringified.join(",")}]`;
-}
-function stringify_primitive2(thing) {
- const type = typeof thing;
- if (type === "string") return stringify_string(thing);
- if (thing instanceof String) return stringify_string(thing.toString());
- if (thing === void 0) return UNDEFINED.toString();
- if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString();
- if (type === "bigint") return `["BigInt","${thing}"]`;
- return String(thing);
-}
-export {
- parse,
- stringify,
- uneval,
- unflatten
-};
-//# sourceMappingURL=devalue.js.map
diff --git a/node_modules/.vite/deps/devalue.js.map b/node_modules/.vite/deps/devalue.js.map
deleted file mode 100644
index a0293f0..0000000
--- a/node_modules/.vite/deps/devalue.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../devalue/src/utils.js", "../../devalue/src/uneval.js", "../../devalue/src/base64.js", "../../devalue/src/constants.js", "../../devalue/src/parse.js", "../../devalue/src/stringify.js"],
- "sourcesContent": ["/** @type {Record} */\nexport const escaped = {\n\t'<': '\\\\u003C',\n\t'\\\\': '\\\\\\\\',\n\t'\\b': '\\\\b',\n\t'\\f': '\\\\f',\n\t'\\n': '\\\\n',\n\t'\\r': '\\\\r',\n\t'\\t': '\\\\t',\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029'\n};\n\nexport class DevalueError extends Error {\n\t/**\n\t * @param {string} message\n\t * @param {string[]} keys\n\t */\n\tconstructor(message, keys) {\n\t\tsuper(message);\n\t\tthis.name = 'DevalueError';\n\t\tthis.path = keys.join('');\n\t}\n}\n\n/** @param {any} thing */\nexport function is_primitive(thing) {\n\treturn Object(thing) !== thing;\n}\n\nconst object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(\n\tObject.prototype\n)\n\t.sort()\n\t.join('\\0');\n\n/** @param {any} thing */\nexport function is_plain_object(thing) {\n\tconst proto = Object.getPrototypeOf(thing);\n\n\treturn (\n\t\tproto === Object.prototype ||\n\t\tproto === null ||\n\t\tObject.getOwnPropertyNames(proto).sort().join('\\0') === object_proto_names\n\t);\n}\n\n/** @param {any} thing */\nexport function get_type(thing) {\n\treturn Object.prototype.toString.call(thing).slice(8, -1);\n}\n\n/** @param {string} char */\nfunction get_escaped_char(char) {\n\tswitch (char) {\n\t\tcase '\"':\n\t\t\treturn '\\\\\"';\n\t\tcase '<':\n\t\t\treturn '\\\\u003C';\n\t\tcase '\\\\':\n\t\t\treturn '\\\\\\\\';\n\t\tcase '\\n':\n\t\t\treturn '\\\\n';\n\t\tcase '\\r':\n\t\t\treturn '\\\\r';\n\t\tcase '\\t':\n\t\t\treturn '\\\\t';\n\t\tcase '\\b':\n\t\t\treturn '\\\\b';\n\t\tcase '\\f':\n\t\t\treturn '\\\\f';\n\t\tcase '\\u2028':\n\t\t\treturn '\\\\u2028';\n\t\tcase '\\u2029':\n\t\t\treturn '\\\\u2029';\n\t\tdefault:\n\t\t\treturn char < ' '\n\t\t\t\t? `\\\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}`\n\t\t\t\t: '';\n\t}\n}\n\n/** @param {string} str */\nexport function stringify_string(str) {\n\tlet result = '';\n\tlet last_pos = 0;\n\tconst len = str.length;\n\n\tfor (let i = 0; i < len; i += 1) {\n\t\tconst char = str[i];\n\t\tconst replacement = get_escaped_char(char);\n\t\tif (replacement) {\n\t\t\tresult += str.slice(last_pos, i) + replacement;\n\t\t\tlast_pos = i + 1;\n\t\t}\n\t}\n\n\treturn `\"${last_pos === 0 ? str : result + str.slice(last_pos)}\"`;\n}\n\n/** @param {Record} object */\nexport function enumerable_symbols(object) {\n\treturn Object.getOwnPropertySymbols(object).filter(\n\t\t(symbol) => Object.getOwnPropertyDescriptor(object, symbol).enumerable\n\t);\n}\n\nconst is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/** @param {string} key */\nexport function stringify_key(key) {\n\treturn is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']';\n}\n", "import {\n\tDevalueError,\n\tenumerable_symbols,\n\tescaped,\n\tget_type,\n\tis_plain_object,\n\tis_primitive,\n\tstringify_key,\n\tstringify_string\n} from './utils.js';\n\nconst chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';\nconst unsafe_chars = /[<\\b\\f\\n\\r\\t\\0\\u2028\\u2029]/g;\nconst reserved =\n\t/^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;\n\n/**\n * Turn a value into the JavaScript that creates an equivalent value\n * @param {any} value\n * @param {(value: any) => string | void} [replacer]\n */\nexport function uneval(value, replacer) {\n\tconst counts = new Map();\n\n\t/** @type {string[]} */\n\tconst keys = [];\n\n\tconst custom = new Map();\n\n\t/** @param {any} thing */\n\tfunction walk(thing) {\n\t\tif (typeof thing === 'function') {\n\t\t\tthrow new DevalueError(`Cannot stringify a function`, keys);\n\t\t}\n\n\t\tif (!is_primitive(thing)) {\n\t\t\tif (counts.has(thing)) {\n\t\t\t\tcounts.set(thing, counts.get(thing) + 1);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcounts.set(thing, 1);\n\n\t\t\tif (replacer) {\n\t\t\t\tconst str = replacer(thing);\n\n\t\t\t\tif (typeof str === 'string') {\n\t\t\t\t\tcustom.set(thing, str);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'BigInt':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\tcase 'Date':\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\t/** @type {any[]} */ (thing).forEach((value, i) => {\n\t\t\t\t\t\tkeys.push(`[${i}]`);\n\t\t\t\t\t\twalk(value);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tArray.from(thing).forEach(walk);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tfor (const [key, value] of thing) {\n\t\t\t\t\t\tkeys.push(\n\t\t\t\t\t\t\t`.get(${is_primitive(key) ? stringify_primitive(key) : '...'})`\n\t\t\t\t\t\t);\n\t\t\t\t\t\twalk(value);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t\tcase \"Int8Array\":\n\t\t\t\tcase \"Uint8Array\":\n\t\t\t\tcase \"Uint8ClampedArray\":\n\t\t\t\tcase \"Int16Array\":\n\t\t\t\tcase \"Uint16Array\":\n\t\t\t\tcase \"Int32Array\":\n\t\t\t\tcase \"Uint32Array\":\n\t\t\t\tcase \"Float32Array\":\n\t\t\t\tcase \"Float64Array\":\n\t\t\t\tcase \"BigInt64Array\":\n\t\t\t\tcase \"BigUint64Array\":\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tcase \"ArrayBuffer\":\n\t\t\t\t\treturn;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (!is_plain_object(thing)) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify arbitrary non-POJOs`,\n\t\t\t\t\t\t\tkeys\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (enumerable_symbols(thing).length > 0) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify POJOs with symbolic keys`,\n\t\t\t\t\t\t\tkeys\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const key in thing) {\n\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\twalk(thing[key]);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\twalk(value);\n\n\tconst names = new Map();\n\n\tArray.from(counts)\n\t\t.filter((entry) => entry[1] > 1)\n\t\t.sort((a, b) => b[1] - a[1])\n\t\t.forEach((entry, i) => {\n\t\t\tnames.set(entry[0], get_name(i));\n\t\t});\n\n\t/**\n\t * @param {any} thing\n\t * @returns {string}\n\t */\n\tfunction stringify(thing) {\n\t\tif (names.has(thing)) {\n\t\t\treturn names.get(thing);\n\t\t}\n\n\t\tif (is_primitive(thing)) {\n\t\t\treturn stringify_primitive(thing);\n\t\t}\n\n\t\tif (custom.has(thing)) {\n\t\t\treturn custom.get(thing);\n\t\t}\n\n\t\tconst type = get_type(thing);\n\n\t\tswitch (type) {\n\t\t\tcase 'Number':\n\t\t\tcase 'String':\n\t\t\tcase 'Boolean':\n\t\t\t\treturn `Object(${stringify(thing.valueOf())})`;\n\n\t\t\tcase 'RegExp':\n\t\t\t\treturn `new RegExp(${stringify_string(thing.source)}, \"${\n\t\t\t\t\tthing.flags\n\t\t\t\t}\")`;\n\n\t\t\tcase 'Date':\n\t\t\t\treturn `new Date(${thing.getTime()})`;\n\n\t\t\tcase 'Array':\n\t\t\t\tconst members = /** @type {any[]} */ (thing).map((v, i) =>\n\t\t\t\t\ti in thing ? stringify(v) : ''\n\t\t\t\t);\n\t\t\t\tconst tail = thing.length === 0 || thing.length - 1 in thing ? '' : ',';\n\t\t\t\treturn `[${members.join(',')}${tail}]`;\n\n\t\t\tcase 'Set':\n\t\t\tcase 'Map':\n\t\t\t\treturn `new ${type}([${Array.from(thing).map(stringify).join(',')}])`;\n\t\t\t\n\t\t\tcase \"Int8Array\":\n\t\t\tcase \"Uint8Array\":\n\t\t\tcase \"Uint8ClampedArray\":\n\t\t\tcase \"Int16Array\":\n\t\t\tcase \"Uint16Array\":\n\t\t\tcase \"Int32Array\":\n\t\t\tcase \"Uint32Array\":\n\t\t\tcase \"Float32Array\":\n\t\t\tcase \"Float64Array\":\n\t\t\tcase \"BigInt64Array\":\n\t\t\tcase \"BigUint64Array\": {\n\t\t\t\t/** @type {import(\"./types.js\").TypedArray} */\n\t\t\t\tconst typedArray = thing;\n\t\t\t\treturn `new ${type}([${typedArray.toString()}])`;\n\t\t\t}\n\t\t\t\t\n\t\t\tcase \"ArrayBuffer\": {\n\t\t\t\tconst ui8 = new Uint8Array(thing);\n\t\t\t\treturn `new Uint8Array([${ui8.toString()}]).buffer`;\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tconst obj = `{${Object.keys(thing)\n\t\t\t\t\t.map((key) => `${safe_key(key)}:${stringify(thing[key])}`)\n\t\t\t\t\t.join(',')}}`;\n\t\t\t\tconst proto = Object.getPrototypeOf(thing);\n\t\t\t\tif (proto === null) {\n\t\t\t\t\treturn Object.keys(thing).length > 0\n\t\t\t\t\t\t? `Object.assign(Object.create(null),${obj})`\n\t\t\t\t\t\t: `Object.create(null)`;\n\t\t\t\t}\n\n\t\t\t\treturn obj;\n\t\t}\n\t}\n\n\tconst str = stringify(value);\n\n\tif (names.size) {\n\t\t/** @type {string[]} */\n\t\tconst params = [];\n\n\t\t/** @type {string[]} */\n\t\tconst statements = [];\n\n\t\t/** @type {string[]} */\n\t\tconst values = [];\n\n\t\tnames.forEach((name, thing) => {\n\t\t\tparams.push(name);\n\n\t\t\tif (custom.has(thing)) {\n\t\t\t\tvalues.push(/** @type {string} */ (custom.get(thing)));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (is_primitive(thing)) {\n\t\t\t\tvalues.push(stringify_primitive(thing));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\t\tvalues.push(`Object(${stringify(thing.valueOf())})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\tvalues.push(thing.toString());\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Date':\n\t\t\t\t\tvalues.push(`new Date(${thing.getTime()})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tvalues.push(`Array(${thing.length})`);\n\t\t\t\t\t/** @type {any[]} */ (thing).forEach((v, i) => {\n\t\t\t\t\t\tstatements.push(`${name}[${i}]=${stringify(v)}`);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tvalues.push(`new Set`);\n\t\t\t\t\tstatements.push(\n\t\t\t\t\t\t`${name}.${Array.from(thing)\n\t\t\t\t\t\t\t.map((v) => `add(${stringify(v)})`)\n\t\t\t\t\t\t\t.join('.')}`\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tvalues.push(`new Map`);\n\t\t\t\t\tstatements.push(\n\t\t\t\t\t\t`${name}.${Array.from(thing)\n\t\t\t\t\t\t\t.map(([k, v]) => `set(${stringify(k)}, ${stringify(v)})`)\n\t\t\t\t\t\t\t.join('.')}`\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tvalues.push(\n\t\t\t\t\t\tObject.getPrototypeOf(thing) === null ? 'Object.create(null)' : '{}'\n\t\t\t\t\t);\n\t\t\t\t\tObject.keys(thing).forEach((key) => {\n\t\t\t\t\t\tstatements.push(\n\t\t\t\t\t\t\t`${name}${safe_prop(key)}=${stringify(thing[key])}`\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tstatements.push(`return ${str}`);\n\n\t\treturn `(function(${params.join(',')}){${statements.join(\n\t\t\t';'\n\t\t)}}(${values.join(',')}))`;\n\t} else {\n\t\treturn str;\n\t}\n}\n\n/** @param {number} num */\nfunction get_name(num) {\n\tlet name = '';\n\n\tdo {\n\t\tname = chars[num % chars.length] + name;\n\t\tnum = ~~(num / chars.length) - 1;\n\t} while (num >= 0);\n\n\treturn reserved.test(name) ? `${name}0` : name;\n}\n\n/** @param {string} c */\nfunction escape_unsafe_char(c) {\n\treturn escaped[c] || c;\n}\n\n/** @param {string} str */\nfunction escape_unsafe_chars(str) {\n\treturn str.replace(unsafe_chars, escape_unsafe_char);\n}\n\n/** @param {string} key */\nfunction safe_key(key) {\n\treturn /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key)\n\t\t? key\n\t\t: escape_unsafe_chars(JSON.stringify(key));\n}\n\n/** @param {string} key */\nfunction safe_prop(key) {\n\treturn /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key)\n\t\t? `.${key}`\n\t\t: `[${escape_unsafe_chars(JSON.stringify(key))}]`;\n}\n\n/** @param {any} thing */\nfunction stringify_primitive(thing) {\n\tif (typeof thing === 'string') return stringify_string(thing);\n\tif (thing === void 0) return 'void 0';\n\tif (thing === 0 && 1 / thing < 0) return '-0';\n\tconst str = String(thing);\n\tif (typeof thing === 'number') return str.replace(/^(-)?0\\./, '$1.');\n\tif (typeof thing === 'bigint') return thing + 'n';\n\treturn str;\n}\n", "/**\n * Base64 Encodes an arraybuffer\n * @param {ArrayBuffer} arraybuffer\n * @returns {string}\n */\nexport function encode64(arraybuffer) {\n const dv = new DataView(arraybuffer);\n let binaryString = \"\";\n\n for (let i = 0; i < arraybuffer.byteLength; i++) {\n binaryString += String.fromCharCode(dv.getUint8(i));\n }\n\n return binaryToAscii(binaryString);\n}\n\n/**\n * Decodes a base64 string into an arraybuffer\n * @param {string} string\n * @returns {ArrayBuffer}\n */\nexport function decode64(string) {\n const binaryString = asciiToBinary(string);\n const arraybuffer = new ArrayBuffer(binaryString.length);\n const dv = new DataView(arraybuffer);\n\n for (let i = 0; i < arraybuffer.byteLength; i++) {\n dv.setUint8(i, binaryString.charCodeAt(i));\n }\n\n return arraybuffer;\n}\n\nconst KEY_STRING =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n/**\n * Substitute for atob since it's deprecated in node.\n * Does not do any input validation.\n *\n * @see https://github.com/jsdom/abab/blob/master/lib/atob.js\n *\n * @param {string} data\n * @returns {string}\n */\nfunction asciiToBinary(data) {\n if (data.length % 4 === 0) {\n data = data.replace(/==?$/, \"\");\n }\n\n let output = \"\";\n let buffer = 0;\n let accumulatedBits = 0;\n\n for (let i = 0; i < data.length; i++) {\n buffer <<= 6;\n buffer |= KEY_STRING.indexOf(data[i]);\n accumulatedBits += 6;\n if (accumulatedBits === 24) {\n output += String.fromCharCode((buffer & 0xff0000) >> 16);\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n buffer = accumulatedBits = 0;\n }\n }\n if (accumulatedBits === 12) {\n buffer >>= 4;\n output += String.fromCharCode(buffer);\n } else if (accumulatedBits === 18) {\n buffer >>= 2;\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n }\n return output;\n}\n\n/**\n * Substitute for btoa since it's deprecated in node.\n * Does not do any input validation.\n *\n * @see https://github.com/jsdom/abab/blob/master/lib/btoa.js\n *\n * @param {string} str\n * @returns {string}\n */\nfunction binaryToAscii(str) {\n let out = \"\";\n for (let i = 0; i < str.length; i += 3) {\n /** @type {[number, number, number, number]} */\n const groupsOfSix = [undefined, undefined, undefined, undefined];\n groupsOfSix[0] = str.charCodeAt(i) >> 2;\n groupsOfSix[1] = (str.charCodeAt(i) & 0x03) << 4;\n if (str.length > i + 1) {\n groupsOfSix[1] |= str.charCodeAt(i + 1) >> 4;\n groupsOfSix[2] = (str.charCodeAt(i + 1) & 0x0f) << 2;\n }\n if (str.length > i + 2) {\n groupsOfSix[2] |= str.charCodeAt(i + 2) >> 6;\n groupsOfSix[3] = str.charCodeAt(i + 2) & 0x3f;\n }\n for (let j = 0; j < groupsOfSix.length; j++) {\n if (typeof groupsOfSix[j] === \"undefined\") {\n out += \"=\";\n } else {\n out += KEY_STRING[groupsOfSix[j]];\n }\n }\n }\n return out;\n}\n", "export const UNDEFINED = -1;\nexport const HOLE = -2;\nexport const NAN = -3;\nexport const POSITIVE_INFINITY = -4;\nexport const NEGATIVE_INFINITY = -5;\nexport const NEGATIVE_ZERO = -6;\n", "import { decode64 } from './base64.js';\nimport {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tUNDEFINED\n} from './constants.js';\n\n/**\n * Revive a value serialized with `devalue.stringify`\n * @param {string} serialized\n * @param {Record any>} [revivers]\n */\nexport function parse(serialized, revivers) {\n\treturn unflatten(JSON.parse(serialized), revivers);\n}\n\n/**\n * Revive a value flattened with `devalue.stringify`\n * @param {number | any[]} parsed\n * @param {Record any>} [revivers]\n */\nexport function unflatten(parsed, revivers) {\n\tif (typeof parsed === 'number') return hydrate(parsed, true);\n\n\tif (!Array.isArray(parsed) || parsed.length === 0) {\n\t\tthrow new Error('Invalid input');\n\t}\n\n\tconst values = /** @type {any[]} */ (parsed);\n\n\tconst hydrated = Array(values.length);\n\n\t/**\n\t * @param {number} index\n\t * @returns {any}\n\t */\n\tfunction hydrate(index, standalone = false) {\n\t\tif (index === UNDEFINED) return undefined;\n\t\tif (index === NAN) return NaN;\n\t\tif (index === POSITIVE_INFINITY) return Infinity;\n\t\tif (index === NEGATIVE_INFINITY) return -Infinity;\n\t\tif (index === NEGATIVE_ZERO) return -0;\n\n\t\tif (standalone) throw new Error(`Invalid input`);\n\n\t\tif (index in hydrated) return hydrated[index];\n\n\t\tconst value = values[index];\n\n\t\tif (!value || typeof value !== 'object') {\n\t\t\thydrated[index] = value;\n\t\t} else if (Array.isArray(value)) {\n\t\t\tif (typeof value[0] === 'string') {\n\t\t\t\tconst type = value[0];\n\n\t\t\t\tconst reviver = revivers?.[type];\n\t\t\t\tif (reviver) {\n\t\t\t\t\treturn (hydrated[index] = reviver(hydrate(value[1])));\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'Date':\n\t\t\t\t\t\thydrated[index] = new Date(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Set':\n\t\t\t\t\t\tconst set = new Set();\n\t\t\t\t\t\thydrated[index] = set;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 1) {\n\t\t\t\t\t\t\tset.add(hydrate(value[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Map':\n\t\t\t\t\t\tconst map = new Map();\n\t\t\t\t\t\thydrated[index] = map;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tmap.set(hydrate(value[i]), hydrate(value[i + 1]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'RegExp':\n\t\t\t\t\t\thydrated[index] = new RegExp(value[1], value[2]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\thydrated[index] = Object(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'BigInt':\n\t\t\t\t\t\thydrated[index] = BigInt(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'null':\n\t\t\t\t\t\tconst obj = Object.create(null);\n\t\t\t\t\t\thydrated[index] = obj;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tobj[value[i]] = hydrate(value[i + 1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n case \"Int8Array\":\n case \"Uint8Array\":\n case \"Uint8ClampedArray\":\n case \"Int16Array\":\n case \"Uint16Array\":\n case \"Int32Array\":\n case \"Uint32Array\":\n case \"Float32Array\":\n case \"Float64Array\":\n case \"BigInt64Array\":\n case \"BigUint64Array\": {\n const TypedArrayConstructor = globalThis[type];\n const base64 = value[1];\n const arraybuffer = decode64(base64);\n const typedArray = new TypedArrayConstructor(arraybuffer);\n hydrated[index] = typedArray;\n break;\n }\n\n case \"ArrayBuffer\": {\n const base64 = value[1];\n const arraybuffer = decode64(base64);\n hydrated[index] = arraybuffer;\n break;\n }\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new Error(`Unknown type ${type}`);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst array = new Array(value.length);\n\t\t\t\thydrated[index] = array;\n\n\t\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\t\tconst n = value[i];\n\t\t\t\t\tif (n === HOLE) continue;\n\n\t\t\t\t\tarray[i] = hydrate(n);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t/** @type {Record} */\n\t\t\tconst object = {};\n\t\t\thydrated[index] = object;\n\n\t\t\tfor (const key in value) {\n\t\t\t\tconst n = value[key];\n\t\t\t\tobject[key] = hydrate(n);\n\t\t\t}\n\t\t}\n\n\t\treturn hydrated[index];\n\t}\n\n\treturn hydrate(0);\n}\n", "import {\n\tDevalueError,\n\tenumerable_symbols,\n\tget_type,\n\tis_plain_object,\n\tis_primitive,\n\tstringify_key,\n\tstringify_string\n} from './utils.js';\nimport {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tUNDEFINED\n} from './constants.js';\nimport { encode64 } from './base64.js';\n\n/**\n * Turn a value into a JSON string that can be parsed with `devalue.parse`\n * @param {any} value\n * @param {Record any>} [reducers]\n */\nexport function stringify(value, reducers) {\n\t/** @type {any[]} */\n\tconst stringified = [];\n\n\t/** @type {Map} */\n\tconst indexes = new Map();\n\n\t/** @type {Array<{ key: string, fn: (value: any) => any }>} */\n\tconst custom = [];\n\tif (reducers) {\n\t\tfor (const key of Object.getOwnPropertyNames(reducers)) {\n\t\t\tcustom.push({ key, fn: reducers[key] });\n\t\t}\n\t}\n\n\t/** @type {string[]} */\n\tconst keys = [];\n\n\tlet p = 0;\n\n\t/** @param {any} thing */\n\tfunction flatten(thing) {\n\t\tif (typeof thing === 'function') {\n\t\t\tthrow new DevalueError(`Cannot stringify a function`, keys);\n\t\t}\n\n\t\tif (indexes.has(thing)) return indexes.get(thing);\n\n\t\tif (thing === undefined) return UNDEFINED;\n\t\tif (Number.isNaN(thing)) return NAN;\n\t\tif (thing === Infinity) return POSITIVE_INFINITY;\n\t\tif (thing === -Infinity) return NEGATIVE_INFINITY;\n\t\tif (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO;\n\n\t\tconst index = p++;\n\t\tindexes.set(thing, index);\n\n\t\tfor (const { key, fn } of custom) {\n\t\t\tconst value = fn(thing);\n\t\t\tif (value) {\n\t\t\t\tstringified[index] = `[\"${key}\",${flatten(value)}]`;\n\t\t\t\treturn index;\n\t\t\t}\n\t\t}\n\n\t\tlet str = '';\n\n\t\tif (is_primitive(thing)) {\n\t\t\tstr = stringify_primitive(thing);\n\t\t} else {\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\t\tstr = `[\"Object\",${stringify_primitive(thing)}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'BigInt':\n\t\t\t\t\tstr = `[\"BigInt\",${thing}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Date':\n\t\t\t\t\tconst valid = !isNaN(thing.getDate());\n\t\t\t\t\tstr = `[\"Date\",\"${valid ? thing.toISOString() : ''}\"]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\tconst { source, flags } = thing;\n\t\t\t\t\tstr = flags\n\t\t\t\t\t\t? `[\"RegExp\",${stringify_string(source)},\"${flags}\"]`\n\t\t\t\t\t\t: `[\"RegExp\",${stringify_string(source)}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tstr = '[';\n\n\t\t\t\t\tfor (let i = 0; i < thing.length; i += 1) {\n\t\t\t\t\t\tif (i > 0) str += ',';\n\n\t\t\t\t\t\tif (i in thing) {\n\t\t\t\t\t\t\tkeys.push(`[${i}]`);\n\t\t\t\t\t\t\tstr += flatten(thing[i]);\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstr += HOLE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tstr = '[\"Set\"';\n\n\t\t\t\t\tfor (const value of thing) {\n\t\t\t\t\t\tstr += `,${flatten(value)}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tstr = '[\"Map\"';\n\n\t\t\t\t\tfor (const [key, value] of thing) {\n\t\t\t\t\t\tkeys.push(\n\t\t\t\t\t\t\t`.get(${is_primitive(key) ? stringify_primitive(key) : '...'})`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstr += `,${flatten(key)},${flatten(value)}`;\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Int8Array\":\n\t\t\t\tcase \"Uint8Array\":\n\t\t\t\tcase \"Uint8ClampedArray\":\n\t\t\t\tcase \"Int16Array\":\n\t\t\t\tcase \"Uint16Array\":\n\t\t\t\tcase \"Int32Array\":\n\t\t\t\tcase \"Uint32Array\":\n\t\t\t\tcase \"Float32Array\":\n\t\t\t\tcase \"Float64Array\":\n\t\t\t\tcase \"BigInt64Array\":\n\t\t\t\tcase \"BigUint64Array\": {\n\t\t\t\t\t/** @type {import(\"./types.js\").TypedArray} */\n\t\t\t\t\tconst typedArray = thing;\n\t\t\t\t\tconst base64 = encode64(typedArray.buffer);\n\t\t\t\t\tstr = '[\"' + type + '\",\"' + base64 + '\"]';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\tcase \"ArrayBuffer\": {\n\t\t\t\t\t/** @type {ArrayBuffer} */\n\t\t\t\t\tconst arraybuffer = thing;\n\t\t\t\t\tconst base64 = encode64(arraybuffer);\n\t\t\t\t\t\n\t\t\t\t\tstr = `[\"ArrayBuffer\",\"${base64}\"]`;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdefault:\n\t\t\t\t\tif (!is_plain_object(thing)) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify arbitrary non-POJOs`,\n\t\t\t\t\t\t\tkeys\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (enumerable_symbols(thing).length > 0) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify POJOs with symbolic keys`,\n\t\t\t\t\t\t\tkeys\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Object.getPrototypeOf(thing) === null) {\n\t\t\t\t\t\tstr = '[\"null\"';\n\t\t\t\t\t\tfor (const key in thing) {\n\t\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\t\tstr += `,${stringify_string(key)},${flatten(thing[key])}`;\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstr += ']';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr = '{';\n\t\t\t\t\t\tlet started = false;\n\t\t\t\t\t\tfor (const key in thing) {\n\t\t\t\t\t\t\tif (started) str += ',';\n\t\t\t\t\t\t\tstarted = true;\n\t\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\t\tstr += `${stringify_string(key)}:${flatten(thing[key])}`;\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstr += '}';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tstringified[index] = str;\n\t\treturn index;\n\t}\n\n\tconst index = flatten(value);\n\n\t// special case — value is represented as a negative index\n\tif (index < 0) return `${index}`;\n\n\treturn `[${stringified.join(',')}]`;\n}\n\n/**\n * @param {any} thing\n * @returns {string}\n */\nfunction stringify_primitive(thing) {\n\tconst type = typeof thing;\n\tif (type === 'string') return stringify_string(thing);\n\tif (thing instanceof String) return stringify_string(thing.toString());\n\tif (thing === void 0) return UNDEFINED.toString();\n\tif (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString();\n\tif (type === 'bigint') return `[\"BigInt\",\"${thing}\"]`;\n\treturn String(thing);\n}\n"],
- "mappings": ";;;AACO,IAAM,UAAU;AAAA,EACtB,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACX;AAEO,IAAM,eAAN,cAA2B,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC,YAAY,SAAS,MAAM;AAC1B,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO,KAAK,KAAK,EAAE;AAAA,EACzB;AACD;AAGO,SAAS,aAAa,OAAO;AACnC,SAAO,OAAO,KAAK,MAAM;AAC1B;AAEA,IAAM,qBAAqC,OAAO;AAAA,EACjD,OAAO;AACR,EACE,KAAK,EACL,KAAK,IAAI;AAGJ,SAAS,gBAAgB,OAAO;AACtC,QAAM,QAAQ,OAAO,eAAe,KAAK;AAEzC,SACC,UAAU,OAAO,aACjB,UAAU,QACV,OAAO,oBAAoB,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM;AAE1D;AAGO,SAAS,SAAS,OAAO;AAC/B,SAAO,OAAO,UAAU,SAAS,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE;AACzD;AAGA,SAAS,iBAAiB,MAAM;AAC/B,UAAQ,MAAM;AAAA,IACb,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,aAAO,OAAO,MACX,MAAM,KAAK,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,KACtD;AAAA,EACL;AACD;AAGO,SAAS,iBAAiB,KAAK;AACrC,MAAI,SAAS;AACb,MAAI,WAAW;AACf,QAAM,MAAM,IAAI;AAEhB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAChC,UAAM,OAAO,IAAI,CAAC;AAClB,UAAM,cAAc,iBAAiB,IAAI;AACzC,QAAI,aAAa;AAChB,gBAAU,IAAI,MAAM,UAAU,CAAC,IAAI;AACnC,iBAAW,IAAI;AAAA,IAChB;AAAA,EACD;AAEA,SAAO,IAAI,aAAa,IAAI,MAAM,SAAS,IAAI,MAAM,QAAQ,CAAC;AAC/D;AAGO,SAAS,mBAAmB,QAAQ;AAC1C,SAAO,OAAO,sBAAsB,MAAM,EAAE;AAAA,IAC3C,CAAC,WAAW,OAAO,yBAAyB,QAAQ,MAAM,EAAE;AAAA,EAC7D;AACD;AAEA,IAAM,gBAAgB;AAGf,SAAS,cAAc,KAAK;AAClC,SAAO,cAAc,KAAK,GAAG,IAAI,MAAM,MAAM,MAAM,KAAK,UAAU,GAAG,IAAI;AAC1E;;;ACrGA,IAAM,QAAQ;AACd,IAAM,eAAe;AACrB,IAAM,WACL;AAOM,SAAS,OAAO,OAAO,UAAU;AACvC,QAAM,SAAS,oBAAI,IAAI;AAGvB,QAAM,OAAO,CAAC;AAEd,QAAM,SAAS,oBAAI,IAAI;AAGvB,WAAS,KAAK,OAAO;AACpB,QAAI,OAAO,UAAU,YAAY;AAChC,YAAM,IAAI,aAAa,+BAA+B,IAAI;AAAA,IAC3D;AAEA,QAAI,CAAC,aAAa,KAAK,GAAG;AACzB,UAAI,OAAO,IAAI,KAAK,GAAG;AACtB,eAAO,IAAI,OAAO,OAAO,IAAI,KAAK,IAAI,CAAC;AACvC;AAAA,MACD;AAEA,aAAO,IAAI,OAAO,CAAC;AAEnB,UAAI,UAAU;AACb,cAAMA,OAAM,SAAS,KAAK;AAE1B,YAAI,OAAOA,SAAQ,UAAU;AAC5B,iBAAO,IAAI,OAAOA,IAAG;AACrB;AAAA,QACD;AAAA,MACD;AAEA,YAAM,OAAO,SAAS,KAAK;AAE3B,cAAQ,MAAM;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACJ;AAAA,QAED,KAAK;AACiB,UAAC,MAAO,QAAQ,CAACC,QAAO,MAAM;AAClD,iBAAK,KAAK,IAAI,CAAC,GAAG;AAClB,iBAAKA,MAAK;AACV,iBAAK,IAAI;AAAA,UACV,CAAC;AACD;AAAA,QAED,KAAK;AACJ,gBAAM,KAAK,KAAK,EAAE,QAAQ,IAAI;AAC9B;AAAA,QAED,KAAK;AACJ,qBAAW,CAAC,KAAKA,MAAK,KAAK,OAAO;AACjC,iBAAK;AAAA,cACJ,QAAQ,aAAa,GAAG,IAAI,oBAAoB,GAAG,IAAI,KAAK;AAAA,YAC7D;AACA,iBAAKA,MAAK;AACV,iBAAK,IAAI;AAAA,UACV;AACA;AAAA,QAED,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACJ;AAAA,QAED,KAAK;AACJ;AAAA,QAED;AACC,cAAI,CAAC,gBAAgB,KAAK,GAAG;AAC5B,kBAAM,IAAI;AAAA,cACT;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAEA,cAAI,mBAAmB,KAAK,EAAE,SAAS,GAAG;AACzC,kBAAM,IAAI;AAAA,cACT;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAEA,qBAAW,OAAO,OAAO;AACxB,iBAAK,KAAK,cAAc,GAAG,CAAC;AAC5B,iBAAK,MAAM,GAAG,CAAC;AACf,iBAAK,IAAI;AAAA,UACV;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAEA,OAAK,KAAK;AAEV,QAAM,QAAQ,oBAAI,IAAI;AAEtB,QAAM,KAAK,MAAM,EACf,OAAO,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,EAC9B,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAC1B,QAAQ,CAAC,OAAO,MAAM;AACtB,UAAM,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;AAAA,EAChC,CAAC;AAMF,WAASC,WAAU,OAAO;AACzB,QAAI,MAAM,IAAI,KAAK,GAAG;AACrB,aAAO,MAAM,IAAI,KAAK;AAAA,IACvB;AAEA,QAAI,aAAa,KAAK,GAAG;AACxB,aAAO,oBAAoB,KAAK;AAAA,IACjC;AAEA,QAAI,OAAO,IAAI,KAAK,GAAG;AACtB,aAAO,OAAO,IAAI,KAAK;AAAA,IACxB;AAEA,UAAM,OAAO,SAAS,KAAK;AAE3B,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACJ,eAAO,UAAUA,WAAU,MAAM,QAAQ,CAAC,CAAC;AAAA,MAE5C,KAAK;AACJ,eAAO,cAAc,iBAAiB,MAAM,MAAM,CAAC,MAClD,MAAM,KACP;AAAA,MAED,KAAK;AACJ,eAAO,YAAY,MAAM,QAAQ,CAAC;AAAA,MAEnC,KAAK;AACJ,cAAM;AAAA;AAAA,UAAgC,MAAO;AAAA,YAAI,CAAC,GAAG,MACpD,KAAK,QAAQA,WAAU,CAAC,IAAI;AAAA,UAC7B;AAAA;AACA,cAAM,OAAO,MAAM,WAAW,KAAK,MAAM,SAAS,KAAK,QAAQ,KAAK;AACpE,eAAO,IAAI,QAAQ,KAAK,GAAG,CAAC,GAAG,IAAI;AAAA,MAEpC,KAAK;AAAA,MACL,KAAK;AACJ,eAAO,OAAO,IAAI,KAAK,MAAM,KAAK,KAAK,EAAE,IAAIA,UAAS,EAAE,KAAK,GAAG,CAAC;AAAA,MAElE,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,kBAAkB;AAEtB,cAAM,aAAa;AACnB,eAAO,OAAO,IAAI,KAAK,WAAW,SAAS,CAAC;AAAA,MAC7C;AAAA,MAEA,KAAK,eAAe;AACnB,cAAM,MAAM,IAAI,WAAW,KAAK;AAChC,eAAO,mBAAmB,IAAI,SAAS,CAAC;AAAA,MACzC;AAAA,MAEA;AACC,cAAM,MAAM,IAAI,OAAO,KAAK,KAAK,EAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,CAAC,IAAIA,WAAU,MAAM,GAAG,CAAC,CAAC,EAAE,EACxD,KAAK,GAAG,CAAC;AACX,cAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,YAAI,UAAU,MAAM;AACnB,iBAAO,OAAO,KAAK,KAAK,EAAE,SAAS,IAChC,qCAAqC,GAAG,MACxC;AAAA,QACJ;AAEA,eAAO;AAAA,IACT;AAAA,EACD;AAEA,QAAM,MAAMA,WAAU,KAAK;AAE3B,MAAI,MAAM,MAAM;AAEf,UAAM,SAAS,CAAC;AAGhB,UAAM,aAAa,CAAC;AAGpB,UAAM,SAAS,CAAC;AAEhB,UAAM,QAAQ,CAAC,MAAM,UAAU;AAC9B,aAAO,KAAK,IAAI;AAEhB,UAAI,OAAO,IAAI,KAAK,GAAG;AACtB,eAAO;AAAA;AAAA,UAA4B,OAAO,IAAI,KAAK;AAAA,QAAE;AACrD;AAAA,MACD;AAEA,UAAI,aAAa,KAAK,GAAG;AACxB,eAAO,KAAK,oBAAoB,KAAK,CAAC;AACtC;AAAA,MACD;AAEA,YAAM,OAAO,SAAS,KAAK;AAE3B,cAAQ,MAAM;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACJ,iBAAO,KAAK,UAAUA,WAAU,MAAM,QAAQ,CAAC,CAAC,GAAG;AACnD;AAAA,QAED,KAAK;AACJ,iBAAO,KAAK,MAAM,SAAS,CAAC;AAC5B;AAAA,QAED,KAAK;AACJ,iBAAO,KAAK,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC1C;AAAA,QAED,KAAK;AACJ,iBAAO,KAAK,SAAS,MAAM,MAAM,GAAG;AACf,UAAC,MAAO,QAAQ,CAAC,GAAG,MAAM;AAC9C,uBAAW,KAAK,GAAG,IAAI,IAAI,CAAC,KAAKA,WAAU,CAAC,CAAC,EAAE;AAAA,UAChD,CAAC;AACD;AAAA,QAED,KAAK;AACJ,iBAAO,KAAK,SAAS;AACrB,qBAAW;AAAA,YACV,GAAG,IAAI,IAAI,MAAM,KAAK,KAAK,EACzB,IAAI,CAAC,MAAM,OAAOA,WAAU,CAAC,CAAC,GAAG,EACjC,KAAK,GAAG,CAAC;AAAA,UACZ;AACA;AAAA,QAED,KAAK;AACJ,iBAAO,KAAK,SAAS;AACrB,qBAAW;AAAA,YACV,GAAG,IAAI,IAAI,MAAM,KAAK,KAAK,EACzB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,OAAOA,WAAU,CAAC,CAAC,KAAKA,WAAU,CAAC,CAAC,GAAG,EACvD,KAAK,GAAG,CAAC;AAAA,UACZ;AACA;AAAA,QAED;AACC,iBAAO;AAAA,YACN,OAAO,eAAe,KAAK,MAAM,OAAO,wBAAwB;AAAA,UACjE;AACA,iBAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AACnC,uBAAW;AAAA,cACV,GAAG,IAAI,GAAG,UAAU,GAAG,CAAC,IAAIA,WAAU,MAAM,GAAG,CAAC,CAAC;AAAA,YAClD;AAAA,UACD,CAAC;AAAA,MACH;AAAA,IACD,CAAC;AAED,eAAW,KAAK,UAAU,GAAG,EAAE;AAE/B,WAAO,aAAa,OAAO,KAAK,GAAG,CAAC,KAAK,WAAW;AAAA,MACnD;AAAA,IACD,CAAC,KAAK,OAAO,KAAK,GAAG,CAAC;AAAA,EACvB,OAAO;AACN,WAAO;AAAA,EACR;AACD;AAGA,SAAS,SAAS,KAAK;AACtB,MAAI,OAAO;AAEX,KAAG;AACF,WAAO,MAAM,MAAM,MAAM,MAAM,IAAI;AACnC,UAAM,CAAC,EAAE,MAAM,MAAM,UAAU;AAAA,EAChC,SAAS,OAAO;AAEhB,SAAO,SAAS,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM;AAC3C;AAGA,SAAS,mBAAmB,GAAG;AAC9B,SAAO,QAAQ,CAAC,KAAK;AACtB;AAGA,SAAS,oBAAoB,KAAK;AACjC,SAAO,IAAI,QAAQ,cAAc,kBAAkB;AACpD;AAGA,SAAS,SAAS,KAAK;AACtB,SAAO,6BAA6B,KAAK,GAAG,IACzC,MACA,oBAAoB,KAAK,UAAU,GAAG,CAAC;AAC3C;AAGA,SAAS,UAAU,KAAK;AACvB,SAAO,6BAA6B,KAAK,GAAG,IACzC,IAAI,GAAG,KACP,IAAI,oBAAoB,KAAK,UAAU,GAAG,CAAC,CAAC;AAChD;AAGA,SAAS,oBAAoB,OAAO;AACnC,MAAI,OAAO,UAAU,SAAU,QAAO,iBAAiB,KAAK;AAC5D,MAAI,UAAU,OAAQ,QAAO;AAC7B,MAAI,UAAU,KAAK,IAAI,QAAQ,EAAG,QAAO;AACzC,QAAM,MAAM,OAAO,KAAK;AACxB,MAAI,OAAO,UAAU,SAAU,QAAO,IAAI,QAAQ,YAAY,KAAK;AACnE,MAAI,OAAO,UAAU,SAAU,QAAO,QAAQ;AAC9C,SAAO;AACR;;;ACzVO,SAAS,SAAS,aAAa;AACpC,QAAM,KAAK,IAAI,SAAS,WAAW;AACnC,MAAI,eAAe;AAEnB,WAAS,IAAI,GAAG,IAAI,YAAY,YAAY,KAAK;AAC/C,oBAAgB,OAAO,aAAa,GAAG,SAAS,CAAC,CAAC;AAAA,EACpD;AAEA,SAAO,cAAc,YAAY;AACnC;AAOO,SAAS,SAAS,QAAQ;AAC/B,QAAM,eAAe,cAAc,MAAM;AACzC,QAAM,cAAc,IAAI,YAAY,aAAa,MAAM;AACvD,QAAM,KAAK,IAAI,SAAS,WAAW;AAEnC,WAAS,IAAI,GAAG,IAAI,YAAY,YAAY,KAAK;AAC/C,OAAG,SAAS,GAAG,aAAa,WAAW,CAAC,CAAC;AAAA,EAC3C;AAEA,SAAO;AACT;AAEA,IAAM,aACJ;AAWF,SAAS,cAAc,MAAM;AAC3B,MAAI,KAAK,SAAS,MAAM,GAAG;AACzB,WAAO,KAAK,QAAQ,QAAQ,EAAE;AAAA,EAChC;AAEA,MAAI,SAAS;AACb,MAAI,SAAS;AACb,MAAI,kBAAkB;AAEtB,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,eAAW;AACX,cAAU,WAAW,QAAQ,KAAK,CAAC,CAAC;AACpC,uBAAmB;AACnB,QAAI,oBAAoB,IAAI;AAC1B,gBAAU,OAAO,cAAc,SAAS,aAAa,EAAE;AACvD,gBAAU,OAAO,cAAc,SAAS,UAAW,CAAC;AACpD,gBAAU,OAAO,aAAa,SAAS,GAAI;AAC3C,eAAS,kBAAkB;AAAA,IAC7B;AAAA,EACF;AACA,MAAI,oBAAoB,IAAI;AAC1B,eAAW;AACX,cAAU,OAAO,aAAa,MAAM;AAAA,EACtC,WAAW,oBAAoB,IAAI;AACjC,eAAW;AACX,cAAU,OAAO,cAAc,SAAS,UAAW,CAAC;AACpD,cAAU,OAAO,aAAa,SAAS,GAAI;AAAA,EAC7C;AACA,SAAO;AACT;AAWA,SAAS,cAAc,KAAK;AAC1B,MAAI,MAAM;AACV,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,GAAG;AAEtC,UAAM,cAAc,CAAC,QAAW,QAAW,QAAW,MAAS;AAC/D,gBAAY,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK;AACtC,gBAAY,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,MAAS;AAC/C,QAAI,IAAI,SAAS,IAAI,GAAG;AACtB,kBAAY,CAAC,KAAK,IAAI,WAAW,IAAI,CAAC,KAAK;AAC3C,kBAAY,CAAC,KAAK,IAAI,WAAW,IAAI,CAAC,IAAI,OAAS;AAAA,IACrD;AACA,QAAI,IAAI,SAAS,IAAI,GAAG;AACtB,kBAAY,CAAC,KAAK,IAAI,WAAW,IAAI,CAAC,KAAK;AAC3C,kBAAY,CAAC,IAAI,IAAI,WAAW,IAAI,CAAC,IAAI;AAAA,IAC3C;AACA,aAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,UAAI,OAAO,YAAY,CAAC,MAAM,aAAa;AACzC,eAAO;AAAA,MACT,OAAO;AACL,eAAO,WAAW,YAAY,CAAC,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;AC7GO,IAAM,YAAY;AAClB,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,oBAAoB;AAC1B,IAAM,oBAAoB;AAC1B,IAAM,gBAAgB;;;ACUtB,SAAS,MAAM,YAAY,UAAU;AAC3C,SAAO,UAAU,KAAK,MAAM,UAAU,GAAG,QAAQ;AAClD;AAOO,SAAS,UAAU,QAAQ,UAAU;AAC3C,MAAI,OAAO,WAAW,SAAU,QAAO,QAAQ,QAAQ,IAAI;AAE3D,MAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,GAAG;AAClD,UAAM,IAAI,MAAM,eAAe;AAAA,EAChC;AAEA,QAAM;AAAA;AAAA,IAA+B;AAAA;AAErC,QAAM,WAAW,MAAM,OAAO,MAAM;AAMpC,WAAS,QAAQ,OAAO,aAAa,OAAO;AAC3C,QAAI,UAAU,UAAW,QAAO;AAChC,QAAI,UAAU,IAAK,QAAO;AAC1B,QAAI,UAAU,kBAAmB,QAAO;AACxC,QAAI,UAAU,kBAAmB,QAAO;AACxC,QAAI,UAAU,cAAe,QAAO;AAEpC,QAAI,WAAY,OAAM,IAAI,MAAM,eAAe;AAE/C,QAAI,SAAS,SAAU,QAAO,SAAS,KAAK;AAE5C,UAAM,QAAQ,OAAO,KAAK;AAE1B,QAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACxC,eAAS,KAAK,IAAI;AAAA,IACnB,WAAW,MAAM,QAAQ,KAAK,GAAG;AAChC,UAAI,OAAO,MAAM,CAAC,MAAM,UAAU;AACjC,cAAM,OAAO,MAAM,CAAC;AAEpB,cAAM,UAAU,qCAAW;AAC3B,YAAI,SAAS;AACZ,iBAAQ,SAAS,KAAK,IAAI,QAAQ,QAAQ,MAAM,CAAC,CAAC,CAAC;AAAA,QACpD;AAEA,gBAAQ,MAAM;AAAA,UACb,KAAK;AACJ,qBAAS,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;AACnC;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,oBAAI,IAAI;AACpB,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC;AAAA,YAC1B;AACA;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,oBAAI,IAAI;AACpB,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,IAAI,QAAQ,MAAM,CAAC,CAAC,GAAG,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC;AAAA,YACjD;AACA;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAC/C;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,OAAO,MAAM,CAAC,CAAC;AACjC;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,OAAO,MAAM,CAAC,CAAC;AACjC;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,uBAAO,OAAO,IAAI;AAC9B,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,MAAM,CAAC,CAAC,IAAI,QAAQ,MAAM,IAAI,CAAC,CAAC;AAAA,YACrC;AACA;AAAA,UAEI,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK,kBAAkB;AACrB,kBAAM,wBAAwB,WAAW,IAAI;AAC7C,kBAAM,SAAS,MAAM,CAAC;AACtB,kBAAM,cAAc,SAAS,MAAM;AACnC,kBAAM,aAAa,IAAI,sBAAsB,WAAW;AACxD,qBAAS,KAAK,IAAI;AAClB;AAAA,UACF;AAAA,UAEA,KAAK,eAAe;AAClB,kBAAM,SAAS,MAAM,CAAC;AACtB,kBAAM,cAAc,SAAS,MAAM;AACnC,qBAAS,KAAK,IAAI;AAClB;AAAA,UACF;AAAA,UAEL;AACC,kBAAM,IAAI,MAAM,gBAAgB,IAAI,EAAE;AAAA,QACxC;AAAA,MACD,OAAO;AACN,cAAM,QAAQ,IAAI,MAAM,MAAM,MAAM;AACpC,iBAAS,KAAK,IAAI;AAElB,iBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,gBAAM,IAAI,MAAM,CAAC;AACjB,cAAI,MAAM,KAAM;AAEhB,gBAAM,CAAC,IAAI,QAAQ,CAAC;AAAA,QACrB;AAAA,MACD;AAAA,IACD,OAAO;AAEN,YAAM,SAAS,CAAC;AAChB,eAAS,KAAK,IAAI;AAElB,iBAAW,OAAO,OAAO;AACxB,cAAM,IAAI,MAAM,GAAG;AACnB,eAAO,GAAG,IAAI,QAAQ,CAAC;AAAA,MACxB;AAAA,IACD;AAEA,WAAO,SAAS,KAAK;AAAA,EACtB;AAEA,SAAO,QAAQ,CAAC;AACjB;;;ACvIO,SAAS,UAAU,OAAO,UAAU;AAE1C,QAAM,cAAc,CAAC;AAGrB,QAAM,UAAU,oBAAI,IAAI;AAGxB,QAAM,SAAS,CAAC;AAChB,MAAI,UAAU;AACb,eAAW,OAAO,OAAO,oBAAoB,QAAQ,GAAG;AACvD,aAAO,KAAK,EAAE,KAAK,IAAI,SAAS,GAAG,EAAE,CAAC;AAAA,IACvC;AAAA,EACD;AAGA,QAAM,OAAO,CAAC;AAEd,MAAI,IAAI;AAGR,WAAS,QAAQ,OAAO;AACvB,QAAI,OAAO,UAAU,YAAY;AAChC,YAAM,IAAI,aAAa,+BAA+B,IAAI;AAAA,IAC3D;AAEA,QAAI,QAAQ,IAAI,KAAK,EAAG,QAAO,QAAQ,IAAI,KAAK;AAEhD,QAAI,UAAU,OAAW,QAAO;AAChC,QAAI,OAAO,MAAM,KAAK,EAAG,QAAO;AAChC,QAAI,UAAU,SAAU,QAAO;AAC/B,QAAI,UAAU,UAAW,QAAO;AAChC,QAAI,UAAU,KAAK,IAAI,QAAQ,EAAG,QAAO;AAEzC,UAAMC,SAAQ;AACd,YAAQ,IAAI,OAAOA,MAAK;AAExB,eAAW,EAAE,KAAK,GAAG,KAAK,QAAQ;AACjC,YAAMC,SAAQ,GAAG,KAAK;AACtB,UAAIA,QAAO;AACV,oBAAYD,MAAK,IAAI,KAAK,GAAG,KAAK,QAAQC,MAAK,CAAC;AAChD,eAAOD;AAAA,MACR;AAAA,IACD;AAEA,QAAI,MAAM;AAEV,QAAI,aAAa,KAAK,GAAG;AACxB,YAAME,qBAAoB,KAAK;AAAA,IAChC,OAAO;AACN,YAAM,OAAO,SAAS,KAAK;AAE3B,cAAQ,MAAM;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACJ,gBAAM,aAAaA,qBAAoB,KAAK,CAAC;AAC7C;AAAA,QAED,KAAK;AACJ,gBAAM,aAAa,KAAK;AACxB;AAAA,QAED,KAAK;AACJ,gBAAM,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC;AACpC,gBAAM,YAAY,QAAQ,MAAM,YAAY,IAAI,EAAE;AAClD;AAAA,QAED,KAAK;AACJ,gBAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,gBAAM,QACH,aAAa,iBAAiB,MAAM,CAAC,KAAK,KAAK,OAC/C,aAAa,iBAAiB,MAAM,CAAC;AACxC;AAAA,QAED,KAAK;AACJ,gBAAM;AAEN,mBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,gBAAI,IAAI,EAAG,QAAO;AAElB,gBAAI,KAAK,OAAO;AACf,mBAAK,KAAK,IAAI,CAAC,GAAG;AAClB,qBAAO,QAAQ,MAAM,CAAC,CAAC;AACvB,mBAAK,IAAI;AAAA,YACV,OAAO;AACN,qBAAO;AAAA,YACR;AAAA,UACD;AAEA,iBAAO;AAEP;AAAA,QAED,KAAK;AACJ,gBAAM;AAEN,qBAAWD,UAAS,OAAO;AAC1B,mBAAO,IAAI,QAAQA,MAAK,CAAC;AAAA,UAC1B;AAEA,iBAAO;AACP;AAAA,QAED,KAAK;AACJ,gBAAM;AAEN,qBAAW,CAAC,KAAKA,MAAK,KAAK,OAAO;AACjC,iBAAK;AAAA,cACJ,QAAQ,aAAa,GAAG,IAAIC,qBAAoB,GAAG,IAAI,KAAK;AAAA,YAC7D;AACA,mBAAO,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQD,MAAK,CAAC;AACzC,iBAAK,IAAI;AAAA,UACV;AAEA,iBAAO;AACP;AAAA,QAED,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,kBAAkB;AAEtB,gBAAM,aAAa;AACnB,gBAAM,SAAS,SAAS,WAAW,MAAM;AACzC,gBAAM,OAAO,OAAO,QAAQ,SAAS;AACrC;AAAA,QACD;AAAA,QAEA,KAAK,eAAe;AAEnB,gBAAM,cAAc;AACpB,gBAAM,SAAS,SAAS,WAAW;AAEnC,gBAAM,mBAAmB,MAAM;AAC/B;AAAA,QACD;AAAA,QAEA;AACC,cAAI,CAAC,gBAAgB,KAAK,GAAG;AAC5B,kBAAM,IAAI;AAAA,cACT;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAEA,cAAI,mBAAmB,KAAK,EAAE,SAAS,GAAG;AACzC,kBAAM,IAAI;AAAA,cACT;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAEA,cAAI,OAAO,eAAe,KAAK,MAAM,MAAM;AAC1C,kBAAM;AACN,uBAAW,OAAO,OAAO;AACxB,mBAAK,KAAK,cAAc,GAAG,CAAC;AAC5B,qBAAO,IAAI,iBAAiB,GAAG,CAAC,IAAI,QAAQ,MAAM,GAAG,CAAC,CAAC;AACvD,mBAAK,IAAI;AAAA,YACV;AACA,mBAAO;AAAA,UACR,OAAO;AACN,kBAAM;AACN,gBAAI,UAAU;AACd,uBAAW,OAAO,OAAO;AACxB,kBAAI,QAAS,QAAO;AACpB,wBAAU;AACV,mBAAK,KAAK,cAAc,GAAG,CAAC;AAC5B,qBAAO,GAAG,iBAAiB,GAAG,CAAC,IAAI,QAAQ,MAAM,GAAG,CAAC,CAAC;AACtD,mBAAK,IAAI;AAAA,YACV;AACA,mBAAO;AAAA,UACR;AAAA,MACF;AAAA,IACD;AAEA,gBAAYD,MAAK,IAAI;AACrB,WAAOA;AAAA,EACR;AAEA,QAAM,QAAQ,QAAQ,KAAK;AAG3B,MAAI,QAAQ,EAAG,QAAO,GAAG,KAAK;AAE9B,SAAO,IAAI,YAAY,KAAK,GAAG,CAAC;AACjC;AAMA,SAASE,qBAAoB,OAAO;AACnC,QAAM,OAAO,OAAO;AACpB,MAAI,SAAS,SAAU,QAAO,iBAAiB,KAAK;AACpD,MAAI,iBAAiB,OAAQ,QAAO,iBAAiB,MAAM,SAAS,CAAC;AACrE,MAAI,UAAU,OAAQ,QAAO,UAAU,SAAS;AAChD,MAAI,UAAU,KAAK,IAAI,QAAQ,EAAG,QAAO,cAAc,SAAS;AAChE,MAAI,SAAS,SAAU,QAAO,cAAc,KAAK;AACjD,SAAO,OAAO,KAAK;AACpB;",
- "names": ["str", "value", "stringify", "index", "value", "stringify_primitive"]
-}
diff --git a/node_modules/.vite/deps/gray-matter.js b/node_modules/.vite/deps/gray-matter.js
deleted file mode 100644
index cc0f8bb..0000000
--- a/node_modules/.vite/deps/gray-matter.js
+++ /dev/null
@@ -1,3502 +0,0 @@
-import {
- __commonJS,
- __require
-} from "./chunk-KZF2VKC5.js";
-
-// browser-external:fs
-var require_fs = __commonJS({
- "browser-external:fs"(exports2, module2) {
- module2.exports = Object.create(new Proxy({}, {
- get(_, key) {
- if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") {
- console.warn(`Module "fs" has been externalized for browser compatibility. Cannot access "fs.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`);
- }
- }
- }));
- }
-});
-
-// node_modules/kind-of/index.js
-var require_kind_of = __commonJS({
- "node_modules/kind-of/index.js"(exports2, module2) {
- var toString = Object.prototype.toString;
- module2.exports = function kindOf(val) {
- if (val === void 0) return "undefined";
- if (val === null) return "null";
- var type = typeof val;
- if (type === "boolean") return "boolean";
- if (type === "string") return "string";
- if (type === "number") return "number";
- if (type === "symbol") return "symbol";
- if (type === "function") {
- return isGeneratorFn(val) ? "generatorfunction" : "function";
- }
- if (isArray(val)) return "array";
- if (isBuffer(val)) return "buffer";
- if (isArguments(val)) return "arguments";
- if (isDate(val)) return "date";
- if (isError(val)) return "error";
- if (isRegexp(val)) return "regexp";
- switch (ctorName(val)) {
- case "Symbol":
- return "symbol";
- case "Promise":
- return "promise";
- case "WeakMap":
- return "weakmap";
- case "WeakSet":
- return "weakset";
- case "Map":
- return "map";
- case "Set":
- return "set";
- case "Int8Array":
- return "int8array";
- case "Uint8Array":
- return "uint8array";
- case "Uint8ClampedArray":
- return "uint8clampedarray";
- case "Int16Array":
- return "int16array";
- case "Uint16Array":
- return "uint16array";
- case "Int32Array":
- return "int32array";
- case "Uint32Array":
- return "uint32array";
- case "Float32Array":
- return "float32array";
- case "Float64Array":
- return "float64array";
- }
- if (isGeneratorObj(val)) {
- return "generator";
- }
- type = toString.call(val);
- switch (type) {
- case "[object Object]":
- return "object";
- case "[object Map Iterator]":
- return "mapiterator";
- case "[object Set Iterator]":
- return "setiterator";
- case "[object String Iterator]":
- return "stringiterator";
- case "[object Array Iterator]":
- return "arrayiterator";
- }
- return type.slice(8, -1).toLowerCase().replace(/\s/g, "");
- };
- function ctorName(val) {
- return typeof val.constructor === "function" ? val.constructor.name : null;
- }
- function isArray(val) {
- if (Array.isArray) return Array.isArray(val);
- return val instanceof Array;
- }
- function isError(val) {
- return val instanceof Error || typeof val.message === "string" && val.constructor && typeof val.constructor.stackTraceLimit === "number";
- }
- function isDate(val) {
- if (val instanceof Date) return true;
- return typeof val.toDateString === "function" && typeof val.getDate === "function" && typeof val.setDate === "function";
- }
- function isRegexp(val) {
- if (val instanceof RegExp) return true;
- return typeof val.flags === "string" && typeof val.ignoreCase === "boolean" && typeof val.multiline === "boolean" && typeof val.global === "boolean";
- }
- function isGeneratorFn(name, val) {
- return ctorName(name) === "GeneratorFunction";
- }
- function isGeneratorObj(val) {
- return typeof val.throw === "function" && typeof val.return === "function" && typeof val.next === "function";
- }
- function isArguments(val) {
- try {
- if (typeof val.length === "number" && typeof val.callee === "function") {
- return true;
- }
- } catch (err) {
- if (err.message.indexOf("callee") !== -1) {
- return true;
- }
- }
- return false;
- }
- function isBuffer(val) {
- if (val.constructor && typeof val.constructor.isBuffer === "function") {
- return val.constructor.isBuffer(val);
- }
- return false;
- }
- }
-});
-
-// node_modules/is-extendable/index.js
-var require_is_extendable = __commonJS({
- "node_modules/is-extendable/index.js"(exports2, module2) {
- "use strict";
- module2.exports = function isExtendable(val) {
- return typeof val !== "undefined" && val !== null && (typeof val === "object" || typeof val === "function");
- };
- }
-});
-
-// node_modules/extend-shallow/index.js
-var require_extend_shallow = __commonJS({
- "node_modules/extend-shallow/index.js"(exports2, module2) {
- "use strict";
- var isObject = require_is_extendable();
- module2.exports = function extend(o) {
- if (!isObject(o)) {
- o = {};
- }
- var len = arguments.length;
- for (var i = 1; i < len; i++) {
- var obj = arguments[i];
- if (isObject(obj)) {
- assign(o, obj);
- }
- }
- return o;
- };
- function assign(a, b) {
- for (var key in b) {
- if (hasOwn(b, key)) {
- a[key] = b[key];
- }
- }
- }
- function hasOwn(obj, key) {
- return Object.prototype.hasOwnProperty.call(obj, key);
- }
- }
-});
-
-// node_modules/section-matter/index.js
-var require_section_matter = __commonJS({
- "node_modules/section-matter/index.js"(exports2, module2) {
- "use strict";
- var typeOf = require_kind_of();
- var extend = require_extend_shallow();
- module2.exports = function(input, options2) {
- if (typeof options2 === "function") {
- options2 = { parse: options2 };
- }
- var file = toObject(input);
- var defaults = { section_delimiter: "---", parse: identity };
- var opts = extend({}, defaults, options2);
- var delim = opts.section_delimiter;
- var lines = file.content.split(/\r?\n/);
- var sections = null;
- var section = createSection();
- var content = [];
- var stack = [];
- function initSections(val) {
- file.content = val;
- sections = [];
- content = [];
- }
- function closeSection(val) {
- if (stack.length) {
- section.key = getKey(stack[0], delim);
- section.content = val;
- opts.parse(section, sections);
- sections.push(section);
- section = createSection();
- content = [];
- stack = [];
- }
- }
- for (var i = 0; i < lines.length; i++) {
- var line = lines[i];
- var len = stack.length;
- var ln = line.trim();
- if (isDelimiter(ln, delim)) {
- if (ln.length === 3 && i !== 0) {
- if (len === 0 || len === 2) {
- content.push(line);
- continue;
- }
- stack.push(ln);
- section.data = content.join("\n");
- content = [];
- continue;
- }
- if (sections === null) {
- initSections(content.join("\n"));
- }
- if (len === 2) {
- closeSection(content.join("\n"));
- }
- stack.push(ln);
- continue;
- }
- content.push(line);
- }
- if (sections === null) {
- initSections(content.join("\n"));
- } else {
- closeSection(content.join("\n"));
- }
- file.sections = sections;
- return file;
- };
- function isDelimiter(line, delim) {
- if (line.slice(0, delim.length) !== delim) {
- return false;
- }
- if (line.charAt(delim.length + 1) === delim.slice(-1)) {
- return false;
- }
- return true;
- }
- function toObject(input) {
- if (typeOf(input) !== "object") {
- input = { content: input };
- }
- if (typeof input.content !== "string" && !isBuffer(input.content)) {
- throw new TypeError("expected a buffer or string");
- }
- input.content = input.content.toString();
- input.sections = [];
- return input;
- }
- function getKey(val, delim) {
- return val ? val.slice(delim.length).trim() : "";
- }
- function createSection() {
- return { key: "", data: "", content: "" };
- }
- function identity(val) {
- return val;
- }
- function isBuffer(val) {
- if (val && val.constructor && typeof val.constructor.isBuffer === "function") {
- return val.constructor.isBuffer(val);
- }
- return false;
- }
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/common.js
-var require_common = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/common.js"(exports2, module2) {
- "use strict";
- function isNothing(subject) {
- return typeof subject === "undefined" || subject === null;
- }
- function isObject(subject) {
- return typeof subject === "object" && subject !== null;
- }
- function toArray(sequence) {
- if (Array.isArray(sequence)) return sequence;
- else if (isNothing(sequence)) return [];
- return [sequence];
- }
- function extend(target, source) {
- var index, length, key, sourceKeys;
- if (source) {
- sourceKeys = Object.keys(source);
- for (index = 0, length = sourceKeys.length; index < length; index += 1) {
- key = sourceKeys[index];
- target[key] = source[key];
- }
- }
- return target;
- }
- function repeat(string, count) {
- var result = "", cycle;
- for (cycle = 0; cycle < count; cycle += 1) {
- result += string;
- }
- return result;
- }
- function isNegativeZero(number) {
- return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;
- }
- module2.exports.isNothing = isNothing;
- module2.exports.isObject = isObject;
- module2.exports.toArray = toArray;
- module2.exports.repeat = repeat;
- module2.exports.isNegativeZero = isNegativeZero;
- module2.exports.extend = extend;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/exception.js
-var require_exception = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/exception.js"(exports2, module2) {
- "use strict";
- function YAMLException(reason, mark) {
- Error.call(this);
- this.name = "YAMLException";
- this.reason = reason;
- this.mark = mark;
- this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : "");
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- } else {
- this.stack = new Error().stack || "";
- }
- }
- YAMLException.prototype = Object.create(Error.prototype);
- YAMLException.prototype.constructor = YAMLException;
- YAMLException.prototype.toString = function toString(compact) {
- var result = this.name + ": ";
- result += this.reason || "(unknown reason)";
- if (!compact && this.mark) {
- result += " " + this.mark.toString();
- }
- return result;
- };
- module2.exports = YAMLException;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/mark.js
-var require_mark = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/mark.js"(exports2, module2) {
- "use strict";
- var common = require_common();
- function Mark(name, buffer, position, line, column) {
- this.name = name;
- this.buffer = buffer;
- this.position = position;
- this.line = line;
- this.column = column;
- }
- Mark.prototype.getSnippet = function getSnippet(indent, maxLength) {
- var head, start, tail, end, snippet;
- if (!this.buffer) return null;
- indent = indent || 4;
- maxLength = maxLength || 75;
- head = "";
- start = this.position;
- while (start > 0 && "\0\r\n
\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) {
- start -= 1;
- if (this.position - start > maxLength / 2 - 1) {
- head = " ... ";
- start += 5;
- break;
- }
- }
- tail = "";
- end = this.position;
- while (end < this.buffer.length && "\0\r\n
\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) {
- end += 1;
- if (end - this.position > maxLength / 2 - 1) {
- tail = " ... ";
- end -= 5;
- break;
- }
- }
- snippet = this.buffer.slice(start, end);
- return common.repeat(" ", indent) + head + snippet + tail + "\n" + common.repeat(" ", indent + this.position - start + head.length) + "^";
- };
- Mark.prototype.toString = function toString(compact) {
- var snippet, where = "";
- if (this.name) {
- where += 'in "' + this.name + '" ';
- }
- where += "at line " + (this.line + 1) + ", column " + (this.column + 1);
- if (!compact) {
- snippet = this.getSnippet();
- if (snippet) {
- where += ":\n" + snippet;
- }
- }
- return where;
- };
- module2.exports = Mark;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type.js
-var require_type = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type.js"(exports2, module2) {
- "use strict";
- var YAMLException = require_exception();
- var TYPE_CONSTRUCTOR_OPTIONS = [
- "kind",
- "resolve",
- "construct",
- "instanceOf",
- "predicate",
- "represent",
- "defaultStyle",
- "styleAliases"
- ];
- var YAML_NODE_KINDS = [
- "scalar",
- "sequence",
- "mapping"
- ];
- function compileStyleAliases(map) {
- var result = {};
- if (map !== null) {
- Object.keys(map).forEach(function(style) {
- map[style].forEach(function(alias) {
- result[String(alias)] = style;
- });
- });
- }
- return result;
- }
- function Type(tag, options2) {
- options2 = options2 || {};
- Object.keys(options2).forEach(function(name) {
- if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
- throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
- }
- });
- this.tag = tag;
- this.kind = options2["kind"] || null;
- this.resolve = options2["resolve"] || function() {
- return true;
- };
- this.construct = options2["construct"] || function(data) {
- return data;
- };
- this.instanceOf = options2["instanceOf"] || null;
- this.predicate = options2["predicate"] || null;
- this.represent = options2["represent"] || null;
- this.defaultStyle = options2["defaultStyle"] || null;
- this.styleAliases = compileStyleAliases(options2["styleAliases"] || null);
- if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
- throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
- }
- }
- module2.exports = Type;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/schema.js
-var require_schema = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/schema.js"(exports2, module2) {
- "use strict";
- var common = require_common();
- var YAMLException = require_exception();
- var Type = require_type();
- function compileList(schema, name, result) {
- var exclude = [];
- schema.include.forEach(function(includedSchema) {
- result = compileList(includedSchema, name, result);
- });
- schema[name].forEach(function(currentType) {
- result.forEach(function(previousType, previousIndex) {
- if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {
- exclude.push(previousIndex);
- }
- });
- result.push(currentType);
- });
- return result.filter(function(type, index) {
- return exclude.indexOf(index) === -1;
- });
- }
- function compileMap() {
- var result = {
- scalar: {},
- sequence: {},
- mapping: {},
- fallback: {}
- }, index, length;
- function collectType(type) {
- result[type.kind][type.tag] = result["fallback"][type.tag] = type;
- }
- for (index = 0, length = arguments.length; index < length; index += 1) {
- arguments[index].forEach(collectType);
- }
- return result;
- }
- function Schema(definition) {
- this.include = definition.include || [];
- this.implicit = definition.implicit || [];
- this.explicit = definition.explicit || [];
- this.implicit.forEach(function(type) {
- if (type.loadKind && type.loadKind !== "scalar") {
- throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
- }
- });
- this.compiledImplicit = compileList(this, "implicit", []);
- this.compiledExplicit = compileList(this, "explicit", []);
- this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);
- }
- Schema.DEFAULT = null;
- Schema.create = function createSchema() {
- var schemas, types;
- switch (arguments.length) {
- case 1:
- schemas = Schema.DEFAULT;
- types = arguments[0];
- break;
- case 2:
- schemas = arguments[0];
- types = arguments[1];
- break;
- default:
- throw new YAMLException("Wrong number of arguments for Schema.create function");
- }
- schemas = common.toArray(schemas);
- types = common.toArray(types);
- if (!schemas.every(function(schema) {
- return schema instanceof Schema;
- })) {
- throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");
- }
- if (!types.every(function(type) {
- return type instanceof Type;
- })) {
- throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.");
- }
- return new Schema({
- include: schemas,
- explicit: types
- });
- };
- module2.exports = Schema;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/str.js
-var require_str = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/str.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- module2.exports = new Type("tag:yaml.org,2002:str", {
- kind: "scalar",
- construct: function(data) {
- return data !== null ? data : "";
- }
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/seq.js
-var require_seq = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/seq.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- module2.exports = new Type("tag:yaml.org,2002:seq", {
- kind: "sequence",
- construct: function(data) {
- return data !== null ? data : [];
- }
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/map.js
-var require_map = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/map.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- module2.exports = new Type("tag:yaml.org,2002:map", {
- kind: "mapping",
- construct: function(data) {
- return data !== null ? data : {};
- }
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/schema/failsafe.js
-var require_failsafe = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/schema/failsafe.js"(exports2, module2) {
- "use strict";
- var Schema = require_schema();
- module2.exports = new Schema({
- explicit: [
- require_str(),
- require_seq(),
- require_map()
- ]
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/null.js
-var require_null = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/null.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- function resolveYamlNull(data) {
- if (data === null) return true;
- var max = data.length;
- return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL");
- }
- function constructYamlNull() {
- return null;
- }
- function isNull(object) {
- return object === null;
- }
- module2.exports = new Type("tag:yaml.org,2002:null", {
- kind: "scalar",
- resolve: resolveYamlNull,
- construct: constructYamlNull,
- predicate: isNull,
- represent: {
- canonical: function() {
- return "~";
- },
- lowercase: function() {
- return "null";
- },
- uppercase: function() {
- return "NULL";
- },
- camelcase: function() {
- return "Null";
- }
- },
- defaultStyle: "lowercase"
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/bool.js
-var require_bool = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/bool.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- function resolveYamlBoolean(data) {
- if (data === null) return false;
- var max = data.length;
- return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE");
- }
- function constructYamlBoolean(data) {
- return data === "true" || data === "True" || data === "TRUE";
- }
- function isBoolean(object) {
- return Object.prototype.toString.call(object) === "[object Boolean]";
- }
- module2.exports = new Type("tag:yaml.org,2002:bool", {
- kind: "scalar",
- resolve: resolveYamlBoolean,
- construct: constructYamlBoolean,
- predicate: isBoolean,
- represent: {
- lowercase: function(object) {
- return object ? "true" : "false";
- },
- uppercase: function(object) {
- return object ? "TRUE" : "FALSE";
- },
- camelcase: function(object) {
- return object ? "True" : "False";
- }
- },
- defaultStyle: "lowercase"
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/int.js
-var require_int = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/int.js"(exports2, module2) {
- "use strict";
- var common = require_common();
- var Type = require_type();
- function isHexCode(c) {
- return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102;
- }
- function isOctCode(c) {
- return 48 <= c && c <= 55;
- }
- function isDecCode(c) {
- return 48 <= c && c <= 57;
- }
- function resolveYamlInteger(data) {
- if (data === null) return false;
- var max = data.length, index = 0, hasDigits = false, ch;
- if (!max) return false;
- ch = data[index];
- if (ch === "-" || ch === "+") {
- ch = data[++index];
- }
- if (ch === "0") {
- if (index + 1 === max) return true;
- ch = data[++index];
- if (ch === "b") {
- index++;
- for (; index < max; index++) {
- ch = data[index];
- if (ch === "_") continue;
- if (ch !== "0" && ch !== "1") return false;
- hasDigits = true;
- }
- return hasDigits && ch !== "_";
- }
- if (ch === "x") {
- index++;
- for (; index < max; index++) {
- ch = data[index];
- if (ch === "_") continue;
- if (!isHexCode(data.charCodeAt(index))) return false;
- hasDigits = true;
- }
- return hasDigits && ch !== "_";
- }
- for (; index < max; index++) {
- ch = data[index];
- if (ch === "_") continue;
- if (!isOctCode(data.charCodeAt(index))) return false;
- hasDigits = true;
- }
- return hasDigits && ch !== "_";
- }
- if (ch === "_") return false;
- for (; index < max; index++) {
- ch = data[index];
- if (ch === "_") continue;
- if (ch === ":") break;
- if (!isDecCode(data.charCodeAt(index))) {
- return false;
- }
- hasDigits = true;
- }
- if (!hasDigits || ch === "_") return false;
- if (ch !== ":") return true;
- return /^(:[0-5]?[0-9])+$/.test(data.slice(index));
- }
- function constructYamlInteger(data) {
- var value = data, sign = 1, ch, base, digits = [];
- if (value.indexOf("_") !== -1) {
- value = value.replace(/_/g, "");
- }
- ch = value[0];
- if (ch === "-" || ch === "+") {
- if (ch === "-") sign = -1;
- value = value.slice(1);
- ch = value[0];
- }
- if (value === "0") return 0;
- if (ch === "0") {
- if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
- if (value[1] === "x") return sign * parseInt(value, 16);
- return sign * parseInt(value, 8);
- }
- if (value.indexOf(":") !== -1) {
- value.split(":").forEach(function(v) {
- digits.unshift(parseInt(v, 10));
- });
- value = 0;
- base = 1;
- digits.forEach(function(d) {
- value += d * base;
- base *= 60;
- });
- return sign * value;
- }
- return sign * parseInt(value, 10);
- }
- function isInteger(object) {
- return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object));
- }
- module2.exports = new Type("tag:yaml.org,2002:int", {
- kind: "scalar",
- resolve: resolveYamlInteger,
- construct: constructYamlInteger,
- predicate: isInteger,
- represent: {
- binary: function(obj) {
- return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
- },
- octal: function(obj) {
- return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1);
- },
- decimal: function(obj) {
- return obj.toString(10);
- },
- /* eslint-disable max-len */
- hexadecimal: function(obj) {
- return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
- }
- },
- defaultStyle: "decimal",
- styleAliases: {
- binary: [2, "bin"],
- octal: [8, "oct"],
- decimal: [10, "dec"],
- hexadecimal: [16, "hex"]
- }
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/float.js
-var require_float = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/float.js"(exports2, module2) {
- "use strict";
- var common = require_common();
- var Type = require_type();
- var YAML_FLOAT_PATTERN = new RegExp(
- // 2.5e4, 2.5 and integers
- "^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
- );
- function resolveYamlFloat(data) {
- if (data === null) return false;
- if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`
- // Probably should update regexp & check speed
- data[data.length - 1] === "_") {
- return false;
- }
- return true;
- }
- function constructYamlFloat(data) {
- var value, sign, base, digits;
- value = data.replace(/_/g, "").toLowerCase();
- sign = value[0] === "-" ? -1 : 1;
- digits = [];
- if ("+-".indexOf(value[0]) >= 0) {
- value = value.slice(1);
- }
- if (value === ".inf") {
- return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
- } else if (value === ".nan") {
- return NaN;
- } else if (value.indexOf(":") >= 0) {
- value.split(":").forEach(function(v) {
- digits.unshift(parseFloat(v, 10));
- });
- value = 0;
- base = 1;
- digits.forEach(function(d) {
- value += d * base;
- base *= 60;
- });
- return sign * value;
- }
- return sign * parseFloat(value, 10);
- }
- var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
- function representYamlFloat(object, style) {
- var res;
- if (isNaN(object)) {
- switch (style) {
- case "lowercase":
- return ".nan";
- case "uppercase":
- return ".NAN";
- case "camelcase":
- return ".NaN";
- }
- } else if (Number.POSITIVE_INFINITY === object) {
- switch (style) {
- case "lowercase":
- return ".inf";
- case "uppercase":
- return ".INF";
- case "camelcase":
- return ".Inf";
- }
- } else if (Number.NEGATIVE_INFINITY === object) {
- switch (style) {
- case "lowercase":
- return "-.inf";
- case "uppercase":
- return "-.INF";
- case "camelcase":
- return "-.Inf";
- }
- } else if (common.isNegativeZero(object)) {
- return "-0.0";
- }
- res = object.toString(10);
- return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res;
- }
- function isFloat(object) {
- return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object));
- }
- module2.exports = new Type("tag:yaml.org,2002:float", {
- kind: "scalar",
- resolve: resolveYamlFloat,
- construct: constructYamlFloat,
- predicate: isFloat,
- represent: representYamlFloat,
- defaultStyle: "lowercase"
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/schema/json.js
-var require_json = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/schema/json.js"(exports2, module2) {
- "use strict";
- var Schema = require_schema();
- module2.exports = new Schema({
- include: [
- require_failsafe()
- ],
- implicit: [
- require_null(),
- require_bool(),
- require_int(),
- require_float()
- ]
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/schema/core.js
-var require_core = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/schema/core.js"(exports2, module2) {
- "use strict";
- var Schema = require_schema();
- module2.exports = new Schema({
- include: [
- require_json()
- ]
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/timestamp.js
-var require_timestamp = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/timestamp.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- var YAML_DATE_REGEXP = new RegExp(
- "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
- );
- var YAML_TIMESTAMP_REGEXP = new RegExp(
- "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
- );
- function resolveYamlTimestamp(data) {
- if (data === null) return false;
- if (YAML_DATE_REGEXP.exec(data) !== null) return true;
- if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
- return false;
- }
- function constructYamlTimestamp(data) {
- var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;
- match = YAML_DATE_REGEXP.exec(data);
- if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
- if (match === null) throw new Error("Date resolve error");
- year = +match[1];
- month = +match[2] - 1;
- day = +match[3];
- if (!match[4]) {
- return new Date(Date.UTC(year, month, day));
- }
- hour = +match[4];
- minute = +match[5];
- second = +match[6];
- if (match[7]) {
- fraction = match[7].slice(0, 3);
- while (fraction.length < 3) {
- fraction += "0";
- }
- fraction = +fraction;
- }
- if (match[9]) {
- tz_hour = +match[10];
- tz_minute = +(match[11] || 0);
- delta = (tz_hour * 60 + tz_minute) * 6e4;
- if (match[9] === "-") delta = -delta;
- }
- date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
- if (delta) date.setTime(date.getTime() - delta);
- return date;
- }
- function representYamlTimestamp(object) {
- return object.toISOString();
- }
- module2.exports = new Type("tag:yaml.org,2002:timestamp", {
- kind: "scalar",
- resolve: resolveYamlTimestamp,
- construct: constructYamlTimestamp,
- instanceOf: Date,
- represent: representYamlTimestamp
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/merge.js
-var require_merge = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/merge.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- function resolveYamlMerge(data) {
- return data === "<<" || data === null;
- }
- module2.exports = new Type("tag:yaml.org,2002:merge", {
- kind: "scalar",
- resolve: resolveYamlMerge
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/binary.js
-var require_binary = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/binary.js"(exports2, module2) {
- "use strict";
- var NodeBuffer;
- try {
- _require = __require;
- NodeBuffer = _require("buffer").Buffer;
- } catch (__) {
- }
- var _require;
- var Type = require_type();
- var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
- function resolveYamlBinary(data) {
- if (data === null) return false;
- var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;
- for (idx = 0; idx < max; idx++) {
- code = map.indexOf(data.charAt(idx));
- if (code > 64) continue;
- if (code < 0) return false;
- bitlen += 6;
- }
- return bitlen % 8 === 0;
- }
- function constructYamlBinary(data) {
- var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map = BASE64_MAP, bits = 0, result = [];
- for (idx = 0; idx < max; idx++) {
- if (idx % 4 === 0 && idx) {
- result.push(bits >> 16 & 255);
- result.push(bits >> 8 & 255);
- result.push(bits & 255);
- }
- bits = bits << 6 | map.indexOf(input.charAt(idx));
- }
- tailbits = max % 4 * 6;
- if (tailbits === 0) {
- result.push(bits >> 16 & 255);
- result.push(bits >> 8 & 255);
- result.push(bits & 255);
- } else if (tailbits === 18) {
- result.push(bits >> 10 & 255);
- result.push(bits >> 2 & 255);
- } else if (tailbits === 12) {
- result.push(bits >> 4 & 255);
- }
- if (NodeBuffer) {
- return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result);
- }
- return result;
- }
- function representYamlBinary(object) {
- var result = "", bits = 0, idx, tail, max = object.length, map = BASE64_MAP;
- for (idx = 0; idx < max; idx++) {
- if (idx % 3 === 0 && idx) {
- result += map[bits >> 18 & 63];
- result += map[bits >> 12 & 63];
- result += map[bits >> 6 & 63];
- result += map[bits & 63];
- }
- bits = (bits << 8) + object[idx];
- }
- tail = max % 3;
- if (tail === 0) {
- result += map[bits >> 18 & 63];
- result += map[bits >> 12 & 63];
- result += map[bits >> 6 & 63];
- result += map[bits & 63];
- } else if (tail === 2) {
- result += map[bits >> 10 & 63];
- result += map[bits >> 4 & 63];
- result += map[bits << 2 & 63];
- result += map[64];
- } else if (tail === 1) {
- result += map[bits >> 2 & 63];
- result += map[bits << 4 & 63];
- result += map[64];
- result += map[64];
- }
- return result;
- }
- function isBinary(object) {
- return NodeBuffer && NodeBuffer.isBuffer(object);
- }
- module2.exports = new Type("tag:yaml.org,2002:binary", {
- kind: "scalar",
- resolve: resolveYamlBinary,
- construct: constructYamlBinary,
- predicate: isBinary,
- represent: representYamlBinary
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/omap.js
-var require_omap = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/omap.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- var _hasOwnProperty = Object.prototype.hasOwnProperty;
- var _toString = Object.prototype.toString;
- function resolveYamlOmap(data) {
- if (data === null) return true;
- var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data;
- for (index = 0, length = object.length; index < length; index += 1) {
- pair = object[index];
- pairHasKey = false;
- if (_toString.call(pair) !== "[object Object]") return false;
- for (pairKey in pair) {
- if (_hasOwnProperty.call(pair, pairKey)) {
- if (!pairHasKey) pairHasKey = true;
- else return false;
- }
- }
- if (!pairHasKey) return false;
- if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
- else return false;
- }
- return true;
- }
- function constructYamlOmap(data) {
- return data !== null ? data : [];
- }
- module2.exports = new Type("tag:yaml.org,2002:omap", {
- kind: "sequence",
- resolve: resolveYamlOmap,
- construct: constructYamlOmap
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/pairs.js
-var require_pairs = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/pairs.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- var _toString = Object.prototype.toString;
- function resolveYamlPairs(data) {
- if (data === null) return true;
- var index, length, pair, keys, result, object = data;
- result = new Array(object.length);
- for (index = 0, length = object.length; index < length; index += 1) {
- pair = object[index];
- if (_toString.call(pair) !== "[object Object]") return false;
- keys = Object.keys(pair);
- if (keys.length !== 1) return false;
- result[index] = [keys[0], pair[keys[0]]];
- }
- return true;
- }
- function constructYamlPairs(data) {
- if (data === null) return [];
- var index, length, pair, keys, result, object = data;
- result = new Array(object.length);
- for (index = 0, length = object.length; index < length; index += 1) {
- pair = object[index];
- keys = Object.keys(pair);
- result[index] = [keys[0], pair[keys[0]]];
- }
- return result;
- }
- module2.exports = new Type("tag:yaml.org,2002:pairs", {
- kind: "sequence",
- resolve: resolveYamlPairs,
- construct: constructYamlPairs
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/set.js
-var require_set = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/set.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- var _hasOwnProperty = Object.prototype.hasOwnProperty;
- function resolveYamlSet(data) {
- if (data === null) return true;
- var key, object = data;
- for (key in object) {
- if (_hasOwnProperty.call(object, key)) {
- if (object[key] !== null) return false;
- }
- }
- return true;
- }
- function constructYamlSet(data) {
- return data !== null ? data : {};
- }
- module2.exports = new Type("tag:yaml.org,2002:set", {
- kind: "mapping",
- resolve: resolveYamlSet,
- construct: constructYamlSet
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/schema/default_safe.js
-var require_default_safe = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/schema/default_safe.js"(exports2, module2) {
- "use strict";
- var Schema = require_schema();
- module2.exports = new Schema({
- include: [
- require_core()
- ],
- implicit: [
- require_timestamp(),
- require_merge()
- ],
- explicit: [
- require_binary(),
- require_omap(),
- require_pairs(),
- require_set()
- ]
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/js/undefined.js
-var require_undefined = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/js/undefined.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- function resolveJavascriptUndefined() {
- return true;
- }
- function constructJavascriptUndefined() {
- return void 0;
- }
- function representJavascriptUndefined() {
- return "";
- }
- function isUndefined(object) {
- return typeof object === "undefined";
- }
- module2.exports = new Type("tag:yaml.org,2002:js/undefined", {
- kind: "scalar",
- resolve: resolveJavascriptUndefined,
- construct: constructJavascriptUndefined,
- predicate: isUndefined,
- represent: representJavascriptUndefined
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
-var require_regexp = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/js/regexp.js"(exports2, module2) {
- "use strict";
- var Type = require_type();
- function resolveJavascriptRegExp(data) {
- if (data === null) return false;
- if (data.length === 0) return false;
- var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = "";
- if (regexp[0] === "/") {
- if (tail) modifiers = tail[1];
- if (modifiers.length > 3) return false;
- if (regexp[regexp.length - modifiers.length - 1] !== "/") return false;
- }
- return true;
- }
- function constructJavascriptRegExp(data) {
- var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = "";
- if (regexp[0] === "/") {
- if (tail) modifiers = tail[1];
- regexp = regexp.slice(1, regexp.length - modifiers.length - 1);
- }
- return new RegExp(regexp, modifiers);
- }
- function representJavascriptRegExp(object) {
- var result = "/" + object.source + "/";
- if (object.global) result += "g";
- if (object.multiline) result += "m";
- if (object.ignoreCase) result += "i";
- return result;
- }
- function isRegExp(object) {
- return Object.prototype.toString.call(object) === "[object RegExp]";
- }
- module2.exports = new Type("tag:yaml.org,2002:js/regexp", {
- kind: "scalar",
- resolve: resolveJavascriptRegExp,
- construct: constructJavascriptRegExp,
- predicate: isRegExp,
- represent: representJavascriptRegExp
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/type/js/function.js
-var require_function = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/type/js/function.js"(exports2, module2) {
- "use strict";
- var esprima;
- try {
- _require = __require;
- esprima = _require("esprima");
- } catch (_) {
- if (typeof window !== "undefined") esprima = window.esprima;
- }
- var _require;
- var Type = require_type();
- function resolveJavascriptFunction(data) {
- if (data === null) return false;
- try {
- var source = "(" + data + ")", ast = esprima.parse(source, { range: true });
- if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
- return false;
- }
- return true;
- } catch (err) {
- return false;
- }
- }
- function constructJavascriptFunction(data) {
- var source = "(" + data + ")", ast = esprima.parse(source, { range: true }), params = [], body;
- if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
- throw new Error("Failed to resolve function");
- }
- ast.body[0].expression.params.forEach(function(param) {
- params.push(param.name);
- });
- body = ast.body[0].expression.body.range;
- if (ast.body[0].expression.body.type === "BlockStatement") {
- return new Function(params, source.slice(body[0] + 1, body[1] - 1));
- }
- return new Function(params, "return " + source.slice(body[0], body[1]));
- }
- function representJavascriptFunction(object) {
- return object.toString();
- }
- function isFunction(object) {
- return Object.prototype.toString.call(object) === "[object Function]";
- }
- module2.exports = new Type("tag:yaml.org,2002:js/function", {
- kind: "scalar",
- resolve: resolveJavascriptFunction,
- construct: constructJavascriptFunction,
- predicate: isFunction,
- represent: representJavascriptFunction
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/schema/default_full.js
-var require_default_full = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/schema/default_full.js"(exports2, module2) {
- "use strict";
- var Schema = require_schema();
- module2.exports = Schema.DEFAULT = new Schema({
- include: [
- require_default_safe()
- ],
- explicit: [
- require_undefined(),
- require_regexp(),
- require_function()
- ]
- });
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/loader.js
-var require_loader = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/loader.js"(exports2, module2) {
- "use strict";
- var common = require_common();
- var YAMLException = require_exception();
- var Mark = require_mark();
- var DEFAULT_SAFE_SCHEMA = require_default_safe();
- var DEFAULT_FULL_SCHEMA = require_default_full();
- var _hasOwnProperty = Object.prototype.hasOwnProperty;
- var CONTEXT_FLOW_IN = 1;
- var CONTEXT_FLOW_OUT = 2;
- var CONTEXT_BLOCK_IN = 3;
- var CONTEXT_BLOCK_OUT = 4;
- var CHOMPING_CLIP = 1;
- var CHOMPING_STRIP = 2;
- var CHOMPING_KEEP = 3;
- var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
- var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
- var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
- var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
- var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
- function _class(obj) {
- return Object.prototype.toString.call(obj);
- }
- function is_EOL(c) {
- return c === 10 || c === 13;
- }
- function is_WHITE_SPACE(c) {
- return c === 9 || c === 32;
- }
- function is_WS_OR_EOL(c) {
- return c === 9 || c === 32 || c === 10 || c === 13;
- }
- function is_FLOW_INDICATOR(c) {
- return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;
- }
- function fromHexCode(c) {
- var lc;
- if (48 <= c && c <= 57) {
- return c - 48;
- }
- lc = c | 32;
- if (97 <= lc && lc <= 102) {
- return lc - 97 + 10;
- }
- return -1;
- }
- function escapedHexLen(c) {
- if (c === 120) {
- return 2;
- }
- if (c === 117) {
- return 4;
- }
- if (c === 85) {
- return 8;
- }
- return 0;
- }
- function fromDecimalCode(c) {
- if (48 <= c && c <= 57) {
- return c - 48;
- }
- return -1;
- }
- function simpleEscapeSequence(c) {
- return c === 48 ? "\0" : c === 97 ? "\x07" : c === 98 ? "\b" : c === 116 ? " " : c === 9 ? " " : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "\x1B" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "
" : c === 95 ? " " : c === 76 ? "\u2028" : c === 80 ? "\u2029" : "";
- }
- function charFromCodepoint(c) {
- if (c <= 65535) {
- return String.fromCharCode(c);
- }
- return String.fromCharCode(
- (c - 65536 >> 10) + 55296,
- (c - 65536 & 1023) + 56320
- );
- }
- var simpleEscapeCheck = new Array(256);
- var simpleEscapeMap = new Array(256);
- for (i = 0; i < 256; i++) {
- simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
- simpleEscapeMap[i] = simpleEscapeSequence(i);
- }
- var i;
- function State(input, options2) {
- this.input = input;
- this.filename = options2["filename"] || null;
- this.schema = options2["schema"] || DEFAULT_FULL_SCHEMA;
- this.onWarning = options2["onWarning"] || null;
- this.legacy = options2["legacy"] || false;
- this.json = options2["json"] || false;
- this.listener = options2["listener"] || null;
- this.implicitTypes = this.schema.compiledImplicit;
- this.typeMap = this.schema.compiledTypeMap;
- this.length = input.length;
- this.position = 0;
- this.line = 0;
- this.lineStart = 0;
- this.lineIndent = 0;
- this.documents = [];
- }
- function generateError(state, message) {
- return new YAMLException(
- message,
- new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart)
- );
- }
- function throwError(state, message) {
- throw generateError(state, message);
- }
- function throwWarning(state, message) {
- if (state.onWarning) {
- state.onWarning.call(null, generateError(state, message));
- }
- }
- var directiveHandlers = {
- YAML: function handleYamlDirective(state, name, args) {
- var match, major, minor;
- if (state.version !== null) {
- throwError(state, "duplication of %YAML directive");
- }
- if (args.length !== 1) {
- throwError(state, "YAML directive accepts exactly one argument");
- }
- match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
- if (match === null) {
- throwError(state, "ill-formed argument of the YAML directive");
- }
- major = parseInt(match[1], 10);
- minor = parseInt(match[2], 10);
- if (major !== 1) {
- throwError(state, "unacceptable YAML version of the document");
- }
- state.version = args[0];
- state.checkLineBreaks = minor < 2;
- if (minor !== 1 && minor !== 2) {
- throwWarning(state, "unsupported YAML version of the document");
- }
- },
- TAG: function handleTagDirective(state, name, args) {
- var handle, prefix;
- if (args.length !== 2) {
- throwError(state, "TAG directive accepts exactly two arguments");
- }
- handle = args[0];
- prefix = args[1];
- if (!PATTERN_TAG_HANDLE.test(handle)) {
- throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
- }
- if (_hasOwnProperty.call(state.tagMap, handle)) {
- throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
- }
- if (!PATTERN_TAG_URI.test(prefix)) {
- throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
- }
- state.tagMap[handle] = prefix;
- }
- };
- function captureSegment(state, start, end, checkJson) {
- var _position, _length, _character, _result;
- if (start < end) {
- _result = state.input.slice(start, end);
- if (checkJson) {
- for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
- _character = _result.charCodeAt(_position);
- if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {
- throwError(state, "expected valid JSON character");
- }
- }
- } else if (PATTERN_NON_PRINTABLE.test(_result)) {
- throwError(state, "the stream contains non-printable characters");
- }
- state.result += _result;
- }
- }
- function mergeMappings(state, destination, source, overridableKeys) {
- var sourceKeys, key, index, quantity;
- if (!common.isObject(source)) {
- throwError(state, "cannot merge mappings; the provided source object is unacceptable");
- }
- sourceKeys = Object.keys(source);
- for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
- key = sourceKeys[index];
- if (!_hasOwnProperty.call(destination, key)) {
- destination[key] = source[key];
- overridableKeys[key] = true;
- }
- }
- }
- function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {
- var index, quantity;
- if (Array.isArray(keyNode)) {
- keyNode = Array.prototype.slice.call(keyNode);
- for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {
- if (Array.isArray(keyNode[index])) {
- throwError(state, "nested arrays are not supported inside keys");
- }
- if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") {
- keyNode[index] = "[object Object]";
- }
- }
- }
- if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") {
- keyNode = "[object Object]";
- }
- keyNode = String(keyNode);
- if (_result === null) {
- _result = {};
- }
- if (keyTag === "tag:yaml.org,2002:merge") {
- if (Array.isArray(valueNode)) {
- for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
- mergeMappings(state, _result, valueNode[index], overridableKeys);
- }
- } else {
- mergeMappings(state, _result, valueNode, overridableKeys);
- }
- } else {
- if (!state.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) {
- state.line = startLine || state.line;
- state.position = startPos || state.position;
- throwError(state, "duplicated mapping key");
- }
- _result[keyNode] = valueNode;
- delete overridableKeys[keyNode];
- }
- return _result;
- }
- function readLineBreak(state) {
- var ch;
- ch = state.input.charCodeAt(state.position);
- if (ch === 10) {
- state.position++;
- } else if (ch === 13) {
- state.position++;
- if (state.input.charCodeAt(state.position) === 10) {
- state.position++;
- }
- } else {
- throwError(state, "a line break is expected");
- }
- state.line += 1;
- state.lineStart = state.position;
- }
- function skipSeparationSpace(state, allowComments, checkIndent) {
- var lineBreaks = 0, ch = state.input.charCodeAt(state.position);
- while (ch !== 0) {
- while (is_WHITE_SPACE(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- if (allowComments && ch === 35) {
- do {
- ch = state.input.charCodeAt(++state.position);
- } while (ch !== 10 && ch !== 13 && ch !== 0);
- }
- if (is_EOL(ch)) {
- readLineBreak(state);
- ch = state.input.charCodeAt(state.position);
- lineBreaks++;
- state.lineIndent = 0;
- while (ch === 32) {
- state.lineIndent++;
- ch = state.input.charCodeAt(++state.position);
- }
- } else {
- break;
- }
- }
- if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
- throwWarning(state, "deficient indentation");
- }
- return lineBreaks;
- }
- function testDocumentSeparator(state) {
- var _position = state.position, ch;
- ch = state.input.charCodeAt(_position);
- if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
- _position += 3;
- ch = state.input.charCodeAt(_position);
- if (ch === 0 || is_WS_OR_EOL(ch)) {
- return true;
- }
- }
- return false;
- }
- function writeFoldedLines(state, count) {
- if (count === 1) {
- state.result += " ";
- } else if (count > 1) {
- state.result += common.repeat("\n", count - 1);
- }
- }
- function readPlainScalar(state, nodeIndent, withinFlowCollection) {
- var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;
- ch = state.input.charCodeAt(state.position);
- if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {
- return false;
- }
- if (ch === 63 || ch === 45) {
- following = state.input.charCodeAt(state.position + 1);
- if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
- return false;
- }
- }
- state.kind = "scalar";
- state.result = "";
- captureStart = captureEnd = state.position;
- hasPendingContent = false;
- while (ch !== 0) {
- if (ch === 58) {
- following = state.input.charCodeAt(state.position + 1);
- if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
- break;
- }
- } else if (ch === 35) {
- preceding = state.input.charCodeAt(state.position - 1);
- if (is_WS_OR_EOL(preceding)) {
- break;
- }
- } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {
- break;
- } else if (is_EOL(ch)) {
- _line = state.line;
- _lineStart = state.lineStart;
- _lineIndent = state.lineIndent;
- skipSeparationSpace(state, false, -1);
- if (state.lineIndent >= nodeIndent) {
- hasPendingContent = true;
- ch = state.input.charCodeAt(state.position);
- continue;
- } else {
- state.position = captureEnd;
- state.line = _line;
- state.lineStart = _lineStart;
- state.lineIndent = _lineIndent;
- break;
- }
- }
- if (hasPendingContent) {
- captureSegment(state, captureStart, captureEnd, false);
- writeFoldedLines(state, state.line - _line);
- captureStart = captureEnd = state.position;
- hasPendingContent = false;
- }
- if (!is_WHITE_SPACE(ch)) {
- captureEnd = state.position + 1;
- }
- ch = state.input.charCodeAt(++state.position);
- }
- captureSegment(state, captureStart, captureEnd, false);
- if (state.result) {
- return true;
- }
- state.kind = _kind;
- state.result = _result;
- return false;
- }
- function readSingleQuotedScalar(state, nodeIndent) {
- var ch, captureStart, captureEnd;
- ch = state.input.charCodeAt(state.position);
- if (ch !== 39) {
- return false;
- }
- state.kind = "scalar";
- state.result = "";
- state.position++;
- captureStart = captureEnd = state.position;
- while ((ch = state.input.charCodeAt(state.position)) !== 0) {
- if (ch === 39) {
- captureSegment(state, captureStart, state.position, true);
- ch = state.input.charCodeAt(++state.position);
- if (ch === 39) {
- captureStart = state.position;
- state.position++;
- captureEnd = state.position;
- } else {
- return true;
- }
- } else if (is_EOL(ch)) {
- captureSegment(state, captureStart, captureEnd, true);
- writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
- captureStart = captureEnd = state.position;
- } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
- throwError(state, "unexpected end of the document within a single quoted scalar");
- } else {
- state.position++;
- captureEnd = state.position;
- }
- }
- throwError(state, "unexpected end of the stream within a single quoted scalar");
- }
- function readDoubleQuotedScalar(state, nodeIndent) {
- var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
- ch = state.input.charCodeAt(state.position);
- if (ch !== 34) {
- return false;
- }
- state.kind = "scalar";
- state.result = "";
- state.position++;
- captureStart = captureEnd = state.position;
- while ((ch = state.input.charCodeAt(state.position)) !== 0) {
- if (ch === 34) {
- captureSegment(state, captureStart, state.position, true);
- state.position++;
- return true;
- } else if (ch === 92) {
- captureSegment(state, captureStart, state.position, true);
- ch = state.input.charCodeAt(++state.position);
- if (is_EOL(ch)) {
- skipSeparationSpace(state, false, nodeIndent);
- } else if (ch < 256 && simpleEscapeCheck[ch]) {
- state.result += simpleEscapeMap[ch];
- state.position++;
- } else if ((tmp = escapedHexLen(ch)) > 0) {
- hexLength = tmp;
- hexResult = 0;
- for (; hexLength > 0; hexLength--) {
- ch = state.input.charCodeAt(++state.position);
- if ((tmp = fromHexCode(ch)) >= 0) {
- hexResult = (hexResult << 4) + tmp;
- } else {
- throwError(state, "expected hexadecimal character");
- }
- }
- state.result += charFromCodepoint(hexResult);
- state.position++;
- } else {
- throwError(state, "unknown escape sequence");
- }
- captureStart = captureEnd = state.position;
- } else if (is_EOL(ch)) {
- captureSegment(state, captureStart, captureEnd, true);
- writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
- captureStart = captureEnd = state.position;
- } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
- throwError(state, "unexpected end of the document within a double quoted scalar");
- } else {
- state.position++;
- captureEnd = state.position;
- }
- }
- throwError(state, "unexpected end of the stream within a double quoted scalar");
- }
- function readFlowCollection(state, nodeIndent) {
- var readNext = true, _line, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = {}, keyNode, keyTag, valueNode, ch;
- ch = state.input.charCodeAt(state.position);
- if (ch === 91) {
- terminator = 93;
- isMapping = false;
- _result = [];
- } else if (ch === 123) {
- terminator = 125;
- isMapping = true;
- _result = {};
- } else {
- return false;
- }
- if (state.anchor !== null) {
- state.anchorMap[state.anchor] = _result;
- }
- ch = state.input.charCodeAt(++state.position);
- while (ch !== 0) {
- skipSeparationSpace(state, true, nodeIndent);
- ch = state.input.charCodeAt(state.position);
- if (ch === terminator) {
- state.position++;
- state.tag = _tag;
- state.anchor = _anchor;
- state.kind = isMapping ? "mapping" : "sequence";
- state.result = _result;
- return true;
- } else if (!readNext) {
- throwError(state, "missed comma between flow collection entries");
- }
- keyTag = keyNode = valueNode = null;
- isPair = isExplicitPair = false;
- if (ch === 63) {
- following = state.input.charCodeAt(state.position + 1);
- if (is_WS_OR_EOL(following)) {
- isPair = isExplicitPair = true;
- state.position++;
- skipSeparationSpace(state, true, nodeIndent);
- }
- }
- _line = state.line;
- composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
- keyTag = state.tag;
- keyNode = state.result;
- skipSeparationSpace(state, true, nodeIndent);
- ch = state.input.charCodeAt(state.position);
- if ((isExplicitPair || state.line === _line) && ch === 58) {
- isPair = true;
- ch = state.input.charCodeAt(++state.position);
- skipSeparationSpace(state, true, nodeIndent);
- composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
- valueNode = state.result;
- }
- if (isMapping) {
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);
- } else if (isPair) {
- _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));
- } else {
- _result.push(keyNode);
- }
- skipSeparationSpace(state, true, nodeIndent);
- ch = state.input.charCodeAt(state.position);
- if (ch === 44) {
- readNext = true;
- ch = state.input.charCodeAt(++state.position);
- } else {
- readNext = false;
- }
- }
- throwError(state, "unexpected end of the stream within a flow collection");
- }
- function readBlockScalar(state, nodeIndent) {
- var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;
- ch = state.input.charCodeAt(state.position);
- if (ch === 124) {
- folding = false;
- } else if (ch === 62) {
- folding = true;
- } else {
- return false;
- }
- state.kind = "scalar";
- state.result = "";
- while (ch !== 0) {
- ch = state.input.charCodeAt(++state.position);
- if (ch === 43 || ch === 45) {
- if (CHOMPING_CLIP === chomping) {
- chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
- } else {
- throwError(state, "repeat of a chomping mode identifier");
- }
- } else if ((tmp = fromDecimalCode(ch)) >= 0) {
- if (tmp === 0) {
- throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
- } else if (!detectedIndent) {
- textIndent = nodeIndent + tmp - 1;
- detectedIndent = true;
- } else {
- throwError(state, "repeat of an indentation width identifier");
- }
- } else {
- break;
- }
- }
- if (is_WHITE_SPACE(ch)) {
- do {
- ch = state.input.charCodeAt(++state.position);
- } while (is_WHITE_SPACE(ch));
- if (ch === 35) {
- do {
- ch = state.input.charCodeAt(++state.position);
- } while (!is_EOL(ch) && ch !== 0);
- }
- }
- while (ch !== 0) {
- readLineBreak(state);
- state.lineIndent = 0;
- ch = state.input.charCodeAt(state.position);
- while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
- state.lineIndent++;
- ch = state.input.charCodeAt(++state.position);
- }
- if (!detectedIndent && state.lineIndent > textIndent) {
- textIndent = state.lineIndent;
- }
- if (is_EOL(ch)) {
- emptyLines++;
- continue;
- }
- if (state.lineIndent < textIndent) {
- if (chomping === CHOMPING_KEEP) {
- state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
- } else if (chomping === CHOMPING_CLIP) {
- if (didReadContent) {
- state.result += "\n";
- }
- }
- break;
- }
- if (folding) {
- if (is_WHITE_SPACE(ch)) {
- atMoreIndented = true;
- state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
- } else if (atMoreIndented) {
- atMoreIndented = false;
- state.result += common.repeat("\n", emptyLines + 1);
- } else if (emptyLines === 0) {
- if (didReadContent) {
- state.result += " ";
- }
- } else {
- state.result += common.repeat("\n", emptyLines);
- }
- } else {
- state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
- }
- didReadContent = true;
- detectedIndent = true;
- emptyLines = 0;
- captureStart = state.position;
- while (!is_EOL(ch) && ch !== 0) {
- ch = state.input.charCodeAt(++state.position);
- }
- captureSegment(state, captureStart, state.position, false);
- }
- return true;
- }
- function readBlockSequence(state, nodeIndent) {
- var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;
- if (state.anchor !== null) {
- state.anchorMap[state.anchor] = _result;
- }
- ch = state.input.charCodeAt(state.position);
- while (ch !== 0) {
- if (ch !== 45) {
- break;
- }
- following = state.input.charCodeAt(state.position + 1);
- if (!is_WS_OR_EOL(following)) {
- break;
- }
- detected = true;
- state.position++;
- if (skipSeparationSpace(state, true, -1)) {
- if (state.lineIndent <= nodeIndent) {
- _result.push(null);
- ch = state.input.charCodeAt(state.position);
- continue;
- }
- }
- _line = state.line;
- composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
- _result.push(state.result);
- skipSeparationSpace(state, true, -1);
- ch = state.input.charCodeAt(state.position);
- if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
- throwError(state, "bad indentation of a sequence entry");
- } else if (state.lineIndent < nodeIndent) {
- break;
- }
- }
- if (detected) {
- state.tag = _tag;
- state.anchor = _anchor;
- state.kind = "sequence";
- state.result = _result;
- return true;
- }
- return false;
- }
- function readBlockMapping(state, nodeIndent, flowIndent) {
- var following, allowCompact, _line, _pos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = {}, keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;
- if (state.anchor !== null) {
- state.anchorMap[state.anchor] = _result;
- }
- ch = state.input.charCodeAt(state.position);
- while (ch !== 0) {
- following = state.input.charCodeAt(state.position + 1);
- _line = state.line;
- _pos = state.position;
- if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {
- if (ch === 63) {
- if (atExplicitKey) {
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
- keyTag = keyNode = valueNode = null;
- }
- detected = true;
- atExplicitKey = true;
- allowCompact = true;
- } else if (atExplicitKey) {
- atExplicitKey = false;
- allowCompact = true;
- } else {
- throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
- }
- state.position += 1;
- ch = following;
- } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
- if (state.line === _line) {
- ch = state.input.charCodeAt(state.position);
- while (is_WHITE_SPACE(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- if (ch === 58) {
- ch = state.input.charCodeAt(++state.position);
- if (!is_WS_OR_EOL(ch)) {
- throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
- }
- if (atExplicitKey) {
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
- keyTag = keyNode = valueNode = null;
- }
- detected = true;
- atExplicitKey = false;
- allowCompact = false;
- keyTag = state.tag;
- keyNode = state.result;
- } else if (detected) {
- throwError(state, "can not read an implicit mapping pair; a colon is missed");
- } else {
- state.tag = _tag;
- state.anchor = _anchor;
- return true;
- }
- } else if (detected) {
- throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
- } else {
- state.tag = _tag;
- state.anchor = _anchor;
- return true;
- }
- } else {
- break;
- }
- if (state.line === _line || state.lineIndent > nodeIndent) {
- if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
- if (atExplicitKey) {
- keyNode = state.result;
- } else {
- valueNode = state.result;
- }
- }
- if (!atExplicitKey) {
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);
- keyTag = keyNode = valueNode = null;
- }
- skipSeparationSpace(state, true, -1);
- ch = state.input.charCodeAt(state.position);
- }
- if (state.lineIndent > nodeIndent && ch !== 0) {
- throwError(state, "bad indentation of a mapping entry");
- } else if (state.lineIndent < nodeIndent) {
- break;
- }
- }
- if (atExplicitKey) {
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
- }
- if (detected) {
- state.tag = _tag;
- state.anchor = _anchor;
- state.kind = "mapping";
- state.result = _result;
- }
- return detected;
- }
- function readTagProperty(state) {
- var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;
- ch = state.input.charCodeAt(state.position);
- if (ch !== 33) return false;
- if (state.tag !== null) {
- throwError(state, "duplication of a tag property");
- }
- ch = state.input.charCodeAt(++state.position);
- if (ch === 60) {
- isVerbatim = true;
- ch = state.input.charCodeAt(++state.position);
- } else if (ch === 33) {
- isNamed = true;
- tagHandle = "!!";
- ch = state.input.charCodeAt(++state.position);
- } else {
- tagHandle = "!";
- }
- _position = state.position;
- if (isVerbatim) {
- do {
- ch = state.input.charCodeAt(++state.position);
- } while (ch !== 0 && ch !== 62);
- if (state.position < state.length) {
- tagName = state.input.slice(_position, state.position);
- ch = state.input.charCodeAt(++state.position);
- } else {
- throwError(state, "unexpected end of the stream within a verbatim tag");
- }
- } else {
- while (ch !== 0 && !is_WS_OR_EOL(ch)) {
- if (ch === 33) {
- if (!isNamed) {
- tagHandle = state.input.slice(_position - 1, state.position + 1);
- if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
- throwError(state, "named tag handle cannot contain such characters");
- }
- isNamed = true;
- _position = state.position + 1;
- } else {
- throwError(state, "tag suffix cannot contain exclamation marks");
- }
- }
- ch = state.input.charCodeAt(++state.position);
- }
- tagName = state.input.slice(_position, state.position);
- if (PATTERN_FLOW_INDICATORS.test(tagName)) {
- throwError(state, "tag suffix cannot contain flow indicator characters");
- }
- }
- if (tagName && !PATTERN_TAG_URI.test(tagName)) {
- throwError(state, "tag name cannot contain such characters: " + tagName);
- }
- if (isVerbatim) {
- state.tag = tagName;
- } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {
- state.tag = state.tagMap[tagHandle] + tagName;
- } else if (tagHandle === "!") {
- state.tag = "!" + tagName;
- } else if (tagHandle === "!!") {
- state.tag = "tag:yaml.org,2002:" + tagName;
- } else {
- throwError(state, 'undeclared tag handle "' + tagHandle + '"');
- }
- return true;
- }
- function readAnchorProperty(state) {
- var _position, ch;
- ch = state.input.charCodeAt(state.position);
- if (ch !== 38) return false;
- if (state.anchor !== null) {
- throwError(state, "duplication of an anchor property");
- }
- ch = state.input.charCodeAt(++state.position);
- _position = state.position;
- while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- if (state.position === _position) {
- throwError(state, "name of an anchor node must contain at least one character");
- }
- state.anchor = state.input.slice(_position, state.position);
- return true;
- }
- function readAlias(state) {
- var _position, alias, ch;
- ch = state.input.charCodeAt(state.position);
- if (ch !== 42) return false;
- ch = state.input.charCodeAt(++state.position);
- _position = state.position;
- while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- if (state.position === _position) {
- throwError(state, "name of an alias node must contain at least one character");
- }
- alias = state.input.slice(_position, state.position);
- if (!_hasOwnProperty.call(state.anchorMap, alias)) {
- throwError(state, 'unidentified alias "' + alias + '"');
- }
- state.result = state.anchorMap[alias];
- skipSeparationSpace(state, true, -1);
- return true;
- }
- function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
- var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, type, flowIndent, blockIndent;
- if (state.listener !== null) {
- state.listener("open", state);
- }
- state.tag = null;
- state.anchor = null;
- state.kind = null;
- state.result = null;
- allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
- if (allowToSeek) {
- if (skipSeparationSpace(state, true, -1)) {
- atNewLine = true;
- if (state.lineIndent > parentIndent) {
- indentStatus = 1;
- } else if (state.lineIndent === parentIndent) {
- indentStatus = 0;
- } else if (state.lineIndent < parentIndent) {
- indentStatus = -1;
- }
- }
- }
- if (indentStatus === 1) {
- while (readTagProperty(state) || readAnchorProperty(state)) {
- if (skipSeparationSpace(state, true, -1)) {
- atNewLine = true;
- allowBlockCollections = allowBlockStyles;
- if (state.lineIndent > parentIndent) {
- indentStatus = 1;
- } else if (state.lineIndent === parentIndent) {
- indentStatus = 0;
- } else if (state.lineIndent < parentIndent) {
- indentStatus = -1;
- }
- } else {
- allowBlockCollections = false;
- }
- }
- }
- if (allowBlockCollections) {
- allowBlockCollections = atNewLine || allowCompact;
- }
- if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
- if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
- flowIndent = parentIndent;
- } else {
- flowIndent = parentIndent + 1;
- }
- blockIndent = state.position - state.lineStart;
- if (indentStatus === 1) {
- if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {
- hasContent = true;
- } else {
- if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {
- hasContent = true;
- } else if (readAlias(state)) {
- hasContent = true;
- if (state.tag !== null || state.anchor !== null) {
- throwError(state, "alias node should not have any properties");
- }
- } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
- hasContent = true;
- if (state.tag === null) {
- state.tag = "?";
- }
- }
- if (state.anchor !== null) {
- state.anchorMap[state.anchor] = state.result;
- }
- }
- } else if (indentStatus === 0) {
- hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
- }
- }
- if (state.tag !== null && state.tag !== "!") {
- if (state.tag === "?") {
- if (state.result !== null && state.kind !== "scalar") {
- throwError(state, 'unacceptable node kind for !> tag; it should be "scalar", not "' + state.kind + '"');
- }
- for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
- type = state.implicitTypes[typeIndex];
- if (type.resolve(state.result)) {
- state.result = type.construct(state.result);
- state.tag = type.tag;
- if (state.anchor !== null) {
- state.anchorMap[state.anchor] = state.result;
- }
- break;
- }
- }
- } else if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) {
- type = state.typeMap[state.kind || "fallback"][state.tag];
- if (state.result !== null && type.kind !== state.kind) {
- throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
- }
- if (!type.resolve(state.result)) {
- throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
- } else {
- state.result = type.construct(state.result);
- if (state.anchor !== null) {
- state.anchorMap[state.anchor] = state.result;
- }
- }
- } else {
- throwError(state, "unknown tag !<" + state.tag + ">");
- }
- }
- if (state.listener !== null) {
- state.listener("close", state);
- }
- return state.tag !== null || state.anchor !== null || hasContent;
- }
- function readDocument(state) {
- var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;
- state.version = null;
- state.checkLineBreaks = state.legacy;
- state.tagMap = {};
- state.anchorMap = {};
- while ((ch = state.input.charCodeAt(state.position)) !== 0) {
- skipSeparationSpace(state, true, -1);
- ch = state.input.charCodeAt(state.position);
- if (state.lineIndent > 0 || ch !== 37) {
- break;
- }
- hasDirectives = true;
- ch = state.input.charCodeAt(++state.position);
- _position = state.position;
- while (ch !== 0 && !is_WS_OR_EOL(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- directiveName = state.input.slice(_position, state.position);
- directiveArgs = [];
- if (directiveName.length < 1) {
- throwError(state, "directive name must not be less than one character in length");
- }
- while (ch !== 0) {
- while (is_WHITE_SPACE(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- if (ch === 35) {
- do {
- ch = state.input.charCodeAt(++state.position);
- } while (ch !== 0 && !is_EOL(ch));
- break;
- }
- if (is_EOL(ch)) break;
- _position = state.position;
- while (ch !== 0 && !is_WS_OR_EOL(ch)) {
- ch = state.input.charCodeAt(++state.position);
- }
- directiveArgs.push(state.input.slice(_position, state.position));
- }
- if (ch !== 0) readLineBreak(state);
- if (_hasOwnProperty.call(directiveHandlers, directiveName)) {
- directiveHandlers[directiveName](state, directiveName, directiveArgs);
- } else {
- throwWarning(state, 'unknown document directive "' + directiveName + '"');
- }
- }
- skipSeparationSpace(state, true, -1);
- if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
- state.position += 3;
- skipSeparationSpace(state, true, -1);
- } else if (hasDirectives) {
- throwError(state, "directives end mark is expected");
- }
- composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
- skipSeparationSpace(state, true, -1);
- if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
- throwWarning(state, "non-ASCII line breaks are interpreted as content");
- }
- state.documents.push(state.result);
- if (state.position === state.lineStart && testDocumentSeparator(state)) {
- if (state.input.charCodeAt(state.position) === 46) {
- state.position += 3;
- skipSeparationSpace(state, true, -1);
- }
- return;
- }
- if (state.position < state.length - 1) {
- throwError(state, "end of the stream or a document separator is expected");
- } else {
- return;
- }
- }
- function loadDocuments(input, options2) {
- input = String(input);
- options2 = options2 || {};
- if (input.length !== 0) {
- if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {
- input += "\n";
- }
- if (input.charCodeAt(0) === 65279) {
- input = input.slice(1);
- }
- }
- var state = new State(input, options2);
- var nullpos = input.indexOf("\0");
- if (nullpos !== -1) {
- state.position = nullpos;
- throwError(state, "null byte is not allowed in input");
- }
- state.input += "\0";
- while (state.input.charCodeAt(state.position) === 32) {
- state.lineIndent += 1;
- state.position += 1;
- }
- while (state.position < state.length - 1) {
- readDocument(state);
- }
- return state.documents;
- }
- function loadAll(input, iterator, options2) {
- if (iterator !== null && typeof iterator === "object" && typeof options2 === "undefined") {
- options2 = iterator;
- iterator = null;
- }
- var documents = loadDocuments(input, options2);
- if (typeof iterator !== "function") {
- return documents;
- }
- for (var index = 0, length = documents.length; index < length; index += 1) {
- iterator(documents[index]);
- }
- }
- function load(input, options2) {
- var documents = loadDocuments(input, options2);
- if (documents.length === 0) {
- return void 0;
- } else if (documents.length === 1) {
- return documents[0];
- }
- throw new YAMLException("expected a single document in the stream, but found more");
- }
- function safeLoadAll(input, iterator, options2) {
- if (typeof iterator === "object" && iterator !== null && typeof options2 === "undefined") {
- options2 = iterator;
- iterator = null;
- }
- return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options2));
- }
- function safeLoad(input, options2) {
- return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options2));
- }
- module2.exports.loadAll = loadAll;
- module2.exports.load = load;
- module2.exports.safeLoadAll = safeLoadAll;
- module2.exports.safeLoad = safeLoad;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml/dumper.js
-var require_dumper = __commonJS({
- "node_modules/js-yaml/lib/js-yaml/dumper.js"(exports2, module2) {
- "use strict";
- var common = require_common();
- var YAMLException = require_exception();
- var DEFAULT_FULL_SCHEMA = require_default_full();
- var DEFAULT_SAFE_SCHEMA = require_default_safe();
- var _toString = Object.prototype.toString;
- var _hasOwnProperty = Object.prototype.hasOwnProperty;
- var CHAR_TAB = 9;
- var CHAR_LINE_FEED = 10;
- var CHAR_CARRIAGE_RETURN = 13;
- var CHAR_SPACE = 32;
- var CHAR_EXCLAMATION = 33;
- var CHAR_DOUBLE_QUOTE = 34;
- var CHAR_SHARP = 35;
- var CHAR_PERCENT = 37;
- var CHAR_AMPERSAND = 38;
- var CHAR_SINGLE_QUOTE = 39;
- var CHAR_ASTERISK = 42;
- var CHAR_COMMA = 44;
- var CHAR_MINUS = 45;
- var CHAR_COLON = 58;
- var CHAR_EQUALS = 61;
- var CHAR_GREATER_THAN = 62;
- var CHAR_QUESTION = 63;
- var CHAR_COMMERCIAL_AT = 64;
- var CHAR_LEFT_SQUARE_BRACKET = 91;
- var CHAR_RIGHT_SQUARE_BRACKET = 93;
- var CHAR_GRAVE_ACCENT = 96;
- var CHAR_LEFT_CURLY_BRACKET = 123;
- var CHAR_VERTICAL_LINE = 124;
- var CHAR_RIGHT_CURLY_BRACKET = 125;
- var ESCAPE_SEQUENCES = {};
- ESCAPE_SEQUENCES[0] = "\\0";
- ESCAPE_SEQUENCES[7] = "\\a";
- ESCAPE_SEQUENCES[8] = "\\b";
- ESCAPE_SEQUENCES[9] = "\\t";
- ESCAPE_SEQUENCES[10] = "\\n";
- ESCAPE_SEQUENCES[11] = "\\v";
- ESCAPE_SEQUENCES[12] = "\\f";
- ESCAPE_SEQUENCES[13] = "\\r";
- ESCAPE_SEQUENCES[27] = "\\e";
- ESCAPE_SEQUENCES[34] = '\\"';
- ESCAPE_SEQUENCES[92] = "\\\\";
- ESCAPE_SEQUENCES[133] = "\\N";
- ESCAPE_SEQUENCES[160] = "\\_";
- ESCAPE_SEQUENCES[8232] = "\\L";
- ESCAPE_SEQUENCES[8233] = "\\P";
- var DEPRECATED_BOOLEANS_SYNTAX = [
- "y",
- "Y",
- "yes",
- "Yes",
- "YES",
- "on",
- "On",
- "ON",
- "n",
- "N",
- "no",
- "No",
- "NO",
- "off",
- "Off",
- "OFF"
- ];
- function compileStyleMap(schema, map) {
- var result, keys, index, length, tag, style, type;
- if (map === null) return {};
- result = {};
- keys = Object.keys(map);
- for (index = 0, length = keys.length; index < length; index += 1) {
- tag = keys[index];
- style = String(map[tag]);
- if (tag.slice(0, 2) === "!!") {
- tag = "tag:yaml.org,2002:" + tag.slice(2);
- }
- type = schema.compiledTypeMap["fallback"][tag];
- if (type && _hasOwnProperty.call(type.styleAliases, style)) {
- style = type.styleAliases[style];
- }
- result[tag] = style;
- }
- return result;
- }
- function encodeHex(character) {
- var string, handle, length;
- string = character.toString(16).toUpperCase();
- if (character <= 255) {
- handle = "x";
- length = 2;
- } else if (character <= 65535) {
- handle = "u";
- length = 4;
- } else if (character <= 4294967295) {
- handle = "U";
- length = 8;
- } else {
- throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF");
- }
- return "\\" + handle + common.repeat("0", length - string.length) + string;
- }
- function State(options2) {
- this.schema = options2["schema"] || DEFAULT_FULL_SCHEMA;
- this.indent = Math.max(1, options2["indent"] || 2);
- this.noArrayIndent = options2["noArrayIndent"] || false;
- this.skipInvalid = options2["skipInvalid"] || false;
- this.flowLevel = common.isNothing(options2["flowLevel"]) ? -1 : options2["flowLevel"];
- this.styleMap = compileStyleMap(this.schema, options2["styles"] || null);
- this.sortKeys = options2["sortKeys"] || false;
- this.lineWidth = options2["lineWidth"] || 80;
- this.noRefs = options2["noRefs"] || false;
- this.noCompatMode = options2["noCompatMode"] || false;
- this.condenseFlow = options2["condenseFlow"] || false;
- this.implicitTypes = this.schema.compiledImplicit;
- this.explicitTypes = this.schema.compiledExplicit;
- this.tag = null;
- this.result = "";
- this.duplicates = [];
- this.usedDuplicates = null;
- }
- function indentString(string, spaces) {
- var ind = common.repeat(" ", spaces), position = 0, next = -1, result = "", line, length = string.length;
- while (position < length) {
- next = string.indexOf("\n", position);
- if (next === -1) {
- line = string.slice(position);
- position = length;
- } else {
- line = string.slice(position, next + 1);
- position = next + 1;
- }
- if (line.length && line !== "\n") result += ind;
- result += line;
- }
- return result;
- }
- function generateNextLine(state, level) {
- return "\n" + common.repeat(" ", state.indent * level);
- }
- function testImplicitResolving(state, str2) {
- var index, length, type;
- for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {
- type = state.implicitTypes[index];
- if (type.resolve(str2)) {
- return true;
- }
- }
- return false;
- }
- function isWhitespace(c) {
- return c === CHAR_SPACE || c === CHAR_TAB;
- }
- function isPrintable(c) {
- return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== 65279 || 65536 <= c && c <= 1114111;
- }
- function isNsChar(c) {
- return isPrintable(c) && !isWhitespace(c) && c !== 65279 && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;
- }
- function isPlainSafe(c, prev) {
- return isPrintable(c) && c !== 65279 && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_COLON && (c !== CHAR_SHARP || prev && isNsChar(prev));
- }
- function isPlainSafeFirst(c) {
- return isPrintable(c) && c !== 65279 && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;
- }
- function needIndentIndicator(string) {
- var leadingSpaceRe = /^\n* /;
- return leadingSpaceRe.test(string);
- }
- var STYLE_PLAIN = 1;
- var STYLE_SINGLE = 2;
- var STYLE_LITERAL = 3;
- var STYLE_FOLDED = 4;
- var STYLE_DOUBLE = 5;
- function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {
- var i;
- var char, prev_char;
- var hasLineBreak = false;
- var hasFoldableLine = false;
- var shouldTrackWidth = lineWidth !== -1;
- var previousLineBreak = -1;
- var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1));
- if (singleLineOnly) {
- for (i = 0; i < string.length; i++) {
- char = string.charCodeAt(i);
- if (!isPrintable(char)) {
- return STYLE_DOUBLE;
- }
- prev_char = i > 0 ? string.charCodeAt(i - 1) : null;
- plain = plain && isPlainSafe(char, prev_char);
- }
- } else {
- for (i = 0; i < string.length; i++) {
- char = string.charCodeAt(i);
- if (char === CHAR_LINE_FEED) {
- hasLineBreak = true;
- if (shouldTrackWidth) {
- hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.
- i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
- previousLineBreak = i;
- }
- } else if (!isPrintable(char)) {
- return STYLE_DOUBLE;
- }
- prev_char = i > 0 ? string.charCodeAt(i - 1) : null;
- plain = plain && isPlainSafe(char, prev_char);
- }
- hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ");
- }
- if (!hasLineBreak && !hasFoldableLine) {
- return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE;
- }
- if (indentPerLevel > 9 && needIndentIndicator(string)) {
- return STYLE_DOUBLE;
- }
- return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
- }
- function writeScalar(state, string, level, iskey) {
- state.dump = function() {
- if (string.length === 0) {
- return "''";
- }
- if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {
- return "'" + string + "'";
- }
- var indent = state.indent * Math.max(1, level);
- var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
- var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;
- function testAmbiguity(string2) {
- return testImplicitResolving(state, string2);
- }
- switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {
- case STYLE_PLAIN:
- return string;
- case STYLE_SINGLE:
- return "'" + string.replace(/'/g, "''") + "'";
- case STYLE_LITERAL:
- return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));
- case STYLE_FOLDED:
- return ">" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
- case STYLE_DOUBLE:
- return '"' + escapeString(string, lineWidth) + '"';
- default:
- throw new YAMLException("impossible error: invalid scalar style");
- }
- }();
- }
- function blockHeader(string, indentPerLevel) {
- var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : "";
- var clip = string[string.length - 1] === "\n";
- var keep = clip && (string[string.length - 2] === "\n" || string === "\n");
- var chomp = keep ? "+" : clip ? "" : "-";
- return indentIndicator + chomp + "\n";
- }
- function dropEndingNewline(string) {
- return string[string.length - 1] === "\n" ? string.slice(0, -1) : string;
- }
- function foldString(string, width) {
- var lineRe = /(\n+)([^\n]*)/g;
- var result = function() {
- var nextLF = string.indexOf("\n");
- nextLF = nextLF !== -1 ? nextLF : string.length;
- lineRe.lastIndex = nextLF;
- return foldLine(string.slice(0, nextLF), width);
- }();
- var prevMoreIndented = string[0] === "\n" || string[0] === " ";
- var moreIndented;
- var match;
- while (match = lineRe.exec(string)) {
- var prefix = match[1], line = match[2];
- moreIndented = line[0] === " ";
- result += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
- prevMoreIndented = moreIndented;
- }
- return result;
- }
- function foldLine(line, width) {
- if (line === "" || line[0] === " ") return line;
- var breakRe = / [^ ]/g;
- var match;
- var start = 0, end, curr = 0, next = 0;
- var result = "";
- while (match = breakRe.exec(line)) {
- next = match.index;
- if (next - start > width) {
- end = curr > start ? curr : next;
- result += "\n" + line.slice(start, end);
- start = end + 1;
- }
- curr = next;
- }
- result += "\n";
- if (line.length - start > width && curr > start) {
- result += line.slice(start, curr) + "\n" + line.slice(curr + 1);
- } else {
- result += line.slice(start);
- }
- return result.slice(1);
- }
- function escapeString(string) {
- var result = "";
- var char, nextChar;
- var escapeSeq;
- for (var i = 0; i < string.length; i++) {
- char = string.charCodeAt(i);
- if (char >= 55296 && char <= 56319) {
- nextChar = string.charCodeAt(i + 1);
- if (nextChar >= 56320 && nextChar <= 57343) {
- result += encodeHex((char - 55296) * 1024 + nextChar - 56320 + 65536);
- i++;
- continue;
- }
- }
- escapeSeq = ESCAPE_SEQUENCES[char];
- result += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char);
- }
- return result;
- }
- function writeFlowSequence(state, level, object) {
- var _result = "", _tag = state.tag, index, length;
- for (index = 0, length = object.length; index < length; index += 1) {
- if (writeNode(state, level, object[index], false, false)) {
- if (index !== 0) _result += "," + (!state.condenseFlow ? " " : "");
- _result += state.dump;
- }
- }
- state.tag = _tag;
- state.dump = "[" + _result + "]";
- }
- function writeBlockSequence(state, level, object, compact) {
- var _result = "", _tag = state.tag, index, length;
- for (index = 0, length = object.length; index < length; index += 1) {
- if (writeNode(state, level + 1, object[index], true, true)) {
- if (!compact || index !== 0) {
- _result += generateNextLine(state, level);
- }
- if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
- _result += "-";
- } else {
- _result += "- ";
- }
- _result += state.dump;
- }
- }
- state.tag = _tag;
- state.dump = _result || "[]";
- }
- function writeFlowMapping(state, level, object) {
- var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, pairBuffer;
- for (index = 0, length = objectKeyList.length; index < length; index += 1) {
- pairBuffer = "";
- if (index !== 0) pairBuffer += ", ";
- if (state.condenseFlow) pairBuffer += '"';
- objectKey = objectKeyList[index];
- objectValue = object[objectKey];
- if (!writeNode(state, level, objectKey, false, false)) {
- continue;
- }
- if (state.dump.length > 1024) pairBuffer += "? ";
- pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
- if (!writeNode(state, level, objectValue, false, false)) {
- continue;
- }
- pairBuffer += state.dump;
- _result += pairBuffer;
- }
- state.tag = _tag;
- state.dump = "{" + _result + "}";
- }
- function writeBlockMapping(state, level, object, compact) {
- var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, explicitPair, pairBuffer;
- if (state.sortKeys === true) {
- objectKeyList.sort();
- } else if (typeof state.sortKeys === "function") {
- objectKeyList.sort(state.sortKeys);
- } else if (state.sortKeys) {
- throw new YAMLException("sortKeys must be a boolean or a function");
- }
- for (index = 0, length = objectKeyList.length; index < length; index += 1) {
- pairBuffer = "";
- if (!compact || index !== 0) {
- pairBuffer += generateNextLine(state, level);
- }
- objectKey = objectKeyList[index];
- objectValue = object[objectKey];
- if (!writeNode(state, level + 1, objectKey, true, true, true)) {
- continue;
- }
- explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
- if (explicitPair) {
- if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
- pairBuffer += "?";
- } else {
- pairBuffer += "? ";
- }
- }
- pairBuffer += state.dump;
- if (explicitPair) {
- pairBuffer += generateNextLine(state, level);
- }
- if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {
- continue;
- }
- if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
- pairBuffer += ":";
- } else {
- pairBuffer += ": ";
- }
- pairBuffer += state.dump;
- _result += pairBuffer;
- }
- state.tag = _tag;
- state.dump = _result || "{}";
- }
- function detectType(state, object, explicit) {
- var _result, typeList, index, length, type, style;
- typeList = explicit ? state.explicitTypes : state.implicitTypes;
- for (index = 0, length = typeList.length; index < length; index += 1) {
- type = typeList[index];
- if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {
- state.tag = explicit ? type.tag : "?";
- if (type.represent) {
- style = state.styleMap[type.tag] || type.defaultStyle;
- if (_toString.call(type.represent) === "[object Function]") {
- _result = type.represent(object, style);
- } else if (_hasOwnProperty.call(type.represent, style)) {
- _result = type.represent[style](object, style);
- } else {
- throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style');
- }
- state.dump = _result;
- }
- return true;
- }
- }
- return false;
- }
- function writeNode(state, level, object, block, compact, iskey) {
- state.tag = null;
- state.dump = object;
- if (!detectType(state, object, false)) {
- detectType(state, object, true);
- }
- var type = _toString.call(state.dump);
- if (block) {
- block = state.flowLevel < 0 || state.flowLevel > level;
- }
- var objectOrArray = type === "[object Object]" || type === "[object Array]", duplicateIndex, duplicate;
- if (objectOrArray) {
- duplicateIndex = state.duplicates.indexOf(object);
- duplicate = duplicateIndex !== -1;
- }
- if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) {
- compact = false;
- }
- if (duplicate && state.usedDuplicates[duplicateIndex]) {
- state.dump = "*ref_" + duplicateIndex;
- } else {
- if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
- state.usedDuplicates[duplicateIndex] = true;
- }
- if (type === "[object Object]") {
- if (block && Object.keys(state.dump).length !== 0) {
- writeBlockMapping(state, level, state.dump, compact);
- if (duplicate) {
- state.dump = "&ref_" + duplicateIndex + state.dump;
- }
- } else {
- writeFlowMapping(state, level, state.dump);
- if (duplicate) {
- state.dump = "&ref_" + duplicateIndex + " " + state.dump;
- }
- }
- } else if (type === "[object Array]") {
- var arrayLevel = state.noArrayIndent && level > 0 ? level - 1 : level;
- if (block && state.dump.length !== 0) {
- writeBlockSequence(state, arrayLevel, state.dump, compact);
- if (duplicate) {
- state.dump = "&ref_" + duplicateIndex + state.dump;
- }
- } else {
- writeFlowSequence(state, arrayLevel, state.dump);
- if (duplicate) {
- state.dump = "&ref_" + duplicateIndex + " " + state.dump;
- }
- }
- } else if (type === "[object String]") {
- if (state.tag !== "?") {
- writeScalar(state, state.dump, level, iskey);
- }
- } else {
- if (state.skipInvalid) return false;
- throw new YAMLException("unacceptable kind of an object to dump " + type);
- }
- if (state.tag !== null && state.tag !== "?") {
- state.dump = "!<" + state.tag + "> " + state.dump;
- }
- }
- return true;
- }
- function getDuplicateReferences(object, state) {
- var objects = [], duplicatesIndexes = [], index, length;
- inspectNode(object, objects, duplicatesIndexes);
- for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {
- state.duplicates.push(objects[duplicatesIndexes[index]]);
- }
- state.usedDuplicates = new Array(length);
- }
- function inspectNode(object, objects, duplicatesIndexes) {
- var objectKeyList, index, length;
- if (object !== null && typeof object === "object") {
- index = objects.indexOf(object);
- if (index !== -1) {
- if (duplicatesIndexes.indexOf(index) === -1) {
- duplicatesIndexes.push(index);
- }
- } else {
- objects.push(object);
- if (Array.isArray(object)) {
- for (index = 0, length = object.length; index < length; index += 1) {
- inspectNode(object[index], objects, duplicatesIndexes);
- }
- } else {
- objectKeyList = Object.keys(object);
- for (index = 0, length = objectKeyList.length; index < length; index += 1) {
- inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);
- }
- }
- }
- }
- }
- function dump(input, options2) {
- options2 = options2 || {};
- var state = new State(options2);
- if (!state.noRefs) getDuplicateReferences(input, state);
- if (writeNode(state, 0, input, true, true)) return state.dump + "\n";
- return "";
- }
- function safeDump(input, options2) {
- return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options2));
- }
- module2.exports.dump = dump;
- module2.exports.safeDump = safeDump;
- }
-});
-
-// node_modules/js-yaml/lib/js-yaml.js
-var require_js_yaml = __commonJS({
- "node_modules/js-yaml/lib/js-yaml.js"(exports2, module2) {
- "use strict";
- var loader = require_loader();
- var dumper = require_dumper();
- function deprecated(name) {
- return function() {
- throw new Error("Function " + name + " is deprecated and cannot be used.");
- };
- }
- module2.exports.Type = require_type();
- module2.exports.Schema = require_schema();
- module2.exports.FAILSAFE_SCHEMA = require_failsafe();
- module2.exports.JSON_SCHEMA = require_json();
- module2.exports.CORE_SCHEMA = require_core();
- module2.exports.DEFAULT_SAFE_SCHEMA = require_default_safe();
- module2.exports.DEFAULT_FULL_SCHEMA = require_default_full();
- module2.exports.load = loader.load;
- module2.exports.loadAll = loader.loadAll;
- module2.exports.safeLoad = loader.safeLoad;
- module2.exports.safeLoadAll = loader.safeLoadAll;
- module2.exports.dump = dumper.dump;
- module2.exports.safeDump = dumper.safeDump;
- module2.exports.YAMLException = require_exception();
- module2.exports.MINIMAL_SCHEMA = require_failsafe();
- module2.exports.SAFE_SCHEMA = require_default_safe();
- module2.exports.DEFAULT_SCHEMA = require_default_full();
- module2.exports.scan = deprecated("scan");
- module2.exports.parse = deprecated("parse");
- module2.exports.compose = deprecated("compose");
- module2.exports.addConstructor = deprecated("addConstructor");
- }
-});
-
-// node_modules/js-yaml/index.js
-var require_js_yaml2 = __commonJS({
- "node_modules/js-yaml/index.js"(exports2, module2) {
- "use strict";
- var yaml2 = require_js_yaml();
- module2.exports = yaml2;
- }
-});
-
-// node_modules/gray-matter/lib/engines.js
-var require_engines = __commonJS({
- "node_modules/gray-matter/lib/engines.js"(exports, module) {
- "use strict";
- var yaml = require_js_yaml2();
- var engines = exports = module.exports;
- engines.yaml = {
- parse: yaml.safeLoad.bind(yaml),
- stringify: yaml.safeDump.bind(yaml)
- };
- engines.json = {
- parse: JSON.parse.bind(JSON),
- stringify: function(obj, options2) {
- const opts = Object.assign({ replacer: null, space: 2 }, options2);
- return JSON.stringify(obj, opts.replacer, opts.space);
- }
- };
- engines.javascript = {
- parse: function parse(str, options, wrap) {
- try {
- if (wrap !== false) {
- str = "(function() {\nreturn " + str.trim() + ";\n}());";
- }
- return eval(str) || {};
- } catch (err) {
- if (wrap !== false && /(unexpected|identifier)/i.test(err.message)) {
- return parse(str, options, false);
- }
- throw new SyntaxError(err);
- }
- },
- stringify: function() {
- throw new Error("stringifying JavaScript is not supported");
- }
- };
- }
-});
-
-// node_modules/strip-bom-string/index.js
-var require_strip_bom_string = __commonJS({
- "node_modules/strip-bom-string/index.js"(exports2, module2) {
- "use strict";
- module2.exports = function(str2) {
- if (typeof str2 === "string" && str2.charAt(0) === "\uFEFF") {
- return str2.slice(1);
- }
- return str2;
- };
- }
-});
-
-// node_modules/gray-matter/lib/utils.js
-var require_utils = __commonJS({
- "node_modules/gray-matter/lib/utils.js"(exports2) {
- "use strict";
- var stripBom = require_strip_bom_string();
- var typeOf = require_kind_of();
- exports2.define = function(obj, key, val) {
- Reflect.defineProperty(obj, key, {
- enumerable: false,
- configurable: true,
- writable: true,
- value: val
- });
- };
- exports2.isBuffer = function(val) {
- return typeOf(val) === "buffer";
- };
- exports2.isObject = function(val) {
- return typeOf(val) === "object";
- };
- exports2.toBuffer = function(input) {
- return typeof input === "string" ? Buffer.from(input) : input;
- };
- exports2.toString = function(input) {
- if (exports2.isBuffer(input)) return stripBom(String(input));
- if (typeof input !== "string") {
- throw new TypeError("expected input to be a string or buffer");
- }
- return stripBom(input);
- };
- exports2.arrayify = function(val) {
- return val ? Array.isArray(val) ? val : [val] : [];
- };
- exports2.startsWith = function(str2, substr, len) {
- if (typeof len !== "number") len = substr.length;
- return str2.slice(0, len) === substr;
- };
- }
-});
-
-// node_modules/gray-matter/lib/defaults.js
-var require_defaults = __commonJS({
- "node_modules/gray-matter/lib/defaults.js"(exports2, module2) {
- "use strict";
- var engines2 = require_engines();
- var utils = require_utils();
- module2.exports = function(options2) {
- const opts = Object.assign({}, options2);
- opts.delimiters = utils.arrayify(opts.delims || opts.delimiters || "---");
- if (opts.delimiters.length === 1) {
- opts.delimiters.push(opts.delimiters[0]);
- }
- opts.language = (opts.language || opts.lang || "yaml").toLowerCase();
- opts.engines = Object.assign({}, engines2, opts.parsers, opts.engines);
- return opts;
- };
- }
-});
-
-// node_modules/gray-matter/lib/engine.js
-var require_engine = __commonJS({
- "node_modules/gray-matter/lib/engine.js"(exports2, module2) {
- "use strict";
- module2.exports = function(name, options2) {
- let engine = options2.engines[name] || options2.engines[aliase(name)];
- if (typeof engine === "undefined") {
- throw new Error('gray-matter engine "' + name + '" is not registered');
- }
- if (typeof engine === "function") {
- engine = { parse: engine };
- }
- return engine;
- };
- function aliase(name) {
- switch (name.toLowerCase()) {
- case "js":
- case "javascript":
- return "javascript";
- case "coffee":
- case "coffeescript":
- case "cson":
- return "coffee";
- case "yaml":
- case "yml":
- return "yaml";
- default: {
- return name;
- }
- }
- }
- }
-});
-
-// node_modules/gray-matter/lib/stringify.js
-var require_stringify = __commonJS({
- "node_modules/gray-matter/lib/stringify.js"(exports2, module2) {
- "use strict";
- var typeOf = require_kind_of();
- var getEngine = require_engine();
- var defaults = require_defaults();
- module2.exports = function(file, data, options2) {
- if (data == null && options2 == null) {
- switch (typeOf(file)) {
- case "object":
- data = file.data;
- options2 = {};
- break;
- case "string":
- return file;
- default: {
- throw new TypeError("expected file to be a string or object");
- }
- }
- }
- const str2 = file.content;
- const opts = defaults(options2);
- if (data == null) {
- if (!opts.data) return file;
- data = opts.data;
- }
- const language = file.language || opts.language;
- const engine = getEngine(language, opts);
- if (typeof engine.stringify !== "function") {
- throw new TypeError('expected "' + language + '.stringify" to be a function');
- }
- data = Object.assign({}, file.data, data);
- const open = opts.delimiters[0];
- const close = opts.delimiters[1];
- const matter = engine.stringify(data, options2).trim();
- let buf = "";
- if (matter !== "{}") {
- buf = newline(open) + newline(matter) + newline(close);
- }
- if (typeof file.excerpt === "string" && file.excerpt !== "") {
- if (str2.indexOf(file.excerpt.trim()) === -1) {
- buf += newline(file.excerpt) + newline(close);
- }
- }
- return buf + newline(str2);
- };
- function newline(str2) {
- return str2.slice(-1) !== "\n" ? str2 + "\n" : str2;
- }
- }
-});
-
-// node_modules/gray-matter/lib/excerpt.js
-var require_excerpt = __commonJS({
- "node_modules/gray-matter/lib/excerpt.js"(exports2, module2) {
- "use strict";
- var defaults = require_defaults();
- module2.exports = function(file, options2) {
- const opts = defaults(options2);
- if (file.data == null) {
- file.data = {};
- }
- if (typeof opts.excerpt === "function") {
- return opts.excerpt(file, opts);
- }
- const sep = file.data.excerpt_separator || opts.excerpt_separator;
- if (sep == null && (opts.excerpt === false || opts.excerpt == null)) {
- return file;
- }
- const delimiter = typeof opts.excerpt === "string" ? opts.excerpt : sep || opts.delimiters[0];
- const idx = file.content.indexOf(delimiter);
- if (idx !== -1) {
- file.excerpt = file.content.slice(0, idx);
- }
- return file;
- };
- }
-});
-
-// node_modules/gray-matter/lib/to-file.js
-var require_to_file = __commonJS({
- "node_modules/gray-matter/lib/to-file.js"(exports2, module2) {
- "use strict";
- var typeOf = require_kind_of();
- var stringify = require_stringify();
- var utils = require_utils();
- module2.exports = function(file) {
- if (typeOf(file) !== "object") {
- file = { content: file };
- }
- if (typeOf(file.data) !== "object") {
- file.data = {};
- }
- if (file.contents && file.content == null) {
- file.content = file.contents;
- }
- utils.define(file, "orig", utils.toBuffer(file.content));
- utils.define(file, "language", file.language || "");
- utils.define(file, "matter", file.matter || "");
- utils.define(file, "stringify", function(data, options2) {
- if (options2 && options2.language) {
- file.language = options2.language;
- }
- return stringify(file, data, options2);
- });
- file.content = utils.toString(file.content);
- file.isEmpty = false;
- file.excerpt = "";
- return file;
- };
- }
-});
-
-// node_modules/gray-matter/lib/parse.js
-var require_parse = __commonJS({
- "node_modules/gray-matter/lib/parse.js"(exports2, module2) {
- "use strict";
- var getEngine = require_engine();
- var defaults = require_defaults();
- module2.exports = function(language, str2, options2) {
- const opts = defaults(options2);
- const engine = getEngine(language, opts);
- if (typeof engine.parse !== "function") {
- throw new TypeError('expected "' + language + '.parse" to be a function');
- }
- return engine.parse(str2, opts);
- };
- }
-});
-
-// node_modules/gray-matter/index.js
-var require_gray_matter = __commonJS({
- "node_modules/gray-matter/index.js"(exports2, module2) {
- var fs = require_fs();
- var sections = require_section_matter();
- var defaults = require_defaults();
- var stringify = require_stringify();
- var excerpt = require_excerpt();
- var engines2 = require_engines();
- var toFile = require_to_file();
- var parse2 = require_parse();
- var utils = require_utils();
- function matter(input, options2) {
- if (input === "") {
- return { data: {}, content: input, excerpt: "", orig: input };
- }
- let file = toFile(input);
- const cached = matter.cache[file.content];
- if (!options2) {
- if (cached) {
- file = Object.assign({}, cached);
- file.orig = cached.orig;
- return file;
- }
- matter.cache[file.content] = file;
- }
- return parseMatter(file, options2);
- }
- function parseMatter(file, options2) {
- const opts = defaults(options2);
- const open = opts.delimiters[0];
- const close = "\n" + opts.delimiters[1];
- let str2 = file.content;
- if (opts.language) {
- file.language = opts.language;
- }
- const openLen = open.length;
- if (!utils.startsWith(str2, open, openLen)) {
- excerpt(file, opts);
- return file;
- }
- if (str2.charAt(openLen) === open.slice(-1)) {
- return file;
- }
- str2 = str2.slice(openLen);
- const len = str2.length;
- const language = matter.language(str2, opts);
- if (language.name) {
- file.language = language.name;
- str2 = str2.slice(language.raw.length);
- }
- let closeIndex = str2.indexOf(close);
- if (closeIndex === -1) {
- closeIndex = len;
- }
- file.matter = str2.slice(0, closeIndex);
- const block = file.matter.replace(/^\s*#[^\n]+/gm, "").trim();
- if (block === "") {
- file.isEmpty = true;
- file.empty = file.content;
- file.data = {};
- } else {
- file.data = parse2(file.language, file.matter, opts);
- }
- if (closeIndex === len) {
- file.content = "";
- } else {
- file.content = str2.slice(closeIndex + close.length);
- if (file.content[0] === "\r") {
- file.content = file.content.slice(1);
- }
- if (file.content[0] === "\n") {
- file.content = file.content.slice(1);
- }
- }
- excerpt(file, opts);
- if (opts.sections === true || typeof opts.section === "function") {
- sections(file, opts.section);
- }
- return file;
- }
- matter.engines = engines2;
- matter.stringify = function(file, data, options2) {
- if (typeof file === "string") file = matter(file, options2);
- return stringify(file, data, options2);
- };
- matter.read = function(filepath, options2) {
- const str2 = fs.readFileSync(filepath, "utf8");
- const file = matter(str2, options2);
- file.path = filepath;
- return file;
- };
- matter.test = function(str2, options2) {
- return utils.startsWith(str2, defaults(options2).delimiters[0]);
- };
- matter.language = function(str2, options2) {
- const opts = defaults(options2);
- const open = opts.delimiters[0];
- if (matter.test(str2)) {
- str2 = str2.slice(open.length);
- }
- const language = str2.slice(0, str2.search(/\r?\n/));
- return {
- raw: language,
- name: language ? language.trim() : ""
- };
- };
- matter.cache = {};
- matter.clearCache = function() {
- matter.cache = {};
- };
- module2.exports = matter;
- }
-});
-export default require_gray_matter();
-/*! Bundled license information:
-
-is-extendable/index.js:
- (*!
- * is-extendable
- *
- * Copyright (c) 2015, Jon Schlinkert.
- * Licensed under the MIT License.
- *)
-
-strip-bom-string/index.js:
- (*!
- * strip-bom-string
- *
- * Copyright (c) 2015, 2017, Jon Schlinkert.
- * Released under the MIT License.
- *)
-*/
-//# sourceMappingURL=gray-matter.js.map
diff --git a/node_modules/.vite/deps/gray-matter.js.map b/node_modules/.vite/deps/gray-matter.js.map
deleted file mode 100644
index 3ff42a0..0000000
--- a/node_modules/.vite/deps/gray-matter.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["browser-external:fs", "../../kind-of/index.js", "../../is-extendable/index.js", "../../extend-shallow/index.js", "../../section-matter/index.js", "../../js-yaml/lib/js-yaml/common.js", "../../js-yaml/lib/js-yaml/exception.js", "../../js-yaml/lib/js-yaml/mark.js", "../../js-yaml/lib/js-yaml/type.js", "../../js-yaml/lib/js-yaml/schema.js", "../../js-yaml/lib/js-yaml/type/str.js", "../../js-yaml/lib/js-yaml/type/seq.js", "../../js-yaml/lib/js-yaml/type/map.js", "../../js-yaml/lib/js-yaml/schema/failsafe.js", "../../js-yaml/lib/js-yaml/type/null.js", "../../js-yaml/lib/js-yaml/type/bool.js", "../../js-yaml/lib/js-yaml/type/int.js", "../../js-yaml/lib/js-yaml/type/float.js", "../../js-yaml/lib/js-yaml/schema/json.js", "../../js-yaml/lib/js-yaml/schema/core.js", "../../js-yaml/lib/js-yaml/type/timestamp.js", "../../js-yaml/lib/js-yaml/type/merge.js", "../../js-yaml/lib/js-yaml/type/binary.js", "../../js-yaml/lib/js-yaml/type/omap.js", "../../js-yaml/lib/js-yaml/type/pairs.js", "../../js-yaml/lib/js-yaml/type/set.js", "../../js-yaml/lib/js-yaml/schema/default_safe.js", "../../js-yaml/lib/js-yaml/type/js/undefined.js", "../../js-yaml/lib/js-yaml/type/js/regexp.js", "../../js-yaml/lib/js-yaml/type/js/function.js", "../../js-yaml/lib/js-yaml/schema/default_full.js", "../../js-yaml/lib/js-yaml/loader.js", "../../js-yaml/lib/js-yaml/dumper.js", "../../js-yaml/lib/js-yaml.js", "../../js-yaml/index.js", "../../gray-matter/lib/engines.js", "../../strip-bom-string/index.js", "../../gray-matter/lib/utils.js", "../../gray-matter/lib/defaults.js", "../../gray-matter/lib/engine.js", "../../gray-matter/lib/stringify.js", "../../gray-matter/lib/excerpt.js", "../../gray-matter/lib/to-file.js", "../../gray-matter/lib/parse.js", "../../gray-matter/index.js"],
- "sourcesContent": ["module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"fs\" has been externalized for browser compatibility. Cannot access \"fs.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n", "/*!\n * is-extendable \n *\n * Copyright (c) 2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isExtendable(val) {\n return typeof val !== 'undefined' && val !== null\n && (typeof val === 'object' || typeof val === 'function');\n};\n", "'use strict';\n\nvar isObject = require('is-extendable');\n\nmodule.exports = function extend(o/*, objects*/) {\n if (!isObject(o)) { o = {}; }\n\n var len = arguments.length;\n for (var i = 1; i < len; i++) {\n var obj = arguments[i];\n\n if (isObject(obj)) {\n assign(o, obj);\n }\n }\n return o;\n};\n\nfunction assign(a, b) {\n for (var key in b) {\n if (hasOwn(b, key)) {\n a[key] = b[key];\n }\n }\n}\n\n/**\n * Returns true if the given `key` is an own property of `obj`.\n */\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n", "'use strict';\n\nvar typeOf = require('kind-of');\nvar extend = require('extend-shallow');\n\n/**\n * Parse sections in `input` with the given `options`.\n *\n * ```js\n * var sections = require('{%= name %}');\n * var result = sections(input, options);\n * // { content: 'Content before sections', sections: [] }\n * ```\n * @param {String|Buffer|Object} `input` If input is an object, it's `content` property must be a string or buffer.\n * @param {Object} options\n * @return {Object} Returns an object with a `content` string and an array of `sections` objects.\n * @api public\n */\n\nmodule.exports = function(input, options) {\n if (typeof options === 'function') {\n options = { parse: options };\n }\n\n var file = toObject(input);\n var defaults = {section_delimiter: '---', parse: identity};\n var opts = extend({}, defaults, options);\n var delim = opts.section_delimiter;\n var lines = file.content.split(/\\r?\\n/);\n var sections = null;\n var section = createSection();\n var content = [];\n var stack = [];\n\n function initSections(val) {\n file.content = val;\n sections = [];\n content = [];\n }\n\n function closeSection(val) {\n if (stack.length) {\n section.key = getKey(stack[0], delim);\n section.content = val;\n opts.parse(section, sections);\n sections.push(section);\n section = createSection();\n content = [];\n stack = [];\n }\n }\n\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var len = stack.length;\n var ln = line.trim();\n\n if (isDelimiter(ln, delim)) {\n if (ln.length === 3 && i !== 0) {\n if (len === 0 || len === 2) {\n content.push(line);\n continue;\n }\n stack.push(ln);\n section.data = content.join('\\n');\n content = [];\n continue;\n }\n\n if (sections === null) {\n initSections(content.join('\\n'));\n }\n\n if (len === 2) {\n closeSection(content.join('\\n'));\n }\n\n stack.push(ln);\n continue;\n }\n\n content.push(line);\n }\n\n if (sections === null) {\n initSections(content.join('\\n'));\n } else {\n closeSection(content.join('\\n'));\n }\n\n file.sections = sections;\n return file;\n};\n\nfunction isDelimiter(line, delim) {\n if (line.slice(0, delim.length) !== delim) {\n return false;\n }\n if (line.charAt(delim.length + 1) === delim.slice(-1)) {\n return false;\n }\n return true;\n}\n\nfunction toObject(input) {\n if (typeOf(input) !== 'object') {\n input = { content: input };\n }\n\n if (typeof input.content !== 'string' && !isBuffer(input.content)) {\n throw new TypeError('expected a buffer or string');\n }\n\n input.content = input.content.toString();\n input.sections = [];\n return input;\n}\n\nfunction getKey(val, delim) {\n return val ? val.slice(delim.length).trim() : '';\n}\n\nfunction createSection() {\n return { key: '', data: '', content: '' };\n}\n\nfunction identity(val) {\n return val;\n}\n\nfunction isBuffer(val) {\n if (val && val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n", "'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n", "// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n", "'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n", "'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n", "'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n", "'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n", "// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n", "'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 10 (except 0) or base 60\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n", "'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // 20:59\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n", "// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n", "// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n", "'use strict';\n\n/*eslint-disable no-bitwise*/\n\nvar NodeBuffer;\n\ntry {\n // A trick for browserified version, to not include `Buffer` shim\n var _require = require;\n NodeBuffer = _require('buffer').Buffer;\n} catch (__) {}\n\nvar Type = require('../type');\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n // Wrap into Buffer for NodeJS and leave Array for browser\n if (NodeBuffer) {\n // Support node 6.+ Buffer API when available\n return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result);\n }\n\n return result;\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(object) {\n return NodeBuffer && NodeBuffer.isBuffer(object);\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n", "'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n", "// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n", "'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n", "'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n", "'use strict';\n\nvar esprima;\n\n// Browserified version does not have esprima\n//\n// 1. For node.js just require module as deps\n// 2. For browser try to require mudule via external AMD system.\n// If not found - try to fallback to window.esprima. If not\n// found too - then fail to parse.\n//\ntry {\n // workaround to exclude package from browserify list.\n var _require = require;\n esprima = _require('esprima');\n} catch (_) {\n /* eslint-disable no-redeclare */\n /* global window */\n if (typeof window !== 'undefined') esprima = window.esprima;\n}\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptFunction(data) {\n if (data === null) return false;\n\n try {\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true });\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n return false;\n }\n\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction constructJavascriptFunction(data) {\n /*jslint evil:true*/\n\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true }),\n params = [],\n body;\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n throw new Error('Failed to resolve function');\n }\n\n ast.body[0].expression.params.forEach(function (param) {\n params.push(param.name);\n });\n\n body = ast.body[0].expression.body.range;\n\n // Esprima's ranges include the first '{' and the last '}' characters on\n // function expressions. So cut them out.\n if (ast.body[0].expression.body.type === 'BlockStatement') {\n /*eslint-disable no-new-func*/\n return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n }\n // ES6 arrow functions can omit the BlockStatement. In that case, just return\n // the body.\n /*eslint-disable no-new-func*/\n return new Function(params, 'return ' + source.slice(body[0], body[1]));\n}\n\nfunction representJavascriptFunction(object /*, style*/) {\n return object.toString();\n}\n\nfunction isFunction(object) {\n return Object.prototype.toString.call(object) === '[object Function]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/function', {\n kind: 'scalar',\n resolve: resolveJavascriptFunction,\n construct: constructJavascriptFunction,\n predicate: isFunction,\n represent: representJavascriptFunction\n});\n", "// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n", "'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n _pos = state.position;\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!_hasOwnProperty.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"!> [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for !> tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, iterator, options) {\n if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n", "'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// [24] b-line-feed ::= #xA /* LF */\n// [25] b-carriage-return ::= #xD /* CR */\n// [3] c-byte-order-mark ::= #xFEFF\nfunction isNsChar(c) {\n return isPrintable(c) && !isWhitespace(c)\n // byte-order-mark\n && c !== 0xFEFF\n // b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c, prev) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n // /* An ns-char preceding */ \"#\"\n && c !== CHAR_COLON\n && ((c !== CHAR_SHARP) || (prev && isNsChar(prev)));\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char, prev_char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n // Check for surrogate pairs (reference Unicode 3.0 section \"3.7 Surrogates\").\n if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) {\n // Combine the surrogate pair and store it escaped.\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n // Advance index one extra since we already used that char here.\n i++; continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (index !== 0) pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level;\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\n", "'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\n", "'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n", "'use strict';\n\nconst yaml = require('js-yaml');\n\n/**\n * Default engines\n */\n\nconst engines = exports = module.exports;\n\n/**\n * YAML\n */\n\nengines.yaml = {\n parse: yaml.safeLoad.bind(yaml),\n stringify: yaml.safeDump.bind(yaml)\n};\n\n/**\n * JSON\n */\n\nengines.json = {\n parse: JSON.parse.bind(JSON),\n stringify: function(obj, options) {\n const opts = Object.assign({replacer: null, space: 2}, options);\n return JSON.stringify(obj, opts.replacer, opts.space);\n }\n};\n\n/**\n * JavaScript\n */\n\nengines.javascript = {\n parse: function parse(str, options, wrap) {\n /* eslint no-eval: 0 */\n try {\n if (wrap !== false) {\n str = '(function() {\\nreturn ' + str.trim() + ';\\n}());';\n }\n return eval(str) || {};\n } catch (err) {\n if (wrap !== false && /(unexpected|identifier)/i.test(err.message)) {\n return parse(str, options, false);\n }\n throw new SyntaxError(err);\n }\n },\n stringify: function() {\n throw new Error('stringifying JavaScript is not supported');\n }\n};\n", "/*!\n * strip-bom-string \n *\n * Copyright (c) 2015, 2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function(str) {\n if (typeof str === 'string' && str.charAt(0) === '\\ufeff') {\n return str.slice(1);\n }\n return str;\n};\n", "'use strict';\n\nconst stripBom = require('strip-bom-string');\nconst typeOf = require('kind-of');\n\nexports.define = function(obj, key, val) {\n Reflect.defineProperty(obj, key, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: val\n });\n};\n\n/**\n * Returns true if `val` is a buffer\n */\n\nexports.isBuffer = function(val) {\n return typeOf(val) === 'buffer';\n};\n\n/**\n * Returns true if `val` is an object\n */\n\nexports.isObject = function(val) {\n return typeOf(val) === 'object';\n};\n\n/**\n * Cast `input` to a buffer\n */\n\nexports.toBuffer = function(input) {\n return typeof input === 'string' ? Buffer.from(input) : input;\n};\n\n/**\n * Cast `val` to a string.\n */\n\nexports.toString = function(input) {\n if (exports.isBuffer(input)) return stripBom(String(input));\n if (typeof input !== 'string') {\n throw new TypeError('expected input to be a string or buffer');\n }\n return stripBom(input);\n};\n\n/**\n * Cast `val` to an array.\n */\n\nexports.arrayify = function(val) {\n return val ? (Array.isArray(val) ? val : [val]) : [];\n};\n\n/**\n * Returns true if `str` starts with `substr`.\n */\n\nexports.startsWith = function(str, substr, len) {\n if (typeof len !== 'number') len = substr.length;\n return str.slice(0, len) === substr;\n};\n", "'use strict';\n\nconst engines = require('./engines');\nconst utils = require('./utils');\n\nmodule.exports = function(options) {\n const opts = Object.assign({}, options);\n\n // ensure that delimiters are an array\n opts.delimiters = utils.arrayify(opts.delims || opts.delimiters || '---');\n if (opts.delimiters.length === 1) {\n opts.delimiters.push(opts.delimiters[0]);\n }\n\n opts.language = (opts.language || opts.lang || 'yaml').toLowerCase();\n opts.engines = Object.assign({}, engines, opts.parsers, opts.engines);\n return opts;\n};\n", "'use strict';\n\nmodule.exports = function(name, options) {\n let engine = options.engines[name] || options.engines[aliase(name)];\n if (typeof engine === 'undefined') {\n throw new Error('gray-matter engine \"' + name + '\" is not registered');\n }\n if (typeof engine === 'function') {\n engine = { parse: engine };\n }\n return engine;\n};\n\nfunction aliase(name) {\n switch (name.toLowerCase()) {\n case 'js':\n case 'javascript':\n return 'javascript';\n case 'coffee':\n case 'coffeescript':\n case 'cson':\n return 'coffee';\n case 'yaml':\n case 'yml':\n return 'yaml';\n default: {\n return name;\n }\n }\n}\n", "'use strict';\n\nconst typeOf = require('kind-of');\nconst getEngine = require('./engine');\nconst defaults = require('./defaults');\n\nmodule.exports = function(file, data, options) {\n if (data == null && options == null) {\n switch (typeOf(file)) {\n case 'object':\n data = file.data;\n options = {};\n break;\n case 'string':\n return file;\n default: {\n throw new TypeError('expected file to be a string or object');\n }\n }\n }\n\n const str = file.content;\n const opts = defaults(options);\n if (data == null) {\n if (!opts.data) return file;\n data = opts.data;\n }\n\n const language = file.language || opts.language;\n const engine = getEngine(language, opts);\n if (typeof engine.stringify !== 'function') {\n throw new TypeError('expected \"' + language + '.stringify\" to be a function');\n }\n\n data = Object.assign({}, file.data, data);\n const open = opts.delimiters[0];\n const close = opts.delimiters[1];\n const matter = engine.stringify(data, options).trim();\n let buf = '';\n\n if (matter !== '{}') {\n buf = newline(open) + newline(matter) + newline(close);\n }\n\n if (typeof file.excerpt === 'string' && file.excerpt !== '') {\n if (str.indexOf(file.excerpt.trim()) === -1) {\n buf += newline(file.excerpt) + newline(close);\n }\n }\n\n return buf + newline(str);\n};\n\nfunction newline(str) {\n return str.slice(-1) !== '\\n' ? str + '\\n' : str;\n}\n", "'use strict';\n\nconst defaults = require('./defaults');\n\nmodule.exports = function(file, options) {\n const opts = defaults(options);\n\n if (file.data == null) {\n file.data = {};\n }\n\n if (typeof opts.excerpt === 'function') {\n return opts.excerpt(file, opts);\n }\n\n const sep = file.data.excerpt_separator || opts.excerpt_separator;\n if (sep == null && (opts.excerpt === false || opts.excerpt == null)) {\n return file;\n }\n\n const delimiter = typeof opts.excerpt === 'string'\n ? opts.excerpt\n : (sep || opts.delimiters[0]);\n\n // if enabled, get the excerpt defined after front-matter\n const idx = file.content.indexOf(delimiter);\n if (idx !== -1) {\n file.excerpt = file.content.slice(0, idx);\n }\n\n return file;\n};\n", "'use strict';\n\nconst typeOf = require('kind-of');\nconst stringify = require('./stringify');\nconst utils = require('./utils');\n\n/**\n * Normalize the given value to ensure an object is returned\n * with the expected properties.\n */\n\nmodule.exports = function(file) {\n if (typeOf(file) !== 'object') {\n file = { content: file };\n }\n\n if (typeOf(file.data) !== 'object') {\n file.data = {};\n }\n\n // if file was passed as an object, ensure that\n // \"file.content\" is set\n if (file.contents && file.content == null) {\n file.content = file.contents;\n }\n\n // set non-enumerable properties on the file object\n utils.define(file, 'orig', utils.toBuffer(file.content));\n utils.define(file, 'language', file.language || '');\n utils.define(file, 'matter', file.matter || '');\n utils.define(file, 'stringify', function(data, options) {\n if (options && options.language) {\n file.language = options.language;\n }\n return stringify(file, data, options);\n });\n\n // strip BOM and ensure that \"file.content\" is a string\n file.content = utils.toString(file.content);\n file.isEmpty = false;\n file.excerpt = '';\n return file;\n};\n", "'use strict';\n\nconst getEngine = require('./engine');\nconst defaults = require('./defaults');\n\nmodule.exports = function(language, str, options) {\n const opts = defaults(options);\n const engine = getEngine(language, opts);\n if (typeof engine.parse !== 'function') {\n throw new TypeError('expected \"' + language + '.parse\" to be a function');\n }\n return engine.parse(str, opts);\n};\n", "'use strict';\n\nconst fs = require('fs');\nconst sections = require('section-matter');\nconst defaults = require('./lib/defaults');\nconst stringify = require('./lib/stringify');\nconst excerpt = require('./lib/excerpt');\nconst engines = require('./lib/engines');\nconst toFile = require('./lib/to-file');\nconst parse = require('./lib/parse');\nconst utils = require('./lib/utils');\n\n/**\n * Takes a string or object with `content` property, extracts\n * and parses front-matter from the string, then returns an object\n * with `data`, `content` and other [useful properties](#returned-object).\n *\n * ```js\n * const matter = require('gray-matter');\n * console.log(matter('---\\ntitle: Home\\n---\\nOther stuff'));\n * //=> { data: { title: 'Home'}, content: 'Other stuff' }\n * ```\n * @param {Object|String} `input` String, or object with `content` string\n * @param {Object} `options`\n * @return {Object}\n * @api public\n */\n\nfunction matter(input, options) {\n if (input === '') {\n return { data: {}, content: input, excerpt: '', orig: input };\n }\n\n let file = toFile(input);\n const cached = matter.cache[file.content];\n\n if (!options) {\n if (cached) {\n file = Object.assign({}, cached);\n file.orig = cached.orig;\n return file;\n }\n\n // only cache if there are no options passed. if we cache when options\n // are passed, we would need to also cache options values, which would\n // negate any performance benefits of caching\n matter.cache[file.content] = file;\n }\n\n return parseMatter(file, options);\n}\n\n/**\n * Parse front matter\n */\n\nfunction parseMatter(file, options) {\n const opts = defaults(options);\n const open = opts.delimiters[0];\n const close = '\\n' + opts.delimiters[1];\n let str = file.content;\n\n if (opts.language) {\n file.language = opts.language;\n }\n\n // get the length of the opening delimiter\n const openLen = open.length;\n if (!utils.startsWith(str, open, openLen)) {\n excerpt(file, opts);\n return file;\n }\n\n // if the next character after the opening delimiter is\n // a character from the delimiter, then it's not a front-\n // matter delimiter\n if (str.charAt(openLen) === open.slice(-1)) {\n return file;\n }\n\n // strip the opening delimiter\n str = str.slice(openLen);\n const len = str.length;\n\n // use the language defined after first delimiter, if it exists\n const language = matter.language(str, opts);\n if (language.name) {\n file.language = language.name;\n str = str.slice(language.raw.length);\n }\n\n // get the index of the closing delimiter\n let closeIndex = str.indexOf(close);\n if (closeIndex === -1) {\n closeIndex = len;\n }\n\n // get the raw front-matter block\n file.matter = str.slice(0, closeIndex);\n\n const block = file.matter.replace(/^\\s*#[^\\n]+/gm, '').trim();\n if (block === '') {\n file.isEmpty = true;\n file.empty = file.content;\n file.data = {};\n } else {\n\n // create file.data by parsing the raw file.matter block\n file.data = parse(file.language, file.matter, opts);\n }\n\n // update file.content\n if (closeIndex === len) {\n file.content = '';\n } else {\n file.content = str.slice(closeIndex + close.length);\n if (file.content[0] === '\\r') {\n file.content = file.content.slice(1);\n }\n if (file.content[0] === '\\n') {\n file.content = file.content.slice(1);\n }\n }\n\n excerpt(file, opts);\n\n if (opts.sections === true || typeof opts.section === 'function') {\n sections(file, opts.section);\n }\n return file;\n}\n\n/**\n * Expose engines\n */\n\nmatter.engines = engines;\n\n/**\n * Stringify an object to YAML or the specified language, and\n * append it to the given string. By default, only YAML and JSON\n * can be stringified. See the [engines](#engines) section to learn\n * how to stringify other languages.\n *\n * ```js\n * console.log(matter.stringify('foo bar baz', {title: 'Home'}));\n * // results in:\n * // ---\n * // title: Home\n * // ---\n * // foo bar baz\n * ```\n * @param {String|Object} `file` The content string to append to stringified front-matter, or a file object with `file.content` string.\n * @param {Object} `data` Front matter to stringify.\n * @param {Object} `options` [Options](#options) to pass to gray-matter and [js-yaml].\n * @return {String} Returns a string created by wrapping stringified yaml with delimiters, and appending that to the given string.\n * @api public\n */\n\nmatter.stringify = function(file, data, options) {\n if (typeof file === 'string') file = matter(file, options);\n return stringify(file, data, options);\n};\n\n/**\n * Synchronously read a file from the file system and parse\n * front matter. Returns the same object as the [main function](#matter).\n *\n * ```js\n * const file = matter.read('./content/blog-post.md');\n * ```\n * @param {String} `filepath` file path of the file to read.\n * @param {Object} `options` [Options](#options) to pass to gray-matter.\n * @return {Object} Returns [an object](#returned-object) with `data` and `content`\n * @api public\n */\n\nmatter.read = function(filepath, options) {\n const str = fs.readFileSync(filepath, 'utf8');\n const file = matter(str, options);\n file.path = filepath;\n return file;\n};\n\n/**\n * Returns true if the given `string` has front matter.\n * @param {String} `string`\n * @param {Object} `options`\n * @return {Boolean} True if front matter exists.\n * @api public\n */\n\nmatter.test = function(str, options) {\n return utils.startsWith(str, defaults(options).delimiters[0]);\n};\n\n/**\n * Detect the language to use, if one is defined after the\n * first front-matter delimiter.\n * @param {String} `string`\n * @param {Object} `options`\n * @return {Object} Object with `raw` (actual language string), and `name`, the language with whitespace trimmed\n */\n\nmatter.language = function(str, options) {\n const opts = defaults(options);\n const open = opts.delimiters[0];\n\n if (matter.test(str)) {\n str = str.slice(open.length);\n }\n\n const language = str.slice(0, str.search(/\\r?\\n/));\n return {\n raw: language,\n name: language ? language.trim() : ''\n };\n};\n\n/**\n * Expose `matter`\n */\n\nmatter.cache = {};\nmatter.clearCache = function() {\n matter.cache = {};\n};\nmodule.exports = matter;\n"],
- "mappings": ";;;;;;AAAA;AAAA,wBAAAA,UAAAC,SAAA;AAAA,IAAAA,QAAO,UAAU,OAAO,OAAO,IAAI,MAAM,CAAC,GAAG;AAAA,MAC3C,IAAI,GAAG,KAAK;AACV,YACE,QAAQ,gBACR,QAAQ,eACR,QAAQ,iBACR,QAAQ,UACR;AACA,kBAAQ,KAAK,kFAAkF,GAAG,mIAAmI;AAAA,QACvO;AAAA,MACF;AAAA,IACF,CAAC,CAAC;AAAA;AAAA;;;ACXF;AAAA,kCAAAC,UAAAC,SAAA;AAAA,QAAI,WAAW,OAAO,UAAU;AAEhC,IAAAA,QAAO,UAAU,SAAS,OAAO,KAAK;AACpC,UAAI,QAAQ,OAAQ,QAAO;AAC3B,UAAI,QAAQ,KAAM,QAAO;AAEzB,UAAI,OAAO,OAAO;AAClB,UAAI,SAAS,UAAW,QAAO;AAC/B,UAAI,SAAS,SAAU,QAAO;AAC9B,UAAI,SAAS,SAAU,QAAO;AAC9B,UAAI,SAAS,SAAU,QAAO;AAC9B,UAAI,SAAS,YAAY;AACvB,eAAO,cAAc,GAAG,IAAI,sBAAsB;AAAA,MACpD;AAEA,UAAI,QAAQ,GAAG,EAAG,QAAO;AACzB,UAAI,SAAS,GAAG,EAAG,QAAO;AAC1B,UAAI,YAAY,GAAG,EAAG,QAAO;AAC7B,UAAI,OAAO,GAAG,EAAG,QAAO;AACxB,UAAI,QAAQ,GAAG,EAAG,QAAO;AACzB,UAAI,SAAS,GAAG,EAAG,QAAO;AAE1B,cAAQ,SAAS,GAAG,GAAG;AAAA,QACrB,KAAK;AAAU,iBAAO;AAAA,QACtB,KAAK;AAAW,iBAAO;AAAA,QAGvB,KAAK;AAAW,iBAAO;AAAA,QACvB,KAAK;AAAW,iBAAO;AAAA,QACvB,KAAK;AAAO,iBAAO;AAAA,QACnB,KAAK;AAAO,iBAAO;AAAA,QAGnB,KAAK;AAAa,iBAAO;AAAA,QACzB,KAAK;AAAc,iBAAO;AAAA,QAC1B,KAAK;AAAqB,iBAAO;AAAA,QAGjC,KAAK;AAAc,iBAAO;AAAA,QAC1B,KAAK;AAAe,iBAAO;AAAA,QAG3B,KAAK;AAAc,iBAAO;AAAA,QAC1B,KAAK;AAAe,iBAAO;AAAA,QAC3B,KAAK;AAAgB,iBAAO;AAAA,QAC5B,KAAK;AAAgB,iBAAO;AAAA,MAC9B;AAEA,UAAI,eAAe,GAAG,GAAG;AACvB,eAAO;AAAA,MACT;AAGA,aAAO,SAAS,KAAK,GAAG;AACxB,cAAQ,MAAM;AAAA,QACZ,KAAK;AAAmB,iBAAO;AAAA,QAE/B,KAAK;AAAyB,iBAAO;AAAA,QACrC,KAAK;AAAyB,iBAAO;AAAA,QACrC,KAAK;AAA4B,iBAAO;AAAA,QACxC,KAAK;AAA2B,iBAAO;AAAA,MACzC;AAGA,aAAO,KAAK,MAAM,GAAG,EAAE,EAAE,YAAY,EAAE,QAAQ,OAAO,EAAE;AAAA,IAC1D;AAEA,aAAS,SAAS,KAAK;AACrB,aAAO,OAAO,IAAI,gBAAgB,aAAa,IAAI,YAAY,OAAO;AAAA,IACxE;AAEA,aAAS,QAAQ,KAAK;AACpB,UAAI,MAAM,QAAS,QAAO,MAAM,QAAQ,GAAG;AAC3C,aAAO,eAAe;AAAA,IACxB;AAEA,aAAS,QAAQ,KAAK;AACpB,aAAO,eAAe,SAAU,OAAO,IAAI,YAAY,YAAY,IAAI,eAAe,OAAO,IAAI,YAAY,oBAAoB;AAAA,IACnI;AAEA,aAAS,OAAO,KAAK;AACnB,UAAI,eAAe,KAAM,QAAO;AAChC,aAAO,OAAO,IAAI,iBAAiB,cAC9B,OAAO,IAAI,YAAY,cACvB,OAAO,IAAI,YAAY;AAAA,IAC9B;AAEA,aAAS,SAAS,KAAK;AACrB,UAAI,eAAe,OAAQ,QAAO;AAClC,aAAO,OAAO,IAAI,UAAU,YACvB,OAAO,IAAI,eAAe,aAC1B,OAAO,IAAI,cAAc,aACzB,OAAO,IAAI,WAAW;AAAA,IAC7B;AAEA,aAAS,cAAc,MAAM,KAAK;AAChC,aAAO,SAAS,IAAI,MAAM;AAAA,IAC5B;AAEA,aAAS,eAAe,KAAK;AAC3B,aAAO,OAAO,IAAI,UAAU,cACvB,OAAO,IAAI,WAAW,cACtB,OAAO,IAAI,SAAS;AAAA,IAC3B;AAEA,aAAS,YAAY,KAAK;AACxB,UAAI;AACF,YAAI,OAAO,IAAI,WAAW,YAAY,OAAO,IAAI,WAAW,YAAY;AACtE,iBAAO;AAAA,QACT;AAAA,MACF,SAAS,KAAK;AACZ,YAAI,IAAI,QAAQ,QAAQ,QAAQ,MAAM,IAAI;AACxC,iBAAO;AAAA,QACT;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,aAAS,SAAS,KAAK;AACrB,UAAI,IAAI,eAAe,OAAO,IAAI,YAAY,aAAa,YAAY;AACrE,eAAO,IAAI,YAAY,SAAS,GAAG;AAAA,MACrC;AACA,aAAO;AAAA,IACT;AAAA;AAAA;;;AChIA;AAAA,wCAAAC,UAAAC,SAAA;AAAA;AASA,IAAAA,QAAO,UAAU,SAAS,aAAa,KAAK;AAC1C,aAAO,OAAO,QAAQ,eAAe,QAAQ,SACvC,OAAO,QAAQ,YAAY,OAAO,QAAQ;AAAA,IAClD;AAAA;AAAA;;;ACZA;AAAA,yCAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,WAAW;AAEf,IAAAA,QAAO,UAAU,SAAS,OAAO,GAAgB;AAC/C,UAAI,CAAC,SAAS,CAAC,GAAG;AAAE,YAAI,CAAC;AAAA,MAAG;AAE5B,UAAI,MAAM,UAAU;AACpB,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,YAAI,MAAM,UAAU,CAAC;AAErB,YAAI,SAAS,GAAG,GAAG;AACjB,iBAAO,GAAG,GAAG;AAAA,QACf;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,aAAS,OAAO,GAAG,GAAG;AACpB,eAAS,OAAO,GAAG;AACjB,YAAI,OAAO,GAAG,GAAG,GAAG;AAClB,YAAE,GAAG,IAAI,EAAE,GAAG;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAMA,aAAS,OAAO,KAAK,KAAK;AACxB,aAAO,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG;AAAA,IACtD;AAAA;AAAA;;;AChCA;AAAA,yCAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,SAAS;AACb,QAAI,SAAS;AAgBb,IAAAA,QAAO,UAAU,SAAS,OAAOC,UAAS;AACxC,UAAI,OAAOA,aAAY,YAAY;AACjC,QAAAA,WAAU,EAAE,OAAOA,SAAQ;AAAA,MAC7B;AAEA,UAAI,OAAO,SAAS,KAAK;AACzB,UAAI,WAAW,EAAC,mBAAmB,OAAO,OAAO,SAAQ;AACzD,UAAI,OAAO,OAAO,CAAC,GAAG,UAAUA,QAAO;AACvC,UAAI,QAAQ,KAAK;AACjB,UAAI,QAAQ,KAAK,QAAQ,MAAM,OAAO;AACtC,UAAI,WAAW;AACf,UAAI,UAAU,cAAc;AAC5B,UAAI,UAAU,CAAC;AACf,UAAI,QAAQ,CAAC;AAEb,eAAS,aAAa,KAAK;AACzB,aAAK,UAAU;AACf,mBAAW,CAAC;AACZ,kBAAU,CAAC;AAAA,MACb;AAEA,eAAS,aAAa,KAAK;AACzB,YAAI,MAAM,QAAQ;AAChB,kBAAQ,MAAM,OAAO,MAAM,CAAC,GAAG,KAAK;AACpC,kBAAQ,UAAU;AAClB,eAAK,MAAM,SAAS,QAAQ;AAC5B,mBAAS,KAAK,OAAO;AACrB,oBAAU,cAAc;AACxB,oBAAU,CAAC;AACX,kBAAQ,CAAC;AAAA,QACX;AAAA,MACF;AAEA,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAI,OAAO,MAAM,CAAC;AAClB,YAAI,MAAM,MAAM;AAChB,YAAI,KAAK,KAAK,KAAK;AAEnB,YAAI,YAAY,IAAI,KAAK,GAAG;AAC1B,cAAI,GAAG,WAAW,KAAK,MAAM,GAAG;AAC9B,gBAAI,QAAQ,KAAK,QAAQ,GAAG;AAC1B,sBAAQ,KAAK,IAAI;AACjB;AAAA,YACF;AACA,kBAAM,KAAK,EAAE;AACb,oBAAQ,OAAO,QAAQ,KAAK,IAAI;AAChC,sBAAU,CAAC;AACX;AAAA,UACF;AAEA,cAAI,aAAa,MAAM;AACrB,yBAAa,QAAQ,KAAK,IAAI,CAAC;AAAA,UACjC;AAEA,cAAI,QAAQ,GAAG;AACb,yBAAa,QAAQ,KAAK,IAAI,CAAC;AAAA,UACjC;AAEA,gBAAM,KAAK,EAAE;AACb;AAAA,QACF;AAEA,gBAAQ,KAAK,IAAI;AAAA,MACnB;AAEA,UAAI,aAAa,MAAM;AACrB,qBAAa,QAAQ,KAAK,IAAI,CAAC;AAAA,MACjC,OAAO;AACL,qBAAa,QAAQ,KAAK,IAAI,CAAC;AAAA,MACjC;AAEA,WAAK,WAAW;AAChB,aAAO;AAAA,IACT;AAEA,aAAS,YAAY,MAAM,OAAO;AAChC,UAAI,KAAK,MAAM,GAAG,MAAM,MAAM,MAAM,OAAO;AACzC,eAAO;AAAA,MACT;AACA,UAAI,KAAK,OAAO,MAAM,SAAS,CAAC,MAAM,MAAM,MAAM,EAAE,GAAG;AACrD,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAEA,aAAS,SAAS,OAAO;AACvB,UAAI,OAAO,KAAK,MAAM,UAAU;AAC9B,gBAAQ,EAAE,SAAS,MAAM;AAAA,MAC3B;AAEA,UAAI,OAAO,MAAM,YAAY,YAAY,CAAC,SAAS,MAAM,OAAO,GAAG;AACjE,cAAM,IAAI,UAAU,6BAA6B;AAAA,MACnD;AAEA,YAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,YAAM,WAAW,CAAC;AAClB,aAAO;AAAA,IACT;AAEA,aAAS,OAAO,KAAK,OAAO;AAC1B,aAAO,MAAM,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI;AAAA,IAChD;AAEA,aAAS,gBAAgB;AACvB,aAAO,EAAE,KAAK,IAAI,MAAM,IAAI,SAAS,GAAG;AAAA,IAC1C;AAEA,aAAS,SAAS,KAAK;AACrB,aAAO;AAAA,IACT;AAEA,aAAS,SAAS,KAAK;AACrB,UAAI,OAAO,IAAI,eAAe,OAAO,IAAI,YAAY,aAAa,YAAY;AAC5E,eAAO,IAAI,YAAY,SAAS,GAAG;AAAA,MACrC;AACA,aAAO;AAAA,IACT;AAAA;AAAA;;;ACvIA;AAAA,+CAAAC,UAAAC,SAAA;AAAA;AAGA,aAAS,UAAU,SAAS;AAC1B,aAAQ,OAAO,YAAY,eAAiB,YAAY;AAAA,IAC1D;AAGA,aAAS,SAAS,SAAS;AACzB,aAAQ,OAAO,YAAY,YAAc,YAAY;AAAA,IACvD;AAGA,aAAS,QAAQ,UAAU;AACzB,UAAI,MAAM,QAAQ,QAAQ,EAAG,QAAO;AAAA,eAC3B,UAAU,QAAQ,EAAG,QAAO,CAAC;AAEtC,aAAO,CAAE,QAAS;AAAA,IACpB;AAGA,aAAS,OAAO,QAAQ,QAAQ;AAC9B,UAAI,OAAO,QAAQ,KAAK;AAExB,UAAI,QAAQ;AACV,qBAAa,OAAO,KAAK,MAAM;AAE/B,aAAK,QAAQ,GAAG,SAAS,WAAW,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACtE,gBAAM,WAAW,KAAK;AACtB,iBAAO,GAAG,IAAI,OAAO,GAAG;AAAA,QAC1B;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAGA,aAAS,OAAO,QAAQ,OAAO;AAC7B,UAAI,SAAS,IAAI;AAEjB,WAAK,QAAQ,GAAG,QAAQ,OAAO,SAAS,GAAG;AACzC,kBAAU;AAAA,MACZ;AAEA,aAAO;AAAA,IACT;AAGA,aAAS,eAAe,QAAQ;AAC9B,aAAQ,WAAW,KAAO,OAAO,sBAAsB,IAAI;AAAA,IAC7D;AAGA,IAAAA,QAAO,QAAQ,YAAiB;AAChC,IAAAA,QAAO,QAAQ,WAAiB;AAChC,IAAAA,QAAO,QAAQ,UAAiB;AAChC,IAAAA,QAAO,QAAQ,SAAiB;AAChC,IAAAA,QAAO,QAAQ,iBAAiB;AAChC,IAAAA,QAAO,QAAQ,SAAiB;AAAA;AAAA;;;AC1DhC;AAAA,kDAAAC,UAAAC,SAAA;AAAA;AAIA,aAAS,cAAc,QAAQ,MAAM;AAEnC,YAAM,KAAK,IAAI;AAEf,WAAK,OAAO;AACZ,WAAK,SAAS;AACd,WAAK,OAAO;AACZ,WAAK,WAAW,KAAK,UAAU,uBAAuB,KAAK,OAAO,MAAM,KAAK,KAAK,SAAS,IAAI;AAG/F,UAAI,MAAM,mBAAmB;AAE3B,cAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,MAChD,OAAO;AAEL,aAAK,QAAS,IAAI,MAAM,EAAG,SAAS;AAAA,MACtC;AAAA,IACF;AAIA,kBAAc,YAAY,OAAO,OAAO,MAAM,SAAS;AACvD,kBAAc,UAAU,cAAc;AAGtC,kBAAc,UAAU,WAAW,SAAS,SAAS,SAAS;AAC5D,UAAI,SAAS,KAAK,OAAO;AAEzB,gBAAU,KAAK,UAAU;AAEzB,UAAI,CAAC,WAAW,KAAK,MAAM;AACzB,kBAAU,MAAM,KAAK,KAAK,SAAS;AAAA,MACrC;AAEA,aAAO;AAAA,IACT;AAGA,IAAAA,QAAO,UAAU;AAAA;AAAA;;;AC1CjB;AAAA,6CAAAC,UAAAC,SAAA;AAAA;AAGA,QAAI,SAAS;AAGb,aAAS,KAAK,MAAM,QAAQ,UAAU,MAAM,QAAQ;AAClD,WAAK,OAAW;AAChB,WAAK,SAAW;AAChB,WAAK,WAAW;AAChB,WAAK,OAAW;AAChB,WAAK,SAAW;AAAA,IAClB;AAGA,SAAK,UAAU,aAAa,SAAS,WAAW,QAAQ,WAAW;AACjE,UAAI,MAAM,OAAO,MAAM,KAAK;AAE5B,UAAI,CAAC,KAAK,OAAQ,QAAO;AAEzB,eAAS,UAAU;AACnB,kBAAY,aAAa;AAEzB,aAAO;AACP,cAAQ,KAAK;AAEb,aAAO,QAAQ,KAAK,sBAA2B,QAAQ,KAAK,OAAO,OAAO,QAAQ,CAAC,CAAC,MAAM,IAAI;AAC5F,iBAAS;AACT,YAAI,KAAK,WAAW,QAAS,YAAY,IAAI,GAAI;AAC/C,iBAAO;AACP,mBAAS;AACT;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AACP,YAAM,KAAK;AAEX,aAAO,MAAM,KAAK,OAAO,UAAU,sBAA2B,QAAQ,KAAK,OAAO,OAAO,GAAG,CAAC,MAAM,IAAI;AACrG,eAAO;AACP,YAAI,MAAM,KAAK,WAAY,YAAY,IAAI,GAAI;AAC7C,iBAAO;AACP,iBAAO;AACP;AAAA,QACF;AAAA,MACF;AAEA,gBAAU,KAAK,OAAO,MAAM,OAAO,GAAG;AAEtC,aAAO,OAAO,OAAO,KAAK,MAAM,IAAI,OAAO,UAAU,OAAO,OACrD,OAAO,OAAO,KAAK,SAAS,KAAK,WAAW,QAAQ,KAAK,MAAM,IAAI;AAAA,IAC5E;AAGA,SAAK,UAAU,WAAW,SAAS,SAAS,SAAS;AACnD,UAAI,SAAS,QAAQ;AAErB,UAAI,KAAK,MAAM;AACb,iBAAS,SAAS,KAAK,OAAO;AAAA,MAChC;AAEA,eAAS,cAAc,KAAK,OAAO,KAAK,eAAe,KAAK,SAAS;AAErE,UAAI,CAAC,SAAS;AACZ,kBAAU,KAAK,WAAW;AAE1B,YAAI,SAAS;AACX,mBAAS,QAAQ;AAAA,QACnB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAGA,IAAAA,QAAO,UAAU;AAAA;AAAA;;;AC3EjB;AAAA,6CAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,gBAAgB;AAEpB,QAAI,2BAA2B;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,kBAAkB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,aAAS,oBAAoB,KAAK;AAChC,UAAI,SAAS,CAAC;AAEd,UAAI,QAAQ,MAAM;AAChB,eAAO,KAAK,GAAG,EAAE,QAAQ,SAAU,OAAO;AACxC,cAAI,KAAK,EAAE,QAAQ,SAAU,OAAO;AAClC,mBAAO,OAAO,KAAK,CAAC,IAAI;AAAA,UAC1B,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,KAAK,KAAKC,UAAS;AAC1B,MAAAA,WAAUA,YAAW,CAAC;AAEtB,aAAO,KAAKA,QAAO,EAAE,QAAQ,SAAU,MAAM;AAC3C,YAAI,yBAAyB,QAAQ,IAAI,MAAM,IAAI;AACjD,gBAAM,IAAI,cAAc,qBAAqB,OAAO,gCAAgC,MAAM,cAAc;AAAA,QAC1G;AAAA,MACF,CAAC;AAGD,WAAK,MAAe;AACpB,WAAK,OAAeA,SAAQ,MAAM,KAAa;AAC/C,WAAK,UAAeA,SAAQ,SAAS,KAAU,WAAY;AAAE,eAAO;AAAA,MAAM;AAC1E,WAAK,YAAeA,SAAQ,WAAW,KAAQ,SAAU,MAAM;AAAE,eAAO;AAAA,MAAM;AAC9E,WAAK,aAAeA,SAAQ,YAAY,KAAO;AAC/C,WAAK,YAAeA,SAAQ,WAAW,KAAQ;AAC/C,WAAK,YAAeA,SAAQ,WAAW,KAAQ;AAC/C,WAAK,eAAeA,SAAQ,cAAc,KAAK;AAC/C,WAAK,eAAe,oBAAoBA,SAAQ,cAAc,KAAK,IAAI;AAEvE,UAAI,gBAAgB,QAAQ,KAAK,IAAI,MAAM,IAAI;AAC7C,cAAM,IAAI,cAAc,mBAAmB,KAAK,OAAO,yBAAyB,MAAM,cAAc;AAAA,MACtG;AAAA,IACF;AAEA,IAAAD,QAAO,UAAU;AAAA;AAAA;;;AC5DjB;AAAA,+CAAAE,UAAAC,SAAA;AAAA;AAIA,QAAI,SAAgB;AACpB,QAAI,gBAAgB;AACpB,QAAI,OAAgB;AAGpB,aAAS,YAAY,QAAQ,MAAM,QAAQ;AACzC,UAAI,UAAU,CAAC;AAEf,aAAO,QAAQ,QAAQ,SAAU,gBAAgB;AAC/C,iBAAS,YAAY,gBAAgB,MAAM,MAAM;AAAA,MACnD,CAAC;AAED,aAAO,IAAI,EAAE,QAAQ,SAAU,aAAa;AAC1C,eAAO,QAAQ,SAAU,cAAc,eAAe;AACpD,cAAI,aAAa,QAAQ,YAAY,OAAO,aAAa,SAAS,YAAY,MAAM;AAClF,oBAAQ,KAAK,aAAa;AAAA,UAC5B;AAAA,QACF,CAAC;AAED,eAAO,KAAK,WAAW;AAAA,MACzB,CAAC;AAED,aAAO,OAAO,OAAO,SAAU,MAAM,OAAO;AAC1C,eAAO,QAAQ,QAAQ,KAAK,MAAM;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,aAAS,aAA2B;AAClC,UAAI,SAAS;AAAA,QACP,QAAQ,CAAC;AAAA,QACT,UAAU,CAAC;AAAA,QACX,SAAS,CAAC;AAAA,QACV,UAAU,CAAC;AAAA,MACb,GAAG,OAAO;AAEd,eAAS,YAAY,MAAM;AACzB,eAAO,KAAK,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,UAAU,EAAE,KAAK,GAAG,IAAI;AAAA,MAC/D;AAEA,WAAK,QAAQ,GAAG,SAAS,UAAU,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACrE,kBAAU,KAAK,EAAE,QAAQ,WAAW;AAAA,MACtC;AACA,aAAO;AAAA,IACT;AAGA,aAAS,OAAO,YAAY;AAC1B,WAAK,UAAW,WAAW,WAAY,CAAC;AACxC,WAAK,WAAW,WAAW,YAAY,CAAC;AACxC,WAAK,WAAW,WAAW,YAAY,CAAC;AAExC,WAAK,SAAS,QAAQ,SAAU,MAAM;AACpC,YAAI,KAAK,YAAY,KAAK,aAAa,UAAU;AAC/C,gBAAM,IAAI,cAAc,iHAAiH;AAAA,QAC3I;AAAA,MACF,CAAC;AAED,WAAK,mBAAmB,YAAY,MAAM,YAAY,CAAC,CAAC;AACxD,WAAK,mBAAmB,YAAY,MAAM,YAAY,CAAC,CAAC;AACxD,WAAK,kBAAmB,WAAW,KAAK,kBAAkB,KAAK,gBAAgB;AAAA,IACjF;AAGA,WAAO,UAAU;AAGjB,WAAO,SAAS,SAAS,eAAe;AACtC,UAAI,SAAS;AAEb,cAAQ,UAAU,QAAQ;AAAA,QACxB,KAAK;AACH,oBAAU,OAAO;AACjB,kBAAQ,UAAU,CAAC;AACnB;AAAA,QAEF,KAAK;AACH,oBAAU,UAAU,CAAC;AACrB,kBAAQ,UAAU,CAAC;AACnB;AAAA,QAEF;AACE,gBAAM,IAAI,cAAc,sDAAsD;AAAA,MAClF;AAEA,gBAAU,OAAO,QAAQ,OAAO;AAChC,cAAQ,OAAO,QAAQ,KAAK;AAE5B,UAAI,CAAC,QAAQ,MAAM,SAAU,QAAQ;AAAE,eAAO,kBAAkB;AAAA,MAAQ,CAAC,GAAG;AAC1E,cAAM,IAAI,cAAc,2FAA2F;AAAA,MACrH;AAEA,UAAI,CAAC,MAAM,MAAM,SAAU,MAAM;AAAE,eAAO,gBAAgB;AAAA,MAAM,CAAC,GAAG;AAClE,cAAM,IAAI,cAAc,oFAAoF;AAAA,MAC9G;AAEA,aAAO,IAAI,OAAO;AAAA,QAChB,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAGA,IAAAA,QAAO,UAAU;AAAA;AAAA;;;AC3GjB;AAAA,iDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,IAAAA,QAAO,UAAU,IAAI,KAAK,yBAAyB;AAAA,MACjD,MAAM;AAAA,MACN,WAAW,SAAU,MAAM;AAAE,eAAO,SAAS,OAAO,OAAO;AAAA,MAAI;AAAA,IACjE,CAAC;AAAA;AAAA;;;ACPD;AAAA,iDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,IAAAA,QAAO,UAAU,IAAI,KAAK,yBAAyB;AAAA,MACjD,MAAM;AAAA,MACN,WAAW,SAAU,MAAM;AAAE,eAAO,SAAS,OAAO,OAAO,CAAC;AAAA,MAAG;AAAA,IACjE,CAAC;AAAA;AAAA;;;ACPD;AAAA,iDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,IAAAA,QAAO,UAAU,IAAI,KAAK,yBAAyB;AAAA,MACjD,MAAM;AAAA,MACN,WAAW,SAAU,MAAM;AAAE,eAAO,SAAS,OAAO,OAAO,CAAC;AAAA,MAAG;AAAA,IACjE,CAAC;AAAA;AAAA;;;ACPD;AAAA,wDAAAC,UAAAC,SAAA;AAAA;AAOA,QAAI,SAAS;AAGb,IAAAA,QAAO,UAAU,IAAI,OAAO;AAAA,MAC1B,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;;;AChBD;AAAA,kDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,aAAS,gBAAgB,MAAM;AAC7B,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,MAAM,KAAK;AAEf,aAAQ,QAAQ,KAAK,SAAS,OACtB,QAAQ,MAAM,SAAS,UAAU,SAAS,UAAU,SAAS;AAAA,IACvE;AAEA,aAAS,oBAAoB;AAC3B,aAAO;AAAA,IACT;AAEA,aAAS,OAAO,QAAQ;AACtB,aAAO,WAAW;AAAA,IACpB;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,0BAA0B;AAAA,MAClD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,QACT,WAAW,WAAY;AAAE,iBAAO;AAAA,QAAQ;AAAA,QACxC,WAAW,WAAY;AAAE,iBAAO;AAAA,QAAQ;AAAA,QACxC,WAAW,WAAY;AAAE,iBAAO;AAAA,QAAQ;AAAA,QACxC,WAAW,WAAY;AAAE,iBAAO;AAAA,QAAQ;AAAA,MAC1C;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AAAA;AAAA;;;ACjCD;AAAA,kDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,aAAS,mBAAmB,MAAM;AAChC,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,MAAM,KAAK;AAEf,aAAQ,QAAQ,MAAM,SAAS,UAAU,SAAS,UAAU,SAAS,WAC7D,QAAQ,MAAM,SAAS,WAAW,SAAS,WAAW,SAAS;AAAA,IACzE;AAEA,aAAS,qBAAqB,MAAM;AAClC,aAAO,SAAS,UACT,SAAS,UACT,SAAS;AAAA,IAClB;AAEA,aAAS,UAAU,QAAQ;AACzB,aAAO,OAAO,UAAU,SAAS,KAAK,MAAM,MAAM;AAAA,IACpD;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,0BAA0B;AAAA,MAClD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,QACT,WAAW,SAAU,QAAQ;AAAE,iBAAO,SAAS,SAAS;AAAA,QAAS;AAAA,QACjE,WAAW,SAAU,QAAQ;AAAE,iBAAO,SAAS,SAAS;AAAA,QAAS;AAAA,QACjE,WAAW,SAAU,QAAQ;AAAE,iBAAO,SAAS,SAAS;AAAA,QAAS;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AAAA;AAAA;;;AClCD;AAAA,iDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,SAAS;AACb,QAAI,OAAS;AAEb,aAAS,UAAU,GAAG;AACpB,aAAS,MAAe,KAAO,KAAK,MAC3B,MAAe,KAAO,KAAK,MAC3B,MAAe,KAAO,KAAK;AAAA,IACtC;AAEA,aAAS,UAAU,GAAG;AACpB,aAAS,MAAe,KAAO,KAAK;AAAA,IACtC;AAEA,aAAS,UAAU,GAAG;AACpB,aAAS,MAAe,KAAO,KAAK;AAAA,IACtC;AAEA,aAAS,mBAAmB,MAAM;AAChC,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,MAAM,KAAK,QACX,QAAQ,GACR,YAAY,OACZ;AAEJ,UAAI,CAAC,IAAK,QAAO;AAEjB,WAAK,KAAK,KAAK;AAGf,UAAI,OAAO,OAAO,OAAO,KAAK;AAC5B,aAAK,KAAK,EAAE,KAAK;AAAA,MACnB;AAEA,UAAI,OAAO,KAAK;AAEd,YAAI,QAAQ,MAAM,IAAK,QAAO;AAC9B,aAAK,KAAK,EAAE,KAAK;AAIjB,YAAI,OAAO,KAAK;AAEd;AAEA,iBAAO,QAAQ,KAAK,SAAS;AAC3B,iBAAK,KAAK,KAAK;AACf,gBAAI,OAAO,IAAK;AAChB,gBAAI,OAAO,OAAO,OAAO,IAAK,QAAO;AACrC,wBAAY;AAAA,UACd;AACA,iBAAO,aAAa,OAAO;AAAA,QAC7B;AAGA,YAAI,OAAO,KAAK;AAEd;AAEA,iBAAO,QAAQ,KAAK,SAAS;AAC3B,iBAAK,KAAK,KAAK;AACf,gBAAI,OAAO,IAAK;AAChB,gBAAI,CAAC,UAAU,KAAK,WAAW,KAAK,CAAC,EAAG,QAAO;AAC/C,wBAAY;AAAA,UACd;AACA,iBAAO,aAAa,OAAO;AAAA,QAC7B;AAGA,eAAO,QAAQ,KAAK,SAAS;AAC3B,eAAK,KAAK,KAAK;AACf,cAAI,OAAO,IAAK;AAChB,cAAI,CAAC,UAAU,KAAK,WAAW,KAAK,CAAC,EAAG,QAAO;AAC/C,sBAAY;AAAA,QACd;AACA,eAAO,aAAa,OAAO;AAAA,MAC7B;AAKA,UAAI,OAAO,IAAK,QAAO;AAEvB,aAAO,QAAQ,KAAK,SAAS;AAC3B,aAAK,KAAK,KAAK;AACf,YAAI,OAAO,IAAK;AAChB,YAAI,OAAO,IAAK;AAChB,YAAI,CAAC,UAAU,KAAK,WAAW,KAAK,CAAC,GAAG;AACtC,iBAAO;AAAA,QACT;AACA,oBAAY;AAAA,MACd;AAGA,UAAI,CAAC,aAAa,OAAO,IAAK,QAAO;AAGrC,UAAI,OAAO,IAAK,QAAO;AAGvB,aAAO,oBAAoB,KAAK,KAAK,MAAM,KAAK,CAAC;AAAA,IACnD;AAEA,aAAS,qBAAqB,MAAM;AAClC,UAAI,QAAQ,MAAM,OAAO,GAAG,IAAI,MAAM,SAAS,CAAC;AAEhD,UAAI,MAAM,QAAQ,GAAG,MAAM,IAAI;AAC7B,gBAAQ,MAAM,QAAQ,MAAM,EAAE;AAAA,MAChC;AAEA,WAAK,MAAM,CAAC;AAEZ,UAAI,OAAO,OAAO,OAAO,KAAK;AAC5B,YAAI,OAAO,IAAK,QAAO;AACvB,gBAAQ,MAAM,MAAM,CAAC;AACrB,aAAK,MAAM,CAAC;AAAA,MACd;AAEA,UAAI,UAAU,IAAK,QAAO;AAE1B,UAAI,OAAO,KAAK;AACd,YAAI,MAAM,CAAC,MAAM,IAAK,QAAO,OAAO,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC;AAC9D,YAAI,MAAM,CAAC,MAAM,IAAK,QAAO,OAAO,SAAS,OAAO,EAAE;AACtD,eAAO,OAAO,SAAS,OAAO,CAAC;AAAA,MACjC;AAEA,UAAI,MAAM,QAAQ,GAAG,MAAM,IAAI;AAC7B,cAAM,MAAM,GAAG,EAAE,QAAQ,SAAU,GAAG;AACpC,iBAAO,QAAQ,SAAS,GAAG,EAAE,CAAC;AAAA,QAChC,CAAC;AAED,gBAAQ;AACR,eAAO;AAEP,eAAO,QAAQ,SAAU,GAAG;AAC1B,mBAAU,IAAI;AACd,kBAAQ;AAAA,QACV,CAAC;AAED,eAAO,OAAO;AAAA,MAEhB;AAEA,aAAO,OAAO,SAAS,OAAO,EAAE;AAAA,IAClC;AAEA,aAAS,UAAU,QAAQ;AACzB,aAAQ,OAAO,UAAU,SAAS,KAAK,MAAM,MAAO,sBAC5C,SAAS,MAAM,KAAK,CAAC,OAAO,eAAe,MAAM;AAAA,IAC3D;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,yBAAyB;AAAA,MACjD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,QACT,QAAa,SAAU,KAAK;AAAE,iBAAO,OAAO,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,QAAQ,IAAI,SAAS,CAAC,EAAE,MAAM,CAAC;AAAA,QAAG;AAAA,QAC3G,OAAa,SAAU,KAAK;AAAE,iBAAO,OAAO,IAAI,MAAO,IAAI,SAAS,CAAC,IAAI,OAAQ,IAAI,SAAS,CAAC,EAAE,MAAM,CAAC;AAAA,QAAG;AAAA,QAC3G,SAAa,SAAU,KAAK;AAAE,iBAAO,IAAI,SAAS,EAAE;AAAA,QAAG;AAAA;AAAA,QAEvD,aAAa,SAAU,KAAK;AAAE,iBAAO,OAAO,IAAI,OAAO,IAAI,SAAS,EAAE,EAAE,YAAY,IAAK,QAAQ,IAAI,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC;AAAA,QAAG;AAAA,MAC5I;AAAA,MACA,cAAc;AAAA,MACd,cAAc;AAAA,QACZ,QAAa,CAAE,GAAI,KAAM;AAAA,QACzB,OAAa,CAAE,GAAI,KAAM;AAAA,QACzB,SAAa,CAAE,IAAI,KAAM;AAAA,QACzB,aAAa,CAAE,IAAI,KAAM;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA;AAAA;;;AC5KD;AAAA,mDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,SAAS;AACb,QAAI,OAAS;AAEb,QAAI,qBAAqB,IAAI;AAAA;AAAA,MAE3B;AAAA,IASuB;AAEzB,aAAS,iBAAiB,MAAM;AAC9B,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,CAAC,mBAAmB,KAAK,IAAI;AAAA;AAAA,MAG7B,KAAK,KAAK,SAAS,CAAC,MAAM,KAAK;AACjC,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,mBAAmB,MAAM;AAChC,UAAI,OAAO,MAAM,MAAM;AAEvB,cAAS,KAAK,QAAQ,MAAM,EAAE,EAAE,YAAY;AAC5C,aAAS,MAAM,CAAC,MAAM,MAAM,KAAK;AACjC,eAAS,CAAC;AAEV,UAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,KAAK,GAAG;AAC/B,gBAAQ,MAAM,MAAM,CAAC;AAAA,MACvB;AAEA,UAAI,UAAU,QAAQ;AACpB,eAAQ,SAAS,IAAK,OAAO,oBAAoB,OAAO;AAAA,MAE1D,WAAW,UAAU,QAAQ;AAC3B,eAAO;AAAA,MAET,WAAW,MAAM,QAAQ,GAAG,KAAK,GAAG;AAClC,cAAM,MAAM,GAAG,EAAE,QAAQ,SAAU,GAAG;AACpC,iBAAO,QAAQ,WAAW,GAAG,EAAE,CAAC;AAAA,QAClC,CAAC;AAED,gBAAQ;AACR,eAAO;AAEP,eAAO,QAAQ,SAAU,GAAG;AAC1B,mBAAS,IAAI;AACb,kBAAQ;AAAA,QACV,CAAC;AAED,eAAO,OAAO;AAAA,MAEhB;AACA,aAAO,OAAO,WAAW,OAAO,EAAE;AAAA,IACpC;AAGA,QAAI,yBAAyB;AAE7B,aAAS,mBAAmB,QAAQ,OAAO;AACzC,UAAI;AAEJ,UAAI,MAAM,MAAM,GAAG;AACjB,gBAAQ,OAAO;AAAA,UACb,KAAK;AAAa,mBAAO;AAAA,UACzB,KAAK;AAAa,mBAAO;AAAA,UACzB,KAAK;AAAa,mBAAO;AAAA,QAC3B;AAAA,MACF,WAAW,OAAO,sBAAsB,QAAQ;AAC9C,gBAAQ,OAAO;AAAA,UACb,KAAK;AAAa,mBAAO;AAAA,UACzB,KAAK;AAAa,mBAAO;AAAA,UACzB,KAAK;AAAa,mBAAO;AAAA,QAC3B;AAAA,MACF,WAAW,OAAO,sBAAsB,QAAQ;AAC9C,gBAAQ,OAAO;AAAA,UACb,KAAK;AAAa,mBAAO;AAAA,UACzB,KAAK;AAAa,mBAAO;AAAA,UACzB,KAAK;AAAa,mBAAO;AAAA,QAC3B;AAAA,MACF,WAAW,OAAO,eAAe,MAAM,GAAG;AACxC,eAAO;AAAA,MACT;AAEA,YAAM,OAAO,SAAS,EAAE;AAKxB,aAAO,uBAAuB,KAAK,GAAG,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI;AAAA,IACrE;AAEA,aAAS,QAAQ,QAAQ;AACvB,aAAQ,OAAO,UAAU,SAAS,KAAK,MAAM,MAAM,sBAC3C,SAAS,MAAM,KAAK,OAAO,eAAe,MAAM;AAAA,IAC1D;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,2BAA2B;AAAA,MACnD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,cAAc;AAAA,IAChB,CAAC;AAAA;AAAA;;;ACnHD;AAAA,oDAAAC,UAAAC,SAAA;AAAA;AAWA,QAAI,SAAS;AAGb,IAAAA,QAAO,UAAU,IAAI,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;;;ACxBD;AAAA,oDAAAC,UAAAC,SAAA;AAAA;AAUA,QAAI,SAAS;AAGb,IAAAA,QAAO,UAAU,IAAI,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;;;ACjBD;AAAA,uDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,QAAI,mBAAmB,IAAI;AAAA,MACzB;AAAA,IAEgB;AAElB,QAAI,wBAAwB,IAAI;AAAA,MAC9B;AAAA,IASwB;AAE1B,aAAS,qBAAqB,MAAM;AAClC,UAAI,SAAS,KAAM,QAAO;AAC1B,UAAI,iBAAiB,KAAK,IAAI,MAAM,KAAM,QAAO;AACjD,UAAI,sBAAsB,KAAK,IAAI,MAAM,KAAM,QAAO;AACtD,aAAO;AAAA,IACT;AAEA,aAAS,uBAAuB,MAAM;AACpC,UAAI,OAAO,MAAM,OAAO,KAAK,MAAM,QAAQ,QAAQ,WAAW,GAC1D,QAAQ,MAAM,SAAS,WAAW;AAEtC,cAAQ,iBAAiB,KAAK,IAAI;AAClC,UAAI,UAAU,KAAM,SAAQ,sBAAsB,KAAK,IAAI;AAE3D,UAAI,UAAU,KAAM,OAAM,IAAI,MAAM,oBAAoB;AAIxD,aAAO,CAAE,MAAM,CAAC;AAChB,cAAQ,CAAE,MAAM,CAAC,IAAK;AACtB,YAAM,CAAE,MAAM,CAAC;AAEf,UAAI,CAAC,MAAM,CAAC,GAAG;AACb,eAAO,IAAI,KAAK,KAAK,IAAI,MAAM,OAAO,GAAG,CAAC;AAAA,MAC5C;AAIA,aAAO,CAAE,MAAM,CAAC;AAChB,eAAS,CAAE,MAAM,CAAC;AAClB,eAAS,CAAE,MAAM,CAAC;AAElB,UAAI,MAAM,CAAC,GAAG;AACZ,mBAAW,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC;AAC9B,eAAO,SAAS,SAAS,GAAG;AAC1B,sBAAY;AAAA,QACd;AACA,mBAAW,CAAC;AAAA,MACd;AAIA,UAAI,MAAM,CAAC,GAAG;AACZ,kBAAU,CAAE,MAAM,EAAE;AACpB,oBAAY,EAAE,MAAM,EAAE,KAAK;AAC3B,iBAAS,UAAU,KAAK,aAAa;AACrC,YAAI,MAAM,CAAC,MAAM,IAAK,SAAQ,CAAC;AAAA,MACjC;AAEA,aAAO,IAAI,KAAK,KAAK,IAAI,MAAM,OAAO,KAAK,MAAM,QAAQ,QAAQ,QAAQ,CAAC;AAE1E,UAAI,MAAO,MAAK,QAAQ,KAAK,QAAQ,IAAI,KAAK;AAE9C,aAAO;AAAA,IACT;AAEA,aAAS,uBAAuB,QAAoB;AAClD,aAAO,OAAO,YAAY;AAAA,IAC5B;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,+BAA+B;AAAA,MACvD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;ACvFD;AAAA,mDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,aAAS,iBAAiB,MAAM;AAC9B,aAAO,SAAS,QAAQ,SAAS;AAAA,IACnC;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,2BAA2B;AAAA,MACnD,MAAM;AAAA,MACN,SAAS;AAAA,IACX,CAAC;AAAA;AAAA;;;ACXD;AAAA,oDAAAC,UAAAC,SAAA;AAAA;AAIA,QAAI;AAEJ,QAAI;AAEE,iBAAW;AACf,mBAAa,SAAS,QAAQ,EAAE;AAAA,IAClC,SAAS,IAAI;AAAA,IAAC;AAFR;AAIN,QAAI,OAAa;AAIjB,QAAI,aAAa;AAGjB,aAAS,kBAAkB,MAAM;AAC/B,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,MAAM,KAAK,SAAS,GAAG,MAAM,KAAK,QAAQ,MAAM;AAGpD,WAAK,MAAM,GAAG,MAAM,KAAK,OAAO;AAC9B,eAAO,IAAI,QAAQ,KAAK,OAAO,GAAG,CAAC;AAGnC,YAAI,OAAO,GAAI;AAGf,YAAI,OAAO,EAAG,QAAO;AAErB,kBAAU;AAAA,MACZ;AAGA,aAAQ,SAAS,MAAO;AAAA,IAC1B;AAEA,aAAS,oBAAoB,MAAM;AACjC,UAAI,KAAK,UACL,QAAQ,KAAK,QAAQ,YAAY,EAAE,GACnC,MAAM,MAAM,QACZ,MAAM,YACN,OAAO,GACP,SAAS,CAAC;AAId,WAAK,MAAM,GAAG,MAAM,KAAK,OAAO;AAC9B,YAAK,MAAM,MAAM,KAAM,KAAK;AAC1B,iBAAO,KAAM,QAAQ,KAAM,GAAI;AAC/B,iBAAO,KAAM,QAAQ,IAAK,GAAI;AAC9B,iBAAO,KAAK,OAAO,GAAI;AAAA,QACzB;AAEA,eAAQ,QAAQ,IAAK,IAAI,QAAQ,MAAM,OAAO,GAAG,CAAC;AAAA,MACpD;AAIA,iBAAY,MAAM,IAAK;AAEvB,UAAI,aAAa,GAAG;AAClB,eAAO,KAAM,QAAQ,KAAM,GAAI;AAC/B,eAAO,KAAM,QAAQ,IAAK,GAAI;AAC9B,eAAO,KAAK,OAAO,GAAI;AAAA,MACzB,WAAW,aAAa,IAAI;AAC1B,eAAO,KAAM,QAAQ,KAAM,GAAI;AAC/B,eAAO,KAAM,QAAQ,IAAK,GAAI;AAAA,MAChC,WAAW,aAAa,IAAI;AAC1B,eAAO,KAAM,QAAQ,IAAK,GAAI;AAAA,MAChC;AAGA,UAAI,YAAY;AAEd,eAAO,WAAW,OAAO,WAAW,KAAK,MAAM,IAAI,IAAI,WAAW,MAAM;AAAA,MAC1E;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,oBAAoB,QAAoB;AAC/C,UAAI,SAAS,IAAI,OAAO,GAAG,KAAK,MAC5B,MAAM,OAAO,QACb,MAAM;AAIV,WAAK,MAAM,GAAG,MAAM,KAAK,OAAO;AAC9B,YAAK,MAAM,MAAM,KAAM,KAAK;AAC1B,oBAAU,IAAK,QAAQ,KAAM,EAAI;AACjC,oBAAU,IAAK,QAAQ,KAAM,EAAI;AACjC,oBAAU,IAAK,QAAQ,IAAK,EAAI;AAChC,oBAAU,IAAI,OAAO,EAAI;AAAA,QAC3B;AAEA,gBAAQ,QAAQ,KAAK,OAAO,GAAG;AAAA,MACjC;AAIA,aAAO,MAAM;AAEb,UAAI,SAAS,GAAG;AACd,kBAAU,IAAK,QAAQ,KAAM,EAAI;AACjC,kBAAU,IAAK,QAAQ,KAAM,EAAI;AACjC,kBAAU,IAAK,QAAQ,IAAK,EAAI;AAChC,kBAAU,IAAI,OAAO,EAAI;AAAA,MAC3B,WAAW,SAAS,GAAG;AACrB,kBAAU,IAAK,QAAQ,KAAM,EAAI;AACjC,kBAAU,IAAK,QAAQ,IAAK,EAAI;AAChC,kBAAU,IAAK,QAAQ,IAAK,EAAI;AAChC,kBAAU,IAAI,EAAE;AAAA,MAClB,WAAW,SAAS,GAAG;AACrB,kBAAU,IAAK,QAAQ,IAAK,EAAI;AAChC,kBAAU,IAAK,QAAQ,IAAK,EAAI;AAChC,kBAAU,IAAI,EAAE;AAChB,kBAAU,IAAI,EAAE;AAAA,MAClB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,SAAS,QAAQ;AACxB,aAAO,cAAc,WAAW,SAAS,MAAM;AAAA,IACjD;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,4BAA4B;AAAA,MACpD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;ACzID;AAAA,kDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,QAAI,kBAAkB,OAAO,UAAU;AACvC,QAAI,YAAkB,OAAO,UAAU;AAEvC,aAAS,gBAAgB,MAAM;AAC7B,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,aAAa,CAAC,GAAG,OAAO,QAAQ,MAAM,SAAS,YAC/C,SAAS;AAEb,WAAK,QAAQ,GAAG,SAAS,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAClE,eAAO,OAAO,KAAK;AACnB,qBAAa;AAEb,YAAI,UAAU,KAAK,IAAI,MAAM,kBAAmB,QAAO;AAEvD,aAAK,WAAW,MAAM;AACpB,cAAI,gBAAgB,KAAK,MAAM,OAAO,GAAG;AACvC,gBAAI,CAAC,WAAY,cAAa;AAAA,gBACzB,QAAO;AAAA,UACd;AAAA,QACF;AAEA,YAAI,CAAC,WAAY,QAAO;AAExB,YAAI,WAAW,QAAQ,OAAO,MAAM,GAAI,YAAW,KAAK,OAAO;AAAA,YAC1D,QAAO;AAAA,MACd;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,kBAAkB,MAAM;AAC/B,aAAO,SAAS,OAAO,OAAO,CAAC;AAAA,IACjC;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,0BAA0B;AAAA,MAClD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;AC3CD;AAAA,mDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,QAAI,YAAY,OAAO,UAAU;AAEjC,aAAS,iBAAiB,MAAM;AAC9B,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,OAAO,QAAQ,MAAM,MAAM,QAC3B,SAAS;AAEb,eAAS,IAAI,MAAM,OAAO,MAAM;AAEhC,WAAK,QAAQ,GAAG,SAAS,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAClE,eAAO,OAAO,KAAK;AAEnB,YAAI,UAAU,KAAK,IAAI,MAAM,kBAAmB,QAAO;AAEvD,eAAO,OAAO,KAAK,IAAI;AAEvB,YAAI,KAAK,WAAW,EAAG,QAAO;AAE9B,eAAO,KAAK,IAAI,CAAE,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAE;AAAA,MAC3C;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,mBAAmB,MAAM;AAChC,UAAI,SAAS,KAAM,QAAO,CAAC;AAE3B,UAAI,OAAO,QAAQ,MAAM,MAAM,QAC3B,SAAS;AAEb,eAAS,IAAI,MAAM,OAAO,MAAM;AAEhC,WAAK,QAAQ,GAAG,SAAS,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAClE,eAAO,OAAO,KAAK;AAEnB,eAAO,OAAO,KAAK,IAAI;AAEvB,eAAO,KAAK,IAAI,CAAE,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAE;AAAA,MAC3C;AAEA,aAAO;AAAA,IACT;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,2BAA2B;AAAA,MACnD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;ACpDD;AAAA,iDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,QAAI,kBAAkB,OAAO,UAAU;AAEvC,aAAS,eAAe,MAAM;AAC5B,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI,KAAK,SAAS;AAElB,WAAK,OAAO,QAAQ;AAClB,YAAI,gBAAgB,KAAK,QAAQ,GAAG,GAAG;AACrC,cAAI,OAAO,GAAG,MAAM,KAAM,QAAO;AAAA,QACnC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,iBAAiB,MAAM;AAC9B,aAAO,SAAS,OAAO,OAAO,CAAC;AAAA,IACjC;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,yBAAyB;AAAA,MACjD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;AC5BD;AAAA,4DAAAC,UAAAC,SAAA;AAAA;AAUA,QAAI,SAAS;AAGb,IAAAA,QAAO,UAAU,IAAI,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACR;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;;;AC3BD;AAAA,0DAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,aAAS,6BAA6B;AACpC,aAAO;AAAA,IACT;AAEA,aAAS,+BAA+B;AAEtC,aAAO;AAAA,IACT;AAEA,aAAS,+BAA+B;AACtC,aAAO;AAAA,IACT;AAEA,aAAS,YAAY,QAAQ;AAC3B,aAAO,OAAO,WAAW;AAAA,IAC3B;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,kCAAkC;AAAA,MAC1D,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;AC3BD;AAAA,uDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI,OAAO;AAEX,aAAS,wBAAwB,MAAM;AACrC,UAAI,SAAS,KAAM,QAAO;AAC1B,UAAI,KAAK,WAAW,EAAG,QAAO;AAE9B,UAAI,SAAS,MACT,OAAS,cAAc,KAAK,IAAI,GAChC,YAAY;AAIhB,UAAI,OAAO,CAAC,MAAM,KAAK;AACrB,YAAI,KAAM,aAAY,KAAK,CAAC;AAE5B,YAAI,UAAU,SAAS,EAAG,QAAO;AAEjC,YAAI,OAAO,OAAO,SAAS,UAAU,SAAS,CAAC,MAAM,IAAK,QAAO;AAAA,MACnE;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,0BAA0B,MAAM;AACvC,UAAI,SAAS,MACT,OAAS,cAAc,KAAK,IAAI,GAChC,YAAY;AAGhB,UAAI,OAAO,CAAC,MAAM,KAAK;AACrB,YAAI,KAAM,aAAY,KAAK,CAAC;AAC5B,iBAAS,OAAO,MAAM,GAAG,OAAO,SAAS,UAAU,SAAS,CAAC;AAAA,MAC/D;AAEA,aAAO,IAAI,OAAO,QAAQ,SAAS;AAAA,IACrC;AAEA,aAAS,0BAA0B,QAAoB;AACrD,UAAI,SAAS,MAAM,OAAO,SAAS;AAEnC,UAAI,OAAO,OAAQ,WAAU;AAC7B,UAAI,OAAO,UAAW,WAAU;AAChC,UAAI,OAAO,WAAY,WAAU;AAEjC,aAAO;AAAA,IACT;AAEA,aAAS,SAAS,QAAQ;AACxB,aAAO,OAAO,UAAU,SAAS,KAAK,MAAM,MAAM;AAAA,IACpD;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,+BAA+B;AAAA,MACvD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;AC3DD;AAAA,yDAAAC,UAAAC,SAAA;AAAA;AAEA,QAAI;AASJ,QAAI;AAEE,iBAAW;AACf,gBAAU,SAAS,SAAS;AAAA,IAC9B,SAAS,GAAG;AAGV,UAAI,OAAO,WAAW,YAAa,WAAU,OAAO;AAAA,IACtD;AANM;AAQN,QAAI,OAAO;AAEX,aAAS,0BAA0B,MAAM;AACvC,UAAI,SAAS,KAAM,QAAO;AAE1B,UAAI;AACF,YAAI,SAAS,MAAM,OAAO,KACtB,MAAS,QAAQ,MAAM,QAAQ,EAAE,OAAO,KAAK,CAAC;AAElD,YAAI,IAAI,SAA4B,aAChC,IAAI,KAAK,WAAuB,KAChC,IAAI,KAAK,CAAC,EAAE,SAAoB,yBAC/B,IAAI,KAAK,CAAC,EAAE,WAAW,SAAS,6BAC/B,IAAI,KAAK,CAAC,EAAE,WAAW,SAAS,sBAAuB;AAC3D,iBAAO;AAAA,QACT;AAEA,eAAO;AAAA,MACT,SAAS,KAAK;AACZ,eAAO;AAAA,MACT;AAAA,IACF;AAEA,aAAS,4BAA4B,MAAM;AAGzC,UAAI,SAAS,MAAM,OAAO,KACtB,MAAS,QAAQ,MAAM,QAAQ,EAAE,OAAO,KAAK,CAAC,GAC9C,SAAS,CAAC,GACV;AAEJ,UAAI,IAAI,SAA4B,aAChC,IAAI,KAAK,WAAuB,KAChC,IAAI,KAAK,CAAC,EAAE,SAAoB,yBAC/B,IAAI,KAAK,CAAC,EAAE,WAAW,SAAS,6BAC/B,IAAI,KAAK,CAAC,EAAE,WAAW,SAAS,sBAAuB;AAC3D,cAAM,IAAI,MAAM,4BAA4B;AAAA,MAC9C;AAEA,UAAI,KAAK,CAAC,EAAE,WAAW,OAAO,QAAQ,SAAU,OAAO;AACrD,eAAO,KAAK,MAAM,IAAI;AAAA,MACxB,CAAC;AAED,aAAO,IAAI,KAAK,CAAC,EAAE,WAAW,KAAK;AAInC,UAAI,IAAI,KAAK,CAAC,EAAE,WAAW,KAAK,SAAS,kBAAkB;AAEzD,eAAO,IAAI,SAAS,QAAQ,OAAO,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,MACpE;AAIA,aAAO,IAAI,SAAS,QAAQ,YAAY,OAAO,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,IACxE;AAEA,aAAS,4BAA4B,QAAoB;AACvD,aAAO,OAAO,SAAS;AAAA,IACzB;AAEA,aAAS,WAAW,QAAQ;AAC1B,aAAO,OAAO,UAAU,SAAS,KAAK,MAAM,MAAM;AAAA,IACpD;AAEA,IAAAA,QAAO,UAAU,IAAI,KAAK,iCAAiC;AAAA,MACzD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC;AAAA;AAAA;;;AC5FD;AAAA,4DAAAC,UAAAC,SAAA;AAAA;AAYA,QAAI,SAAS;AAGb,IAAAA,QAAO,UAAU,OAAO,UAAU,IAAI,OAAO;AAAA,MAC3C,SAAS;AAAA,QACP;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;;;ACxBD;AAAA,+CAAAC,UAAAC,SAAA;AAAA;AAIA,QAAI,SAAsB;AAC1B,QAAI,gBAAsB;AAC1B,QAAI,OAAsB;AAC1B,QAAI,sBAAsB;AAC1B,QAAI,sBAAsB;AAG1B,QAAI,kBAAkB,OAAO,UAAU;AAGvC,QAAI,kBAAoB;AACxB,QAAI,mBAAoB;AACxB,QAAI,mBAAoB;AACxB,QAAI,oBAAoB;AAGxB,QAAI,gBAAiB;AACrB,QAAI,iBAAiB;AACrB,QAAI,gBAAiB;AAGrB,QAAI,wBAAgC;AACpC,QAAI,gCAAgC;AACpC,QAAI,0BAAgC;AACpC,QAAI,qBAAgC;AACpC,QAAI,kBAAgC;AAGpC,aAAS,OAAO,KAAK;AAAE,aAAO,OAAO,UAAU,SAAS,KAAK,GAAG;AAAA,IAAG;AAEnE,aAAS,OAAO,GAAG;AACjB,aAAQ,MAAM,MAAkB,MAAM;AAAA,IACxC;AAEA,aAAS,eAAe,GAAG;AACzB,aAAQ,MAAM,KAAmB,MAAM;AAAA,IACzC;AAEA,aAAS,aAAa,GAAG;AACvB,aAAQ,MAAM,KACN,MAAM,MACN,MAAM,MACN,MAAM;AAAA,IAChB;AAEA,aAAS,kBAAkB,GAAG;AAC5B,aAAO,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,OACN,MAAM;AAAA,IACf;AAEA,aAAS,YAAY,GAAG;AACtB,UAAI;AAEJ,UAAK,MAAe,KAAO,KAAK,IAAc;AAC5C,eAAO,IAAI;AAAA,MACb;AAGA,WAAK,IAAI;AAET,UAAK,MAAe,MAAQ,MAAM,KAAc;AAC9C,eAAO,KAAK,KAAO;AAAA,MACrB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,cAAc,GAAG;AACxB,UAAI,MAAM,KAAa;AAAE,eAAO;AAAA,MAAG;AACnC,UAAI,MAAM,KAAa;AAAE,eAAO;AAAA,MAAG;AACnC,UAAI,MAAM,IAAa;AAAE,eAAO;AAAA,MAAG;AACnC,aAAO;AAAA,IACT;AAEA,aAAS,gBAAgB,GAAG;AAC1B,UAAK,MAAe,KAAO,KAAK,IAAc;AAC5C,eAAO,IAAI;AAAA,MACb;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,qBAAqB,GAAG;AAE/B,aAAQ,MAAM,KAAe,OACtB,MAAM,KAAe,SACrB,MAAM,KAAe,OACrB,MAAM,MAAe,MACrB,MAAM,IAAiB,MACvB,MAAM,MAAe,OACrB,MAAM,MAAe,OACrB,MAAM,MAAe,OACrB,MAAM,MAAe,OACrB,MAAM,MAAe,SACrB,MAAM,KAAmB,MACzB,MAAM,KAAe,MACrB,MAAM,KAAe,MACrB,MAAM,KAAe,OACrB,MAAM,KAAe,MACrB,MAAM,KAAe,MACrB,MAAM,KAAe,WACrB,MAAM,KAAe,WAAW;AAAA,IACzC;AAEA,aAAS,kBAAkB,GAAG;AAC5B,UAAI,KAAK,OAAQ;AACf,eAAO,OAAO,aAAa,CAAC;AAAA,MAC9B;AAGA,aAAO,OAAO;AAAA,SACV,IAAI,SAAa,MAAM;AAAA,SACvB,IAAI,QAAY,QAAU;AAAA,MAC9B;AAAA,IACF;AAEA,QAAI,oBAAoB,IAAI,MAAM,GAAG;AACrC,QAAI,kBAAkB,IAAI,MAAM,GAAG;AACnC,SAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,wBAAkB,CAAC,IAAI,qBAAqB,CAAC,IAAI,IAAI;AACrD,sBAAgB,CAAC,IAAI,qBAAqB,CAAC;AAAA,IAC7C;AAHS;AAMT,aAAS,MAAM,OAAOC,UAAS;AAC7B,WAAK,QAAQ;AAEb,WAAK,WAAYA,SAAQ,UAAU,KAAM;AACzC,WAAK,SAAYA,SAAQ,QAAQ,KAAQ;AACzC,WAAK,YAAYA,SAAQ,WAAW,KAAK;AACzC,WAAK,SAAYA,SAAQ,QAAQ,KAAQ;AACzC,WAAK,OAAYA,SAAQ,MAAM,KAAU;AACzC,WAAK,WAAYA,SAAQ,UAAU,KAAM;AAEzC,WAAK,gBAAgB,KAAK,OAAO;AACjC,WAAK,UAAgB,KAAK,OAAO;AAEjC,WAAK,SAAa,MAAM;AACxB,WAAK,WAAa;AAClB,WAAK,OAAa;AAClB,WAAK,YAAa;AAClB,WAAK,aAAa;AAElB,WAAK,YAAY,CAAC;AAAA,IAYpB;AAGA,aAAS,cAAc,OAAO,SAAS;AACrC,aAAO,IAAI;AAAA,QACT;AAAA,QACA,IAAI,KAAK,MAAM,UAAU,MAAM,OAAO,MAAM,UAAU,MAAM,MAAO,MAAM,WAAW,MAAM,SAAU;AAAA,MAAC;AAAA,IACzG;AAEA,aAAS,WAAW,OAAO,SAAS;AAClC,YAAM,cAAc,OAAO,OAAO;AAAA,IACpC;AAEA,aAAS,aAAa,OAAO,SAAS;AACpC,UAAI,MAAM,WAAW;AACnB,cAAM,UAAU,KAAK,MAAM,cAAc,OAAO,OAAO,CAAC;AAAA,MAC1D;AAAA,IACF;AAGA,QAAI,oBAAoB;AAAA,MAEtB,MAAM,SAAS,oBAAoB,OAAO,MAAM,MAAM;AAEpD,YAAI,OAAO,OAAO;AAElB,YAAI,MAAM,YAAY,MAAM;AAC1B,qBAAW,OAAO,gCAAgC;AAAA,QACpD;AAEA,YAAI,KAAK,WAAW,GAAG;AACrB,qBAAW,OAAO,6CAA6C;AAAA,QACjE;AAEA,gBAAQ,uBAAuB,KAAK,KAAK,CAAC,CAAC;AAE3C,YAAI,UAAU,MAAM;AAClB,qBAAW,OAAO,2CAA2C;AAAA,QAC/D;AAEA,gBAAQ,SAAS,MAAM,CAAC,GAAG,EAAE;AAC7B,gBAAQ,SAAS,MAAM,CAAC,GAAG,EAAE;AAE7B,YAAI,UAAU,GAAG;AACf,qBAAW,OAAO,2CAA2C;AAAA,QAC/D;AAEA,cAAM,UAAU,KAAK,CAAC;AACtB,cAAM,kBAAmB,QAAQ;AAEjC,YAAI,UAAU,KAAK,UAAU,GAAG;AAC9B,uBAAa,OAAO,0CAA0C;AAAA,QAChE;AAAA,MACF;AAAA,MAEA,KAAK,SAAS,mBAAmB,OAAO,MAAM,MAAM;AAElD,YAAI,QAAQ;AAEZ,YAAI,KAAK,WAAW,GAAG;AACrB,qBAAW,OAAO,6CAA6C;AAAA,QACjE;AAEA,iBAAS,KAAK,CAAC;AACf,iBAAS,KAAK,CAAC;AAEf,YAAI,CAAC,mBAAmB,KAAK,MAAM,GAAG;AACpC,qBAAW,OAAO,6DAA6D;AAAA,QACjF;AAEA,YAAI,gBAAgB,KAAK,MAAM,QAAQ,MAAM,GAAG;AAC9C,qBAAW,OAAO,gDAAgD,SAAS,cAAc;AAAA,QAC3F;AAEA,YAAI,CAAC,gBAAgB,KAAK,MAAM,GAAG;AACjC,qBAAW,OAAO,8DAA8D;AAAA,QAClF;AAEA,cAAM,OAAO,MAAM,IAAI;AAAA,MACzB;AAAA,IACF;AAGA,aAAS,eAAe,OAAO,OAAO,KAAK,WAAW;AACpD,UAAI,WAAW,SAAS,YAAY;AAEpC,UAAI,QAAQ,KAAK;AACf,kBAAU,MAAM,MAAM,MAAM,OAAO,GAAG;AAEtC,YAAI,WAAW;AACb,eAAK,YAAY,GAAG,UAAU,QAAQ,QAAQ,YAAY,SAAS,aAAa,GAAG;AACjF,yBAAa,QAAQ,WAAW,SAAS;AACzC,gBAAI,EAAE,eAAe,KACd,MAAQ,cAAc,cAAc,UAAY;AACrD,yBAAW,OAAO,+BAA+B;AAAA,YACnD;AAAA,UACF;AAAA,QACF,WAAW,sBAAsB,KAAK,OAAO,GAAG;AAC9C,qBAAW,OAAO,8CAA8C;AAAA,QAClE;AAEA,cAAM,UAAU;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,cAAc,OAAO,aAAa,QAAQ,iBAAiB;AAClE,UAAI,YAAY,KAAK,OAAO;AAE5B,UAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC5B,mBAAW,OAAO,mEAAmE;AAAA,MACvF;AAEA,mBAAa,OAAO,KAAK,MAAM;AAE/B,WAAK,QAAQ,GAAG,WAAW,WAAW,QAAQ,QAAQ,UAAU,SAAS,GAAG;AAC1E,cAAM,WAAW,KAAK;AAEtB,YAAI,CAAC,gBAAgB,KAAK,aAAa,GAAG,GAAG;AAC3C,sBAAY,GAAG,IAAI,OAAO,GAAG;AAC7B,0BAAgB,GAAG,IAAI;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAEA,aAAS,iBAAiB,OAAO,SAAS,iBAAiB,QAAQ,SAAS,WAAW,WAAW,UAAU;AAC1G,UAAI,OAAO;AAKX,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,kBAAU,MAAM,UAAU,MAAM,KAAK,OAAO;AAE5C,aAAK,QAAQ,GAAG,WAAW,QAAQ,QAAQ,QAAQ,UAAU,SAAS,GAAG;AACvE,cAAI,MAAM,QAAQ,QAAQ,KAAK,CAAC,GAAG;AACjC,uBAAW,OAAO,6CAA6C;AAAA,UACjE;AAEA,cAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,KAAK,CAAC,MAAM,mBAAmB;AAC/E,oBAAQ,KAAK,IAAI;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAKA,UAAI,OAAO,YAAY,YAAY,OAAO,OAAO,MAAM,mBAAmB;AACxE,kBAAU;AAAA,MACZ;AAGA,gBAAU,OAAO,OAAO;AAExB,UAAI,YAAY,MAAM;AACpB,kBAAU,CAAC;AAAA,MACb;AAEA,UAAI,WAAW,2BAA2B;AACxC,YAAI,MAAM,QAAQ,SAAS,GAAG;AAC5B,eAAK,QAAQ,GAAG,WAAW,UAAU,QAAQ,QAAQ,UAAU,SAAS,GAAG;AACzE,0BAAc,OAAO,SAAS,UAAU,KAAK,GAAG,eAAe;AAAA,UACjE;AAAA,QACF,OAAO;AACL,wBAAc,OAAO,SAAS,WAAW,eAAe;AAAA,QAC1D;AAAA,MACF,OAAO;AACL,YAAI,CAAC,MAAM,QACP,CAAC,gBAAgB,KAAK,iBAAiB,OAAO,KAC9C,gBAAgB,KAAK,SAAS,OAAO,GAAG;AAC1C,gBAAM,OAAO,aAAa,MAAM;AAChC,gBAAM,WAAW,YAAY,MAAM;AACnC,qBAAW,OAAO,wBAAwB;AAAA,QAC5C;AACA,gBAAQ,OAAO,IAAI;AACnB,eAAO,gBAAgB,OAAO;AAAA,MAChC;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,cAAc,OAAO;AAC5B,UAAI;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,IAAc;AACvB,cAAM;AAAA,MACR,WAAW,OAAO,IAAc;AAC9B,cAAM;AACN,YAAI,MAAM,MAAM,WAAW,MAAM,QAAQ,MAAM,IAAc;AAC3D,gBAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,mBAAW,OAAO,0BAA0B;AAAA,MAC9C;AAEA,YAAM,QAAQ;AACd,YAAM,YAAY,MAAM;AAAA,IAC1B;AAEA,aAAS,oBAAoB,OAAO,eAAe,aAAa;AAC9D,UAAI,aAAa,GACb,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE9C,aAAO,OAAO,GAAG;AACf,eAAO,eAAe,EAAE,GAAG;AACzB,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C;AAEA,YAAI,iBAAiB,OAAO,IAAa;AACvC,aAAG;AACD,iBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,UAC9C,SAAS,OAAO,MAAgB,OAAO,MAAgB,OAAO;AAAA,QAChE;AAEA,YAAI,OAAO,EAAE,GAAG;AACd,wBAAc,KAAK;AAEnB,eAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAC1C;AACA,gBAAM,aAAa;AAEnB,iBAAO,OAAO,IAAiB;AAC7B,kBAAM;AACN,iBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,UAC9C;AAAA,QACF,OAAO;AACL;AAAA,QACF;AAAA,MACF;AAEA,UAAI,gBAAgB,MAAM,eAAe,KAAK,MAAM,aAAa,aAAa;AAC5E,qBAAa,OAAO,uBAAuB;AAAA,MAC7C;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,sBAAsB,OAAO;AACpC,UAAI,YAAY,MAAM,UAClB;AAEJ,WAAK,MAAM,MAAM,WAAW,SAAS;AAIrC,WAAK,OAAO,MAAe,OAAO,OAC9B,OAAO,MAAM,MAAM,WAAW,YAAY,CAAC,KAC3C,OAAO,MAAM,MAAM,WAAW,YAAY,CAAC,GAAG;AAEhD,qBAAa;AAEb,aAAK,MAAM,MAAM,WAAW,SAAS;AAErC,YAAI,OAAO,KAAK,aAAa,EAAE,GAAG;AAChC,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,iBAAiB,OAAO,OAAO;AACtC,UAAI,UAAU,GAAG;AACf,cAAM,UAAU;AAAA,MAClB,WAAW,QAAQ,GAAG;AACpB,cAAM,UAAU,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,MAC/C;AAAA,IACF;AAGA,aAAS,gBAAgB,OAAO,YAAY,sBAAsB;AAChE,UAAI,WACA,WACA,cACA,YACA,mBACA,OACA,YACA,aACA,QAAQ,MAAM,MACd,UAAU,MAAM,QAChB;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,aAAa,EAAE,KACf,kBAAkB,EAAE,KACpB,OAAO,MACP,OAAO,MACP,OAAO,MACP,OAAO,MACP,OAAO,OACP,OAAO,MACP,OAAO,MACP,OAAO,MACP,OAAO,MACP,OAAO,MACP,OAAO,IAAa;AACtB,eAAO;AAAA,MACT;AAEA,UAAI,OAAO,MAAe,OAAO,IAAa;AAC5C,oBAAY,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC;AAErD,YAAI,aAAa,SAAS,KACtB,wBAAwB,kBAAkB,SAAS,GAAG;AACxD,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,YAAM,OAAO;AACb,YAAM,SAAS;AACf,qBAAe,aAAa,MAAM;AAClC,0BAAoB;AAEpB,aAAO,OAAO,GAAG;AACf,YAAI,OAAO,IAAa;AACtB,sBAAY,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC;AAErD,cAAI,aAAa,SAAS,KACtB,wBAAwB,kBAAkB,SAAS,GAAG;AACxD;AAAA,UACF;AAAA,QAEF,WAAW,OAAO,IAAa;AAC7B,sBAAY,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC;AAErD,cAAI,aAAa,SAAS,GAAG;AAC3B;AAAA,UACF;AAAA,QAEF,WAAY,MAAM,aAAa,MAAM,aAAa,sBAAsB,KAAK,KAClE,wBAAwB,kBAAkB,EAAE,GAAG;AACxD;AAAA,QAEF,WAAW,OAAO,EAAE,GAAG;AACrB,kBAAQ,MAAM;AACd,uBAAa,MAAM;AACnB,wBAAc,MAAM;AACpB,8BAAoB,OAAO,OAAO,EAAE;AAEpC,cAAI,MAAM,cAAc,YAAY;AAClC,gCAAoB;AACpB,iBAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAC1C;AAAA,UACF,OAAO;AACL,kBAAM,WAAW;AACjB,kBAAM,OAAO;AACb,kBAAM,YAAY;AAClB,kBAAM,aAAa;AACnB;AAAA,UACF;AAAA,QACF;AAEA,YAAI,mBAAmB;AACrB,yBAAe,OAAO,cAAc,YAAY,KAAK;AACrD,2BAAiB,OAAO,MAAM,OAAO,KAAK;AAC1C,yBAAe,aAAa,MAAM;AAClC,8BAAoB;AAAA,QACtB;AAEA,YAAI,CAAC,eAAe,EAAE,GAAG;AACvB,uBAAa,MAAM,WAAW;AAAA,QAChC;AAEA,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,MAC9C;AAEA,qBAAe,OAAO,cAAc,YAAY,KAAK;AAErD,UAAI,MAAM,QAAQ;AAChB,eAAO;AAAA,MACT;AAEA,YAAM,OAAO;AACb,YAAM,SAAS;AACf,aAAO;AAAA,IACT;AAEA,aAAS,uBAAuB,OAAO,YAAY;AACjD,UAAI,IACA,cAAc;AAElB,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,IAAa;AACtB,eAAO;AAAA,MACT;AAEA,YAAM,OAAO;AACb,YAAM,SAAS;AACf,YAAM;AACN,qBAAe,aAAa,MAAM;AAElC,cAAQ,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ,OAAO,GAAG;AAC1D,YAAI,OAAO,IAAa;AACtB,yBAAe,OAAO,cAAc,MAAM,UAAU,IAAI;AACxD,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,cAAI,OAAO,IAAa;AACtB,2BAAe,MAAM;AACrB,kBAAM;AACN,yBAAa,MAAM;AAAA,UACrB,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QAEF,WAAW,OAAO,EAAE,GAAG;AACrB,yBAAe,OAAO,cAAc,YAAY,IAAI;AACpD,2BAAiB,OAAO,oBAAoB,OAAO,OAAO,UAAU,CAAC;AACrE,yBAAe,aAAa,MAAM;AAAA,QAEpC,WAAW,MAAM,aAAa,MAAM,aAAa,sBAAsB,KAAK,GAAG;AAC7E,qBAAW,OAAO,8DAA8D;AAAA,QAElF,OAAO;AACL,gBAAM;AACN,uBAAa,MAAM;AAAA,QACrB;AAAA,MACF;AAEA,iBAAW,OAAO,4DAA4D;AAAA,IAChF;AAEA,aAAS,uBAAuB,OAAO,YAAY;AACjD,UAAI,cACA,YACA,WACA,WACA,KACA;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,IAAa;AACtB,eAAO;AAAA,MACT;AAEA,YAAM,OAAO;AACb,YAAM,SAAS;AACf,YAAM;AACN,qBAAe,aAAa,MAAM;AAElC,cAAQ,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ,OAAO,GAAG;AAC1D,YAAI,OAAO,IAAa;AACtB,yBAAe,OAAO,cAAc,MAAM,UAAU,IAAI;AACxD,gBAAM;AACN,iBAAO;AAAA,QAET,WAAW,OAAO,IAAa;AAC7B,yBAAe,OAAO,cAAc,MAAM,UAAU,IAAI;AACxD,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,cAAI,OAAO,EAAE,GAAG;AACd,gCAAoB,OAAO,OAAO,UAAU;AAAA,UAG9C,WAAW,KAAK,OAAO,kBAAkB,EAAE,GAAG;AAC5C,kBAAM,UAAU,gBAAgB,EAAE;AAClC,kBAAM;AAAA,UAER,YAAY,MAAM,cAAc,EAAE,KAAK,GAAG;AACxC,wBAAY;AACZ,wBAAY;AAEZ,mBAAO,YAAY,GAAG,aAAa;AACjC,mBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,mBAAK,MAAM,YAAY,EAAE,MAAM,GAAG;AAChC,6BAAa,aAAa,KAAK;AAAA,cAEjC,OAAO;AACL,2BAAW,OAAO,gCAAgC;AAAA,cACpD;AAAA,YACF;AAEA,kBAAM,UAAU,kBAAkB,SAAS;AAE3C,kBAAM;AAAA,UAER,OAAO;AACL,uBAAW,OAAO,yBAAyB;AAAA,UAC7C;AAEA,yBAAe,aAAa,MAAM;AAAA,QAEpC,WAAW,OAAO,EAAE,GAAG;AACrB,yBAAe,OAAO,cAAc,YAAY,IAAI;AACpD,2BAAiB,OAAO,oBAAoB,OAAO,OAAO,UAAU,CAAC;AACrE,yBAAe,aAAa,MAAM;AAAA,QAEpC,WAAW,MAAM,aAAa,MAAM,aAAa,sBAAsB,KAAK,GAAG;AAC7E,qBAAW,OAAO,8DAA8D;AAAA,QAElF,OAAO;AACL,gBAAM;AACN,uBAAa,MAAM;AAAA,QACrB;AAAA,MACF;AAEA,iBAAW,OAAO,4DAA4D;AAAA,IAChF;AAEA,aAAS,mBAAmB,OAAO,YAAY;AAC7C,UAAI,WAAW,MACX,OACA,OAAW,MAAM,KACjB,SACA,UAAW,MAAM,QACjB,WACA,YACA,QACA,gBACA,WACA,kBAAkB,CAAC,GACnB,SACA,QACA,WACA;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,IAAa;AACtB,qBAAa;AACb,oBAAY;AACZ,kBAAU,CAAC;AAAA,MACb,WAAW,OAAO,KAAa;AAC7B,qBAAa;AACb,oBAAY;AACZ,kBAAU,CAAC;AAAA,MACb,OAAO;AACL,eAAO;AAAA,MACT;AAEA,UAAI,MAAM,WAAW,MAAM;AACzB,cAAM,UAAU,MAAM,MAAM,IAAI;AAAA,MAClC;AAEA,WAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,aAAO,OAAO,GAAG;AACf,4BAAoB,OAAO,MAAM,UAAU;AAE3C,aAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,YAAI,OAAO,YAAY;AACrB,gBAAM;AACN,gBAAM,MAAM;AACZ,gBAAM,SAAS;AACf,gBAAM,OAAO,YAAY,YAAY;AACrC,gBAAM,SAAS;AACf,iBAAO;AAAA,QACT,WAAW,CAAC,UAAU;AACpB,qBAAW,OAAO,8CAA8C;AAAA,QAClE;AAEA,iBAAS,UAAU,YAAY;AAC/B,iBAAS,iBAAiB;AAE1B,YAAI,OAAO,IAAa;AACtB,sBAAY,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC;AAErD,cAAI,aAAa,SAAS,GAAG;AAC3B,qBAAS,iBAAiB;AAC1B,kBAAM;AACN,gCAAoB,OAAO,MAAM,UAAU;AAAA,UAC7C;AAAA,QACF;AAEA,gBAAQ,MAAM;AACd,oBAAY,OAAO,YAAY,iBAAiB,OAAO,IAAI;AAC3D,iBAAS,MAAM;AACf,kBAAU,MAAM;AAChB,4BAAoB,OAAO,MAAM,UAAU;AAE3C,aAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,aAAK,kBAAkB,MAAM,SAAS,UAAU,OAAO,IAAa;AAClE,mBAAS;AACT,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAC5C,8BAAoB,OAAO,MAAM,UAAU;AAC3C,sBAAY,OAAO,YAAY,iBAAiB,OAAO,IAAI;AAC3D,sBAAY,MAAM;AAAA,QACpB;AAEA,YAAI,WAAW;AACb,2BAAiB,OAAO,SAAS,iBAAiB,QAAQ,SAAS,SAAS;AAAA,QAC9E,WAAW,QAAQ;AACjB,kBAAQ,KAAK,iBAAiB,OAAO,MAAM,iBAAiB,QAAQ,SAAS,SAAS,CAAC;AAAA,QACzF,OAAO;AACL,kBAAQ,KAAK,OAAO;AAAA,QACtB;AAEA,4BAAoB,OAAO,MAAM,UAAU;AAE3C,aAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,YAAI,OAAO,IAAa;AACtB,qBAAW;AACX,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C,OAAO;AACL,qBAAW;AAAA,QACb;AAAA,MACF;AAEA,iBAAW,OAAO,uDAAuD;AAAA,IAC3E;AAEA,aAAS,gBAAgB,OAAO,YAAY;AAC1C,UAAI,cACA,SACA,WAAiB,eACjB,iBAAiB,OACjB,iBAAiB,OACjB,aAAiB,YACjB,aAAiB,GACjB,iBAAiB,OACjB,KACA;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,KAAa;AACtB,kBAAU;AAAA,MACZ,WAAW,OAAO,IAAa;AAC7B,kBAAU;AAAA,MACZ,OAAO;AACL,eAAO;AAAA,MACT;AAEA,YAAM,OAAO;AACb,YAAM,SAAS;AAEf,aAAO,OAAO,GAAG;AACf,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,YAAI,OAAO,MAAe,OAAO,IAAa;AAC5C,cAAI,kBAAkB,UAAU;AAC9B,uBAAY,OAAO,KAAe,gBAAgB;AAAA,UACpD,OAAO;AACL,uBAAW,OAAO,sCAAsC;AAAA,UAC1D;AAAA,QAEF,YAAY,MAAM,gBAAgB,EAAE,MAAM,GAAG;AAC3C,cAAI,QAAQ,GAAG;AACb,uBAAW,OAAO,8EAA8E;AAAA,UAClG,WAAW,CAAC,gBAAgB;AAC1B,yBAAa,aAAa,MAAM;AAChC,6BAAiB;AAAA,UACnB,OAAO;AACL,uBAAW,OAAO,2CAA2C;AAAA,UAC/D;AAAA,QAEF,OAAO;AACL;AAAA,QACF;AAAA,MACF;AAEA,UAAI,eAAe,EAAE,GAAG;AACtB,WAAG;AAAE,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAAG,SAC7C,eAAe,EAAE;AAExB,YAAI,OAAO,IAAa;AACtB,aAAG;AAAE,iBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,UAAG,SAC7C,CAAC,OAAO,EAAE,KAAM,OAAO;AAAA,QAChC;AAAA,MACF;AAEA,aAAO,OAAO,GAAG;AACf,sBAAc,KAAK;AACnB,cAAM,aAAa;AAEnB,aAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,gBAAQ,CAAC,kBAAkB,MAAM,aAAa,eACtC,OAAO,IAAkB;AAC/B,gBAAM;AACN,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C;AAEA,YAAI,CAAC,kBAAkB,MAAM,aAAa,YAAY;AACpD,uBAAa,MAAM;AAAA,QACrB;AAEA,YAAI,OAAO,EAAE,GAAG;AACd;AACA;AAAA,QACF;AAGA,YAAI,MAAM,aAAa,YAAY;AAGjC,cAAI,aAAa,eAAe;AAC9B,kBAAM,UAAU,OAAO,OAAO,MAAM,iBAAiB,IAAI,aAAa,UAAU;AAAA,UAClF,WAAW,aAAa,eAAe;AACrC,gBAAI,gBAAgB;AAClB,oBAAM,UAAU;AAAA,YAClB;AAAA,UACF;AAGA;AAAA,QACF;AAGA,YAAI,SAAS;AAGX,cAAI,eAAe,EAAE,GAAG;AACtB,6BAAiB;AAEjB,kBAAM,UAAU,OAAO,OAAO,MAAM,iBAAiB,IAAI,aAAa,UAAU;AAAA,UAGlF,WAAW,gBAAgB;AACzB,6BAAiB;AACjB,kBAAM,UAAU,OAAO,OAAO,MAAM,aAAa,CAAC;AAAA,UAGpD,WAAW,eAAe,GAAG;AAC3B,gBAAI,gBAAgB;AAClB,oBAAM,UAAU;AAAA,YAClB;AAAA,UAGF,OAAO;AACL,kBAAM,UAAU,OAAO,OAAO,MAAM,UAAU;AAAA,UAChD;AAAA,QAGF,OAAO;AAEL,gBAAM,UAAU,OAAO,OAAO,MAAM,iBAAiB,IAAI,aAAa,UAAU;AAAA,QAClF;AAEA,yBAAiB;AACjB,yBAAiB;AACjB,qBAAa;AACb,uBAAe,MAAM;AAErB,eAAO,CAAC,OAAO,EAAE,KAAM,OAAO,GAAI;AAChC,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C;AAEA,uBAAe,OAAO,cAAc,MAAM,UAAU,KAAK;AAAA,MAC3D;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,kBAAkB,OAAO,YAAY;AAC5C,UAAI,OACA,OAAY,MAAM,KAClB,UAAY,MAAM,QAClB,UAAY,CAAC,GACb,WACA,WAAY,OACZ;AAEJ,UAAI,MAAM,WAAW,MAAM;AACzB,cAAM,UAAU,MAAM,MAAM,IAAI;AAAA,MAClC;AAEA,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,aAAO,OAAO,GAAG;AAEf,YAAI,OAAO,IAAa;AACtB;AAAA,QACF;AAEA,oBAAY,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC;AAErD,YAAI,CAAC,aAAa,SAAS,GAAG;AAC5B;AAAA,QACF;AAEA,mBAAW;AACX,cAAM;AAEN,YAAI,oBAAoB,OAAO,MAAM,EAAE,GAAG;AACxC,cAAI,MAAM,cAAc,YAAY;AAClC,oBAAQ,KAAK,IAAI;AACjB,iBAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAC1C;AAAA,UACF;AAAA,QACF;AAEA,gBAAQ,MAAM;AACd,oBAAY,OAAO,YAAY,kBAAkB,OAAO,IAAI;AAC5D,gBAAQ,KAAK,MAAM,MAAM;AACzB,4BAAoB,OAAO,MAAM,EAAE;AAEnC,aAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,aAAK,MAAM,SAAS,SAAS,MAAM,aAAa,eAAgB,OAAO,GAAI;AACzE,qBAAW,OAAO,qCAAqC;AAAA,QACzD,WAAW,MAAM,aAAa,YAAY;AACxC;AAAA,QACF;AAAA,MACF;AAEA,UAAI,UAAU;AACZ,cAAM,MAAM;AACZ,cAAM,SAAS;AACf,cAAM,OAAO;AACb,cAAM,SAAS;AACf,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAEA,aAAS,iBAAiB,OAAO,YAAY,YAAY;AACvD,UAAI,WACA,cACA,OACA,MACA,OAAgB,MAAM,KACtB,UAAgB,MAAM,QACtB,UAAgB,CAAC,GACjB,kBAAkB,CAAC,GACnB,SAAgB,MAChB,UAAgB,MAChB,YAAgB,MAChB,gBAAgB,OAChB,WAAgB,OAChB;AAEJ,UAAI,MAAM,WAAW,MAAM;AACzB,cAAM,UAAU,MAAM,MAAM,IAAI;AAAA,MAClC;AAEA,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,aAAO,OAAO,GAAG;AACf,oBAAY,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC;AACrD,gBAAQ,MAAM;AACd,eAAO,MAAM;AAMb,aAAK,OAAO,MAAe,OAAO,OAAgB,aAAa,SAAS,GAAG;AAEzE,cAAI,OAAO,IAAa;AACtB,gBAAI,eAAe;AACjB,+BAAiB,OAAO,SAAS,iBAAiB,QAAQ,SAAS,IAAI;AACvE,uBAAS,UAAU,YAAY;AAAA,YACjC;AAEA,uBAAW;AACX,4BAAgB;AAChB,2BAAe;AAAA,UAEjB,WAAW,eAAe;AAExB,4BAAgB;AAChB,2BAAe;AAAA,UAEjB,OAAO;AACL,uBAAW,OAAO,mGAAmG;AAAA,UACvH;AAEA,gBAAM,YAAY;AAClB,eAAK;AAAA,QAKP,WAAW,YAAY,OAAO,YAAY,kBAAkB,OAAO,IAAI,GAAG;AAExE,cAAI,MAAM,SAAS,OAAO;AACxB,iBAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,mBAAO,eAAe,EAAE,GAAG;AACzB,mBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,YAC9C;AAEA,gBAAI,OAAO,IAAa;AACtB,mBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,kBAAI,CAAC,aAAa,EAAE,GAAG;AACrB,2BAAW,OAAO,yFAAyF;AAAA,cAC7G;AAEA,kBAAI,eAAe;AACjB,iCAAiB,OAAO,SAAS,iBAAiB,QAAQ,SAAS,IAAI;AACvE,yBAAS,UAAU,YAAY;AAAA,cACjC;AAEA,yBAAW;AACX,8BAAgB;AAChB,6BAAe;AACf,uBAAS,MAAM;AACf,wBAAU,MAAM;AAAA,YAElB,WAAW,UAAU;AACnB,yBAAW,OAAO,0DAA0D;AAAA,YAE9E,OAAO;AACL,oBAAM,MAAM;AACZ,oBAAM,SAAS;AACf,qBAAO;AAAA,YACT;AAAA,UAEF,WAAW,UAAU;AACnB,uBAAW,OAAO,gFAAgF;AAAA,UAEpG,OAAO;AACL,kBAAM,MAAM;AACZ,kBAAM,SAAS;AACf,mBAAO;AAAA,UACT;AAAA,QAEF,OAAO;AACL;AAAA,QACF;AAKA,YAAI,MAAM,SAAS,SAAS,MAAM,aAAa,YAAY;AACzD,cAAI,YAAY,OAAO,YAAY,mBAAmB,MAAM,YAAY,GAAG;AACzE,gBAAI,eAAe;AACjB,wBAAU,MAAM;AAAA,YAClB,OAAO;AACL,0BAAY,MAAM;AAAA,YACpB;AAAA,UACF;AAEA,cAAI,CAAC,eAAe;AAClB,6BAAiB,OAAO,SAAS,iBAAiB,QAAQ,SAAS,WAAW,OAAO,IAAI;AACzF,qBAAS,UAAU,YAAY;AAAA,UACjC;AAEA,8BAAoB,OAAO,MAAM,EAAE;AACnC,eAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAAA,QAC5C;AAEA,YAAI,MAAM,aAAa,cAAe,OAAO,GAAI;AAC/C,qBAAW,OAAO,oCAAoC;AAAA,QACxD,WAAW,MAAM,aAAa,YAAY;AACxC;AAAA,QACF;AAAA,MACF;AAOA,UAAI,eAAe;AACjB,yBAAiB,OAAO,SAAS,iBAAiB,QAAQ,SAAS,IAAI;AAAA,MACzE;AAGA,UAAI,UAAU;AACZ,cAAM,MAAM;AACZ,cAAM,SAAS;AACf,cAAM,OAAO;AACb,cAAM,SAAS;AAAA,MACjB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,gBAAgB,OAAO;AAC9B,UAAI,WACA,aAAa,OACb,UAAa,OACb,WACA,SACA;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,GAAa,QAAO;AAE/B,UAAI,MAAM,QAAQ,MAAM;AACtB,mBAAW,OAAO,+BAA+B;AAAA,MACnD;AAEA,WAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAE5C,UAAI,OAAO,IAAa;AACtB,qBAAa;AACb,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,MAE9C,WAAW,OAAO,IAAa;AAC7B,kBAAU;AACV,oBAAY;AACZ,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,MAE9C,OAAO;AACL,oBAAY;AAAA,MACd;AAEA,kBAAY,MAAM;AAElB,UAAI,YAAY;AACd,WAAG;AAAE,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAAG,SAC7C,OAAO,KAAK,OAAO;AAE1B,YAAI,MAAM,WAAW,MAAM,QAAQ;AACjC,oBAAU,MAAM,MAAM,MAAM,WAAW,MAAM,QAAQ;AACrD,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C,OAAO;AACL,qBAAW,OAAO,oDAAoD;AAAA,QACxE;AAAA,MACF,OAAO;AACL,eAAO,OAAO,KAAK,CAAC,aAAa,EAAE,GAAG;AAEpC,cAAI,OAAO,IAAa;AACtB,gBAAI,CAAC,SAAS;AACZ,0BAAY,MAAM,MAAM,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC;AAE/D,kBAAI,CAAC,mBAAmB,KAAK,SAAS,GAAG;AACvC,2BAAW,OAAO,iDAAiD;AAAA,cACrE;AAEA,wBAAU;AACV,0BAAY,MAAM,WAAW;AAAA,YAC/B,OAAO;AACL,yBAAW,OAAO,6CAA6C;AAAA,YACjE;AAAA,UACF;AAEA,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C;AAEA,kBAAU,MAAM,MAAM,MAAM,WAAW,MAAM,QAAQ;AAErD,YAAI,wBAAwB,KAAK,OAAO,GAAG;AACzC,qBAAW,OAAO,qDAAqD;AAAA,QACzE;AAAA,MACF;AAEA,UAAI,WAAW,CAAC,gBAAgB,KAAK,OAAO,GAAG;AAC7C,mBAAW,OAAO,8CAA8C,OAAO;AAAA,MACzE;AAEA,UAAI,YAAY;AACd,cAAM,MAAM;AAAA,MAEd,WAAW,gBAAgB,KAAK,MAAM,QAAQ,SAAS,GAAG;AACxD,cAAM,MAAM,MAAM,OAAO,SAAS,IAAI;AAAA,MAExC,WAAW,cAAc,KAAK;AAC5B,cAAM,MAAM,MAAM;AAAA,MAEpB,WAAW,cAAc,MAAM;AAC7B,cAAM,MAAM,uBAAuB;AAAA,MAErC,OAAO;AACL,mBAAW,OAAO,4BAA4B,YAAY,GAAG;AAAA,MAC/D;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,mBAAmB,OAAO;AACjC,UAAI,WACA;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,GAAa,QAAO;AAE/B,UAAI,MAAM,WAAW,MAAM;AACzB,mBAAW,OAAO,mCAAmC;AAAA,MACvD;AAEA,WAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAC5C,kBAAY,MAAM;AAElB,aAAO,OAAO,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,kBAAkB,EAAE,GAAG;AAC9D,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,MAC9C;AAEA,UAAI,MAAM,aAAa,WAAW;AAChC,mBAAW,OAAO,4DAA4D;AAAA,MAChF;AAEA,YAAM,SAAS,MAAM,MAAM,MAAM,WAAW,MAAM,QAAQ;AAC1D,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,OAAO;AACxB,UAAI,WAAW,OACX;AAEJ,WAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,UAAI,OAAO,GAAa,QAAO;AAE/B,WAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAC5C,kBAAY,MAAM;AAElB,aAAO,OAAO,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,kBAAkB,EAAE,GAAG;AAC9D,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,MAC9C;AAEA,UAAI,MAAM,aAAa,WAAW;AAChC,mBAAW,OAAO,2DAA2D;AAAA,MAC/E;AAEA,cAAQ,MAAM,MAAM,MAAM,WAAW,MAAM,QAAQ;AAEnD,UAAI,CAAC,gBAAgB,KAAK,MAAM,WAAW,KAAK,GAAG;AACjD,mBAAW,OAAO,yBAAyB,QAAQ,GAAG;AAAA,MACxD;AAEA,YAAM,SAAS,MAAM,UAAU,KAAK;AACpC,0BAAoB,OAAO,MAAM,EAAE;AACnC,aAAO;AAAA,IACT;AAEA,aAAS,YAAY,OAAO,cAAc,aAAa,aAAa,cAAc;AAChF,UAAI,kBACA,mBACA,uBACA,eAAe,GACf,YAAa,OACb,aAAa,OACb,WACA,cACA,MACA,YACA;AAEJ,UAAI,MAAM,aAAa,MAAM;AAC3B,cAAM,SAAS,QAAQ,KAAK;AAAA,MAC9B;AAEA,YAAM,MAAS;AACf,YAAM,SAAS;AACf,YAAM,OAAS;AACf,YAAM,SAAS;AAEf,yBAAmB,oBAAoB,wBACrC,sBAAsB,eACtB,qBAAsB;AAExB,UAAI,aAAa;AACf,YAAI,oBAAoB,OAAO,MAAM,EAAE,GAAG;AACxC,sBAAY;AAEZ,cAAI,MAAM,aAAa,cAAc;AACnC,2BAAe;AAAA,UACjB,WAAW,MAAM,eAAe,cAAc;AAC5C,2BAAe;AAAA,UACjB,WAAW,MAAM,aAAa,cAAc;AAC1C,2BAAe;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAEA,UAAI,iBAAiB,GAAG;AACtB,eAAO,gBAAgB,KAAK,KAAK,mBAAmB,KAAK,GAAG;AAC1D,cAAI,oBAAoB,OAAO,MAAM,EAAE,GAAG;AACxC,wBAAY;AACZ,oCAAwB;AAExB,gBAAI,MAAM,aAAa,cAAc;AACnC,6BAAe;AAAA,YACjB,WAAW,MAAM,eAAe,cAAc;AAC5C,6BAAe;AAAA,YACjB,WAAW,MAAM,aAAa,cAAc;AAC1C,6BAAe;AAAA,YACjB;AAAA,UACF,OAAO;AACL,oCAAwB;AAAA,UAC1B;AAAA,QACF;AAAA,MACF;AAEA,UAAI,uBAAuB;AACzB,gCAAwB,aAAa;AAAA,MACvC;AAEA,UAAI,iBAAiB,KAAK,sBAAsB,aAAa;AAC3D,YAAI,oBAAoB,eAAe,qBAAqB,aAAa;AACvE,uBAAa;AAAA,QACf,OAAO;AACL,uBAAa,eAAe;AAAA,QAC9B;AAEA,sBAAc,MAAM,WAAW,MAAM;AAErC,YAAI,iBAAiB,GAAG;AACtB,cAAI,0BACC,kBAAkB,OAAO,WAAW,KACpC,iBAAiB,OAAO,aAAa,UAAU,MAChD,mBAAmB,OAAO,UAAU,GAAG;AACzC,yBAAa;AAAA,UACf,OAAO;AACL,gBAAK,qBAAqB,gBAAgB,OAAO,UAAU,KACvD,uBAAuB,OAAO,UAAU,KACxC,uBAAuB,OAAO,UAAU,GAAG;AAC7C,2BAAa;AAAA,YAEf,WAAW,UAAU,KAAK,GAAG;AAC3B,2BAAa;AAEb,kBAAI,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAC/C,2BAAW,OAAO,2CAA2C;AAAA,cAC/D;AAAA,YAEF,WAAW,gBAAgB,OAAO,YAAY,oBAAoB,WAAW,GAAG;AAC9E,2BAAa;AAEb,kBAAI,MAAM,QAAQ,MAAM;AACtB,sBAAM,MAAM;AAAA,cACd;AAAA,YACF;AAEA,gBAAI,MAAM,WAAW,MAAM;AACzB,oBAAM,UAAU,MAAM,MAAM,IAAI,MAAM;AAAA,YACxC;AAAA,UACF;AAAA,QACF,WAAW,iBAAiB,GAAG;AAG7B,uBAAa,yBAAyB,kBAAkB,OAAO,WAAW;AAAA,QAC5E;AAAA,MACF;AAEA,UAAI,MAAM,QAAQ,QAAQ,MAAM,QAAQ,KAAK;AAC3C,YAAI,MAAM,QAAQ,KAAK;AAOrB,cAAI,MAAM,WAAW,QAAQ,MAAM,SAAS,UAAU;AACpD,uBAAW,OAAO,sEAAsE,MAAM,OAAO,GAAG;AAAA,UAC1G;AAEA,eAAK,YAAY,GAAG,eAAe,MAAM,cAAc,QAAQ,YAAY,cAAc,aAAa,GAAG;AACvG,mBAAO,MAAM,cAAc,SAAS;AAEpC,gBAAI,KAAK,QAAQ,MAAM,MAAM,GAAG;AAC9B,oBAAM,SAAS,KAAK,UAAU,MAAM,MAAM;AAC1C,oBAAM,MAAM,KAAK;AACjB,kBAAI,MAAM,WAAW,MAAM;AACzB,sBAAM,UAAU,MAAM,MAAM,IAAI,MAAM;AAAA,cACxC;AACA;AAAA,YACF;AAAA,UACF;AAAA,QACF,WAAW,gBAAgB,KAAK,MAAM,QAAQ,MAAM,QAAQ,UAAU,GAAG,MAAM,GAAG,GAAG;AACnF,iBAAO,MAAM,QAAQ,MAAM,QAAQ,UAAU,EAAE,MAAM,GAAG;AAExD,cAAI,MAAM,WAAW,QAAQ,KAAK,SAAS,MAAM,MAAM;AACrD,uBAAW,OAAO,kCAAkC,MAAM,MAAM,0BAA0B,KAAK,OAAO,aAAa,MAAM,OAAO,GAAG;AAAA,UACrI;AAEA,cAAI,CAAC,KAAK,QAAQ,MAAM,MAAM,GAAG;AAC/B,uBAAW,OAAO,kCAAkC,MAAM,MAAM,gBAAgB;AAAA,UAClF,OAAO;AACL,kBAAM,SAAS,KAAK,UAAU,MAAM,MAAM;AAC1C,gBAAI,MAAM,WAAW,MAAM;AACzB,oBAAM,UAAU,MAAM,MAAM,IAAI,MAAM;AAAA,YACxC;AAAA,UACF;AAAA,QACF,OAAO;AACL,qBAAW,OAAO,mBAAmB,MAAM,MAAM,GAAG;AAAA,QACtD;AAAA,MACF;AAEA,UAAI,MAAM,aAAa,MAAM;AAC3B,cAAM,SAAS,SAAS,KAAK;AAAA,MAC/B;AACA,aAAO,MAAM,QAAQ,QAAS,MAAM,WAAW,QAAQ;AAAA,IACzD;AAEA,aAAS,aAAa,OAAO;AAC3B,UAAI,gBAAgB,MAAM,UACtB,WACA,eACA,eACA,gBAAgB,OAChB;AAEJ,YAAM,UAAU;AAChB,YAAM,kBAAkB,MAAM;AAC9B,YAAM,SAAS,CAAC;AAChB,YAAM,YAAY,CAAC;AAEnB,cAAQ,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ,OAAO,GAAG;AAC1D,4BAAoB,OAAO,MAAM,EAAE;AAEnC,aAAK,MAAM,MAAM,WAAW,MAAM,QAAQ;AAE1C,YAAI,MAAM,aAAa,KAAK,OAAO,IAAa;AAC9C;AAAA,QACF;AAEA,wBAAgB;AAChB,aAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAC5C,oBAAY,MAAM;AAElB,eAAO,OAAO,KAAK,CAAC,aAAa,EAAE,GAAG;AACpC,eAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,QAC9C;AAEA,wBAAgB,MAAM,MAAM,MAAM,WAAW,MAAM,QAAQ;AAC3D,wBAAgB,CAAC;AAEjB,YAAI,cAAc,SAAS,GAAG;AAC5B,qBAAW,OAAO,8DAA8D;AAAA,QAClF;AAEA,eAAO,OAAO,GAAG;AACf,iBAAO,eAAe,EAAE,GAAG;AACzB,iBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,UAC9C;AAEA,cAAI,OAAO,IAAa;AACtB,eAAG;AAAE,mBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,YAAG,SAC7C,OAAO,KAAK,CAAC,OAAO,EAAE;AAC7B;AAAA,UACF;AAEA,cAAI,OAAO,EAAE,EAAG;AAEhB,sBAAY,MAAM;AAElB,iBAAO,OAAO,KAAK,CAAC,aAAa,EAAE,GAAG;AACpC,iBAAK,MAAM,MAAM,WAAW,EAAE,MAAM,QAAQ;AAAA,UAC9C;AAEA,wBAAc,KAAK,MAAM,MAAM,MAAM,WAAW,MAAM,QAAQ,CAAC;AAAA,QACjE;AAEA,YAAI,OAAO,EAAG,eAAc,KAAK;AAEjC,YAAI,gBAAgB,KAAK,mBAAmB,aAAa,GAAG;AAC1D,4BAAkB,aAAa,EAAE,OAAO,eAAe,aAAa;AAAA,QACtE,OAAO;AACL,uBAAa,OAAO,iCAAiC,gBAAgB,GAAG;AAAA,QAC1E;AAAA,MACF;AAEA,0BAAoB,OAAO,MAAM,EAAE;AAEnC,UAAI,MAAM,eAAe,KACrB,MAAM,MAAM,WAAW,MAAM,QAAQ,MAAU,MAC/C,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC,MAAM,MAC/C,MAAM,MAAM,WAAW,MAAM,WAAW,CAAC,MAAM,IAAa;AAC9D,cAAM,YAAY;AAClB,4BAAoB,OAAO,MAAM,EAAE;AAAA,MAErC,WAAW,eAAe;AACxB,mBAAW,OAAO,iCAAiC;AAAA,MACrD;AAEA,kBAAY,OAAO,MAAM,aAAa,GAAG,mBAAmB,OAAO,IAAI;AACvE,0BAAoB,OAAO,MAAM,EAAE;AAEnC,UAAI,MAAM,mBACN,8BAA8B,KAAK,MAAM,MAAM,MAAM,eAAe,MAAM,QAAQ,CAAC,GAAG;AACxF,qBAAa,OAAO,kDAAkD;AAAA,MACxE;AAEA,YAAM,UAAU,KAAK,MAAM,MAAM;AAEjC,UAAI,MAAM,aAAa,MAAM,aAAa,sBAAsB,KAAK,GAAG;AAEtE,YAAI,MAAM,MAAM,WAAW,MAAM,QAAQ,MAAM,IAAa;AAC1D,gBAAM,YAAY;AAClB,8BAAoB,OAAO,MAAM,EAAE;AAAA,QACrC;AACA;AAAA,MACF;AAEA,UAAI,MAAM,WAAY,MAAM,SAAS,GAAI;AACvC,mBAAW,OAAO,uDAAuD;AAAA,MAC3E,OAAO;AACL;AAAA,MACF;AAAA,IACF;AAGA,aAAS,cAAc,OAAOA,UAAS;AACrC,cAAQ,OAAO,KAAK;AACpB,MAAAA,WAAUA,YAAW,CAAC;AAEtB,UAAI,MAAM,WAAW,GAAG;AAGtB,YAAI,MAAM,WAAW,MAAM,SAAS,CAAC,MAAM,MACvC,MAAM,WAAW,MAAM,SAAS,CAAC,MAAM,IAAc;AACvD,mBAAS;AAAA,QACX;AAGA,YAAI,MAAM,WAAW,CAAC,MAAM,OAAQ;AAClC,kBAAQ,MAAM,MAAM,CAAC;AAAA,QACvB;AAAA,MACF;AAEA,UAAI,QAAQ,IAAI,MAAM,OAAOA,QAAO;AAEpC,UAAI,UAAU,MAAM,QAAQ,IAAI;AAEhC,UAAI,YAAY,IAAI;AAClB,cAAM,WAAW;AACjB,mBAAW,OAAO,mCAAmC;AAAA,MACvD;AAGA,YAAM,SAAS;AAEf,aAAO,MAAM,MAAM,WAAW,MAAM,QAAQ,MAAM,IAAiB;AACjE,cAAM,cAAc;AACpB,cAAM,YAAY;AAAA,MACpB;AAEA,aAAO,MAAM,WAAY,MAAM,SAAS,GAAI;AAC1C,qBAAa,KAAK;AAAA,MACpB;AAEA,aAAO,MAAM;AAAA,IACf;AAGA,aAAS,QAAQ,OAAO,UAAUA,UAAS;AACzC,UAAI,aAAa,QAAQ,OAAO,aAAa,YAAY,OAAOA,aAAY,aAAa;AACvF,QAAAA,WAAU;AACV,mBAAW;AAAA,MACb;AAEA,UAAI,YAAY,cAAc,OAAOA,QAAO;AAE5C,UAAI,OAAO,aAAa,YAAY;AAClC,eAAO;AAAA,MACT;AAEA,eAAS,QAAQ,GAAG,SAAS,UAAU,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACzE,iBAAS,UAAU,KAAK,CAAC;AAAA,MAC3B;AAAA,IACF;AAGA,aAAS,KAAK,OAAOA,UAAS;AAC5B,UAAI,YAAY,cAAc,OAAOA,QAAO;AAE5C,UAAI,UAAU,WAAW,GAAG;AAE1B,eAAO;AAAA,MACT,WAAW,UAAU,WAAW,GAAG;AACjC,eAAO,UAAU,CAAC;AAAA,MACpB;AACA,YAAM,IAAI,cAAc,0DAA0D;AAAA,IACpF;AAGA,aAAS,YAAY,OAAO,UAAUA,UAAS;AAC7C,UAAI,OAAO,aAAa,YAAY,aAAa,QAAQ,OAAOA,aAAY,aAAa;AACvF,QAAAA,WAAU;AACV,mBAAW;AAAA,MACb;AAEA,aAAO,QAAQ,OAAO,UAAU,OAAO,OAAO,EAAE,QAAQ,oBAAoB,GAAGA,QAAO,CAAC;AAAA,IACzF;AAGA,aAAS,SAAS,OAAOA,UAAS;AAChC,aAAO,KAAK,OAAO,OAAO,OAAO,EAAE,QAAQ,oBAAoB,GAAGA,QAAO,CAAC;AAAA,IAC5E;AAGA,IAAAD,QAAO,QAAQ,UAAc;AAC7B,IAAAA,QAAO,QAAQ,OAAc;AAC7B,IAAAA,QAAO,QAAQ,cAAc;AAC7B,IAAAA,QAAO,QAAQ,WAAc;AAAA;AAAA;;;AC3mD7B;AAAA,+CAAAE,UAAAC,SAAA;AAAA;AAIA,QAAI,SAAsB;AAC1B,QAAI,gBAAsB;AAC1B,QAAI,sBAAsB;AAC1B,QAAI,sBAAsB;AAE1B,QAAI,YAAkB,OAAO,UAAU;AACvC,QAAI,kBAAkB,OAAO,UAAU;AAEvC,QAAI,WAA4B;AAChC,QAAI,iBAA4B;AAChC,QAAI,uBAA4B;AAChC,QAAI,aAA4B;AAChC,QAAI,mBAA4B;AAChC,QAAI,oBAA4B;AAChC,QAAI,aAA4B;AAChC,QAAI,eAA4B;AAChC,QAAI,iBAA4B;AAChC,QAAI,oBAA4B;AAChC,QAAI,gBAA4B;AAChC,QAAI,aAA4B;AAChC,QAAI,aAA4B;AAChC,QAAI,aAA4B;AAChC,QAAI,cAA4B;AAChC,QAAI,oBAA4B;AAChC,QAAI,gBAA4B;AAChC,QAAI,qBAA4B;AAChC,QAAI,2BAA4B;AAChC,QAAI,4BAA4B;AAChC,QAAI,oBAA4B;AAChC,QAAI,0BAA4B;AAChC,QAAI,qBAA4B;AAChC,QAAI,2BAA4B;AAEhC,QAAI,mBAAmB,CAAC;AAExB,qBAAiB,CAAI,IAAM;AAC3B,qBAAiB,CAAI,IAAM;AAC3B,qBAAiB,CAAI,IAAM;AAC3B,qBAAiB,CAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,EAAI,IAAM;AAC3B,qBAAiB,GAAI,IAAM;AAC3B,qBAAiB,GAAI,IAAM;AAC3B,qBAAiB,IAAM,IAAI;AAC3B,qBAAiB,IAAM,IAAI;AAE3B,QAAI,6BAA6B;AAAA,MAC/B;AAAA,MAAK;AAAA,MAAK;AAAA,MAAO;AAAA,MAAO;AAAA,MAAO;AAAA,MAAM;AAAA,MAAM;AAAA,MAC3C;AAAA,MAAK;AAAA,MAAK;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAO;AAAA,MAAO;AAAA,IAC5C;AAEA,aAAS,gBAAgB,QAAQ,KAAK;AACpC,UAAI,QAAQ,MAAM,OAAO,QAAQ,KAAK,OAAO;AAE7C,UAAI,QAAQ,KAAM,QAAO,CAAC;AAE1B,eAAS,CAAC;AACV,aAAO,OAAO,KAAK,GAAG;AAEtB,WAAK,QAAQ,GAAG,SAAS,KAAK,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAChE,cAAM,KAAK,KAAK;AAChB,gBAAQ,OAAO,IAAI,GAAG,CAAC;AAEvB,YAAI,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM;AAC5B,gBAAM,uBAAuB,IAAI,MAAM,CAAC;AAAA,QAC1C;AACA,eAAO,OAAO,gBAAgB,UAAU,EAAE,GAAG;AAE7C,YAAI,QAAQ,gBAAgB,KAAK,KAAK,cAAc,KAAK,GAAG;AAC1D,kBAAQ,KAAK,aAAa,KAAK;AAAA,QACjC;AAEA,eAAO,GAAG,IAAI;AAAA,MAChB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,WAAW;AAC5B,UAAI,QAAQ,QAAQ;AAEpB,eAAS,UAAU,SAAS,EAAE,EAAE,YAAY;AAE5C,UAAI,aAAa,KAAM;AACrB,iBAAS;AACT,iBAAS;AAAA,MACX,WAAW,aAAa,OAAQ;AAC9B,iBAAS;AACT,iBAAS;AAAA,MACX,WAAW,aAAa,YAAY;AAClC,iBAAS;AACT,iBAAS;AAAA,MACX,OAAO;AACL,cAAM,IAAI,cAAc,+DAA+D;AAAA,MACzF;AAEA,aAAO,OAAO,SAAS,OAAO,OAAO,KAAK,SAAS,OAAO,MAAM,IAAI;AAAA,IACtE;AAEA,aAAS,MAAMC,UAAS;AACtB,WAAK,SAAgBA,SAAQ,QAAQ,KAAK;AAC1C,WAAK,SAAgB,KAAK,IAAI,GAAIA,SAAQ,QAAQ,KAAK,CAAE;AACzD,WAAK,gBAAgBA,SAAQ,eAAe,KAAK;AACjD,WAAK,cAAgBA,SAAQ,aAAa,KAAK;AAC/C,WAAK,YAAiB,OAAO,UAAUA,SAAQ,WAAW,CAAC,IAAI,KAAKA,SAAQ,WAAW;AACvF,WAAK,WAAgB,gBAAgB,KAAK,QAAQA,SAAQ,QAAQ,KAAK,IAAI;AAC3E,WAAK,WAAgBA,SAAQ,UAAU,KAAK;AAC5C,WAAK,YAAgBA,SAAQ,WAAW,KAAK;AAC7C,WAAK,SAAgBA,SAAQ,QAAQ,KAAK;AAC1C,WAAK,eAAgBA,SAAQ,cAAc,KAAK;AAChD,WAAK,eAAgBA,SAAQ,cAAc,KAAK;AAEhD,WAAK,gBAAgB,KAAK,OAAO;AACjC,WAAK,gBAAgB,KAAK,OAAO;AAEjC,WAAK,MAAM;AACX,WAAK,SAAS;AAEd,WAAK,aAAa,CAAC;AACnB,WAAK,iBAAiB;AAAA,IACxB;AAGA,aAAS,aAAa,QAAQ,QAAQ;AACpC,UAAI,MAAM,OAAO,OAAO,KAAK,MAAM,GAC/B,WAAW,GACX,OAAO,IACP,SAAS,IACT,MACA,SAAS,OAAO;AAEpB,aAAO,WAAW,QAAQ;AACxB,eAAO,OAAO,QAAQ,MAAM,QAAQ;AACpC,YAAI,SAAS,IAAI;AACf,iBAAO,OAAO,MAAM,QAAQ;AAC5B,qBAAW;AAAA,QACb,OAAO;AACL,iBAAO,OAAO,MAAM,UAAU,OAAO,CAAC;AACtC,qBAAW,OAAO;AAAA,QACpB;AAEA,YAAI,KAAK,UAAU,SAAS,KAAM,WAAU;AAE5C,kBAAU;AAAA,MACZ;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,iBAAiB,OAAO,OAAO;AACtC,aAAO,OAAO,OAAO,OAAO,KAAK,MAAM,SAAS,KAAK;AAAA,IACvD;AAEA,aAAS,sBAAsB,OAAOC,MAAK;AACzC,UAAI,OAAO,QAAQ;AAEnB,WAAK,QAAQ,GAAG,SAAS,MAAM,cAAc,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAC/E,eAAO,MAAM,cAAc,KAAK;AAEhC,YAAI,KAAK,QAAQA,IAAG,GAAG;AACrB,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAGA,aAAS,aAAa,GAAG;AACvB,aAAO,MAAM,cAAc,MAAM;AAAA,IACnC;AAMA,aAAS,YAAY,GAAG;AACtB,aAAS,MAAW,KAAK,KAAK,OACrB,OAAW,KAAK,KAAK,SAAa,MAAM,QAAU,MAAM,QACxD,SAAW,KAAK,KAAK,SAAa,MAAM,SACxC,SAAW,KAAK,KAAK;AAAA,IAChC;AAQA,aAAS,SAAS,GAAG;AACnB,aAAO,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAEnC,MAAM,SAEN,MAAM,wBACN,MAAM;AAAA,IACb;AAGA,aAAS,YAAY,GAAG,MAAM;AAG5B,aAAO,YAAY,CAAC,KAAK,MAAM,SAE1B,MAAM,cACN,MAAM,4BACN,MAAM,6BACN,MAAM,2BACN,MAAM,4BAGN,MAAM,eACJ,MAAM,cAAgB,QAAQ,SAAS,IAAI;AAAA,IACpD;AAGA,aAAS,iBAAiB,GAAG;AAG3B,aAAO,YAAY,CAAC,KAAK,MAAM,SAC1B,CAAC,aAAa,CAAC,KAGf,MAAM,cACN,MAAM,iBACN,MAAM,cACN,MAAM,cACN,MAAM,4BACN,MAAM,6BACN,MAAM,2BACN,MAAM,4BAEN,MAAM,cACN,MAAM,kBACN,MAAM,iBACN,MAAM,oBACN,MAAM,sBACN,MAAM,eACN,MAAM,qBACN,MAAM,qBACN,MAAM,qBAEN,MAAM,gBACN,MAAM,sBACN,MAAM;AAAA,IACb;AAGA,aAAS,oBAAoB,QAAQ;AACnC,UAAI,iBAAiB;AACrB,aAAO,eAAe,KAAK,MAAM;AAAA,IACnC;AAEA,QAAI,cAAgB;AAApB,QACI,eAAgB;AADpB,QAEI,gBAAgB;AAFpB,QAGI,eAAgB;AAHpB,QAII,eAAgB;AASpB,aAAS,kBAAkB,QAAQ,gBAAgB,gBAAgB,WAAW,mBAAmB;AAC/F,UAAI;AACJ,UAAI,MAAM;AACV,UAAI,eAAe;AACnB,UAAI,kBAAkB;AACtB,UAAI,mBAAmB,cAAc;AACrC,UAAI,oBAAoB;AACxB,UAAI,QAAQ,iBAAiB,OAAO,WAAW,CAAC,CAAC,KACtC,CAAC,aAAa,OAAO,WAAW,OAAO,SAAS,CAAC,CAAC;AAE7D,UAAI,gBAAgB;AAGlB,aAAK,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAClC,iBAAO,OAAO,WAAW,CAAC;AAC1B,cAAI,CAAC,YAAY,IAAI,GAAG;AACtB,mBAAO;AAAA,UACT;AACA,sBAAY,IAAI,IAAI,OAAO,WAAW,IAAI,CAAC,IAAI;AAC/C,kBAAQ,SAAS,YAAY,MAAM,SAAS;AAAA,QAC9C;AAAA,MACF,OAAO;AAEL,aAAK,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAClC,iBAAO,OAAO,WAAW,CAAC;AAC1B,cAAI,SAAS,gBAAgB;AAC3B,2BAAe;AAEf,gBAAI,kBAAkB;AACpB,gCAAkB;AAAA,cAEf,IAAI,oBAAoB,IAAI,aAC5B,OAAO,oBAAoB,CAAC,MAAM;AACrC,kCAAoB;AAAA,YACtB;AAAA,UACF,WAAW,CAAC,YAAY,IAAI,GAAG;AAC7B,mBAAO;AAAA,UACT;AACA,sBAAY,IAAI,IAAI,OAAO,WAAW,IAAI,CAAC,IAAI;AAC/C,kBAAQ,SAAS,YAAY,MAAM,SAAS;AAAA,QAC9C;AAEA,0BAAkB,mBAAoB,qBACnC,IAAI,oBAAoB,IAAI,aAC5B,OAAO,oBAAoB,CAAC,MAAM;AAAA,MACvC;AAIA,UAAI,CAAC,gBAAgB,CAAC,iBAAiB;AAGrC,eAAO,SAAS,CAAC,kBAAkB,MAAM,IACrC,cAAc;AAAA,MACpB;AAEA,UAAI,iBAAiB,KAAK,oBAAoB,MAAM,GAAG;AACrD,eAAO;AAAA,MACT;AAGA,aAAO,kBAAkB,eAAe;AAAA,IAC1C;AAQA,aAAS,YAAY,OAAO,QAAQ,OAAO,OAAO;AAChD,YAAM,OAAQ,WAAY;AACxB,YAAI,OAAO,WAAW,GAAG;AACvB,iBAAO;AAAA,QACT;AACA,YAAI,CAAC,MAAM,gBACP,2BAA2B,QAAQ,MAAM,MAAM,IAAI;AACrD,iBAAO,MAAM,SAAS;AAAA,QACxB;AAEA,YAAI,SAAS,MAAM,SAAS,KAAK,IAAI,GAAG,KAAK;AAQ7C,YAAI,YAAY,MAAM,cAAc,KAChC,KAAK,KAAK,IAAI,KAAK,IAAI,MAAM,WAAW,EAAE,GAAG,MAAM,YAAY,MAAM;AAGzE,YAAI,iBAAiB,SAEf,MAAM,YAAY,MAAM,SAAS,MAAM;AAC7C,iBAAS,cAAcC,SAAQ;AAC7B,iBAAO,sBAAsB,OAAOA,OAAM;AAAA,QAC5C;AAEA,gBAAQ,kBAAkB,QAAQ,gBAAgB,MAAM,QAAQ,WAAW,aAAa,GAAG;AAAA,UACzF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO,MAAM,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,UAC5C,KAAK;AACH,mBAAO,MAAM,YAAY,QAAQ,MAAM,MAAM,IACzC,kBAAkB,aAAa,QAAQ,MAAM,CAAC;AAAA,UACpD,KAAK;AACH,mBAAO,MAAM,YAAY,QAAQ,MAAM,MAAM,IACzC,kBAAkB,aAAa,WAAW,QAAQ,SAAS,GAAG,MAAM,CAAC;AAAA,UAC3E,KAAK;AACH,mBAAO,MAAM,aAAa,QAAQ,SAAS,IAAI;AAAA,UACjD;AACE,kBAAM,IAAI,cAAc,wCAAwC;AAAA,QACpE;AAAA,MACF,EAAE;AAAA,IACJ;AAGA,aAAS,YAAY,QAAQ,gBAAgB;AAC3C,UAAI,kBAAkB,oBAAoB,MAAM,IAAI,OAAO,cAAc,IAAI;AAG7E,UAAI,OAAgB,OAAO,OAAO,SAAS,CAAC,MAAM;AAClD,UAAI,OAAO,SAAS,OAAO,OAAO,SAAS,CAAC,MAAM,QAAQ,WAAW;AACrE,UAAI,QAAQ,OAAO,MAAO,OAAO,KAAK;AAEtC,aAAO,kBAAkB,QAAQ;AAAA,IACnC;AAGA,aAAS,kBAAkB,QAAQ;AACjC,aAAO,OAAO,OAAO,SAAS,CAAC,MAAM,OAAO,OAAO,MAAM,GAAG,EAAE,IAAI;AAAA,IACpE;AAIA,aAAS,WAAW,QAAQ,OAAO;AAKjC,UAAI,SAAS;AAGb,UAAI,SAAU,WAAY;AACxB,YAAI,SAAS,OAAO,QAAQ,IAAI;AAChC,iBAAS,WAAW,KAAK,SAAS,OAAO;AACzC,eAAO,YAAY;AACnB,eAAO,SAAS,OAAO,MAAM,GAAG,MAAM,GAAG,KAAK;AAAA,MAChD,EAAE;AAEF,UAAI,mBAAmB,OAAO,CAAC,MAAM,QAAQ,OAAO,CAAC,MAAM;AAC3D,UAAI;AAGJ,UAAI;AACJ,aAAQ,QAAQ,OAAO,KAAK,MAAM,GAAI;AACpC,YAAI,SAAS,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC;AACrC,uBAAgB,KAAK,CAAC,MAAM;AAC5B,kBAAU,UACL,CAAC,oBAAoB,CAAC,gBAAgB,SAAS,KAC9C,OAAO,MACT,SAAS,MAAM,KAAK;AACxB,2BAAmB;AAAA,MACrB;AAEA,aAAO;AAAA,IACT;AAMA,aAAS,SAAS,MAAM,OAAO;AAC7B,UAAI,SAAS,MAAM,KAAK,CAAC,MAAM,IAAK,QAAO;AAG3C,UAAI,UAAU;AACd,UAAI;AAEJ,UAAI,QAAQ,GAAG,KAAK,OAAO,GAAG,OAAO;AACrC,UAAI,SAAS;AAMb,aAAQ,QAAQ,QAAQ,KAAK,IAAI,GAAI;AACnC,eAAO,MAAM;AAEb,YAAI,OAAO,QAAQ,OAAO;AACxB,gBAAO,OAAO,QAAS,OAAO;AAC9B,oBAAU,OAAO,KAAK,MAAM,OAAO,GAAG;AAEtC,kBAAQ,MAAM;AAAA,QAChB;AACA,eAAO;AAAA,MACT;AAIA,gBAAU;AAEV,UAAI,KAAK,SAAS,QAAQ,SAAS,OAAO,OAAO;AAC/C,kBAAU,KAAK,MAAM,OAAO,IAAI,IAAI,OAAO,KAAK,MAAM,OAAO,CAAC;AAAA,MAChE,OAAO;AACL,kBAAU,KAAK,MAAM,KAAK;AAAA,MAC5B;AAEA,aAAO,OAAO,MAAM,CAAC;AAAA,IACvB;AAGA,aAAS,aAAa,QAAQ;AAC5B,UAAI,SAAS;AACb,UAAI,MAAM;AACV,UAAI;AAEJ,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,eAAO,OAAO,WAAW,CAAC;AAE1B,YAAI,QAAQ,SAAU,QAAQ,OAA4B;AACxD,qBAAW,OAAO,WAAW,IAAI,CAAC;AAClC,cAAI,YAAY,SAAU,YAAY,OAA2B;AAE/D,sBAAU,WAAW,OAAO,SAAU,OAAQ,WAAW,QAAS,KAAO;AAEzE;AAAK;AAAA,UACP;AAAA,QACF;AACA,oBAAY,iBAAiB,IAAI;AACjC,kBAAU,CAAC,aAAa,YAAY,IAAI,IACpC,OAAO,CAAC,IACR,aAAa,UAAU,IAAI;AAAA,MACjC;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,kBAAkB,OAAO,OAAO,QAAQ;AAC/C,UAAI,UAAU,IACV,OAAU,MAAM,KAChB,OACA;AAEJ,WAAK,QAAQ,GAAG,SAAS,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAElE,YAAI,UAAU,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,KAAK,GAAG;AACxD,cAAI,UAAU,EAAG,YAAW,OAAO,CAAC,MAAM,eAAe,MAAM;AAC/D,qBAAW,MAAM;AAAA,QACnB;AAAA,MACF;AAEA,YAAM,MAAM;AACZ,YAAM,OAAO,MAAM,UAAU;AAAA,IAC/B;AAEA,aAAS,mBAAmB,OAAO,OAAO,QAAQ,SAAS;AACzD,UAAI,UAAU,IACV,OAAU,MAAM,KAChB,OACA;AAEJ,WAAK,QAAQ,GAAG,SAAS,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAElE,YAAI,UAAU,OAAO,QAAQ,GAAG,OAAO,KAAK,GAAG,MAAM,IAAI,GAAG;AAC1D,cAAI,CAAC,WAAW,UAAU,GAAG;AAC3B,uBAAW,iBAAiB,OAAO,KAAK;AAAA,UAC1C;AAEA,cAAI,MAAM,QAAQ,mBAAmB,MAAM,KAAK,WAAW,CAAC,GAAG;AAC7D,uBAAW;AAAA,UACb,OAAO;AACL,uBAAW;AAAA,UACb;AAEA,qBAAW,MAAM;AAAA,QACnB;AAAA,MACF;AAEA,YAAM,MAAM;AACZ,YAAM,OAAO,WAAW;AAAA,IAC1B;AAEA,aAAS,iBAAiB,OAAO,OAAO,QAAQ;AAC9C,UAAI,UAAgB,IAChB,OAAgB,MAAM,KACtB,gBAAgB,OAAO,KAAK,MAAM,GAClC,OACA,QACA,WACA,aACA;AAEJ,WAAK,QAAQ,GAAG,SAAS,cAAc,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAEzE,qBAAa;AACb,YAAI,UAAU,EAAG,eAAc;AAE/B,YAAI,MAAM,aAAc,eAAc;AAEtC,oBAAY,cAAc,KAAK;AAC/B,sBAAc,OAAO,SAAS;AAE9B,YAAI,CAAC,UAAU,OAAO,OAAO,WAAW,OAAO,KAAK,GAAG;AACrD;AAAA,QACF;AAEA,YAAI,MAAM,KAAK,SAAS,KAAM,eAAc;AAE5C,sBAAc,MAAM,QAAQ,MAAM,eAAe,MAAM,MAAM,OAAO,MAAM,eAAe,KAAK;AAE9F,YAAI,CAAC,UAAU,OAAO,OAAO,aAAa,OAAO,KAAK,GAAG;AACvD;AAAA,QACF;AAEA,sBAAc,MAAM;AAGpB,mBAAW;AAAA,MACb;AAEA,YAAM,MAAM;AACZ,YAAM,OAAO,MAAM,UAAU;AAAA,IAC/B;AAEA,aAAS,kBAAkB,OAAO,OAAO,QAAQ,SAAS;AACxD,UAAI,UAAgB,IAChB,OAAgB,MAAM,KACtB,gBAAgB,OAAO,KAAK,MAAM,GAClC,OACA,QACA,WACA,aACA,cACA;AAGJ,UAAI,MAAM,aAAa,MAAM;AAE3B,sBAAc,KAAK;AAAA,MACrB,WAAW,OAAO,MAAM,aAAa,YAAY;AAE/C,sBAAc,KAAK,MAAM,QAAQ;AAAA,MACnC,WAAW,MAAM,UAAU;AAEzB,cAAM,IAAI,cAAc,0CAA0C;AAAA,MACpE;AAEA,WAAK,QAAQ,GAAG,SAAS,cAAc,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACzE,qBAAa;AAEb,YAAI,CAAC,WAAW,UAAU,GAAG;AAC3B,wBAAc,iBAAiB,OAAO,KAAK;AAAA,QAC7C;AAEA,oBAAY,cAAc,KAAK;AAC/B,sBAAc,OAAO,SAAS;AAE9B,YAAI,CAAC,UAAU,OAAO,QAAQ,GAAG,WAAW,MAAM,MAAM,IAAI,GAAG;AAC7D;AAAA,QACF;AAEA,uBAAgB,MAAM,QAAQ,QAAQ,MAAM,QAAQ,OACpC,MAAM,QAAQ,MAAM,KAAK,SAAS;AAElD,YAAI,cAAc;AAChB,cAAI,MAAM,QAAQ,mBAAmB,MAAM,KAAK,WAAW,CAAC,GAAG;AAC7D,0BAAc;AAAA,UAChB,OAAO;AACL,0BAAc;AAAA,UAChB;AAAA,QACF;AAEA,sBAAc,MAAM;AAEpB,YAAI,cAAc;AAChB,wBAAc,iBAAiB,OAAO,KAAK;AAAA,QAC7C;AAEA,YAAI,CAAC,UAAU,OAAO,QAAQ,GAAG,aAAa,MAAM,YAAY,GAAG;AACjE;AAAA,QACF;AAEA,YAAI,MAAM,QAAQ,mBAAmB,MAAM,KAAK,WAAW,CAAC,GAAG;AAC7D,wBAAc;AAAA,QAChB,OAAO;AACL,wBAAc;AAAA,QAChB;AAEA,sBAAc,MAAM;AAGpB,mBAAW;AAAA,MACb;AAEA,YAAM,MAAM;AACZ,YAAM,OAAO,WAAW;AAAA,IAC1B;AAEA,aAAS,WAAW,OAAO,QAAQ,UAAU;AAC3C,UAAI,SAAS,UAAU,OAAO,QAAQ,MAAM;AAE5C,iBAAW,WAAW,MAAM,gBAAgB,MAAM;AAElD,WAAK,QAAQ,GAAG,SAAS,SAAS,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACpE,eAAO,SAAS,KAAK;AAErB,aAAK,KAAK,cAAe,KAAK,eACzB,CAAC,KAAK,cAAgB,OAAO,WAAW,YAAc,kBAAkB,KAAK,gBAC7E,CAAC,KAAK,aAAc,KAAK,UAAU,MAAM,IAAI;AAEhD,gBAAM,MAAM,WAAW,KAAK,MAAM;AAElC,cAAI,KAAK,WAAW;AAClB,oBAAQ,MAAM,SAAS,KAAK,GAAG,KAAK,KAAK;AAEzC,gBAAI,UAAU,KAAK,KAAK,SAAS,MAAM,qBAAqB;AAC1D,wBAAU,KAAK,UAAU,QAAQ,KAAK;AAAA,YACxC,WAAW,gBAAgB,KAAK,KAAK,WAAW,KAAK,GAAG;AACtD,wBAAU,KAAK,UAAU,KAAK,EAAE,QAAQ,KAAK;AAAA,YAC/C,OAAO;AACL,oBAAM,IAAI,cAAc,OAAO,KAAK,MAAM,iCAAiC,QAAQ,SAAS;AAAA,YAC9F;AAEA,kBAAM,OAAO;AAAA,UACf;AAEA,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAKA,aAAS,UAAU,OAAO,OAAO,QAAQ,OAAO,SAAS,OAAO;AAC9D,YAAM,MAAM;AACZ,YAAM,OAAO;AAEb,UAAI,CAAC,WAAW,OAAO,QAAQ,KAAK,GAAG;AACrC,mBAAW,OAAO,QAAQ,IAAI;AAAA,MAChC;AAEA,UAAI,OAAO,UAAU,KAAK,MAAM,IAAI;AAEpC,UAAI,OAAO;AACT,gBAAS,MAAM,YAAY,KAAK,MAAM,YAAY;AAAA,MACpD;AAEA,UAAI,gBAAgB,SAAS,qBAAqB,SAAS,kBACvD,gBACA;AAEJ,UAAI,eAAe;AACjB,yBAAiB,MAAM,WAAW,QAAQ,MAAM;AAChD,oBAAY,mBAAmB;AAAA,MACjC;AAEA,UAAK,MAAM,QAAQ,QAAQ,MAAM,QAAQ,OAAQ,aAAc,MAAM,WAAW,KAAK,QAAQ,GAAI;AAC/F,kBAAU;AAAA,MACZ;AAEA,UAAI,aAAa,MAAM,eAAe,cAAc,GAAG;AACrD,cAAM,OAAO,UAAU;AAAA,MACzB,OAAO;AACL,YAAI,iBAAiB,aAAa,CAAC,MAAM,eAAe,cAAc,GAAG;AACvE,gBAAM,eAAe,cAAc,IAAI;AAAA,QACzC;AACA,YAAI,SAAS,mBAAmB;AAC9B,cAAI,SAAU,OAAO,KAAK,MAAM,IAAI,EAAE,WAAW,GAAI;AACnD,8BAAkB,OAAO,OAAO,MAAM,MAAM,OAAO;AACnD,gBAAI,WAAW;AACb,oBAAM,OAAO,UAAU,iBAAiB,MAAM;AAAA,YAChD;AAAA,UACF,OAAO;AACL,6BAAiB,OAAO,OAAO,MAAM,IAAI;AACzC,gBAAI,WAAW;AACb,oBAAM,OAAO,UAAU,iBAAiB,MAAM,MAAM;AAAA,YACtD;AAAA,UACF;AAAA,QACF,WAAW,SAAS,kBAAkB;AACpC,cAAI,aAAc,MAAM,iBAAkB,QAAQ,IAAM,QAAQ,IAAI;AACpE,cAAI,SAAU,MAAM,KAAK,WAAW,GAAI;AACtC,+BAAmB,OAAO,YAAY,MAAM,MAAM,OAAO;AACzD,gBAAI,WAAW;AACb,oBAAM,OAAO,UAAU,iBAAiB,MAAM;AAAA,YAChD;AAAA,UACF,OAAO;AACL,8BAAkB,OAAO,YAAY,MAAM,IAAI;AAC/C,gBAAI,WAAW;AACb,oBAAM,OAAO,UAAU,iBAAiB,MAAM,MAAM;AAAA,YACtD;AAAA,UACF;AAAA,QACF,WAAW,SAAS,mBAAmB;AACrC,cAAI,MAAM,QAAQ,KAAK;AACrB,wBAAY,OAAO,MAAM,MAAM,OAAO,KAAK;AAAA,UAC7C;AAAA,QACF,OAAO;AACL,cAAI,MAAM,YAAa,QAAO;AAC9B,gBAAM,IAAI,cAAc,4CAA4C,IAAI;AAAA,QAC1E;AAEA,YAAI,MAAM,QAAQ,QAAQ,MAAM,QAAQ,KAAK;AAC3C,gBAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA,QAC/C;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,uBAAuB,QAAQ,OAAO;AAC7C,UAAI,UAAU,CAAC,GACX,oBAAoB,CAAC,GACrB,OACA;AAEJ,kBAAY,QAAQ,SAAS,iBAAiB;AAE9C,WAAK,QAAQ,GAAG,SAAS,kBAAkB,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAC7E,cAAM,WAAW,KAAK,QAAQ,kBAAkB,KAAK,CAAC,CAAC;AAAA,MACzD;AACA,YAAM,iBAAiB,IAAI,MAAM,MAAM;AAAA,IACzC;AAEA,aAAS,YAAY,QAAQ,SAAS,mBAAmB;AACvD,UAAI,eACA,OACA;AAEJ,UAAI,WAAW,QAAQ,OAAO,WAAW,UAAU;AACjD,gBAAQ,QAAQ,QAAQ,MAAM;AAC9B,YAAI,UAAU,IAAI;AAChB,cAAI,kBAAkB,QAAQ,KAAK,MAAM,IAAI;AAC3C,8BAAkB,KAAK,KAAK;AAAA,UAC9B;AAAA,QACF,OAAO;AACL,kBAAQ,KAAK,MAAM;AAEnB,cAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,iBAAK,QAAQ,GAAG,SAAS,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAClE,0BAAY,OAAO,KAAK,GAAG,SAAS,iBAAiB;AAAA,YACvD;AAAA,UACF,OAAO;AACL,4BAAgB,OAAO,KAAK,MAAM;AAElC,iBAAK,QAAQ,GAAG,SAAS,cAAc,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACzE,0BAAY,OAAO,cAAc,KAAK,CAAC,GAAG,SAAS,iBAAiB;AAAA,YACtE;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,aAAS,KAAK,OAAOF,UAAS;AAC5B,MAAAA,WAAUA,YAAW,CAAC;AAEtB,UAAI,QAAQ,IAAI,MAAMA,QAAO;AAE7B,UAAI,CAAC,MAAM,OAAQ,wBAAuB,OAAO,KAAK;AAEtD,UAAI,UAAU,OAAO,GAAG,OAAO,MAAM,IAAI,EAAG,QAAO,MAAM,OAAO;AAEhE,aAAO;AAAA,IACT;AAEA,aAAS,SAAS,OAAOA,UAAS;AAChC,aAAO,KAAK,OAAO,OAAO,OAAO,EAAE,QAAQ,oBAAoB,GAAGA,QAAO,CAAC;AAAA,IAC5E;AAEA,IAAAD,QAAO,QAAQ,OAAW;AAC1B,IAAAA,QAAO,QAAQ,WAAW;AAAA;AAAA;;;ACj1B1B;AAAA,wCAAAI,UAAAC,SAAA;AAAA;AAGA,QAAI,SAAS;AACb,QAAI,SAAS;AAGb,aAAS,WAAW,MAAM;AACxB,aAAO,WAAY;AACjB,cAAM,IAAI,MAAM,cAAc,OAAO,oCAAoC;AAAA,MAC3E;AAAA,IACF;AAGA,IAAAA,QAAO,QAAQ,OAAsB;AACrC,IAAAA,QAAO,QAAQ,SAAsB;AACrC,IAAAA,QAAO,QAAQ,kBAAsB;AACrC,IAAAA,QAAO,QAAQ,cAAsB;AACrC,IAAAA,QAAO,QAAQ,cAAsB;AACrC,IAAAA,QAAO,QAAQ,sBAAsB;AACrC,IAAAA,QAAO,QAAQ,sBAAsB;AACrC,IAAAA,QAAO,QAAQ,OAAsB,OAAO;AAC5C,IAAAA,QAAO,QAAQ,UAAsB,OAAO;AAC5C,IAAAA,QAAO,QAAQ,WAAsB,OAAO;AAC5C,IAAAA,QAAO,QAAQ,cAAsB,OAAO;AAC5C,IAAAA,QAAO,QAAQ,OAAsB,OAAO;AAC5C,IAAAA,QAAO,QAAQ,WAAsB,OAAO;AAC5C,IAAAA,QAAO,QAAQ,gBAAsB;AAGrC,IAAAA,QAAO,QAAQ,iBAAiB;AAChC,IAAAA,QAAO,QAAQ,cAAiB;AAChC,IAAAA,QAAO,QAAQ,iBAAiB;AAGhC,IAAAA,QAAO,QAAQ,OAAiB,WAAW,MAAM;AACjD,IAAAA,QAAO,QAAQ,QAAiB,WAAW,OAAO;AAClD,IAAAA,QAAO,QAAQ,UAAiB,WAAW,SAAS;AACpD,IAAAA,QAAO,QAAQ,iBAAiB,WAAW,gBAAgB;AAAA;AAAA;;;ACtC3D,IAAAC,mBAAA;AAAA,kCAAAC,UAAAC,SAAA;AAAA;AAGA,QAAIC,QAAO;AAGX,IAAAD,QAAO,UAAUC;AAAA;AAAA;;;ACNjB;AAAA;AAAA;AAEA,QAAM,OAAO;AAMb,QAAM,UAAU,UAAU,OAAO;AAMjC,YAAQ,OAAO;AAAA,MACb,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,MAC9B,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,IACpC;AAMA,YAAQ,OAAO;AAAA,MACb,OAAO,KAAK,MAAM,KAAK,IAAI;AAAA,MAC3B,WAAW,SAAS,KAAKC,UAAS;AAChC,cAAM,OAAO,OAAO,OAAO,EAAC,UAAU,MAAM,OAAO,EAAC,GAAGA,QAAO;AAC9D,eAAO,KAAK,UAAU,KAAK,KAAK,UAAU,KAAK,KAAK;AAAA,MACtD;AAAA,IACF;AAMA,YAAQ,aAAa;AAAA,MACnB,OAAO,SAAS,MAAM,KAAK,SAAS,MAAM;AAExC,YAAI;AACF,cAAI,SAAS,OAAO;AAClB,kBAAM,2BAA2B,IAAI,KAAK,IAAI;AAAA,UAChD;AACA,iBAAO,KAAK,GAAG,KAAK,CAAC;AAAA,QACvB,SAAS,KAAK;AACZ,cAAI,SAAS,SAAS,2BAA2B,KAAK,IAAI,OAAO,GAAG;AAClE,mBAAO,MAAM,KAAK,SAAS,KAAK;AAAA,UAClC;AACA,gBAAM,IAAI,YAAY,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,MACA,WAAW,WAAW;AACpB,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC5D;AAAA,IACF;AAAA;AAAA;;;ACrDA;AAAA,2CAAAC,UAAAC,SAAA;AAAA;AASA,IAAAA,QAAO,UAAU,SAASC,MAAK;AAC7B,UAAI,OAAOA,SAAQ,YAAYA,KAAI,OAAO,CAAC,MAAM,UAAU;AACzD,eAAOA,KAAI,MAAM,CAAC;AAAA,MACpB;AACA,aAAOA;AAAA,IACT;AAAA;AAAA;;;ACdA;AAAA,0CAAAC,UAAA;AAAA;AAEA,QAAM,WAAW;AACjB,QAAM,SAAS;AAEf,IAAAA,SAAQ,SAAS,SAAS,KAAK,KAAK,KAAK;AACvC,cAAQ,eAAe,KAAK,KAAK;AAAA,QAC/B,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,UAAU;AAAA,QACV,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAMA,IAAAA,SAAQ,WAAW,SAAS,KAAK;AAC/B,aAAO,OAAO,GAAG,MAAM;AAAA,IACzB;AAMA,IAAAA,SAAQ,WAAW,SAAS,KAAK;AAC/B,aAAO,OAAO,GAAG,MAAM;AAAA,IACzB;AAMA,IAAAA,SAAQ,WAAW,SAAS,OAAO;AACjC,aAAO,OAAO,UAAU,WAAW,OAAO,KAAK,KAAK,IAAI;AAAA,IAC1D;AAMA,IAAAA,SAAQ,WAAW,SAAS,OAAO;AACjC,UAAIA,SAAQ,SAAS,KAAK,EAAG,QAAO,SAAS,OAAO,KAAK,CAAC;AAC1D,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,IAAI,UAAU,yCAAyC;AAAA,MAC/D;AACA,aAAO,SAAS,KAAK;AAAA,IACvB;AAMA,IAAAA,SAAQ,WAAW,SAAS,KAAK;AAC/B,aAAO,MAAO,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG,IAAK,CAAC;AAAA,IACrD;AAMA,IAAAA,SAAQ,aAAa,SAASC,MAAK,QAAQ,KAAK;AAC9C,UAAI,OAAO,QAAQ,SAAU,OAAM,OAAO;AAC1C,aAAOA,KAAI,MAAM,GAAG,GAAG,MAAM;AAAA,IAC/B;AAAA;AAAA;;;ACjEA;AAAA,6CAAAC,UAAAC,SAAA;AAAA;AAEA,QAAMC,WAAU;AAChB,QAAM,QAAQ;AAEd,IAAAD,QAAO,UAAU,SAASE,UAAS;AACjC,YAAM,OAAO,OAAO,OAAO,CAAC,GAAGA,QAAO;AAGtC,WAAK,aAAa,MAAM,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK;AACxE,UAAI,KAAK,WAAW,WAAW,GAAG;AAChC,aAAK,WAAW,KAAK,KAAK,WAAW,CAAC,CAAC;AAAA,MACzC;AAEA,WAAK,YAAY,KAAK,YAAY,KAAK,QAAQ,QAAQ,YAAY;AACnE,WAAK,UAAU,OAAO,OAAO,CAAC,GAAGD,UAAS,KAAK,SAAS,KAAK,OAAO;AACpE,aAAO;AAAA,IACT;AAAA;AAAA;;;ACjBA;AAAA,2CAAAE,UAAAC,SAAA;AAAA;AAEA,IAAAA,QAAO,UAAU,SAAS,MAAMC,UAAS;AACvC,UAAI,SAASA,SAAQ,QAAQ,IAAI,KAAKA,SAAQ,QAAQ,OAAO,IAAI,CAAC;AAClE,UAAI,OAAO,WAAW,aAAa;AACjC,cAAM,IAAI,MAAM,yBAAyB,OAAO,qBAAqB;AAAA,MACvE;AACA,UAAI,OAAO,WAAW,YAAY;AAChC,iBAAS,EAAE,OAAO,OAAO;AAAA,MAC3B;AACA,aAAO;AAAA,IACT;AAEA,aAAS,OAAO,MAAM;AACpB,cAAQ,KAAK,YAAY,GAAG;AAAA,QAC1B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT,SAAS;AACP,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC7BA;AAAA,8CAAAC,UAAAC,SAAA;AAAA;AAEA,QAAM,SAAS;AACf,QAAM,YAAY;AAClB,QAAM,WAAW;AAEjB,IAAAA,QAAO,UAAU,SAAS,MAAM,MAAMC,UAAS;AAC7C,UAAI,QAAQ,QAAQA,YAAW,MAAM;AACnC,gBAAQ,OAAO,IAAI,GAAG;AAAA,UACpB,KAAK;AACH,mBAAO,KAAK;AACZ,YAAAA,WAAU,CAAC;AACX;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,SAAS;AACP,kBAAM,IAAI,UAAU,wCAAwC;AAAA,UAC9D;AAAA,QACF;AAAA,MACF;AAEA,YAAMC,OAAM,KAAK;AACjB,YAAM,OAAO,SAASD,QAAO;AAC7B,UAAI,QAAQ,MAAM;AAChB,YAAI,CAAC,KAAK,KAAM,QAAO;AACvB,eAAO,KAAK;AAAA,MACd;AAEA,YAAM,WAAW,KAAK,YAAY,KAAK;AACvC,YAAM,SAAS,UAAU,UAAU,IAAI;AACvC,UAAI,OAAO,OAAO,cAAc,YAAY;AAC1C,cAAM,IAAI,UAAU,eAAe,WAAW,8BAA8B;AAAA,MAC9E;AAEA,aAAO,OAAO,OAAO,CAAC,GAAG,KAAK,MAAM,IAAI;AACxC,YAAM,OAAO,KAAK,WAAW,CAAC;AAC9B,YAAM,QAAQ,KAAK,WAAW,CAAC;AAC/B,YAAM,SAAS,OAAO,UAAU,MAAMA,QAAO,EAAE,KAAK;AACpD,UAAI,MAAM;AAEV,UAAI,WAAW,MAAM;AACnB,cAAM,QAAQ,IAAI,IAAI,QAAQ,MAAM,IAAI,QAAQ,KAAK;AAAA,MACvD;AAEA,UAAI,OAAO,KAAK,YAAY,YAAY,KAAK,YAAY,IAAI;AAC3D,YAAIC,KAAI,QAAQ,KAAK,QAAQ,KAAK,CAAC,MAAM,IAAI;AAC3C,iBAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK;AAAA,QAC9C;AAAA,MACF;AAEA,aAAO,MAAM,QAAQA,IAAG;AAAA,IAC1B;AAEA,aAAS,QAAQA,MAAK;AACpB,aAAOA,KAAI,MAAM,EAAE,MAAM,OAAOA,OAAM,OAAOA;AAAA,IAC/C;AAAA;AAAA;;;ACvDA;AAAA,4CAAAC,UAAAC,SAAA;AAAA;AAEA,QAAM,WAAW;AAEjB,IAAAA,QAAO,UAAU,SAAS,MAAMC,UAAS;AACvC,YAAM,OAAO,SAASA,QAAO;AAE7B,UAAI,KAAK,QAAQ,MAAM;AACrB,aAAK,OAAO,CAAC;AAAA,MACf;AAEA,UAAI,OAAO,KAAK,YAAY,YAAY;AACtC,eAAO,KAAK,QAAQ,MAAM,IAAI;AAAA,MAChC;AAEA,YAAM,MAAM,KAAK,KAAK,qBAAqB,KAAK;AAChD,UAAI,OAAO,SAAS,KAAK,YAAY,SAAS,KAAK,WAAW,OAAO;AACnE,eAAO;AAAA,MACT;AAEA,YAAM,YAAY,OAAO,KAAK,YAAY,WACtC,KAAK,UACJ,OAAO,KAAK,WAAW,CAAC;AAG7B,YAAM,MAAM,KAAK,QAAQ,QAAQ,SAAS;AAC1C,UAAI,QAAQ,IAAI;AACd,aAAK,UAAU,KAAK,QAAQ,MAAM,GAAG,GAAG;AAAA,MAC1C;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;;;AC/BA;AAAA,4CAAAC,UAAAC,SAAA;AAAA;AAEA,QAAM,SAAS;AACf,QAAM,YAAY;AAClB,QAAM,QAAQ;AAOd,IAAAA,QAAO,UAAU,SAAS,MAAM;AAC9B,UAAI,OAAO,IAAI,MAAM,UAAU;AAC7B,eAAO,EAAE,SAAS,KAAK;AAAA,MACzB;AAEA,UAAI,OAAO,KAAK,IAAI,MAAM,UAAU;AAClC,aAAK,OAAO,CAAC;AAAA,MACf;AAIA,UAAI,KAAK,YAAY,KAAK,WAAW,MAAM;AACzC,aAAK,UAAU,KAAK;AAAA,MACtB;AAGA,YAAM,OAAO,MAAM,QAAQ,MAAM,SAAS,KAAK,OAAO,CAAC;AACvD,YAAM,OAAO,MAAM,YAAY,KAAK,YAAY,EAAE;AAClD,YAAM,OAAO,MAAM,UAAU,KAAK,UAAU,EAAE;AAC9C,YAAM,OAAO,MAAM,aAAa,SAAS,MAAMC,UAAS;AACtD,YAAIA,YAAWA,SAAQ,UAAU;AAC/B,eAAK,WAAWA,SAAQ;AAAA,QAC1B;AACA,eAAO,UAAU,MAAM,MAAMA,QAAO;AAAA,MACtC,CAAC;AAGD,WAAK,UAAU,MAAM,SAAS,KAAK,OAAO;AAC1C,WAAK,UAAU;AACf,WAAK,UAAU;AACf,aAAO;AAAA,IACT;AAAA;AAAA;;;AC1CA;AAAA,0CAAAC,UAAAC,SAAA;AAAA;AAEA,QAAM,YAAY;AAClB,QAAM,WAAW;AAEjB,IAAAA,QAAO,UAAU,SAAS,UAAUC,MAAKC,UAAS;AAChD,YAAM,OAAO,SAASA,QAAO;AAC7B,YAAM,SAAS,UAAU,UAAU,IAAI;AACvC,UAAI,OAAO,OAAO,UAAU,YAAY;AACtC,cAAM,IAAI,UAAU,eAAe,WAAW,0BAA0B;AAAA,MAC1E;AACA,aAAO,OAAO,MAAMD,MAAK,IAAI;AAAA,IAC/B;AAAA;AAAA;;;ACZA;AAAA,sCAAAE,UAAAC,SAAA;AAEA,QAAM,KAAK;AACX,QAAM,WAAW;AACjB,QAAM,WAAW;AACjB,QAAM,YAAY;AAClB,QAAM,UAAU;AAChB,QAAMC,WAAU;AAChB,QAAM,SAAS;AACf,QAAMC,SAAQ;AACd,QAAM,QAAQ;AAkBd,aAAS,OAAO,OAAOC,UAAS;AAC9B,UAAI,UAAU,IAAI;AAChB,eAAO,EAAE,MAAM,CAAC,GAAG,SAAS,OAAO,SAAS,IAAI,MAAM,MAAM;AAAA,MAC9D;AAEA,UAAI,OAAO,OAAO,KAAK;AACvB,YAAM,SAAS,OAAO,MAAM,KAAK,OAAO;AAExC,UAAI,CAACA,UAAS;AACZ,YAAI,QAAQ;AACV,iBAAO,OAAO,OAAO,CAAC,GAAG,MAAM;AAC/B,eAAK,OAAO,OAAO;AACnB,iBAAO;AAAA,QACT;AAKA,eAAO,MAAM,KAAK,OAAO,IAAI;AAAA,MAC/B;AAEA,aAAO,YAAY,MAAMA,QAAO;AAAA,IAClC;AAMA,aAAS,YAAY,MAAMA,UAAS;AAClC,YAAM,OAAO,SAASA,QAAO;AAC7B,YAAM,OAAO,KAAK,WAAW,CAAC;AAC9B,YAAM,QAAQ,OAAO,KAAK,WAAW,CAAC;AACtC,UAAIC,OAAM,KAAK;AAEf,UAAI,KAAK,UAAU;AACjB,aAAK,WAAW,KAAK;AAAA,MACvB;AAGA,YAAM,UAAU,KAAK;AACrB,UAAI,CAAC,MAAM,WAAWA,MAAK,MAAM,OAAO,GAAG;AACzC,gBAAQ,MAAM,IAAI;AAClB,eAAO;AAAA,MACT;AAKA,UAAIA,KAAI,OAAO,OAAO,MAAM,KAAK,MAAM,EAAE,GAAG;AAC1C,eAAO;AAAA,MACT;AAGA,MAAAA,OAAMA,KAAI,MAAM,OAAO;AACvB,YAAM,MAAMA,KAAI;AAGhB,YAAM,WAAW,OAAO,SAASA,MAAK,IAAI;AAC1C,UAAI,SAAS,MAAM;AACjB,aAAK,WAAW,SAAS;AACzB,QAAAA,OAAMA,KAAI,MAAM,SAAS,IAAI,MAAM;AAAA,MACrC;AAGA,UAAI,aAAaA,KAAI,QAAQ,KAAK;AAClC,UAAI,eAAe,IAAI;AACrB,qBAAa;AAAA,MACf;AAGA,WAAK,SAASA,KAAI,MAAM,GAAG,UAAU;AAErC,YAAM,QAAQ,KAAK,OAAO,QAAQ,iBAAiB,EAAE,EAAE,KAAK;AAC5D,UAAI,UAAU,IAAI;AAChB,aAAK,UAAU;AACf,aAAK,QAAQ,KAAK;AAClB,aAAK,OAAO,CAAC;AAAA,MACf,OAAO;AAGL,aAAK,OAAOF,OAAM,KAAK,UAAU,KAAK,QAAQ,IAAI;AAAA,MACpD;AAGA,UAAI,eAAe,KAAK;AACtB,aAAK,UAAU;AAAA,MACjB,OAAO;AACL,aAAK,UAAUE,KAAI,MAAM,aAAa,MAAM,MAAM;AAClD,YAAI,KAAK,QAAQ,CAAC,MAAM,MAAM;AAC5B,eAAK,UAAU,KAAK,QAAQ,MAAM,CAAC;AAAA,QACrC;AACA,YAAI,KAAK,QAAQ,CAAC,MAAM,MAAM;AAC5B,eAAK,UAAU,KAAK,QAAQ,MAAM,CAAC;AAAA,QACrC;AAAA,MACF;AAEA,cAAQ,MAAM,IAAI;AAElB,UAAI,KAAK,aAAa,QAAQ,OAAO,KAAK,YAAY,YAAY;AAChE,iBAAS,MAAM,KAAK,OAAO;AAAA,MAC7B;AACA,aAAO;AAAA,IACT;AAMA,WAAO,UAAUH;AAuBjB,WAAO,YAAY,SAAS,MAAM,MAAME,UAAS;AAC/C,UAAI,OAAO,SAAS,SAAU,QAAO,OAAO,MAAMA,QAAO;AACzD,aAAO,UAAU,MAAM,MAAMA,QAAO;AAAA,IACtC;AAeA,WAAO,OAAO,SAAS,UAAUA,UAAS;AACxC,YAAMC,OAAM,GAAG,aAAa,UAAU,MAAM;AAC5C,YAAM,OAAO,OAAOA,MAAKD,QAAO;AAChC,WAAK,OAAO;AACZ,aAAO;AAAA,IACT;AAUA,WAAO,OAAO,SAASC,MAAKD,UAAS;AACnC,aAAO,MAAM,WAAWC,MAAK,SAASD,QAAO,EAAE,WAAW,CAAC,CAAC;AAAA,IAC9D;AAUA,WAAO,WAAW,SAASC,MAAKD,UAAS;AACvC,YAAM,OAAO,SAASA,QAAO;AAC7B,YAAM,OAAO,KAAK,WAAW,CAAC;AAE9B,UAAI,OAAO,KAAKC,IAAG,GAAG;AACpB,QAAAA,OAAMA,KAAI,MAAM,KAAK,MAAM;AAAA,MAC7B;AAEA,YAAM,WAAWA,KAAI,MAAM,GAAGA,KAAI,OAAO,OAAO,CAAC;AACjD,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM,WAAW,SAAS,KAAK,IAAI;AAAA,MACrC;AAAA,IACF;AAMA,WAAO,QAAQ,CAAC;AAChB,WAAO,aAAa,WAAW;AAC7B,aAAO,QAAQ,CAAC;AAAA,IAClB;AACA,IAAAJ,QAAO,UAAU;AAAA;AAAA;",
- "names": ["exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "options", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "options", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "options", "exports", "module", "options", "str", "string", "exports", "module", "require_js_yaml", "exports", "module", "yaml", "options", "exports", "module", "str", "exports", "str", "exports", "module", "engines", "options", "exports", "module", "options", "exports", "module", "options", "str", "exports", "module", "options", "exports", "module", "options", "exports", "module", "str", "options", "exports", "module", "engines", "parse", "options", "str"]
-}
diff --git a/node_modules/.vite/deps/marked.js b/node_modules/.vite/deps/marked.js
deleted file mode 100644
index ae64822..0000000
--- a/node_modules/.vite/deps/marked.js
+++ /dev/null
@@ -1,2041 +0,0 @@
-import {
- __privateAdd,
- __privateMethod,
- __publicField
-} from "./chunk-KZF2VKC5.js";
-
-// node_modules/marked/lib/marked.esm.js
-function _getDefaults() {
- return {
- async: false,
- breaks: false,
- extensions: null,
- gfm: true,
- hooks: null,
- pedantic: false,
- renderer: null,
- silent: false,
- tokenizer: null,
- walkTokens: null
- };
-}
-var _defaults = _getDefaults();
-function changeDefaults(newDefaults) {
- _defaults = newDefaults;
-}
-var escapeTest = /[&<>"']/;
-var escapeReplace = new RegExp(escapeTest.source, "g");
-var escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
-var escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, "g");
-var escapeReplacements = {
- "&": "&",
- "<": "<",
- ">": ">",
- '"': """,
- "'": "'"
-};
-var getEscapeReplacement = (ch) => escapeReplacements[ch];
-function escape$1(html2, encode) {
- if (encode) {
- if (escapeTest.test(html2)) {
- return html2.replace(escapeReplace, getEscapeReplacement);
- }
- } else {
- if (escapeTestNoEncode.test(html2)) {
- return html2.replace(escapeReplaceNoEncode, getEscapeReplacement);
- }
- }
- return html2;
-}
-var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
-function unescape(html2) {
- return html2.replace(unescapeTest, (_, n) => {
- n = n.toLowerCase();
- if (n === "colon")
- return ":";
- if (n.charAt(0) === "#") {
- return n.charAt(1) === "x" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
- }
- return "";
- });
-}
-var caret = /(^|[^\[])\^/g;
-function edit(regex, opt) {
- let source = typeof regex === "string" ? regex : regex.source;
- opt = opt || "";
- const obj = {
- replace: (name, val) => {
- let valSource = typeof val === "string" ? val : val.source;
- valSource = valSource.replace(caret, "$1");
- source = source.replace(name, valSource);
- return obj;
- },
- getRegex: () => {
- return new RegExp(source, opt);
- }
- };
- return obj;
-}
-function cleanUrl(href) {
- try {
- href = encodeURI(href).replace(/%25/g, "%");
- } catch (e) {
- return null;
- }
- return href;
-}
-var noopTest = { exec: () => null };
-function splitCells(tableRow, count) {
- const row = tableRow.replace(/\|/g, (match, offset, str) => {
- let escaped = false;
- let curr = offset;
- while (--curr >= 0 && str[curr] === "\\")
- escaped = !escaped;
- if (escaped) {
- return "|";
- } else {
- return " |";
- }
- }), cells = row.split(/ \|/);
- let i = 0;
- if (!cells[0].trim()) {
- cells.shift();
- }
- if (cells.length > 0 && !cells[cells.length - 1].trim()) {
- cells.pop();
- }
- if (count) {
- if (cells.length > count) {
- cells.splice(count);
- } else {
- while (cells.length < count)
- cells.push("");
- }
- }
- for (; i < cells.length; i++) {
- cells[i] = cells[i].trim().replace(/\\\|/g, "|");
- }
- return cells;
-}
-function rtrim(str, c, invert) {
- const l = str.length;
- if (l === 0) {
- return "";
- }
- let suffLen = 0;
- while (suffLen < l) {
- const currChar = str.charAt(l - suffLen - 1);
- if (currChar === c && !invert) {
- suffLen++;
- } else if (currChar !== c && invert) {
- suffLen++;
- } else {
- break;
- }
- }
- return str.slice(0, l - suffLen);
-}
-function findClosingBracket(str, b) {
- if (str.indexOf(b[1]) === -1) {
- return -1;
- }
- let level = 0;
- for (let i = 0; i < str.length; i++) {
- if (str[i] === "\\") {
- i++;
- } else if (str[i] === b[0]) {
- level++;
- } else if (str[i] === b[1]) {
- level--;
- if (level < 0) {
- return i;
- }
- }
- }
- return -1;
-}
-function outputLink(cap, link2, raw, lexer2) {
- const href = link2.href;
- const title = link2.title ? escape$1(link2.title) : null;
- const text = cap[1].replace(/\\([\[\]])/g, "$1");
- if (cap[0].charAt(0) !== "!") {
- lexer2.state.inLink = true;
- const token = {
- type: "link",
- raw,
- href,
- title,
- text,
- tokens: lexer2.inlineTokens(text)
- };
- lexer2.state.inLink = false;
- return token;
- }
- return {
- type: "image",
- raw,
- href,
- title,
- text: escape$1(text)
- };
-}
-function indentCodeCompensation(raw, text) {
- const matchIndentToCode = raw.match(/^(\s+)(?:```)/);
- if (matchIndentToCode === null) {
- return text;
- }
- const indentToCode = matchIndentToCode[1];
- return text.split("\n").map((node) => {
- const matchIndentInNode = node.match(/^\s+/);
- if (matchIndentInNode === null) {
- return node;
- }
- const [indentInNode] = matchIndentInNode;
- if (indentInNode.length >= indentToCode.length) {
- return node.slice(indentToCode.length);
- }
- return node;
- }).join("\n");
-}
-var _Tokenizer = class {
- // set by the lexer
- constructor(options2) {
- __publicField(this, "options");
- __publicField(this, "rules");
- // set by the lexer
- __publicField(this, "lexer");
- this.options = options2 || _defaults;
- }
- space(src) {
- const cap = this.rules.block.newline.exec(src);
- if (cap && cap[0].length > 0) {
- return {
- type: "space",
- raw: cap[0]
- };
- }
- }
- code(src) {
- const cap = this.rules.block.code.exec(src);
- if (cap) {
- const text = cap[0].replace(/^ {1,4}/gm, "");
- return {
- type: "code",
- raw: cap[0],
- codeBlockStyle: "indented",
- text: !this.options.pedantic ? rtrim(text, "\n") : text
- };
- }
- }
- fences(src) {
- const cap = this.rules.block.fences.exec(src);
- if (cap) {
- const raw = cap[0];
- const text = indentCodeCompensation(raw, cap[3] || "");
- return {
- type: "code",
- raw,
- lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : cap[2],
- text
- };
- }
- }
- heading(src) {
- const cap = this.rules.block.heading.exec(src);
- if (cap) {
- let text = cap[2].trim();
- if (/#$/.test(text)) {
- const trimmed = rtrim(text, "#");
- if (this.options.pedantic) {
- text = trimmed.trim();
- } else if (!trimmed || / $/.test(trimmed)) {
- text = trimmed.trim();
- }
- }
- return {
- type: "heading",
- raw: cap[0],
- depth: cap[1].length,
- text,
- tokens: this.lexer.inline(text)
- };
- }
- }
- hr(src) {
- const cap = this.rules.block.hr.exec(src);
- if (cap) {
- return {
- type: "hr",
- raw: cap[0]
- };
- }
- }
- blockquote(src) {
- const cap = this.rules.block.blockquote.exec(src);
- if (cap) {
- const text = rtrim(cap[0].replace(/^ *>[ \t]?/gm, ""), "\n");
- const top = this.lexer.state.top;
- this.lexer.state.top = true;
- const tokens = this.lexer.blockTokens(text);
- this.lexer.state.top = top;
- return {
- type: "blockquote",
- raw: cap[0],
- tokens,
- text
- };
- }
- }
- list(src) {
- let cap = this.rules.block.list.exec(src);
- if (cap) {
- let bull = cap[1].trim();
- const isordered = bull.length > 1;
- const list2 = {
- type: "list",
- raw: "",
- ordered: isordered,
- start: isordered ? +bull.slice(0, -1) : "",
- loose: false,
- items: []
- };
- bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`;
- if (this.options.pedantic) {
- bull = isordered ? bull : "[*+-]";
- }
- const itemRegex = new RegExp(`^( {0,3}${bull})((?:[ ][^\\n]*)?(?:\\n|$))`);
- let raw = "";
- let itemContents = "";
- let endsWithBlankLine = false;
- while (src) {
- let endEarly = false;
- if (!(cap = itemRegex.exec(src))) {
- break;
- }
- if (this.rules.block.hr.test(src)) {
- break;
- }
- raw = cap[0];
- src = src.substring(raw.length);
- let line = cap[2].split("\n", 1)[0].replace(/^\t+/, (t) => " ".repeat(3 * t.length));
- let nextLine = src.split("\n", 1)[0];
- let indent = 0;
- if (this.options.pedantic) {
- indent = 2;
- itemContents = line.trimStart();
- } else {
- indent = cap[2].search(/[^ ]/);
- indent = indent > 4 ? 1 : indent;
- itemContents = line.slice(indent);
- indent += cap[1].length;
- }
- let blankLine = false;
- if (!line && /^ *$/.test(nextLine)) {
- raw += nextLine + "\n";
- src = src.substring(nextLine.length + 1);
- endEarly = true;
- }
- if (!endEarly) {
- const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`);
- const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`);
- const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`);
- const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);
- while (src) {
- const rawLine = src.split("\n", 1)[0];
- nextLine = rawLine;
- if (this.options.pedantic) {
- nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ");
- }
- if (fencesBeginRegex.test(nextLine)) {
- break;
- }
- if (headingBeginRegex.test(nextLine)) {
- break;
- }
- if (nextBulletRegex.test(nextLine)) {
- break;
- }
- if (hrRegex.test(src)) {
- break;
- }
- if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) {
- itemContents += "\n" + nextLine.slice(indent);
- } else {
- if (blankLine) {
- break;
- }
- if (line.search(/[^ ]/) >= 4) {
- break;
- }
- if (fencesBeginRegex.test(line)) {
- break;
- }
- if (headingBeginRegex.test(line)) {
- break;
- }
- if (hrRegex.test(line)) {
- break;
- }
- itemContents += "\n" + nextLine;
- }
- if (!blankLine && !nextLine.trim()) {
- blankLine = true;
- }
- raw += rawLine + "\n";
- src = src.substring(rawLine.length + 1);
- line = nextLine.slice(indent);
- }
- }
- if (!list2.loose) {
- if (endsWithBlankLine) {
- list2.loose = true;
- } else if (/\n *\n *$/.test(raw)) {
- endsWithBlankLine = true;
- }
- }
- let istask = null;
- let ischecked;
- if (this.options.gfm) {
- istask = /^\[[ xX]\] /.exec(itemContents);
- if (istask) {
- ischecked = istask[0] !== "[ ] ";
- itemContents = itemContents.replace(/^\[[ xX]\] +/, "");
- }
- }
- list2.items.push({
- type: "list_item",
- raw,
- task: !!istask,
- checked: ischecked,
- loose: false,
- text: itemContents,
- tokens: []
- });
- list2.raw += raw;
- }
- list2.items[list2.items.length - 1].raw = raw.trimEnd();
- list2.items[list2.items.length - 1].text = itemContents.trimEnd();
- list2.raw = list2.raw.trimEnd();
- for (let i = 0; i < list2.items.length; i++) {
- this.lexer.state.top = false;
- list2.items[i].tokens = this.lexer.blockTokens(list2.items[i].text, []);
- if (!list2.loose) {
- const spacers = list2.items[i].tokens.filter((t) => t.type === "space");
- const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t) => /\n.*\n/.test(t.raw));
- list2.loose = hasMultipleLineBreaks;
- }
- }
- if (list2.loose) {
- for (let i = 0; i < list2.items.length; i++) {
- list2.items[i].loose = true;
- }
- }
- return list2;
- }
- }
- html(src) {
- const cap = this.rules.block.html.exec(src);
- if (cap) {
- const token = {
- type: "html",
- block: true,
- raw: cap[0],
- pre: cap[1] === "pre" || cap[1] === "script" || cap[1] === "style",
- text: cap[0]
- };
- return token;
- }
- }
- def(src) {
- const cap = this.rules.block.def.exec(src);
- if (cap) {
- const tag2 = cap[1].toLowerCase().replace(/\s+/g, " ");
- const href = cap[2] ? cap[2].replace(/^<(.*)>$/, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "";
- const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : cap[3];
- return {
- type: "def",
- tag: tag2,
- raw: cap[0],
- href,
- title
- };
- }
- }
- table(src) {
- const cap = this.rules.block.table.exec(src);
- if (!cap) {
- return;
- }
- if (!/[:|]/.test(cap[2])) {
- return;
- }
- const headers = splitCells(cap[1]);
- const aligns = cap[2].replace(/^\||\| *$/g, "").split("|");
- const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, "").split("\n") : [];
- const item = {
- type: "table",
- raw: cap[0],
- header: [],
- align: [],
- rows: []
- };
- if (headers.length !== aligns.length) {
- return;
- }
- for (const align of aligns) {
- if (/^ *-+: *$/.test(align)) {
- item.align.push("right");
- } else if (/^ *:-+: *$/.test(align)) {
- item.align.push("center");
- } else if (/^ *:-+ *$/.test(align)) {
- item.align.push("left");
- } else {
- item.align.push(null);
- }
- }
- for (const header of headers) {
- item.header.push({
- text: header,
- tokens: this.lexer.inline(header)
- });
- }
- for (const row of rows) {
- item.rows.push(splitCells(row, item.header.length).map((cell) => {
- return {
- text: cell,
- tokens: this.lexer.inline(cell)
- };
- }));
- }
- return item;
- }
- lheading(src) {
- const cap = this.rules.block.lheading.exec(src);
- if (cap) {
- return {
- type: "heading",
- raw: cap[0],
- depth: cap[2].charAt(0) === "=" ? 1 : 2,
- text: cap[1],
- tokens: this.lexer.inline(cap[1])
- };
- }
- }
- paragraph(src) {
- const cap = this.rules.block.paragraph.exec(src);
- if (cap) {
- const text = cap[1].charAt(cap[1].length - 1) === "\n" ? cap[1].slice(0, -1) : cap[1];
- return {
- type: "paragraph",
- raw: cap[0],
- text,
- tokens: this.lexer.inline(text)
- };
- }
- }
- text(src) {
- const cap = this.rules.block.text.exec(src);
- if (cap) {
- return {
- type: "text",
- raw: cap[0],
- text: cap[0],
- tokens: this.lexer.inline(cap[0])
- };
- }
- }
- escape(src) {
- const cap = this.rules.inline.escape.exec(src);
- if (cap) {
- return {
- type: "escape",
- raw: cap[0],
- text: escape$1(cap[1])
- };
- }
- }
- tag(src) {
- const cap = this.rules.inline.tag.exec(src);
- if (cap) {
- if (!this.lexer.state.inLink && /^/i.test(cap[0])) {
- this.lexer.state.inLink = false;
- }
- if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
- this.lexer.state.inRawBlock = true;
- } else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
- this.lexer.state.inRawBlock = false;
- }
- return {
- type: "html",
- raw: cap[0],
- inLink: this.lexer.state.inLink,
- inRawBlock: this.lexer.state.inRawBlock,
- block: false,
- text: cap[0]
- };
- }
- }
- link(src) {
- const cap = this.rules.inline.link.exec(src);
- if (cap) {
- const trimmedUrl = cap[2].trim();
- if (!this.options.pedantic && /^$/.test(trimmedUrl)) {
- return;
- }
- const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), "\\");
- if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
- return;
- }
- } else {
- const lastParenIndex = findClosingBracket(cap[2], "()");
- if (lastParenIndex > -1) {
- const start = cap[0].indexOf("!") === 0 ? 5 : 4;
- const linkLen = start + cap[1].length + lastParenIndex;
- cap[2] = cap[2].substring(0, lastParenIndex);
- cap[0] = cap[0].substring(0, linkLen).trim();
- cap[3] = "";
- }
- }
- let href = cap[2];
- let title = "";
- if (this.options.pedantic) {
- const link2 = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
- if (link2) {
- href = link2[1];
- title = link2[3];
- }
- } else {
- title = cap[3] ? cap[3].slice(1, -1) : "";
- }
- href = href.trim();
- if (/^$/.test(trimmedUrl)) {
- href = href.slice(1);
- } else {
- href = href.slice(1, -1);
- }
- }
- return outputLink(cap, {
- href: href ? href.replace(this.rules.inline.anyPunctuation, "$1") : href,
- title: title ? title.replace(this.rules.inline.anyPunctuation, "$1") : title
- }, cap[0], this.lexer);
- }
- }
- reflink(src, links) {
- let cap;
- if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
- const linkString = (cap[2] || cap[1]).replace(/\s+/g, " ");
- const link2 = links[linkString.toLowerCase()];
- if (!link2) {
- const text = cap[0].charAt(0);
- return {
- type: "text",
- raw: text,
- text
- };
- }
- return outputLink(cap, link2, cap[0], this.lexer);
- }
- }
- emStrong(src, maskedSrc, prevChar = "") {
- let match = this.rules.inline.emStrongLDelim.exec(src);
- if (!match)
- return;
- if (match[3] && prevChar.match(/[\p{L}\p{N}]/u))
- return;
- const nextChar = match[1] || match[2] || "";
- if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {
- const lLength = [...match[0]].length - 1;
- let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;
- const endReg = match[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
- endReg.lastIndex = 0;
- maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
- while ((match = endReg.exec(maskedSrc)) != null) {
- rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
- if (!rDelim)
- continue;
- rLength = [...rDelim].length;
- if (match[3] || match[4]) {
- delimTotal += rLength;
- continue;
- } else if (match[5] || match[6]) {
- if (lLength % 3 && !((lLength + rLength) % 3)) {
- midDelimTotal += rLength;
- continue;
- }
- }
- delimTotal -= rLength;
- if (delimTotal > 0)
- continue;
- rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
- const lastCharLength = [...match[0]][0].length;
- const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);
- if (Math.min(lLength, rLength) % 2) {
- const text2 = raw.slice(1, -1);
- return {
- type: "em",
- raw,
- text: text2,
- tokens: this.lexer.inlineTokens(text2)
- };
- }
- const text = raw.slice(2, -2);
- return {
- type: "strong",
- raw,
- text,
- tokens: this.lexer.inlineTokens(text)
- };
- }
- }
- }
- codespan(src) {
- const cap = this.rules.inline.code.exec(src);
- if (cap) {
- let text = cap[2].replace(/\n/g, " ");
- const hasNonSpaceChars = /[^ ]/.test(text);
- const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
- if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
- text = text.substring(1, text.length - 1);
- }
- text = escape$1(text, true);
- return {
- type: "codespan",
- raw: cap[0],
- text
- };
- }
- }
- br(src) {
- const cap = this.rules.inline.br.exec(src);
- if (cap) {
- return {
- type: "br",
- raw: cap[0]
- };
- }
- }
- del(src) {
- const cap = this.rules.inline.del.exec(src);
- if (cap) {
- return {
- type: "del",
- raw: cap[0],
- text: cap[2],
- tokens: this.lexer.inlineTokens(cap[2])
- };
- }
- }
- autolink(src) {
- const cap = this.rules.inline.autolink.exec(src);
- if (cap) {
- let text, href;
- if (cap[2] === "@") {
- text = escape$1(cap[1]);
- href = "mailto:" + text;
- } else {
- text = escape$1(cap[1]);
- href = text;
- }
- return {
- type: "link",
- raw: cap[0],
- text,
- href,
- tokens: [
- {
- type: "text",
- raw: text,
- text
- }
- ]
- };
- }
- }
- url(src) {
- var _a;
- let cap;
- if (cap = this.rules.inline.url.exec(src)) {
- let text, href;
- if (cap[2] === "@") {
- text = escape$1(cap[0]);
- href = "mailto:" + text;
- } else {
- let prevCapZero;
- do {
- prevCapZero = cap[0];
- cap[0] = ((_a = this.rules.inline._backpedal.exec(cap[0])) == null ? void 0 : _a[0]) ?? "";
- } while (prevCapZero !== cap[0]);
- text = escape$1(cap[0]);
- if (cap[1] === "www.") {
- href = "http://" + cap[0];
- } else {
- href = cap[0];
- }
- }
- return {
- type: "link",
- raw: cap[0],
- text,
- href,
- tokens: [
- {
- type: "text",
- raw: text,
- text
- }
- ]
- };
- }
- }
- inlineText(src) {
- const cap = this.rules.inline.text.exec(src);
- if (cap) {
- let text;
- if (this.lexer.state.inRawBlock) {
- text = cap[0];
- } else {
- text = escape$1(cap[0]);
- }
- return {
- type: "text",
- raw: cap[0],
- text
- };
- }
- }
-};
-var newline = /^(?: *(?:\n|$))+/;
-var blockCode = /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/;
-var fences = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
-var hr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
-var heading = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
-var bullet = /(?:[*+-]|\d{1,9}[.)])/;
-var lheading = edit(/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g, bullet).getRegex();
-var _paragraph = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
-var blockText = /^[^\n]+/;
-var _blockLabel = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
-var def = edit(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label", _blockLabel).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
-var list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, bullet).getRegex();
-var _tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
-var _comment = /|$)/;
-var html = edit("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))", "i").replace("comment", _comment).replace("tag", _tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
-var paragraph = edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
-var blockquote = edit(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", paragraph).getRegex();
-var blockNormal = {
- blockquote,
- code: blockCode,
- def,
- fences,
- heading,
- hr,
- html,
- lheading,
- list,
- newline,
- paragraph,
- table: noopTest,
- text: blockText
-};
-var gfmTable = edit("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", " {4}[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
-var blockGfm = {
- ...blockNormal,
- table: gfmTable,
- paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", gfmTable).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex()
-};
-var blockPedantic = {
- ...blockNormal,
- html: edit(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", _comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
- def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
- heading: /^(#{1,6})(.*)(?:\n+|$)/,
- fences: noopTest,
- // fences not supported
- lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
- paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", lheading).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
-};
-var escape = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
-var inlineCode = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
-var br = /^( {2,}|\\)\n(?!\s*$)/;
-var inlineText = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~";
-var punctuation = edit(/^((?![*_])[\spunctuation])/, "u").replace(/punctuation/g, _punctuation).getRegex();
-var blockSkip = /\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g;
-var emStrongLDelim = edit(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, "u").replace(/punct/g, _punctuation).getRegex();
-var emStrongRDelimAst = edit("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])", "gu").replace(/punct/g, _punctuation).getRegex();
-var emStrongRDelimUnd = edit("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])", "gu").replace(/punct/g, _punctuation).getRegex();
-var anyPunctuation = edit(/\\([punct])/, "gu").replace(/punct/g, _punctuation).getRegex();
-var autolink = edit(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
-var _inlineComment = edit(_comment).replace("(?:-->|$)", "-->").getRegex();
-var tag = edit("^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment", _inlineComment).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
-var _inlineLabel = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
-var link = edit(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label", _inlineLabel).replace("href", /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
-var reflink = edit(/^!?\[(label)\]\[(ref)\]/).replace("label", _inlineLabel).replace("ref", _blockLabel).getRegex();
-var nolink = edit(/^!?\[(ref)\](?:\[\])?/).replace("ref", _blockLabel).getRegex();
-var reflinkSearch = edit("reflink|nolink(?!\\()", "g").replace("reflink", reflink).replace("nolink", nolink).getRegex();
-var inlineNormal = {
- _backpedal: noopTest,
- // only used for GFM url
- anyPunctuation,
- autolink,
- blockSkip,
- br,
- code: inlineCode,
- del: noopTest,
- emStrongLDelim,
- emStrongRDelimAst,
- emStrongRDelimUnd,
- escape,
- link,
- nolink,
- punctuation,
- reflink,
- reflinkSearch,
- tag,
- text: inlineText,
- url: noopTest
-};
-var inlinePedantic = {
- ...inlineNormal,
- link: edit(/^!?\[(label)\]\((.*?)\)/).replace("label", _inlineLabel).getRegex(),
- reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", _inlineLabel).getRegex()
-};
-var inlineGfm = {
- ...inlineNormal,
- escape: edit(escape).replace("])", "~|])").getRegex(),
- url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i").replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
- _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
- del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
- text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ {
- return leading + " ".repeat(tabs.length);
- });
- }
- let token;
- let lastToken;
- let cutSrc;
- let lastParagraphClipped;
- while (src) {
- if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((extTokenizer) => {
- if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- return true;
- }
- return false;
- })) {
- continue;
- }
- if (token = this.tokenizer.space(src)) {
- src = src.substring(token.raw.length);
- if (token.raw.length === 1 && tokens.length > 0) {
- tokens[tokens.length - 1].raw += "\n";
- } else {
- tokens.push(token);
- }
- continue;
- }
- if (token = this.tokenizer.code(src)) {
- src = src.substring(token.raw.length);
- lastToken = tokens[tokens.length - 1];
- if (lastToken && (lastToken.type === "paragraph" || lastToken.type === "text")) {
- lastToken.raw += "\n" + token.raw;
- lastToken.text += "\n" + token.text;
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
- } else {
- tokens.push(token);
- }
- continue;
- }
- if (token = this.tokenizer.fences(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.heading(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.hr(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.blockquote(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.list(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.html(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.def(src)) {
- src = src.substring(token.raw.length);
- lastToken = tokens[tokens.length - 1];
- if (lastToken && (lastToken.type === "paragraph" || lastToken.type === "text")) {
- lastToken.raw += "\n" + token.raw;
- lastToken.text += "\n" + token.raw;
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
- } else if (!this.tokens.links[token.tag]) {
- this.tokens.links[token.tag] = {
- href: token.href,
- title: token.title
- };
- }
- continue;
- }
- if (token = this.tokenizer.table(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.lheading(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- cutSrc = src;
- if (this.options.extensions && this.options.extensions.startBlock) {
- let startIndex = Infinity;
- const tempSrc = src.slice(1);
- let tempStart;
- this.options.extensions.startBlock.forEach((getStartIndex) => {
- tempStart = getStartIndex.call({ lexer: this }, tempSrc);
- if (typeof tempStart === "number" && tempStart >= 0) {
- startIndex = Math.min(startIndex, tempStart);
- }
- });
- if (startIndex < Infinity && startIndex >= 0) {
- cutSrc = src.substring(0, startIndex + 1);
- }
- }
- if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
- lastToken = tokens[tokens.length - 1];
- if (lastParagraphClipped && lastToken.type === "paragraph") {
- lastToken.raw += "\n" + token.raw;
- lastToken.text += "\n" + token.text;
- this.inlineQueue.pop();
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
- } else {
- tokens.push(token);
- }
- lastParagraphClipped = cutSrc.length !== src.length;
- src = src.substring(token.raw.length);
- continue;
- }
- if (token = this.tokenizer.text(src)) {
- src = src.substring(token.raw.length);
- lastToken = tokens[tokens.length - 1];
- if (lastToken && lastToken.type === "text") {
- lastToken.raw += "\n" + token.raw;
- lastToken.text += "\n" + token.text;
- this.inlineQueue.pop();
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
- } else {
- tokens.push(token);
- }
- continue;
- }
- if (src) {
- const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
- if (this.options.silent) {
- console.error(errMsg);
- break;
- } else {
- throw new Error(errMsg);
- }
- }
- }
- this.state.top = true;
- return tokens;
- }
- inline(src, tokens = []) {
- this.inlineQueue.push({ src, tokens });
- return tokens;
- }
- /**
- * Lexing/Compiling
- */
- inlineTokens(src, tokens = []) {
- let token, lastToken, cutSrc;
- let maskedSrc = src;
- let match;
- let keepPrevChar, prevChar;
- if (this.tokens.links) {
- const links = Object.keys(this.tokens.links);
- if (links.length > 0) {
- while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
- if (links.includes(match[0].slice(match[0].lastIndexOf("[") + 1, -1))) {
- maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
- }
- }
- }
- }
- while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
- maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
- }
- while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
- maskedSrc = maskedSrc.slice(0, match.index) + "++" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
- }
- while (src) {
- if (!keepPrevChar) {
- prevChar = "";
- }
- keepPrevChar = false;
- if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((extTokenizer) => {
- if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- return true;
- }
- return false;
- })) {
- continue;
- }
- if (token = this.tokenizer.escape(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.tag(src)) {
- src = src.substring(token.raw.length);
- lastToken = tokens[tokens.length - 1];
- if (lastToken && token.type === "text" && lastToken.type === "text") {
- lastToken.raw += token.raw;
- lastToken.text += token.text;
- } else {
- tokens.push(token);
- }
- continue;
- }
- if (token = this.tokenizer.link(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.reflink(src, this.tokens.links)) {
- src = src.substring(token.raw.length);
- lastToken = tokens[tokens.length - 1];
- if (lastToken && token.type === "text" && lastToken.type === "text") {
- lastToken.raw += token.raw;
- lastToken.text += token.text;
- } else {
- tokens.push(token);
- }
- continue;
- }
- if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.codespan(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.br(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.del(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (token = this.tokenizer.autolink(src)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- if (!this.state.inLink && (token = this.tokenizer.url(src))) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- continue;
- }
- cutSrc = src;
- if (this.options.extensions && this.options.extensions.startInline) {
- let startIndex = Infinity;
- const tempSrc = src.slice(1);
- let tempStart;
- this.options.extensions.startInline.forEach((getStartIndex) => {
- tempStart = getStartIndex.call({ lexer: this }, tempSrc);
- if (typeof tempStart === "number" && tempStart >= 0) {
- startIndex = Math.min(startIndex, tempStart);
- }
- });
- if (startIndex < Infinity && startIndex >= 0) {
- cutSrc = src.substring(0, startIndex + 1);
- }
- }
- if (token = this.tokenizer.inlineText(cutSrc)) {
- src = src.substring(token.raw.length);
- if (token.raw.slice(-1) !== "_") {
- prevChar = token.raw.slice(-1);
- }
- keepPrevChar = true;
- lastToken = tokens[tokens.length - 1];
- if (lastToken && lastToken.type === "text") {
- lastToken.raw += token.raw;
- lastToken.text += token.text;
- } else {
- tokens.push(token);
- }
- continue;
- }
- if (src) {
- const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
- if (this.options.silent) {
- console.error(errMsg);
- break;
- } else {
- throw new Error(errMsg);
- }
- }
- }
- return tokens;
- }
-};
-var _Renderer = class {
- constructor(options2) {
- __publicField(this, "options");
- this.options = options2 || _defaults;
- }
- code(code, infostring, escaped) {
- var _a;
- const lang = (_a = (infostring || "").match(/^\S*/)) == null ? void 0 : _a[0];
- code = code.replace(/\n$/, "") + "\n";
- if (!lang) {
- return "" + (escaped ? code : escape$1(code, true)) + "
\n";
- }
- return '' + (escaped ? code : escape$1(code, true)) + "
\n";
- }
- blockquote(quote) {
- return `
-${quote}
-`;
- }
- html(html2, block2) {
- return html2;
- }
- heading(text, level, raw) {
- return `${text}
-`;
- }
- hr() {
- return "
\n";
- }
- list(body, ordered, start) {
- const type = ordered ? "ol" : "ul";
- const startatt = ordered && start !== 1 ? ' start="' + start + '"' : "";
- return "<" + type + startatt + ">\n" + body + "" + type + ">\n";
- }
- listitem(text, task, checked) {
- return `${text}
-`;
- }
- checkbox(checked) {
- return "';
- }
- paragraph(text) {
- return `${text}
-`;
- }
- table(header, body) {
- if (body)
- body = `${body}`;
- return "\n\n" + header + "\n" + body + "
\n";
- }
- tablerow(content) {
- return `
-${content}
-`;
- }
- tablecell(content, flags) {
- const type = flags.header ? "th" : "td";
- const tag2 = flags.align ? `<${type} align="${flags.align}">` : `<${type}>`;
- return tag2 + content + `${type}>
-`;
- }
- /**
- * span level renderer
- */
- strong(text) {
- return `${text}`;
- }
- em(text) {
- return `${text}`;
- }
- codespan(text) {
- return `${text}`;
- }
- br() {
- return "
";
- }
- del(text) {
- return `${text}`;
- }
- link(href, title, text) {
- const cleanHref = cleanUrl(href);
- if (cleanHref === null) {
- return text;
- }
- href = cleanHref;
- let out = '" + text + "";
- return out;
- }
- image(href, title, text) {
- const cleanHref = cleanUrl(href);
- if (cleanHref === null) {
- return text;
- }
- href = cleanHref;
- let out = `
";
- return out;
- }
- text(text) {
- return text;
- }
-};
-var _TextRenderer = class {
- // no need for block level renderers
- strong(text) {
- return text;
- }
- em(text) {
- return text;
- }
- codespan(text) {
- return text;
- }
- del(text) {
- return text;
- }
- html(text) {
- return text;
- }
- text(text) {
- return text;
- }
- link(href, title, text) {
- return "" + text;
- }
- image(href, title, text) {
- return "" + text;
- }
- br() {
- return "";
- }
-};
-var _Parser = class __Parser {
- constructor(options2) {
- __publicField(this, "options");
- __publicField(this, "renderer");
- __publicField(this, "textRenderer");
- this.options = options2 || _defaults;
- this.options.renderer = this.options.renderer || new _Renderer();
- this.renderer = this.options.renderer;
- this.renderer.options = this.options;
- this.textRenderer = new _TextRenderer();
- }
- /**
- * Static Parse Method
- */
- static parse(tokens, options2) {
- const parser2 = new __Parser(options2);
- return parser2.parse(tokens);
- }
- /**
- * Static Parse Inline Method
- */
- static parseInline(tokens, options2) {
- const parser2 = new __Parser(options2);
- return parser2.parseInline(tokens);
- }
- /**
- * Parse Loop
- */
- parse(tokens, top = true) {
- let out = "";
- for (let i = 0; i < tokens.length; i++) {
- const token = tokens[i];
- if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
- const genericToken = token;
- const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);
- if (ret !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(genericToken.type)) {
- out += ret || "";
- continue;
- }
- }
- switch (token.type) {
- case "space": {
- continue;
- }
- case "hr": {
- out += this.renderer.hr();
- continue;
- }
- case "heading": {
- const headingToken = token;
- out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));
- continue;
- }
- case "code": {
- const codeToken = token;
- out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);
- continue;
- }
- case "table": {
- const tableToken = token;
- let header = "";
- let cell = "";
- for (let j = 0; j < tableToken.header.length; j++) {
- cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });
- }
- header += this.renderer.tablerow(cell);
- let body = "";
- for (let j = 0; j < tableToken.rows.length; j++) {
- const row = tableToken.rows[j];
- cell = "";
- for (let k = 0; k < row.length; k++) {
- cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });
- }
- body += this.renderer.tablerow(cell);
- }
- out += this.renderer.table(header, body);
- continue;
- }
- case "blockquote": {
- const blockquoteToken = token;
- const body = this.parse(blockquoteToken.tokens);
- out += this.renderer.blockquote(body);
- continue;
- }
- case "list": {
- const listToken = token;
- const ordered = listToken.ordered;
- const start = listToken.start;
- const loose = listToken.loose;
- let body = "";
- for (let j = 0; j < listToken.items.length; j++) {
- const item = listToken.items[j];
- const checked = item.checked;
- const task = item.task;
- let itemBody = "";
- if (item.task) {
- const checkbox = this.renderer.checkbox(!!checked);
- if (loose) {
- if (item.tokens.length > 0 && item.tokens[0].type === "paragraph") {
- item.tokens[0].text = checkbox + " " + item.tokens[0].text;
- if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === "text") {
- item.tokens[0].tokens[0].text = checkbox + " " + item.tokens[0].tokens[0].text;
- }
- } else {
- item.tokens.unshift({
- type: "text",
- text: checkbox + " "
- });
- }
- } else {
- itemBody += checkbox + " ";
- }
- }
- itemBody += this.parse(item.tokens, loose);
- body += this.renderer.listitem(itemBody, task, !!checked);
- }
- out += this.renderer.list(body, ordered, start);
- continue;
- }
- case "html": {
- const htmlToken = token;
- out += this.renderer.html(htmlToken.text, htmlToken.block);
- continue;
- }
- case "paragraph": {
- const paragraphToken = token;
- out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));
- continue;
- }
- case "text": {
- let textToken = token;
- let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;
- while (i + 1 < tokens.length && tokens[i + 1].type === "text") {
- textToken = tokens[++i];
- body += "\n" + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);
- }
- out += top ? this.renderer.paragraph(body) : body;
- continue;
- }
- default: {
- const errMsg = 'Token with "' + token.type + '" type was not found.';
- if (this.options.silent) {
- console.error(errMsg);
- return "";
- } else {
- throw new Error(errMsg);
- }
- }
- }
- }
- return out;
- }
- /**
- * Parse Inline Tokens
- */
- parseInline(tokens, renderer) {
- renderer = renderer || this.renderer;
- let out = "";
- for (let i = 0; i < tokens.length; i++) {
- const token = tokens[i];
- if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
- const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);
- if (ret !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(token.type)) {
- out += ret || "";
- continue;
- }
- }
- switch (token.type) {
- case "escape": {
- const escapeToken = token;
- out += renderer.text(escapeToken.text);
- break;
- }
- case "html": {
- const tagToken = token;
- out += renderer.html(tagToken.text);
- break;
- }
- case "link": {
- const linkToken = token;
- out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));
- break;
- }
- case "image": {
- const imageToken = token;
- out += renderer.image(imageToken.href, imageToken.title, imageToken.text);
- break;
- }
- case "strong": {
- const strongToken = token;
- out += renderer.strong(this.parseInline(strongToken.tokens, renderer));
- break;
- }
- case "em": {
- const emToken = token;
- out += renderer.em(this.parseInline(emToken.tokens, renderer));
- break;
- }
- case "codespan": {
- const codespanToken = token;
- out += renderer.codespan(codespanToken.text);
- break;
- }
- case "br": {
- out += renderer.br();
- break;
- }
- case "del": {
- const delToken = token;
- out += renderer.del(this.parseInline(delToken.tokens, renderer));
- break;
- }
- case "text": {
- const textToken = token;
- out += renderer.text(textToken.text);
- break;
- }
- default: {
- const errMsg = 'Token with "' + token.type + '" type was not found.';
- if (this.options.silent) {
- console.error(errMsg);
- return "";
- } else {
- throw new Error(errMsg);
- }
- }
- }
- }
- return out;
- }
-};
-var _Hooks = class {
- constructor(options2) {
- __publicField(this, "options");
- this.options = options2 || _defaults;
- }
- /**
- * Process markdown before marked
- */
- preprocess(markdown) {
- return markdown;
- }
- /**
- * Process HTML after marked is finished
- */
- postprocess(html2) {
- return html2;
- }
- /**
- * Process all tokens before walk tokens
- */
- processAllTokens(tokens) {
- return tokens;
- }
-};
-__publicField(_Hooks, "passThroughHooks", /* @__PURE__ */ new Set([
- "preprocess",
- "postprocess",
- "processAllTokens"
-]));
-var _Marked_instances, parseMarkdown_fn, onError_fn;
-var Marked = class {
- constructor(...args) {
- __privateAdd(this, _Marked_instances);
- __publicField(this, "defaults", _getDefaults());
- __publicField(this, "options", this.setOptions);
- __publicField(this, "parse", __privateMethod(this, _Marked_instances, parseMarkdown_fn).call(this, _Lexer.lex, _Parser.parse));
- __publicField(this, "parseInline", __privateMethod(this, _Marked_instances, parseMarkdown_fn).call(this, _Lexer.lexInline, _Parser.parseInline));
- __publicField(this, "Parser", _Parser);
- __publicField(this, "Renderer", _Renderer);
- __publicField(this, "TextRenderer", _TextRenderer);
- __publicField(this, "Lexer", _Lexer);
- __publicField(this, "Tokenizer", _Tokenizer);
- __publicField(this, "Hooks", _Hooks);
- this.use(...args);
- }
- /**
- * Run callback for every token
- */
- walkTokens(tokens, callback) {
- var _a, _b;
- let values = [];
- for (const token of tokens) {
- values = values.concat(callback.call(this, token));
- switch (token.type) {
- case "table": {
- const tableToken = token;
- for (const cell of tableToken.header) {
- values = values.concat(this.walkTokens(cell.tokens, callback));
- }
- for (const row of tableToken.rows) {
- for (const cell of row) {
- values = values.concat(this.walkTokens(cell.tokens, callback));
- }
- }
- break;
- }
- case "list": {
- const listToken = token;
- values = values.concat(this.walkTokens(listToken.items, callback));
- break;
- }
- default: {
- const genericToken = token;
- if ((_b = (_a = this.defaults.extensions) == null ? void 0 : _a.childTokens) == null ? void 0 : _b[genericToken.type]) {
- this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {
- const tokens2 = genericToken[childTokens].flat(Infinity);
- values = values.concat(this.walkTokens(tokens2, callback));
- });
- } else if (genericToken.tokens) {
- values = values.concat(this.walkTokens(genericToken.tokens, callback));
- }
- }
- }
- }
- return values;
- }
- use(...args) {
- const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };
- args.forEach((pack) => {
- const opts = { ...pack };
- opts.async = this.defaults.async || opts.async || false;
- if (pack.extensions) {
- pack.extensions.forEach((ext) => {
- if (!ext.name) {
- throw new Error("extension name required");
- }
- if ("renderer" in ext) {
- const prevRenderer = extensions.renderers[ext.name];
- if (prevRenderer) {
- extensions.renderers[ext.name] = function(...args2) {
- let ret = ext.renderer.apply(this, args2);
- if (ret === false) {
- ret = prevRenderer.apply(this, args2);
- }
- return ret;
- };
- } else {
- extensions.renderers[ext.name] = ext.renderer;
- }
- }
- if ("tokenizer" in ext) {
- if (!ext.level || ext.level !== "block" && ext.level !== "inline") {
- throw new Error("extension level must be 'block' or 'inline'");
- }
- const extLevel = extensions[ext.level];
- if (extLevel) {
- extLevel.unshift(ext.tokenizer);
- } else {
- extensions[ext.level] = [ext.tokenizer];
- }
- if (ext.start) {
- if (ext.level === "block") {
- if (extensions.startBlock) {
- extensions.startBlock.push(ext.start);
- } else {
- extensions.startBlock = [ext.start];
- }
- } else if (ext.level === "inline") {
- if (extensions.startInline) {
- extensions.startInline.push(ext.start);
- } else {
- extensions.startInline = [ext.start];
- }
- }
- }
- }
- if ("childTokens" in ext && ext.childTokens) {
- extensions.childTokens[ext.name] = ext.childTokens;
- }
- });
- opts.extensions = extensions;
- }
- if (pack.renderer) {
- const renderer = this.defaults.renderer || new _Renderer(this.defaults);
- for (const prop in pack.renderer) {
- if (!(prop in renderer)) {
- throw new Error(`renderer '${prop}' does not exist`);
- }
- if (prop === "options") {
- continue;
- }
- const rendererProp = prop;
- const rendererFunc = pack.renderer[rendererProp];
- const prevRenderer = renderer[rendererProp];
- renderer[rendererProp] = (...args2) => {
- let ret = rendererFunc.apply(renderer, args2);
- if (ret === false) {
- ret = prevRenderer.apply(renderer, args2);
- }
- return ret || "";
- };
- }
- opts.renderer = renderer;
- }
- if (pack.tokenizer) {
- const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);
- for (const prop in pack.tokenizer) {
- if (!(prop in tokenizer)) {
- throw new Error(`tokenizer '${prop}' does not exist`);
- }
- if (["options", "rules", "lexer"].includes(prop)) {
- continue;
- }
- const tokenizerProp = prop;
- const tokenizerFunc = pack.tokenizer[tokenizerProp];
- const prevTokenizer = tokenizer[tokenizerProp];
- tokenizer[tokenizerProp] = (...args2) => {
- let ret = tokenizerFunc.apply(tokenizer, args2);
- if (ret === false) {
- ret = prevTokenizer.apply(tokenizer, args2);
- }
- return ret;
- };
- }
- opts.tokenizer = tokenizer;
- }
- if (pack.hooks) {
- const hooks = this.defaults.hooks || new _Hooks();
- for (const prop in pack.hooks) {
- if (!(prop in hooks)) {
- throw new Error(`hook '${prop}' does not exist`);
- }
- if (prop === "options") {
- continue;
- }
- const hooksProp = prop;
- const hooksFunc = pack.hooks[hooksProp];
- const prevHook = hooks[hooksProp];
- if (_Hooks.passThroughHooks.has(prop)) {
- hooks[hooksProp] = (arg) => {
- if (this.defaults.async) {
- return Promise.resolve(hooksFunc.call(hooks, arg)).then((ret2) => {
- return prevHook.call(hooks, ret2);
- });
- }
- const ret = hooksFunc.call(hooks, arg);
- return prevHook.call(hooks, ret);
- };
- } else {
- hooks[hooksProp] = (...args2) => {
- let ret = hooksFunc.apply(hooks, args2);
- if (ret === false) {
- ret = prevHook.apply(hooks, args2);
- }
- return ret;
- };
- }
- }
- opts.hooks = hooks;
- }
- if (pack.walkTokens) {
- const walkTokens2 = this.defaults.walkTokens;
- const packWalktokens = pack.walkTokens;
- opts.walkTokens = function(token) {
- let values = [];
- values.push(packWalktokens.call(this, token));
- if (walkTokens2) {
- values = values.concat(walkTokens2.call(this, token));
- }
- return values;
- };
- }
- this.defaults = { ...this.defaults, ...opts };
- });
- return this;
- }
- setOptions(opt) {
- this.defaults = { ...this.defaults, ...opt };
- return this;
- }
- lexer(src, options2) {
- return _Lexer.lex(src, options2 ?? this.defaults);
- }
- parser(tokens, options2) {
- return _Parser.parse(tokens, options2 ?? this.defaults);
- }
-};
-_Marked_instances = new WeakSet();
-parseMarkdown_fn = function(lexer2, parser2) {
- return (src, options2) => {
- const origOpt = { ...options2 };
- const opt = { ...this.defaults, ...origOpt };
- if (this.defaults.async === true && origOpt.async === false) {
- if (!opt.silent) {
- console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.");
- }
- opt.async = true;
- }
- const throwError = __privateMethod(this, _Marked_instances, onError_fn).call(this, !!opt.silent, !!opt.async);
- if (typeof src === "undefined" || src === null) {
- return throwError(new Error("marked(): input parameter is undefined or null"));
- }
- if (typeof src !== "string") {
- return throwError(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(src) + ", string expected"));
- }
- if (opt.hooks) {
- opt.hooks.options = opt;
- }
- if (opt.async) {
- return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src2) => lexer2(src2, opt)).then((tokens) => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then((tokens) => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then((tokens) => parser2(tokens, opt)).then((html2) => opt.hooks ? opt.hooks.postprocess(html2) : html2).catch(throwError);
- }
- try {
- if (opt.hooks) {
- src = opt.hooks.preprocess(src);
- }
- let tokens = lexer2(src, opt);
- if (opt.hooks) {
- tokens = opt.hooks.processAllTokens(tokens);
- }
- if (opt.walkTokens) {
- this.walkTokens(tokens, opt.walkTokens);
- }
- let html2 = parser2(tokens, opt);
- if (opt.hooks) {
- html2 = opt.hooks.postprocess(html2);
- }
- return html2;
- } catch (e) {
- return throwError(e);
- }
- };
-};
-onError_fn = function(silent, async) {
- return (e) => {
- e.message += "\nPlease report this to https://github.com/markedjs/marked.";
- if (silent) {
- const msg = "An error occurred:
" + escape$1(e.message + "", true) + "
";
- if (async) {
- return Promise.resolve(msg);
- }
- return msg;
- }
- if (async) {
- return Promise.reject(e);
- }
- throw e;
- };
-};
-var markedInstance = new Marked();
-function marked(src, opt) {
- return markedInstance.parse(src, opt);
-}
-marked.options = marked.setOptions = function(options2) {
- markedInstance.setOptions(options2);
- marked.defaults = markedInstance.defaults;
- changeDefaults(marked.defaults);
- return marked;
-};
-marked.getDefaults = _getDefaults;
-marked.defaults = _defaults;
-marked.use = function(...args) {
- markedInstance.use(...args);
- marked.defaults = markedInstance.defaults;
- changeDefaults(marked.defaults);
- return marked;
-};
-marked.walkTokens = function(tokens, callback) {
- return markedInstance.walkTokens(tokens, callback);
-};
-marked.parseInline = markedInstance.parseInline;
-marked.Parser = _Parser;
-marked.parser = _Parser.parse;
-marked.Renderer = _Renderer;
-marked.TextRenderer = _TextRenderer;
-marked.Lexer = _Lexer;
-marked.lexer = _Lexer.lex;
-marked.Tokenizer = _Tokenizer;
-marked.Hooks = _Hooks;
-marked.parse = marked;
-var options = marked.options;
-var setOptions = marked.setOptions;
-var use = marked.use;
-var walkTokens = marked.walkTokens;
-var parseInline = marked.parseInline;
-var parse = marked;
-var parser = _Parser.parse;
-var lexer = _Lexer.lex;
-export {
- _Hooks as Hooks,
- _Lexer as Lexer,
- Marked,
- _Parser as Parser,
- _Renderer as Renderer,
- _TextRenderer as TextRenderer,
- _Tokenizer as Tokenizer,
- _defaults as defaults,
- _getDefaults as getDefaults,
- lexer,
- marked,
- options,
- parse,
- parseInline,
- parser,
- setOptions,
- use,
- walkTokens
-};
-//# sourceMappingURL=marked.js.map
diff --git a/node_modules/.vite/deps/marked.js.map b/node_modules/.vite/deps/marked.js.map
deleted file mode 100644
index 32dec83..0000000
--- a/node_modules/.vite/deps/marked.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../marked/src/defaults.ts", "../../marked/src/helpers.ts", "../../marked/src/Tokenizer.ts", "../../marked/src/rules.ts", "../../marked/src/Lexer.ts", "../../marked/src/Renderer.ts", "../../marked/src/TextRenderer.ts", "../../marked/src/Parser.ts", "../../marked/src/Hooks.ts", "../../marked/src/Instance.ts", "../../marked/src/marked.ts"],
- "sourcesContent": ["/**\n * Gets the original marked default options.\n */\nexport function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nexport let _defaults = _getDefaults();\nexport function changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n", "/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nexport function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nexport function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nexport function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n}\nexport function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n}\nexport const noopTest = { exec: () => null };\nexport function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nexport function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nexport function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n", "import { _defaults } from './defaults.ts';\nimport { rtrim, splitCells, escape, findClosingBracket } from './helpers.ts';\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nexport class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n", "import { edit, noopTest } from './helpers.ts';\n/**\n * Block-Level Grammar\n */\nconst newline = /^(?: *(?:\\n|$))+/;\nconst blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nconst lheading = edit(/^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\nconst list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nconst _comment = /|$)/;\nconst html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nconst blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n};\n/**\n * GFM Block Grammar\n */\nconst gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nconst blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n};\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nconst blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n};\n/**\n * Inline-Level Grammar\n */\nconst escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nconst inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nconst br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nconst inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\`^|~';\nconst punctuation = edit(/^((?![*_])[\\spunctuation])/, 'u')\n .replace(/punctuation/g, _punctuation).getRegex();\n// sequences em should skip over [title](link), `code`, \nconst blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\nconst emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n// (6) Not allowed for _\nconst emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\nconst _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\nconst tag = edit('^comment'\n + '|^[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\nconst link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\nconst reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\nconst nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\nconst reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\nconst inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n};\n/**\n * Pedantic Inline Grammar\n */\nconst inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n};\n/**\n * GFM Inline Grammar\n */\nconst inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n", "import { _defaults } from './defaults.ts';\nimport { cleanUrl, escape } from './helpers.ts';\n/**\n * Renderer\n */\nexport class _Renderer {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return ''\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n return ''\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n blockquote(quote) {\n return `\\n${quote}
\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return '
\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `${text}\\n`;\n }\n checkbox(checked) {\n return '';\n }\n paragraph(text) {\n return `${text}
\\n`;\n }\n table(header, body) {\n if (body)\n body = `${body}`;\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
\\n';\n }\n tablerow(content) {\n return `\\n${content}
\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return '
';\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '' + text + '';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `
';\n return out;\n }\n text(text) {\n return text;\n }\n}\n", "/**\n * TextRenderer\n * returns only the textual part of the token\n */\nexport class _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return '' + text;\n }\n image(href, title, text) {\n return '' + text;\n }\n br() {\n return '';\n }\n}\n", "import { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _defaults } from './defaults.ts';\nimport { unescape } from './helpers.ts';\n/**\n * Parsing & Compiling\n */\nexport class _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || _defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case 'code': {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case 'table': {\n const tableToken = token;\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < tableToken.header.length; j++) {\n cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });\n }\n header += this.renderer.tablerow(cell);\n let body = '';\n for (let j = 0; j < tableToken.rows.length; j++) {\n const row = tableToken.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = '';\n for (let j = 0; j < listToken.items.length; j++) {\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = '';\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n", "import { _defaults } from './defaults.ts';\nexport class _Hooks {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n}\n", "import { _getDefaults } from './defaults.ts';\nimport { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { escape } from './helpers.ts';\nexport class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = 'An error occurred:
'\n + escape(e.message + '', true)\n + '
';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n", "import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport { _getDefaults, changeDefaults, _defaults } from './defaults.ts';\nconst markedInstance = new Marked();\nexport function marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nexport const options = marked.options;\nexport const setOptions = marked.setOptions;\nexport const use = marked.use;\nexport const walkTokens = marked.walkTokens;\nexport const parseInline = marked.parseInline;\nexport const parse = marked;\nexport const parser = _Parser.parse;\nexport const lexer = _Lexer.lex;\nexport { _defaults as defaults, _getDefaults as getDefaults } from './defaults.ts';\nexport { _Lexer as Lexer } from './Lexer.ts';\nexport { _Parser as Parser } from './Parser.ts';\nexport { _Tokenizer as Tokenizer } from './Tokenizer.ts';\nexport { _Renderer as Renderer } from './Renderer.ts';\nexport { _TextRenderer as TextRenderer } from './TextRenderer.ts';\nexport { _Hooks as Hooks } from './Hooks.ts';\nexport { Marked } from './Instance.ts';\n"],
- "mappings": "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",
- "names": ["escape", "html", "link", "lexer", "options", "list", "tag", "text", "block", "parser", "tokens", "args", "ret", "walkTokens", "src"]
-}
diff --git a/node_modules/.vite/deps/package.json b/node_modules/.vite/deps/package.json
deleted file mode 100644
index 3dbc1ca..0000000
--- a/node_modules/.vite/deps/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "module"
-}
diff --git a/node_modules/.vite/deps/svelte.js b/node_modules/.vite/deps/svelte.js
deleted file mode 100644
index 487ae4b..0000000
--- a/node_modules/.vite/deps/svelte.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import {
- SvelteComponentDev,
- SvelteComponentTyped,
- afterUpdate,
- beforeUpdate,
- createEventDispatcher,
- getAllContexts,
- getContext,
- hasContext,
- onDestroy,
- onMount,
- setContext,
- tick
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-export {
- SvelteComponentDev as SvelteComponent,
- SvelteComponentTyped,
- afterUpdate,
- beforeUpdate,
- createEventDispatcher,
- getAllContexts,
- getContext,
- hasContext,
- onDestroy,
- onMount,
- setContext,
- tick
-};
-//# sourceMappingURL=svelte.js.map
diff --git a/node_modules/.vite/deps/svelte.js.map b/node_modules/.vite/deps/svelte.js.map
deleted file mode 100644
index 9865211..0000000
--- a/node_modules/.vite/deps/svelte.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": [],
- "sourcesContent": [],
- "mappings": "",
- "names": []
-}
diff --git a/node_modules/.vite/deps/svelte_animate.js b/node_modules/.vite/deps/svelte_animate.js
deleted file mode 100644
index 8a87874..0000000
--- a/node_modules/.vite/deps/svelte_animate.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import {
- cubicOut
-} from "./chunk-ETWSND26.js";
-import {
- is_function
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-
-// node_modules/svelte/src/runtime/animate/index.js
-function flip(node, { from, to }, params = {}) {
- const style = getComputedStyle(node);
- const transform = style.transform === "none" ? "" : style.transform;
- const [ox, oy] = style.transformOrigin.split(" ").map(parseFloat);
- const dx = from.left + from.width * ox / to.width - (to.left + ox);
- const dy = from.top + from.height * oy / to.height - (to.top + oy);
- const { delay = 0, duration = (d) => Math.sqrt(d) * 120, easing = cubicOut } = params;
- return {
- delay,
- duration: is_function(duration) ? duration(Math.sqrt(dx * dx + dy * dy)) : duration,
- easing,
- css: (t, u) => {
- const x = u * dx;
- const y = u * dy;
- const sx = t + u * from.width / to.width;
- const sy = t + u * from.height / to.height;
- return `transform: ${transform} translate(${x}px, ${y}px) scale(${sx}, ${sy});`;
- }
- };
-}
-export {
- flip
-};
-//# sourceMappingURL=svelte_animate.js.map
diff --git a/node_modules/.vite/deps/svelte_animate.js.map b/node_modules/.vite/deps/svelte_animate.js.map
deleted file mode 100644
index 1ff26f6..0000000
--- a/node_modules/.vite/deps/svelte_animate.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/runtime/animate/index.js"],
- "sourcesContent": ["import { cubicOut } from '../easing/index.js';\nimport { is_function } from '../internal/index.js';\n\n/**\n * The flip function calculates the start and end position of an element and animates between them, translating the x and y values.\n * `flip` stands for [First, Last, Invert, Play](https://aerotwist.com/blog/flip-your-animations/).\n *\n * https://svelte.dev/docs/svelte-animate#flip\n * @param {Element} node\n * @param {{ from: DOMRect; to: DOMRect }} fromTo\n * @param {import('./public.js').FlipParams} params\n * @returns {import('./public.js').AnimationConfig}\n */\nexport function flip(node, { from, to }, params = {}) {\n\tconst style = getComputedStyle(node);\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst [ox, oy] = style.transformOrigin.split(' ').map(parseFloat);\n\tconst dx = from.left + (from.width * ox) / to.width - (to.left + ox);\n\tconst dy = from.top + (from.height * oy) / to.height - (to.top + oy);\n\tconst { delay = 0, duration = (d) => Math.sqrt(d) * 120, easing = cubicOut } = params;\n\treturn {\n\t\tdelay,\n\t\tduration: is_function(duration) ? duration(Math.sqrt(dx * dx + dy * dy)) : duration,\n\t\teasing,\n\t\tcss: (t, u) => {\n\t\t\tconst x = u * dx;\n\t\t\tconst y = u * dy;\n\t\t\tconst sx = t + (u * from.width) / to.width;\n\t\t\tconst sy = t + (u * from.height) / to.height;\n\t\t\treturn `transform: ${transform} translate(${x}px, ${y}px) scale(${sx}, ${sy});`;\n\t\t}\n\t};\n}\n"],
- "mappings": ";;;;;;;;;;AAaO,SAAS,KAAK,MAAM,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG;AACrD,QAAM,QAAQ,iBAAiB,IAAI;AACnC,QAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;AAC1D,QAAM,CAAC,IAAI,EAAE,IAAI,MAAM,gBAAgB,MAAM,GAAG,EAAE,IAAI,UAAU;AAChE,QAAM,KAAK,KAAK,OAAQ,KAAK,QAAQ,KAAM,GAAG,SAAS,GAAG,OAAO;AACjE,QAAM,KAAK,KAAK,MAAO,KAAK,SAAS,KAAM,GAAG,UAAU,GAAG,MAAM;AACjE,QAAM,EAAE,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,KAAK,SAAS,SAAS,IAAI;AAC/E,SAAO;AAAA,IACN;AAAA,IACA,UAAU,YAAY,QAAQ,IAAI,SAAS,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,IAAI;AAAA,IAC3E;AAAA,IACA,KAAK,CAAC,GAAG,MAAM;AACd,YAAM,IAAI,IAAI;AACd,YAAM,IAAI,IAAI;AACd,YAAM,KAAK,IAAK,IAAI,KAAK,QAAS,GAAG;AACrC,YAAM,KAAK,IAAK,IAAI,KAAK,SAAU,GAAG;AACtC,aAAO,cAAc,SAAS,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE;AAAA,IAC5E;AAAA,EACD;AACD;",
- "names": []
-}
diff --git a/node_modules/.vite/deps/svelte_easing.js b/node_modules/.vite/deps/svelte_easing.js
deleted file mode 100644
index fa369aa..0000000
--- a/node_modules/.vite/deps/svelte_easing.js
+++ /dev/null
@@ -1,71 +0,0 @@
-import {
- backIn,
- backInOut,
- backOut,
- bounceIn,
- bounceInOut,
- bounceOut,
- circIn,
- circInOut,
- circOut,
- cubicIn,
- cubicInOut,
- cubicOut,
- elasticIn,
- elasticInOut,
- elasticOut,
- expoIn,
- expoInOut,
- expoOut,
- quadIn,
- quadInOut,
- quadOut,
- quartIn,
- quartInOut,
- quartOut,
- quintIn,
- quintInOut,
- quintOut,
- sineIn,
- sineInOut,
- sineOut
-} from "./chunk-ETWSND26.js";
-import {
- identity
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-export {
- backIn,
- backInOut,
- backOut,
- bounceIn,
- bounceInOut,
- bounceOut,
- circIn,
- circInOut,
- circOut,
- cubicIn,
- cubicInOut,
- cubicOut,
- elasticIn,
- elasticInOut,
- elasticOut,
- expoIn,
- expoInOut,
- expoOut,
- identity as linear,
- quadIn,
- quadInOut,
- quadOut,
- quartIn,
- quartInOut,
- quartOut,
- quintIn,
- quintInOut,
- quintOut,
- sineIn,
- sineInOut,
- sineOut
-};
-//# sourceMappingURL=svelte_easing.js.map
diff --git a/node_modules/.vite/deps/svelte_easing.js.map b/node_modules/.vite/deps/svelte_easing.js.map
deleted file mode 100644
index 9865211..0000000
--- a/node_modules/.vite/deps/svelte_easing.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": [],
- "sourcesContent": [],
- "mappings": "",
- "names": []
-}
diff --git a/node_modules/.vite/deps/svelte_internal.js b/node_modules/.vite/deps/svelte_internal.js
deleted file mode 100644
index 86e263c..0000000
--- a/node_modules/.vite/deps/svelte_internal.js
+++ /dev/null
@@ -1,413 +0,0 @@
-import {
- HtmlTag,
- HtmlTagHydration,
- ResizeObserverSingleton,
- SvelteComponent,
- SvelteComponentDev,
- SvelteComponentTyped,
- SvelteElement,
- action_destroyer,
- add_attribute,
- add_classes,
- add_flush_callback,
- add_iframe_resize_listener,
- add_location,
- add_render_callback,
- add_styles,
- add_transform,
- afterUpdate,
- append,
- append_dev,
- append_empty_stylesheet,
- append_hydration,
- append_hydration_dev,
- append_styles,
- assign,
- attr,
- attr_dev,
- attribute_to_object,
- beforeUpdate,
- bind,
- binding_callbacks,
- blank_object,
- bubble,
- check_outros,
- children,
- claim_comment,
- claim_component,
- claim_element,
- claim_html_tag,
- claim_space,
- claim_svg_element,
- claim_text,
- clear_loops,
- comment,
- component_subscribe,
- compute_rest_props,
- compute_slots,
- construct_svelte_component,
- construct_svelte_component_dev,
- contenteditable_truthy_values,
- createEventDispatcher,
- create_animation,
- create_bidirectional_transition,
- create_component,
- create_custom_element,
- create_in_transition,
- create_out_transition,
- create_slot,
- create_ssr_component,
- current_component,
- custom_event,
- dataset_dev,
- debug,
- destroy_block,
- destroy_component,
- destroy_each,
- detach,
- detach_after_dev,
- detach_before_dev,
- detach_between_dev,
- detach_dev,
- dirty_components,
- dispatch_dev,
- each,
- element,
- element_is,
- empty,
- end_hydrating,
- ensure_array_like,
- ensure_array_like_dev,
- escape,
- escape_attribute_value,
- escape_object,
- exclude_internal_props,
- fix_and_destroy_block,
- fix_and_outro_and_destroy_block,
- fix_position,
- flush,
- flush_render_callbacks,
- getAllContexts,
- getContext,
- get_all_dirty_from_scope,
- get_binding_group_value,
- get_current_component,
- get_custom_elements_slots,
- get_root_for_style,
- get_slot_changes,
- get_spread_object,
- get_spread_update,
- get_store_value,
- get_svelte_dataset,
- globals,
- group_outros,
- handle_promise,
- hasContext,
- has_prop,
- head_selector,
- identity,
- init,
- init_binding_group,
- init_binding_group_dynamic,
- insert,
- insert_dev,
- insert_hydration,
- insert_hydration_dev,
- intros,
- invalid_attribute_name_character,
- is_client,
- is_crossorigin,
- is_empty,
- is_function,
- is_promise,
- is_void,
- listen,
- listen_dev,
- loop,
- loop_guard,
- merge_ssr_styles,
- missing_component,
- mount_component,
- noop,
- not_equal,
- now,
- null_to_empty,
- object_without_properties,
- onDestroy,
- onMount,
- once,
- outro_and_destroy_block,
- prevent_default,
- prop_dev,
- query_selector_all,
- raf,
- resize_observer_border_box,
- resize_observer_content_box,
- resize_observer_device_pixel_content_box,
- run,
- run_all,
- safe_not_equal,
- schedule_update,
- select_multiple_value,
- select_option,
- select_options,
- select_value,
- self,
- setContext,
- set_attributes,
- set_current_component,
- set_custom_element_data,
- set_custom_element_data_map,
- set_data,
- set_data_contenteditable,
- set_data_contenteditable_dev,
- set_data_dev,
- set_data_maybe_contenteditable,
- set_data_maybe_contenteditable_dev,
- set_dynamic_element_data,
- set_input_type,
- set_input_value,
- set_now,
- set_raf,
- set_store_value,
- set_style,
- set_svg_attributes,
- space,
- split_css_unit,
- spread,
- src_url_equal,
- srcset_url_equal,
- start_hydrating,
- stop_immediate_propagation,
- stop_propagation,
- stringify_spread,
- subscribe,
- svg_element,
- text,
- tick,
- time_ranges_to_array,
- to_number,
- toggle_class,
- transition_in,
- transition_out,
- trusted,
- update_await_block_branch,
- update_keyed_each,
- update_slot,
- update_slot_base,
- validate_component,
- validate_dynamic_element,
- validate_each_keys,
- validate_slots,
- validate_store,
- validate_void_dynamic_element,
- xlink_attr
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-export {
- HtmlTag,
- HtmlTagHydration,
- ResizeObserverSingleton,
- SvelteComponent,
- SvelteComponentDev,
- SvelteComponentTyped,
- SvelteElement,
- action_destroyer,
- add_attribute,
- add_classes,
- add_flush_callback,
- add_iframe_resize_listener,
- add_location,
- add_render_callback,
- add_styles,
- add_transform,
- afterUpdate,
- append,
- append_dev,
- append_empty_stylesheet,
- append_hydration,
- append_hydration_dev,
- append_styles,
- assign,
- attr,
- attr_dev,
- attribute_to_object,
- beforeUpdate,
- bind,
- binding_callbacks,
- blank_object,
- bubble,
- check_outros,
- children,
- claim_comment,
- claim_component,
- claim_element,
- claim_html_tag,
- claim_space,
- claim_svg_element,
- claim_text,
- clear_loops,
- comment,
- component_subscribe,
- compute_rest_props,
- compute_slots,
- construct_svelte_component,
- construct_svelte_component_dev,
- contenteditable_truthy_values,
- createEventDispatcher,
- create_animation,
- create_bidirectional_transition,
- create_component,
- create_custom_element,
- create_in_transition,
- create_out_transition,
- create_slot,
- create_ssr_component,
- current_component,
- custom_event,
- dataset_dev,
- debug,
- destroy_block,
- destroy_component,
- destroy_each,
- detach,
- detach_after_dev,
- detach_before_dev,
- detach_between_dev,
- detach_dev,
- dirty_components,
- dispatch_dev,
- each,
- element,
- element_is,
- empty,
- end_hydrating,
- ensure_array_like,
- ensure_array_like_dev,
- escape,
- escape_attribute_value,
- escape_object,
- exclude_internal_props,
- fix_and_destroy_block,
- fix_and_outro_and_destroy_block,
- fix_position,
- flush,
- flush_render_callbacks,
- getAllContexts,
- getContext,
- get_all_dirty_from_scope,
- get_binding_group_value,
- get_current_component,
- get_custom_elements_slots,
- get_root_for_style,
- get_slot_changes,
- get_spread_object,
- get_spread_update,
- get_store_value,
- get_svelte_dataset,
- globals,
- group_outros,
- handle_promise,
- hasContext,
- has_prop,
- head_selector,
- identity,
- init,
- init_binding_group,
- init_binding_group_dynamic,
- insert,
- insert_dev,
- insert_hydration,
- insert_hydration_dev,
- intros,
- invalid_attribute_name_character,
- is_client,
- is_crossorigin,
- is_empty,
- is_function,
- is_promise,
- is_void,
- listen,
- listen_dev,
- loop,
- loop_guard,
- merge_ssr_styles,
- missing_component,
- mount_component,
- noop,
- not_equal,
- now,
- null_to_empty,
- object_without_properties,
- onDestroy,
- onMount,
- once,
- outro_and_destroy_block,
- prevent_default,
- prop_dev,
- query_selector_all,
- raf,
- resize_observer_border_box,
- resize_observer_content_box,
- resize_observer_device_pixel_content_box,
- run,
- run_all,
- safe_not_equal,
- schedule_update,
- select_multiple_value,
- select_option,
- select_options,
- select_value,
- self,
- setContext,
- set_attributes,
- set_current_component,
- set_custom_element_data,
- set_custom_element_data_map,
- set_data,
- set_data_contenteditable,
- set_data_contenteditable_dev,
- set_data_dev,
- set_data_maybe_contenteditable,
- set_data_maybe_contenteditable_dev,
- set_dynamic_element_data,
- set_input_type,
- set_input_value,
- set_now,
- set_raf,
- set_store_value,
- set_style,
- set_svg_attributes,
- space,
- split_css_unit,
- spread,
- src_url_equal,
- srcset_url_equal,
- start_hydrating,
- stop_immediate_propagation,
- stop_propagation,
- stringify_spread,
- subscribe,
- svg_element,
- text,
- tick,
- time_ranges_to_array,
- to_number,
- toggle_class,
- transition_in,
- transition_out,
- trusted,
- update_await_block_branch,
- update_keyed_each,
- update_slot,
- update_slot_base,
- validate_component,
- validate_dynamic_element,
- validate_each_keys,
- validate_slots,
- validate_store,
- validate_void_dynamic_element,
- xlink_attr
-};
-//# sourceMappingURL=svelte_internal.js.map
diff --git a/node_modules/.vite/deps/svelte_internal.js.map b/node_modules/.vite/deps/svelte_internal.js.map
deleted file mode 100644
index 9865211..0000000
--- a/node_modules/.vite/deps/svelte_internal.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": [],
- "sourcesContent": [],
- "mappings": "",
- "names": []
-}
diff --git a/node_modules/.vite/deps/svelte_internal_disclose-version.js b/node_modules/.vite/deps/svelte_internal_disclose-version.js
deleted file mode 100644
index 2e7b8a1..0000000
--- a/node_modules/.vite/deps/svelte_internal_disclose-version.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import {
- PUBLIC_VERSION
-} from "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-
-// node_modules/svelte/src/runtime/internal/disclose-version/index.js
-if (typeof window !== "undefined")
- (window.__svelte || (window.__svelte = { v: /* @__PURE__ */ new Set() })).v.add(PUBLIC_VERSION);
-//# sourceMappingURL=svelte_internal_disclose-version.js.map
diff --git a/node_modules/.vite/deps/svelte_internal_disclose-version.js.map b/node_modules/.vite/deps/svelte_internal_disclose-version.js.map
deleted file mode 100644
index 49f6460..0000000
--- a/node_modules/.vite/deps/svelte_internal_disclose-version.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/runtime/internal/disclose-version/index.js"],
- "sourcesContent": ["import { PUBLIC_VERSION } from '../../../shared/version.js';\n\nif (typeof window !== 'undefined')\n\t// @ts-ignore\n\t(window.__svelte || (window.__svelte = { v: new Set() })).v.add(PUBLIC_VERSION);\n"],
- "mappings": ";;;;;;AAEA,IAAI,OAAO,WAAW;AAErB,GAAC,OAAO,aAAa,OAAO,WAAW,EAAE,GAAG,oBAAI,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc;",
- "names": []
-}
diff --git a/node_modules/.vite/deps/svelte_motion.js b/node_modules/.vite/deps/svelte_motion.js
deleted file mode 100644
index 3694926..0000000
--- a/node_modules/.vite/deps/svelte_motion.js
+++ /dev/null
@@ -1,216 +0,0 @@
-import "./chunk-ETWSND26.js";
-import {
- writable
-} from "./chunk-A5SKBSFT.js";
-import {
- assign,
- identity,
- loop,
- now
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-
-// node_modules/svelte/src/runtime/motion/utils.js
-function is_date(obj) {
- return Object.prototype.toString.call(obj) === "[object Date]";
-}
-
-// node_modules/svelte/src/runtime/motion/spring.js
-function tick_spring(ctx, last_value, current_value, target_value) {
- if (typeof current_value === "number" || is_date(current_value)) {
- const delta = target_value - current_value;
- const velocity = (current_value - last_value) / (ctx.dt || 1 / 60);
- const spring2 = ctx.opts.stiffness * delta;
- const damper = ctx.opts.damping * velocity;
- const acceleration = (spring2 - damper) * ctx.inv_mass;
- const d = (velocity + acceleration) * ctx.dt;
- if (Math.abs(d) < ctx.opts.precision && Math.abs(delta) < ctx.opts.precision) {
- return target_value;
- } else {
- ctx.settled = false;
- return is_date(current_value) ? new Date(current_value.getTime() + d) : current_value + d;
- }
- } else if (Array.isArray(current_value)) {
- return current_value.map(
- (_, i) => tick_spring(ctx, last_value[i], current_value[i], target_value[i])
- );
- } else if (typeof current_value === "object") {
- const next_value = {};
- for (const k in current_value) {
- next_value[k] = tick_spring(ctx, last_value[k], current_value[k], target_value[k]);
- }
- return next_value;
- } else {
- throw new Error(`Cannot spring ${typeof current_value} values`);
- }
-}
-function spring(value, opts = {}) {
- const store = writable(value);
- const { stiffness = 0.15, damping = 0.8, precision = 0.01 } = opts;
- let last_time;
- let task;
- let current_token;
- let last_value = value;
- let target_value = value;
- let inv_mass = 1;
- let inv_mass_recovery_rate = 0;
- let cancel_task = false;
- function set(new_value, opts2 = {}) {
- target_value = new_value;
- const token = current_token = {};
- if (value == null || opts2.hard || spring2.stiffness >= 1 && spring2.damping >= 1) {
- cancel_task = true;
- last_time = now();
- last_value = new_value;
- store.set(value = target_value);
- return Promise.resolve();
- } else if (opts2.soft) {
- const rate = opts2.soft === true ? 0.5 : +opts2.soft;
- inv_mass_recovery_rate = 1 / (rate * 60);
- inv_mass = 0;
- }
- if (!task) {
- last_time = now();
- cancel_task = false;
- task = loop((now2) => {
- if (cancel_task) {
- cancel_task = false;
- task = null;
- return false;
- }
- inv_mass = Math.min(inv_mass + inv_mass_recovery_rate, 1);
- const ctx = {
- inv_mass,
- opts: spring2,
- settled: true,
- dt: (now2 - last_time) * 60 / 1e3
- };
- const next_value = tick_spring(ctx, last_value, value, target_value);
- last_time = now2;
- last_value = value;
- store.set(value = next_value);
- if (ctx.settled) {
- task = null;
- }
- return !ctx.settled;
- });
- }
- return new Promise((fulfil) => {
- task.promise.then(() => {
- if (token === current_token) fulfil();
- });
- });
- }
- const spring2 = {
- set,
- update: (fn, opts2) => set(fn(target_value, value), opts2),
- subscribe: store.subscribe,
- stiffness,
- damping,
- precision
- };
- return spring2;
-}
-
-// node_modules/svelte/src/runtime/motion/tweened.js
-function get_interpolator(a, b) {
- if (a === b || a !== a) return () => a;
- const type = typeof a;
- if (type !== typeof b || Array.isArray(a) !== Array.isArray(b)) {
- throw new Error("Cannot interpolate values of different type");
- }
- if (Array.isArray(a)) {
- const arr = b.map((bi, i) => {
- return get_interpolator(a[i], bi);
- });
- return (t) => arr.map((fn) => fn(t));
- }
- if (type === "object") {
- if (!a || !b) throw new Error("Object cannot be null");
- if (is_date(a) && is_date(b)) {
- a = a.getTime();
- b = b.getTime();
- const delta = b - a;
- return (t) => new Date(a + t * delta);
- }
- const keys = Object.keys(b);
- const interpolators = {};
- keys.forEach((key) => {
- interpolators[key] = get_interpolator(a[key], b[key]);
- });
- return (t) => {
- const result = {};
- keys.forEach((key) => {
- result[key] = interpolators[key](t);
- });
- return result;
- };
- }
- if (type === "number") {
- const delta = b - a;
- return (t) => a + t * delta;
- }
- throw new Error(`Cannot interpolate ${type} values`);
-}
-function tweened(value, defaults = {}) {
- const store = writable(value);
- let task;
- let target_value = value;
- function set(new_value, opts) {
- if (value == null) {
- store.set(value = new_value);
- return Promise.resolve();
- }
- target_value = new_value;
- let previous_task = task;
- let started = false;
- let {
- delay = 0,
- duration = 400,
- easing = identity,
- interpolate = get_interpolator
- } = assign(assign({}, defaults), opts);
- if (duration === 0) {
- if (previous_task) {
- previous_task.abort();
- previous_task = null;
- }
- store.set(value = target_value);
- return Promise.resolve();
- }
- const start = now() + delay;
- let fn;
- task = loop((now2) => {
- if (now2 < start) return true;
- if (!started) {
- fn = interpolate(value, new_value);
- if (typeof duration === "function") duration = duration(value, new_value);
- started = true;
- }
- if (previous_task) {
- previous_task.abort();
- previous_task = null;
- }
- const elapsed = now2 - start;
- if (elapsed > /** @type {number} */
- duration) {
- store.set(value = new_value);
- return false;
- }
- store.set(value = fn(easing(elapsed / duration)));
- return true;
- });
- return task.promise;
- }
- return {
- set,
- update: (fn, opts) => set(fn(target_value, value), opts),
- subscribe: store.subscribe
- };
-}
-export {
- spring,
- tweened
-};
-//# sourceMappingURL=svelte_motion.js.map
diff --git a/node_modules/.vite/deps/svelte_motion.js.map b/node_modules/.vite/deps/svelte_motion.js.map
deleted file mode 100644
index a18b8ad..0000000
--- a/node_modules/.vite/deps/svelte_motion.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/runtime/motion/utils.js", "../../svelte/src/runtime/motion/spring.js", "../../svelte/src/runtime/motion/tweened.js"],
- "sourcesContent": ["/**\n * @param {any} obj\n * @returns {boolean}\n */\nexport function is_date(obj) {\n\treturn Object.prototype.toString.call(obj) === '[object Date]';\n}\n", "import { writable } from '../store/index.js';\nimport { loop, now } from '../internal/index.js';\nimport { is_date } from './utils.js';\n\n/**\n * @template T\n * @param {import('./private.js').TickContext} ctx\n * @param {T} last_value\n * @param {T} current_value\n * @param {T} target_value\n * @returns {T}\n */\nfunction tick_spring(ctx, last_value, current_value, target_value) {\n\tif (typeof current_value === 'number' || is_date(current_value)) {\n\t\t// @ts-ignore\n\t\tconst delta = target_value - current_value;\n\t\t// @ts-ignore\n\t\tconst velocity = (current_value - last_value) / (ctx.dt || 1 / 60); // guard div by 0\n\t\tconst spring = ctx.opts.stiffness * delta;\n\t\tconst damper = ctx.opts.damping * velocity;\n\t\tconst acceleration = (spring - damper) * ctx.inv_mass;\n\t\tconst d = (velocity + acceleration) * ctx.dt;\n\t\tif (Math.abs(d) < ctx.opts.precision && Math.abs(delta) < ctx.opts.precision) {\n\t\t\treturn target_value; // settled\n\t\t} else {\n\t\t\tctx.settled = false; // signal loop to keep ticking\n\t\t\t// @ts-ignore\n\t\t\treturn is_date(current_value) ? new Date(current_value.getTime() + d) : current_value + d;\n\t\t}\n\t} else if (Array.isArray(current_value)) {\n\t\t// @ts-ignore\n\t\treturn current_value.map((_, i) =>\n\t\t\ttick_spring(ctx, last_value[i], current_value[i], target_value[i])\n\t\t);\n\t} else if (typeof current_value === 'object') {\n\t\tconst next_value = {};\n\t\tfor (const k in current_value) {\n\t\t\t// @ts-ignore\n\t\t\tnext_value[k] = tick_spring(ctx, last_value[k], current_value[k], target_value[k]);\n\t\t}\n\t\t// @ts-ignore\n\t\treturn next_value;\n\t} else {\n\t\tthrow new Error(`Cannot spring ${typeof current_value} values`);\n\t}\n}\n\n/**\n * The spring function in Svelte creates a store whose value is animated, with a motion that simulates the behavior of a spring. This means when the value changes, instead of transitioning at a steady rate, it \"bounces\" like a spring would, depending on the physics parameters provided. This adds a level of realism to the transitions and can enhance the user experience.\n *\n * https://svelte.dev/docs/svelte-motion#spring\n * @template [T=any]\n * @param {T} [value]\n * @param {import('./private.js').SpringOpts} [opts]\n * @returns {import('./public.js').Spring}\n */\nexport function spring(value, opts = {}) {\n\tconst store = writable(value);\n\tconst { stiffness = 0.15, damping = 0.8, precision = 0.01 } = opts;\n\t/** @type {number} */\n\tlet last_time;\n\t/** @type {import('../internal/private.js').Task} */\n\tlet task;\n\t/** @type {object} */\n\tlet current_token;\n\t/** @type {T} */\n\tlet last_value = value;\n\t/** @type {T} */\n\tlet target_value = value;\n\tlet inv_mass = 1;\n\tlet inv_mass_recovery_rate = 0;\n\tlet cancel_task = false;\n\t/**\n\t * @param {T} new_value\n\t * @param {import('./private.js').SpringUpdateOpts} opts\n\t * @returns {Promise}\n\t */\n\tfunction set(new_value, opts = {}) {\n\t\ttarget_value = new_value;\n\t\tconst token = (current_token = {});\n\t\tif (value == null || opts.hard || (spring.stiffness >= 1 && spring.damping >= 1)) {\n\t\t\tcancel_task = true; // cancel any running animation\n\t\t\tlast_time = now();\n\t\t\tlast_value = new_value;\n\t\t\tstore.set((value = target_value));\n\t\t\treturn Promise.resolve();\n\t\t} else if (opts.soft) {\n\t\t\tconst rate = opts.soft === true ? 0.5 : +opts.soft;\n\t\t\tinv_mass_recovery_rate = 1 / (rate * 60);\n\t\t\tinv_mass = 0; // infinite mass, unaffected by spring forces\n\t\t}\n\t\tif (!task) {\n\t\t\tlast_time = now();\n\t\t\tcancel_task = false;\n\t\t\ttask = loop((now) => {\n\t\t\t\tif (cancel_task) {\n\t\t\t\t\tcancel_task = false;\n\t\t\t\t\ttask = null;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tinv_mass = Math.min(inv_mass + inv_mass_recovery_rate, 1);\n\t\t\t\tconst ctx = {\n\t\t\t\t\tinv_mass,\n\t\t\t\t\topts: spring,\n\t\t\t\t\tsettled: true,\n\t\t\t\t\tdt: ((now - last_time) * 60) / 1000\n\t\t\t\t};\n\t\t\t\tconst next_value = tick_spring(ctx, last_value, value, target_value);\n\t\t\t\tlast_time = now;\n\t\t\t\tlast_value = value;\n\t\t\t\tstore.set((value = next_value));\n\t\t\t\tif (ctx.settled) {\n\t\t\t\t\ttask = null;\n\t\t\t\t}\n\t\t\t\treturn !ctx.settled;\n\t\t\t});\n\t\t}\n\t\treturn new Promise((fulfil) => {\n\t\t\ttask.promise.then(() => {\n\t\t\t\tif (token === current_token) fulfil();\n\t\t\t});\n\t\t});\n\t}\n\t/** @type {import('./public.js').Spring} */\n\tconst spring = {\n\t\tset,\n\t\tupdate: (fn, opts) => set(fn(target_value, value), opts),\n\t\tsubscribe: store.subscribe,\n\t\tstiffness,\n\t\tdamping,\n\t\tprecision\n\t};\n\treturn spring;\n}\n", "import { writable } from '../store/index.js';\nimport { assign, loop, now } from '../internal/index.js';\nimport { linear } from '../easing/index.js';\nimport { is_date } from './utils.js';\n\n/** @returns {(t: any) => any} */\nfunction get_interpolator(a, b) {\n\tif (a === b || a !== a) return () => a;\n\tconst type = typeof a;\n\tif (type !== typeof b || Array.isArray(a) !== Array.isArray(b)) {\n\t\tthrow new Error('Cannot interpolate values of different type');\n\t}\n\tif (Array.isArray(a)) {\n\t\tconst arr = b.map((bi, i) => {\n\t\t\treturn get_interpolator(a[i], bi);\n\t\t});\n\t\treturn (t) => arr.map((fn) => fn(t));\n\t}\n\tif (type === 'object') {\n\t\tif (!a || !b) throw new Error('Object cannot be null');\n\t\tif (is_date(a) && is_date(b)) {\n\t\t\ta = a.getTime();\n\t\t\tb = b.getTime();\n\t\t\tconst delta = b - a;\n\t\t\treturn (t) => new Date(a + t * delta);\n\t\t}\n\t\tconst keys = Object.keys(b);\n\t\tconst interpolators = {};\n\t\tkeys.forEach((key) => {\n\t\t\tinterpolators[key] = get_interpolator(a[key], b[key]);\n\t\t});\n\t\treturn (t) => {\n\t\t\tconst result = {};\n\t\t\tkeys.forEach((key) => {\n\t\t\t\tresult[key] = interpolators[key](t);\n\t\t\t});\n\t\t\treturn result;\n\t\t};\n\t}\n\tif (type === 'number') {\n\t\tconst delta = b - a;\n\t\treturn (t) => a + t * delta;\n\t}\n\tthrow new Error(`Cannot interpolate ${type} values`);\n}\n\n/**\n * A tweened store in Svelte is a special type of store that provides smooth transitions between state values over time.\n *\n * https://svelte.dev/docs/svelte-motion#tweened\n * @template T\n * @param {T} [value]\n * @param {import('./private.js').TweenedOptions} [defaults]\n * @returns {import('./public.js').Tweened}\n */\nexport function tweened(value, defaults = {}) {\n\tconst store = writable(value);\n\t/** @type {import('../internal/private.js').Task} */\n\tlet task;\n\tlet target_value = value;\n\t/**\n\t * @param {T} new_value\n\t * @param {import('./private.js').TweenedOptions} [opts]\n\t */\n\tfunction set(new_value, opts) {\n\t\tif (value == null) {\n\t\t\tstore.set((value = new_value));\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\ttarget_value = new_value;\n\t\tlet previous_task = task;\n\t\tlet started = false;\n\t\tlet {\n\t\t\tdelay = 0,\n\t\t\tduration = 400,\n\t\t\teasing = linear,\n\t\t\tinterpolate = get_interpolator\n\t\t} = assign(assign({}, defaults), opts);\n\t\tif (duration === 0) {\n\t\t\tif (previous_task) {\n\t\t\t\tprevious_task.abort();\n\t\t\t\tprevious_task = null;\n\t\t\t}\n\t\t\tstore.set((value = target_value));\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\tconst start = now() + delay;\n\t\tlet fn;\n\t\ttask = loop((now) => {\n\t\t\tif (now < start) return true;\n\t\t\tif (!started) {\n\t\t\t\tfn = interpolate(value, new_value);\n\t\t\t\tif (typeof duration === 'function') duration = duration(value, new_value);\n\t\t\t\tstarted = true;\n\t\t\t}\n\t\t\tif (previous_task) {\n\t\t\t\tprevious_task.abort();\n\t\t\t\tprevious_task = null;\n\t\t\t}\n\t\t\tconst elapsed = now - start;\n\t\t\tif (elapsed > /** @type {number} */ (duration)) {\n\t\t\t\tstore.set((value = new_value));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// @ts-ignore\n\t\t\tstore.set((value = fn(easing(elapsed / duration))));\n\t\t\treturn true;\n\t\t});\n\t\treturn task.promise;\n\t}\n\treturn {\n\t\tset,\n\t\tupdate: (fn, opts) => set(fn(target_value, value), opts),\n\t\tsubscribe: store.subscribe\n\t};\n}\n"],
- "mappings": "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",
- "names": ["spring", "opts", "now", "now"]
-}
diff --git a/node_modules/.vite/deps/svelte_store.js b/node_modules/.vite/deps/svelte_store.js
deleted file mode 100644
index a2fd21a..0000000
--- a/node_modules/.vite/deps/svelte_store.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import {
- derived,
- readable,
- readonly,
- writable
-} from "./chunk-A5SKBSFT.js";
-import {
- get_store_value
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-export {
- derived,
- get_store_value as get,
- readable,
- readonly,
- writable
-};
-//# sourceMappingURL=svelte_store.js.map
diff --git a/node_modules/.vite/deps/svelte_store.js.map b/node_modules/.vite/deps/svelte_store.js.map
deleted file mode 100644
index 9865211..0000000
--- a/node_modules/.vite/deps/svelte_store.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": [],
- "sourcesContent": [],
- "mappings": "",
- "names": []
-}
diff --git a/node_modules/.vite/deps/svelte_transition.js b/node_modules/.vite/deps/svelte_transition.js
deleted file mode 100644
index 6b565db..0000000
--- a/node_modules/.vite/deps/svelte_transition.js
+++ /dev/null
@@ -1,175 +0,0 @@
-import {
- cubicInOut,
- cubicOut
-} from "./chunk-ETWSND26.js";
-import {
- assign,
- identity,
- is_function,
- split_css_unit
-} from "./chunk-P6FJJZV5.js";
-import "./chunk-2GBBIY5G.js";
-import "./chunk-KZF2VKC5.js";
-
-// node_modules/svelte/src/runtime/transition/index.js
-function blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 } = {}) {
- const style = getComputedStyle(node);
- const target_opacity = +style.opacity;
- const f = style.filter === "none" ? "" : style.filter;
- const od = target_opacity * (1 - opacity);
- const [value, unit] = split_css_unit(amount);
- return {
- delay,
- duration,
- easing,
- css: (_t, u) => `opacity: ${target_opacity - od * u}; filter: ${f} blur(${u * value}${unit});`
- };
-}
-function fade(node, { delay = 0, duration = 400, easing = identity } = {}) {
- const o = +getComputedStyle(node).opacity;
- return {
- delay,
- duration,
- easing,
- css: (t) => `opacity: ${t * o}`
- };
-}
-function fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}) {
- const style = getComputedStyle(node);
- const target_opacity = +style.opacity;
- const transform = style.transform === "none" ? "" : style.transform;
- const od = target_opacity * (1 - opacity);
- const [xValue, xUnit] = split_css_unit(x);
- const [yValue, yUnit] = split_css_unit(y);
- return {
- delay,
- duration,
- easing,
- css: (t, u) => `
- transform: ${transform} translate(${(1 - t) * xValue}${xUnit}, ${(1 - t) * yValue}${yUnit});
- opacity: ${target_opacity - od * u}`
- };
-}
-function slide(node, { delay = 0, duration = 400, easing = cubicOut, axis = "y" } = {}) {
- const style = getComputedStyle(node);
- const opacity = +style.opacity;
- const primary_property = axis === "y" ? "height" : "width";
- const primary_property_value = parseFloat(style[primary_property]);
- const secondary_properties = axis === "y" ? ["top", "bottom"] : ["left", "right"];
- const capitalized_secondary_properties = secondary_properties.map(
- (e) => `${e[0].toUpperCase()}${e.slice(1)}`
- );
- const padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);
- const padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);
- const margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);
- const margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);
- const border_width_start_value = parseFloat(
- style[`border${capitalized_secondary_properties[0]}Width`]
- );
- const border_width_end_value = parseFloat(
- style[`border${capitalized_secondary_properties[1]}Width`]
- );
- return {
- delay,
- duration,
- easing,
- css: (t) => `overflow: hidden;opacity: ${Math.min(t * 20, 1) * opacity};${primary_property}: ${t * primary_property_value}px;padding-${secondary_properties[0]}: ${t * padding_start_value}px;padding-${secondary_properties[1]}: ${t * padding_end_value}px;margin-${secondary_properties[0]}: ${t * margin_start_value}px;margin-${secondary_properties[1]}: ${t * margin_end_value}px;border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;`
- };
-}
-function scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 } = {}) {
- const style = getComputedStyle(node);
- const target_opacity = +style.opacity;
- const transform = style.transform === "none" ? "" : style.transform;
- const sd = 1 - start;
- const od = target_opacity * (1 - opacity);
- return {
- delay,
- duration,
- easing,
- css: (_t, u) => `
- transform: ${transform} scale(${1 - sd * u});
- opacity: ${target_opacity - od * u}
- `
- };
-}
-function draw(node, { delay = 0, speed, duration, easing = cubicInOut } = {}) {
- let len = node.getTotalLength();
- const style = getComputedStyle(node);
- if (style.strokeLinecap !== "butt") {
- len += parseInt(style.strokeWidth);
- }
- if (duration === void 0) {
- if (speed === void 0) {
- duration = 800;
- } else {
- duration = len / speed;
- }
- } else if (typeof duration === "function") {
- duration = duration(len);
- }
- return {
- delay,
- duration,
- easing,
- css: (_, u) => `
- stroke-dasharray: ${len};
- stroke-dashoffset: ${u * len};
- `
- };
-}
-function crossfade({ fallback, ...defaults }) {
- const to_receive = /* @__PURE__ */ new Map();
- const to_send = /* @__PURE__ */ new Map();
- function crossfade2(from_node, node, params) {
- const {
- delay = 0,
- duration = (d2) => Math.sqrt(d2) * 30,
- easing = cubicOut
- } = assign(assign({}, defaults), params);
- const from = from_node.getBoundingClientRect();
- const to = node.getBoundingClientRect();
- const dx = from.left - to.left;
- const dy = from.top - to.top;
- const dw = from.width / to.width;
- const dh = from.height / to.height;
- const d = Math.sqrt(dx * dx + dy * dy);
- const style = getComputedStyle(node);
- const transform = style.transform === "none" ? "" : style.transform;
- const opacity = +style.opacity;
- return {
- delay,
- duration: is_function(duration) ? duration(d) : duration,
- easing,
- css: (t, u) => `
- opacity: ${t * opacity};
- transform-origin: top left;
- transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});
- `
- };
- }
- function transition(items, counterparts, intro) {
- return (node, params) => {
- items.set(params.key, node);
- return () => {
- if (counterparts.has(params.key)) {
- const other_node = counterparts.get(params.key);
- counterparts.delete(params.key);
- return crossfade2(other_node, node, params);
- }
- items.delete(params.key);
- return fallback && fallback(node, params, intro);
- };
- };
- }
- return [transition(to_send, to_receive, false), transition(to_receive, to_send, true)];
-}
-export {
- blur,
- crossfade,
- draw,
- fade,
- fly,
- scale,
- slide
-};
-//# sourceMappingURL=svelte_transition.js.map
diff --git a/node_modules/.vite/deps/svelte_transition.js.map b/node_modules/.vite/deps/svelte_transition.js.map
deleted file mode 100644
index 9354f98..0000000
--- a/node_modules/.vite/deps/svelte_transition.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../svelte/src/runtime/transition/index.js"],
- "sourcesContent": ["import { cubicOut, cubicInOut, linear } from '../easing/index.js';\nimport { assign, split_css_unit, is_function } from '../internal/index.js';\n\n/**\n * Animates a `blur` filter alongside an element's opacity.\n *\n * https://svelte.dev/docs/svelte-transition#blur\n * @param {Element} node\n * @param {import('./public').BlurParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function blur(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst f = style.filter === 'none' ? '' : style.filter;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [value, unit] = split_css_unit(amount);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `opacity: ${target_opacity - od * u}; filter: ${f} blur(${u * value}${unit});`\n\t};\n}\n\n/**\n * Animates the opacity of an element from 0 to the current opacity for `in` transitions and from the current opacity to 0 for `out` transitions.\n *\n * https://svelte.dev/docs/svelte-transition#fade\n * @param {Element} node\n * @param {import('./public').FadeParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function fade(node, { delay = 0, duration = 400, easing = linear } = {}) {\n\tconst o = +getComputedStyle(node).opacity;\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) => `opacity: ${t * o}`\n\t};\n}\n\n/**\n * Animates the x and y positions and the opacity of an element. `in` transitions animate from the provided values, passed as parameters to the element's default values. `out` transitions animate from the element's default values to the provided values.\n *\n * https://svelte.dev/docs/svelte-transition#fly\n * @param {Element} node\n * @param {import('./public').FlyParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function fly(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [xValue, xUnit] = split_css_unit(x);\n\tconst [yValue, yUnit] = split_css_unit(y);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * xValue}${xUnit}, ${(1 - t) * yValue}${yUnit});\n\t\t\topacity: ${target_opacity - od * u}`\n\t};\n}\n\n/**\n * Slides an element in and out.\n *\n * https://svelte.dev/docs/svelte-transition#slide\n * @param {Element} node\n * @param {import('./public').SlideParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function slide(node, { delay = 0, duration = 400, easing = cubicOut, axis = 'y' } = {}) {\n\tconst style = getComputedStyle(node);\n\tconst opacity = +style.opacity;\n\tconst primary_property = axis === 'y' ? 'height' : 'width';\n\tconst primary_property_value = parseFloat(style[primary_property]);\n\tconst secondary_properties = axis === 'y' ? ['top', 'bottom'] : ['left', 'right'];\n\tconst capitalized_secondary_properties = secondary_properties.map(\n\t\t(e) => `${e[0].toUpperCase()}${e.slice(1)}`\n\t);\n\tconst padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);\n\tconst padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);\n\tconst margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);\n\tconst margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);\n\tconst border_width_start_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[0]}Width`]\n\t);\n\tconst border_width_end_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[1]}Width`]\n\t);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) =>\n\t\t\t'overflow: hidden;' +\n\t\t\t`opacity: ${Math.min(t * 20, 1) * opacity};` +\n\t\t\t`${primary_property}: ${t * primary_property_value}px;` +\n\t\t\t`padding-${secondary_properties[0]}: ${t * padding_start_value}px;` +\n\t\t\t`padding-${secondary_properties[1]}: ${t * padding_end_value}px;` +\n\t\t\t`margin-${secondary_properties[0]}: ${t * margin_start_value}px;` +\n\t\t\t`margin-${secondary_properties[1]}: ${t * margin_end_value}px;` +\n\t\t\t`border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;` +\n\t\t\t`border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;`\n\t};\n}\n\n/**\n * Animates the opacity and scale of an element. `in` transitions animate from an element's current (default) values to the provided values, passed as parameters. `out` transitions animate from the provided values to an element's default values.\n *\n * https://svelte.dev/docs/svelte-transition#scale\n * @param {Element} node\n * @param {import('./public').ScaleParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function scale(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst sd = 1 - start;\n\tconst od = target_opacity * (1 - opacity);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - sd * u});\n\t\t\topacity: ${target_opacity - od * u}\n\t\t`\n\t};\n}\n\n/**\n * Animates the stroke of an SVG element, like a snake in a tube. `in` transitions begin with the path invisible and draw the path to the screen over time. `out` transitions start in a visible state and gradually erase the path. `draw` only works with elements that have a `getTotalLength` method, like `` and ``.\n *\n * https://svelte.dev/docs/svelte-transition#draw\n * @param {SVGElement & { getTotalLength(): number }} node\n * @param {import('./public').DrawParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function draw(node, { delay = 0, speed, duration, easing = cubicInOut } = {}) {\n\tlet len = node.getTotalLength();\n\tconst style = getComputedStyle(node);\n\tif (style.strokeLinecap !== 'butt') {\n\t\tlen += parseInt(style.strokeWidth);\n\t}\n\tif (duration === undefined) {\n\t\tif (speed === undefined) {\n\t\t\tduration = 800;\n\t\t} else {\n\t\t\tduration = len / speed;\n\t\t}\n\t} else if (typeof duration === 'function') {\n\t\tduration = duration(len);\n\t}\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_, u) => `\n\t\t\tstroke-dasharray: ${len};\n\t\t\tstroke-dashoffset: ${u * len};\n\t\t`\n\t};\n}\n\n/**\n * The `crossfade` function creates a pair of [transitions](https://svelte.dev/docs#template-syntax-element-directives-transition-fn) called `send` and `receive`. When an element is 'sent', it looks for a corresponding element being 'received', and generates a transition that transforms the element to its counterpart's position and fades it out. When an element is 'received', the reverse happens. If there is no counterpart, the `fallback` transition is used.\n *\n * https://svelte.dev/docs/svelte-transition#crossfade\n * @param {import('./public').CrossfadeParams & {\n * \tfallback?: (node: Element, params: import('./public').CrossfadeParams, intro: boolean) => import('./public').TransitionConfig;\n * }} params\n * @returns {[(node: any, params: import('./public').CrossfadeParams & { key: any; }) => () => import('./public').TransitionConfig, (node: any, params: import('./public').CrossfadeParams & { key: any; }) => () => import('./public').TransitionConfig]}\n */\nexport function crossfade({ fallback, ...defaults }) {\n\t/** @type {Map} */\n\tconst to_receive = new Map();\n\t/** @type {Map} */\n\tconst to_send = new Map();\n\t/**\n\t * @param {Element} from_node\n\t * @param {Element} node\n\t * @param {import('./public').CrossfadeParams} params\n\t * @returns {import('./public').TransitionConfig}\n\t */\n\tfunction crossfade(from_node, node, params) {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = (d) => Math.sqrt(d) * 30,\n\t\t\teasing = cubicOut\n\t\t} = assign(assign({}, defaults), params);\n\t\tconst from = from_node.getBoundingClientRect();\n\t\tconst to = node.getBoundingClientRect();\n\t\tconst dx = from.left - to.left;\n\t\tconst dy = from.top - to.top;\n\t\tconst dw = from.width / to.width;\n\t\tconst dh = from.height / to.height;\n\t\tconst d = Math.sqrt(dx * dx + dy * dy);\n\t\tconst style = getComputedStyle(node);\n\t\tconst transform = style.transform === 'none' ? '' : style.transform;\n\t\tconst opacity = +style.opacity;\n\t\treturn {\n\t\t\tdelay,\n\t\t\tduration: is_function(duration) ? duration(d) : duration,\n\t\t\teasing,\n\t\t\tcss: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${\n\t\t\t\tt + (1 - t) * dh\n\t\t\t});\n\t\t\t`\n\t\t};\n\t}\n\n\t/**\n\t * @param {Map} items\n\t * @param {Map} counterparts\n\t * @param {boolean} intro\n\t * @returns {(node: any, params: import('./public').CrossfadeParams & { key: any; }) => () => import('./public').TransitionConfig}\n\t */\n\tfunction transition(items, counterparts, intro) {\n\t\treturn (node, params) => {\n\t\t\titems.set(params.key, node);\n\t\t\treturn () => {\n\t\t\t\tif (counterparts.has(params.key)) {\n\t\t\t\t\tconst other_node = counterparts.get(params.key);\n\t\t\t\t\tcounterparts.delete(params.key);\n\t\t\t\t\treturn crossfade(other_node, node, params);\n\t\t\t\t}\n\t\t\t\t// if the node is disappearing altogether\n\t\t\t\t// (i.e. wasn't claimed by the other list)\n\t\t\t\t// then we need to supply an outro\n\t\t\t\titems.delete(params.key);\n\t\t\t\treturn fallback && fallback(node, params, intro);\n\t\t\t};\n\t\t};\n\t}\n\treturn [transition(to_send, to_receive, false), transition(to_receive, to_send, true)];\n}\n"],
- "mappings": ";;;;;;;;;;;;;;AAWO,SAAS,KACf,MACA,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,YAAY,SAAS,GAAG,UAAU,EAAE,IAAI,CAAC,GAC9E;AACD,QAAM,QAAQ,iBAAiB,IAAI;AACnC,QAAM,iBAAiB,CAAC,MAAM;AAC9B,QAAM,IAAI,MAAM,WAAW,SAAS,KAAK,MAAM;AAC/C,QAAM,KAAK,kBAAkB,IAAI;AACjC,QAAM,CAAC,OAAO,IAAI,IAAI,eAAe,MAAM;AAC3C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,IAAI,MAAM,YAAY,iBAAiB,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,KAAK,GAAG,IAAI;AAAA,EAC3F;AACD;AAUO,SAAS,KAAK,MAAM,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,SAAO,IAAI,CAAC,GAAG;AAC/E,QAAM,IAAI,CAAC,iBAAiB,IAAI,EAAE;AAClC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC;AAAA,EAC9B;AACD;AAUO,SAAS,IACf,MACA,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,UAAU,IAAI,GAAG,IAAI,GAAG,UAAU,EAAE,IAAI,CAAC,GAC9E;AACD,QAAM,QAAQ,iBAAiB,IAAI;AACnC,QAAM,iBAAiB,CAAC,MAAM;AAC9B,QAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;AAC1D,QAAM,KAAK,kBAAkB,IAAI;AACjC,QAAM,CAAC,QAAQ,KAAK,IAAI,eAAe,CAAC;AACxC,QAAM,CAAC,QAAQ,KAAK,IAAI,eAAe,CAAC;AACxC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,GAAG,MAAM;AAAA,gBACD,SAAS,eAAe,IAAI,KAAK,MAAM,GAAG,KAAK,MAAM,IAAI,KAAK,MAAM,GAAG,KAAK;AAAA,cAC9E,iBAAiB,KAAK,CAAC;AAAA,EACpC;AACD;AAUO,SAAS,MAAM,MAAM,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,UAAU,OAAO,IAAI,IAAI,CAAC,GAAG;AAC9F,QAAM,QAAQ,iBAAiB,IAAI;AACnC,QAAM,UAAU,CAAC,MAAM;AACvB,QAAM,mBAAmB,SAAS,MAAM,WAAW;AACnD,QAAM,yBAAyB,WAAW,MAAM,gBAAgB,CAAC;AACjE,QAAM,uBAAuB,SAAS,MAAM,CAAC,OAAO,QAAQ,IAAI,CAAC,QAAQ,OAAO;AAChF,QAAM,mCAAmC,qBAAqB;AAAA,IAC7D,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAAA,EAC1C;AACA,QAAM,sBAAsB,WAAW,MAAM,UAAU,iCAAiC,CAAC,CAAC,EAAE,CAAC;AAC7F,QAAM,oBAAoB,WAAW,MAAM,UAAU,iCAAiC,CAAC,CAAC,EAAE,CAAC;AAC3F,QAAM,qBAAqB,WAAW,MAAM,SAAS,iCAAiC,CAAC,CAAC,EAAE,CAAC;AAC3F,QAAM,mBAAmB,WAAW,MAAM,SAAS,iCAAiC,CAAC,CAAC,EAAE,CAAC;AACzF,QAAM,2BAA2B;AAAA,IAChC,MAAM,SAAS,iCAAiC,CAAC,CAAC,OAAO;AAAA,EAC1D;AACA,QAAM,yBAAyB;AAAA,IAC9B,MAAM,SAAS,iCAAiC,CAAC,CAAC,OAAO;AAAA,EAC1D;AACA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,MACL,6BACY,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,OAAO,IACtC,gBAAgB,KAAK,IAAI,sBAAsB,cACvC,qBAAqB,CAAC,CAAC,KAAK,IAAI,mBAAmB,cACnD,qBAAqB,CAAC,CAAC,KAAK,IAAI,iBAAiB,aAClD,qBAAqB,CAAC,CAAC,KAAK,IAAI,kBAAkB,aAClD,qBAAqB,CAAC,CAAC,KAAK,IAAI,gBAAgB,aAChD,qBAAqB,CAAC,CAAC,WAAW,IAAI,wBAAwB,aAC9D,qBAAqB,CAAC,CAAC,WAAW,IAAI,sBAAsB;AAAA,EACxE;AACD;AAUO,SAAS,MACf,MACA,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,UAAU,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,GAC3E;AACD,QAAM,QAAQ,iBAAiB,IAAI;AACnC,QAAM,iBAAiB,CAAC,MAAM;AAC9B,QAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;AAC1D,QAAM,KAAK,IAAI;AACf,QAAM,KAAK,kBAAkB,IAAI;AACjC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,IAAI,MAAM;AAAA,gBACF,SAAS,UAAU,IAAI,KAAK,CAAC;AAAA,cAC/B,iBAAiB,KAAK,CAAC;AAAA;AAAA,EAEpC;AACD;AAUO,SAAS,KAAK,MAAM,EAAE,QAAQ,GAAG,OAAO,UAAU,SAAS,WAAW,IAAI,CAAC,GAAG;AACpF,MAAI,MAAM,KAAK,eAAe;AAC9B,QAAM,QAAQ,iBAAiB,IAAI;AACnC,MAAI,MAAM,kBAAkB,QAAQ;AACnC,WAAO,SAAS,MAAM,WAAW;AAAA,EAClC;AACA,MAAI,aAAa,QAAW;AAC3B,QAAI,UAAU,QAAW;AACxB,iBAAW;AAAA,IACZ,OAAO;AACN,iBAAW,MAAM;AAAA,IAClB;AAAA,EACD,WAAW,OAAO,aAAa,YAAY;AAC1C,eAAW,SAAS,GAAG;AAAA,EACxB;AACA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,GAAG,MAAM;AAAA,uBACM,GAAG;AAAA,wBACF,IAAI,GAAG;AAAA;AAAA,EAE9B;AACD;AAWO,SAAS,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG;AAEpD,QAAM,aAAa,oBAAI,IAAI;AAE3B,QAAM,UAAU,oBAAI,IAAI;AAOxB,WAASA,WAAU,WAAW,MAAM,QAAQ;AAC3C,UAAM;AAAA,MACL,QAAQ;AAAA,MACR,WAAW,CAACC,OAAM,KAAK,KAAKA,EAAC,IAAI;AAAA,MACjC,SAAS;AAAA,IACV,IAAI,OAAO,OAAO,CAAC,GAAG,QAAQ,GAAG,MAAM;AACvC,UAAM,OAAO,UAAU,sBAAsB;AAC7C,UAAM,KAAK,KAAK,sBAAsB;AACtC,UAAM,KAAK,KAAK,OAAO,GAAG;AAC1B,UAAM,KAAK,KAAK,MAAM,GAAG;AACzB,UAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,UAAM,KAAK,KAAK,SAAS,GAAG;AAC5B,UAAM,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AACrC,UAAM,QAAQ,iBAAiB,IAAI;AACnC,UAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;AAC1D,UAAM,UAAU,CAAC,MAAM;AACvB,WAAO;AAAA,MACN;AAAA,MACA,UAAU,YAAY,QAAQ,IAAI,SAAS,CAAC,IAAI;AAAA,MAChD;AAAA,MACA,KAAK,CAAC,GAAG,MAAM;AAAA,eACH,IAAI,OAAO;AAAA;AAAA,iBAET,SAAS,cAAc,IAAI,EAAE,MAAM,IAAI,EAAE,aAAa,KAAK,IAAI,KAAK,EAAE,KACnF,KAAK,IAAI,KAAK,EACf;AAAA;AAAA,IAED;AAAA,EACD;AAQA,WAAS,WAAW,OAAO,cAAc,OAAO;AAC/C,WAAO,CAAC,MAAM,WAAW;AACxB,YAAM,IAAI,OAAO,KAAK,IAAI;AAC1B,aAAO,MAAM;AACZ,YAAI,aAAa,IAAI,OAAO,GAAG,GAAG;AACjC,gBAAM,aAAa,aAAa,IAAI,OAAO,GAAG;AAC9C,uBAAa,OAAO,OAAO,GAAG;AAC9B,iBAAOD,WAAU,YAAY,MAAM,MAAM;AAAA,QAC1C;AAIA,cAAM,OAAO,OAAO,GAAG;AACvB,eAAO,YAAY,SAAS,MAAM,QAAQ,KAAK;AAAA,MAChD;AAAA,IACD;AAAA,EACD;AACA,SAAO,CAAC,WAAW,SAAS,YAAY,KAAK,GAAG,WAAW,YAAY,SAAS,IAAI,CAAC;AACtF;",
- "names": ["crossfade", "d"]
-}
diff --git a/node_modules/.vite/deps/swiper_modules.js b/node_modules/.vite/deps/swiper_modules.js
deleted file mode 100644
index 11bf5a4..0000000
--- a/node_modules/.vite/deps/swiper_modules.js
+++ /dev/null
@@ -1,5518 +0,0 @@
-import "./chunk-KZF2VKC5.js";
-
-// node_modules/swiper/shared/ssr-window.esm.mjs
-function isObject(obj) {
- return obj !== null && typeof obj === "object" && "constructor" in obj && obj.constructor === Object;
-}
-function extend(target, src) {
- if (target === void 0) {
- target = {};
- }
- if (src === void 0) {
- src = {};
- }
- Object.keys(src).forEach((key) => {
- if (typeof target[key] === "undefined") target[key] = src[key];
- else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
- extend(target[key], src[key]);
- }
- });
-}
-var ssrDocument = {
- body: {},
- addEventListener() {
- },
- removeEventListener() {
- },
- activeElement: {
- blur() {
- },
- nodeName: ""
- },
- querySelector() {
- return null;
- },
- querySelectorAll() {
- return [];
- },
- getElementById() {
- return null;
- },
- createEvent() {
- return {
- initEvent() {
- }
- };
- },
- createElement() {
- return {
- children: [],
- childNodes: [],
- style: {},
- setAttribute() {
- },
- getElementsByTagName() {
- return [];
- }
- };
- },
- createElementNS() {
- return {};
- },
- importNode() {
- return null;
- },
- location: {
- hash: "",
- host: "",
- hostname: "",
- href: "",
- origin: "",
- pathname: "",
- protocol: "",
- search: ""
- }
-};
-function getDocument() {
- const doc = typeof document !== "undefined" ? document : {};
- extend(doc, ssrDocument);
- return doc;
-}
-var ssrWindow = {
- document: ssrDocument,
- navigator: {
- userAgent: ""
- },
- location: {
- hash: "",
- host: "",
- hostname: "",
- href: "",
- origin: "",
- pathname: "",
- protocol: "",
- search: ""
- },
- history: {
- replaceState() {
- },
- pushState() {
- },
- go() {
- },
- back() {
- }
- },
- CustomEvent: function CustomEvent() {
- return this;
- },
- addEventListener() {
- },
- removeEventListener() {
- },
- getComputedStyle() {
- return {
- getPropertyValue() {
- return "";
- }
- };
- },
- Image() {
- },
- Date() {
- },
- screen: {},
- setTimeout() {
- },
- clearTimeout() {
- },
- matchMedia() {
- return {};
- },
- requestAnimationFrame(callback) {
- if (typeof setTimeout === "undefined") {
- callback();
- return null;
- }
- return setTimeout(callback, 0);
- },
- cancelAnimationFrame(id) {
- if (typeof setTimeout === "undefined") {
- return;
- }
- clearTimeout(id);
- }
-};
-function getWindow() {
- const win = typeof window !== "undefined" ? window : {};
- extend(win, ssrWindow);
- return win;
-}
-
-// node_modules/swiper/shared/utils.mjs
-function classesToTokens(classes) {
- if (classes === void 0) {
- classes = "";
- }
- return classes.trim().split(" ").filter((c) => !!c.trim());
-}
-function nextTick(callback, delay) {
- if (delay === void 0) {
- delay = 0;
- }
- return setTimeout(callback, delay);
-}
-function now() {
- return Date.now();
-}
-function getComputedStyle(el) {
- const window2 = getWindow();
- let style;
- if (window2.getComputedStyle) {
- style = window2.getComputedStyle(el, null);
- }
- if (!style && el.currentStyle) {
- style = el.currentStyle;
- }
- if (!style) {
- style = el.style;
- }
- return style;
-}
-function getTranslate(el, axis) {
- if (axis === void 0) {
- axis = "x";
- }
- const window2 = getWindow();
- let matrix;
- let curTransform;
- let transformMatrix;
- const curStyle = getComputedStyle(el);
- if (window2.WebKitCSSMatrix) {
- curTransform = curStyle.transform || curStyle.webkitTransform;
- if (curTransform.split(",").length > 6) {
- curTransform = curTransform.split(", ").map((a) => a.replace(",", ".")).join(", ");
- }
- transformMatrix = new window2.WebKitCSSMatrix(curTransform === "none" ? "" : curTransform);
- } else {
- transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,");
- matrix = transformMatrix.toString().split(",");
- }
- if (axis === "x") {
- if (window2.WebKitCSSMatrix) curTransform = transformMatrix.m41;
- else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);
- else curTransform = parseFloat(matrix[4]);
- }
- if (axis === "y") {
- if (window2.WebKitCSSMatrix) curTransform = transformMatrix.m42;
- else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);
- else curTransform = parseFloat(matrix[5]);
- }
- return curTransform || 0;
-}
-function isObject2(o) {
- return typeof o === "object" && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === "Object";
-}
-function setCSSProperty(el, varName, varValue) {
- el.style.setProperty(varName, varValue);
-}
-function getSlideTransformEl(slideEl) {
- return slideEl.querySelector(".swiper-slide-transform") || slideEl.shadowRoot && slideEl.shadowRoot.querySelector(".swiper-slide-transform") || slideEl;
-}
-function elementChildren(element, selector) {
- if (selector === void 0) {
- selector = "";
- }
- const window2 = getWindow();
- const children = [...element.children];
- if (window2.HTMLSlotElement && element instanceof HTMLSlotElement) {
- children.push(...element.assignedElements());
- }
- if (!selector) {
- return children;
- }
- return children.filter((el) => el.matches(selector));
-}
-function createElement(tag, classes) {
- if (classes === void 0) {
- classes = [];
- }
- const el = document.createElement(tag);
- el.classList.add(...Array.isArray(classes) ? classes : classesToTokens(classes));
- return el;
-}
-function elementOffset(el) {
- const window2 = getWindow();
- const document2 = getDocument();
- const box = el.getBoundingClientRect();
- const body = document2.body;
- const clientTop = el.clientTop || body.clientTop || 0;
- const clientLeft = el.clientLeft || body.clientLeft || 0;
- const scrollTop = el === window2 ? window2.scrollY : el.scrollTop;
- const scrollLeft = el === window2 ? window2.scrollX : el.scrollLeft;
- return {
- top: box.top + scrollTop - clientTop,
- left: box.left + scrollLeft - clientLeft
- };
-}
-function elementIndex(el) {
- let child = el;
- let i;
- if (child) {
- i = 0;
- while ((child = child.previousSibling) !== null) {
- if (child.nodeType === 1) i += 1;
- }
- return i;
- }
- return void 0;
-}
-function elementParents(el, selector) {
- const parents = [];
- let parent = el.parentElement;
- while (parent) {
- if (selector) {
- if (parent.matches(selector)) parents.push(parent);
- } else {
- parents.push(parent);
- }
- parent = parent.parentElement;
- }
- return parents;
-}
-function elementTransitionEnd(el, callback) {
- function fireCallBack(e) {
- if (e.target !== el) return;
- callback.call(el, e);
- el.removeEventListener("transitionend", fireCallBack);
- }
- if (callback) {
- el.addEventListener("transitionend", fireCallBack);
- }
-}
-function elementOuterSize(el, size, includeMargins) {
- const window2 = getWindow();
- if (includeMargins) {
- return el[size === "width" ? "offsetWidth" : "offsetHeight"] + parseFloat(window2.getComputedStyle(el, null).getPropertyValue(size === "width" ? "margin-right" : "margin-top")) + parseFloat(window2.getComputedStyle(el, null).getPropertyValue(size === "width" ? "margin-left" : "margin-bottom"));
- }
- return el.offsetWidth;
-}
-function makeElementsArray(el) {
- return (Array.isArray(el) ? el : [el]).filter((e) => !!e);
-}
-function getRotateFix(swiper) {
- return (v) => {
- if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) {
- return v + 1e-3;
- }
- return v;
- };
-}
-
-// node_modules/swiper/modules/virtual.mjs
-function Virtual(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- extendParams({
- virtual: {
- enabled: false,
- slides: [],
- cache: true,
- renderSlide: null,
- renderExternal: null,
- renderExternalUpdate: true,
- addSlidesBefore: 0,
- addSlidesAfter: 0
- }
- });
- let cssModeTimeout;
- const document2 = getDocument();
- swiper.virtual = {
- cache: {},
- from: void 0,
- to: void 0,
- slides: [],
- offset: 0,
- slidesGrid: []
- };
- const tempDOM = document2.createElement("div");
- function renderSlide(slide, index) {
- const params = swiper.params.virtual;
- if (params.cache && swiper.virtual.cache[index]) {
- return swiper.virtual.cache[index];
- }
- let slideEl;
- if (params.renderSlide) {
- slideEl = params.renderSlide.call(swiper, slide, index);
- if (typeof slideEl === "string") {
- tempDOM.innerHTML = slideEl;
- slideEl = tempDOM.children[0];
- }
- } else if (swiper.isElement) {
- slideEl = createElement("swiper-slide");
- } else {
- slideEl = createElement("div", swiper.params.slideClass);
- }
- slideEl.setAttribute("data-swiper-slide-index", index);
- if (!params.renderSlide) {
- slideEl.innerHTML = slide;
- }
- if (params.cache) {
- swiper.virtual.cache[index] = slideEl;
- }
- return slideEl;
- }
- function update(force, beforeInit) {
- const {
- slidesPerView,
- slidesPerGroup,
- centeredSlides,
- loop: isLoop,
- initialSlide
- } = swiper.params;
- if (beforeInit && !isLoop && initialSlide > 0) {
- return;
- }
- const {
- addSlidesBefore,
- addSlidesAfter
- } = swiper.params.virtual;
- const {
- from: previousFrom,
- to: previousTo,
- slides,
- slidesGrid: previousSlidesGrid,
- offset: previousOffset
- } = swiper.virtual;
- if (!swiper.params.cssMode) {
- swiper.updateActiveIndex();
- }
- const activeIndex = swiper.activeIndex || 0;
- let offsetProp;
- if (swiper.rtlTranslate) offsetProp = "right";
- else offsetProp = swiper.isHorizontal() ? "left" : "top";
- let slidesAfter;
- let slidesBefore;
- if (centeredSlides) {
- slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
- slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
- } else {
- slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
- slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;
- }
- let from = activeIndex - slidesBefore;
- let to = activeIndex + slidesAfter;
- if (!isLoop) {
- from = Math.max(from, 0);
- to = Math.min(to, slides.length - 1);
- }
- let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
- if (isLoop && activeIndex >= slidesBefore) {
- from -= slidesBefore;
- if (!centeredSlides) offset += swiper.slidesGrid[0];
- } else if (isLoop && activeIndex < slidesBefore) {
- from = -slidesBefore;
- if (centeredSlides) offset += swiper.slidesGrid[0];
- }
- Object.assign(swiper.virtual, {
- from,
- to,
- offset,
- slidesGrid: swiper.slidesGrid,
- slidesBefore,
- slidesAfter
- });
- function onRendered() {
- swiper.updateSlides();
- swiper.updateProgress();
- swiper.updateSlidesClasses();
- emit("virtualUpdate");
- }
- if (previousFrom === from && previousTo === to && !force) {
- if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
- swiper.slides.forEach((slideEl) => {
- slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
- });
- }
- swiper.updateProgress();
- emit("virtualUpdate");
- return;
- }
- if (swiper.params.virtual.renderExternal) {
- swiper.params.virtual.renderExternal.call(swiper, {
- offset,
- from,
- to,
- slides: function getSlides() {
- const slidesToRender = [];
- for (let i = from; i <= to; i += 1) {
- slidesToRender.push(slides[i]);
- }
- return slidesToRender;
- }()
- });
- if (swiper.params.virtual.renderExternalUpdate) {
- onRendered();
- } else {
- emit("virtualUpdate");
- }
- return;
- }
- const prependIndexes = [];
- const appendIndexes = [];
- const getSlideIndex = (index) => {
- let slideIndex = index;
- if (index < 0) {
- slideIndex = slides.length + index;
- } else if (slideIndex >= slides.length) {
- slideIndex = slideIndex - slides.length;
- }
- return slideIndex;
- };
- if (force) {
- swiper.slides.filter((el) => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach((slideEl) => {
- slideEl.remove();
- });
- } else {
- for (let i = previousFrom; i <= previousTo; i += 1) {
- if (i < from || i > to) {
- const slideIndex = getSlideIndex(i);
- swiper.slides.filter((el) => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach((slideEl) => {
- slideEl.remove();
- });
- }
- }
- }
- const loopFrom = isLoop ? -slides.length : 0;
- const loopTo = isLoop ? slides.length * 2 : slides.length;
- for (let i = loopFrom; i < loopTo; i += 1) {
- if (i >= from && i <= to) {
- const slideIndex = getSlideIndex(i);
- if (typeof previousTo === "undefined" || force) {
- appendIndexes.push(slideIndex);
- } else {
- if (i > previousTo) appendIndexes.push(slideIndex);
- if (i < previousFrom) prependIndexes.push(slideIndex);
- }
- }
- }
- appendIndexes.forEach((index) => {
- swiper.slidesEl.append(renderSlide(slides[index], index));
- });
- if (isLoop) {
- for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {
- const index = prependIndexes[i];
- swiper.slidesEl.prepend(renderSlide(slides[index], index));
- }
- } else {
- prependIndexes.sort((a, b) => b - a);
- prependIndexes.forEach((index) => {
- swiper.slidesEl.prepend(renderSlide(slides[index], index));
- });
- }
- elementChildren(swiper.slidesEl, ".swiper-slide, swiper-slide").forEach((slideEl) => {
- slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
- });
- onRendered();
- }
- function appendSlide2(slides) {
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) swiper.virtual.slides.push(slides[i]);
- }
- } else {
- swiper.virtual.slides.push(slides);
- }
- update(true);
- }
- function prependSlide2(slides) {
- const activeIndex = swiper.activeIndex;
- let newActiveIndex = activeIndex + 1;
- let numberOfNewSlides = 1;
- if (Array.isArray(slides)) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
- }
- newActiveIndex = activeIndex + slides.length;
- numberOfNewSlides = slides.length;
- } else {
- swiper.virtual.slides.unshift(slides);
- }
- if (swiper.params.virtual.cache) {
- const cache = swiper.virtual.cache;
- const newCache = {};
- Object.keys(cache).forEach((cachedIndex) => {
- const cachedEl = cache[cachedIndex];
- const cachedElIndex = cachedEl.getAttribute("data-swiper-slide-index");
- if (cachedElIndex) {
- cachedEl.setAttribute("data-swiper-slide-index", parseInt(cachedElIndex, 10) + numberOfNewSlides);
- }
- newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;
- });
- swiper.virtual.cache = newCache;
- }
- update(true);
- swiper.slideTo(newActiveIndex, 0);
- }
- function removeSlide2(slidesIndexes) {
- if (typeof slidesIndexes === "undefined" || slidesIndexes === null) return;
- let activeIndex = swiper.activeIndex;
- if (Array.isArray(slidesIndexes)) {
- for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
- if (swiper.params.virtual.cache) {
- delete swiper.virtual.cache[slidesIndexes[i]];
- Object.keys(swiper.virtual.cache).forEach((key) => {
- if (key > slidesIndexes) {
- swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];
- swiper.virtual.cache[key - 1].setAttribute("data-swiper-slide-index", key - 1);
- delete swiper.virtual.cache[key];
- }
- });
- }
- swiper.virtual.slides.splice(slidesIndexes[i], 1);
- if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
- activeIndex = Math.max(activeIndex, 0);
- }
- } else {
- if (swiper.params.virtual.cache) {
- delete swiper.virtual.cache[slidesIndexes];
- Object.keys(swiper.virtual.cache).forEach((key) => {
- if (key > slidesIndexes) {
- swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];
- swiper.virtual.cache[key - 1].setAttribute("data-swiper-slide-index", key - 1);
- delete swiper.virtual.cache[key];
- }
- });
- }
- swiper.virtual.slides.splice(slidesIndexes, 1);
- if (slidesIndexes < activeIndex) activeIndex -= 1;
- activeIndex = Math.max(activeIndex, 0);
- }
- update(true);
- swiper.slideTo(activeIndex, 0);
- }
- function removeAllSlides2() {
- swiper.virtual.slides = [];
- if (swiper.params.virtual.cache) {
- swiper.virtual.cache = {};
- }
- update(true);
- swiper.slideTo(0, 0);
- }
- on("beforeInit", () => {
- if (!swiper.params.virtual.enabled) return;
- let domSlidesAssigned;
- if (typeof swiper.passedParams.virtual.slides === "undefined") {
- const slides = [...swiper.slidesEl.children].filter((el) => el.matches(`.${swiper.params.slideClass}, swiper-slide`));
- if (slides && slides.length) {
- swiper.virtual.slides = [...slides];
- domSlidesAssigned = true;
- slides.forEach((slideEl, slideIndex) => {
- slideEl.setAttribute("data-swiper-slide-index", slideIndex);
- swiper.virtual.cache[slideIndex] = slideEl;
- slideEl.remove();
- });
- }
- }
- if (!domSlidesAssigned) {
- swiper.virtual.slides = swiper.params.virtual.slides;
- }
- swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
- swiper.params.watchSlidesProgress = true;
- swiper.originalParams.watchSlidesProgress = true;
- update(false, true);
- });
- on("setTranslate", () => {
- if (!swiper.params.virtual.enabled) return;
- if (swiper.params.cssMode && !swiper._immediateVirtual) {
- clearTimeout(cssModeTimeout);
- cssModeTimeout = setTimeout(() => {
- update();
- }, 100);
- } else {
- update();
- }
- });
- on("init update resize", () => {
- if (!swiper.params.virtual.enabled) return;
- if (swiper.params.cssMode) {
- setCSSProperty(swiper.wrapperEl, "--swiper-virtual-size", `${swiper.virtualSize}px`);
- }
- });
- Object.assign(swiper.virtual, {
- appendSlide: appendSlide2,
- prependSlide: prependSlide2,
- removeSlide: removeSlide2,
- removeAllSlides: removeAllSlides2,
- update
- });
-}
-
-// node_modules/swiper/modules/keyboard.mjs
-function Keyboard(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- const document2 = getDocument();
- const window2 = getWindow();
- swiper.keyboard = {
- enabled: false
- };
- extendParams({
- keyboard: {
- enabled: false,
- onlyInViewport: true,
- pageUpDown: true
- }
- });
- function handle(event2) {
- if (!swiper.enabled) return;
- const {
- rtlTranslate: rtl
- } = swiper;
- let e = event2;
- if (e.originalEvent) e = e.originalEvent;
- const kc = e.keyCode || e.charCode;
- const pageUpDown = swiper.params.keyboard.pageUpDown;
- const isPageUp = pageUpDown && kc === 33;
- const isPageDown = pageUpDown && kc === 34;
- const isArrowLeft = kc === 37;
- const isArrowRight = kc === 39;
- const isArrowUp = kc === 38;
- const isArrowDown = kc === 40;
- if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
- return false;
- }
- if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
- return false;
- }
- if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
- return void 0;
- }
- if (document2.activeElement && document2.activeElement.nodeName && (document2.activeElement.nodeName.toLowerCase() === "input" || document2.activeElement.nodeName.toLowerCase() === "textarea")) {
- return void 0;
- }
- if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
- let inView = false;
- if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {
- return void 0;
- }
- const el = swiper.el;
- const swiperWidth = el.clientWidth;
- const swiperHeight = el.clientHeight;
- const windowWidth = window2.innerWidth;
- const windowHeight = window2.innerHeight;
- const swiperOffset = elementOffset(el);
- if (rtl) swiperOffset.left -= el.scrollLeft;
- const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];
- for (let i = 0; i < swiperCoord.length; i += 1) {
- const point = swiperCoord[i];
- if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
- if (point[0] === 0 && point[1] === 0) continue;
- inView = true;
- }
- }
- if (!inView) return void 0;
- }
- if (swiper.isHorizontal()) {
- if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- }
- if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
- if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
- } else {
- if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- }
- if (isPageDown || isArrowDown) swiper.slideNext();
- if (isPageUp || isArrowUp) swiper.slidePrev();
- }
- emit("keyPress", kc);
- return void 0;
- }
- function enable() {
- if (swiper.keyboard.enabled) return;
- document2.addEventListener("keydown", handle);
- swiper.keyboard.enabled = true;
- }
- function disable() {
- if (!swiper.keyboard.enabled) return;
- document2.removeEventListener("keydown", handle);
- swiper.keyboard.enabled = false;
- }
- on("init", () => {
- if (swiper.params.keyboard.enabled) {
- enable();
- }
- });
- on("destroy", () => {
- if (swiper.keyboard.enabled) {
- disable();
- }
- });
- Object.assign(swiper.keyboard, {
- enable,
- disable
- });
-}
-
-// node_modules/swiper/modules/mousewheel.mjs
-function Mousewheel(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- const window2 = getWindow();
- extendParams({
- mousewheel: {
- enabled: false,
- releaseOnEdges: false,
- invert: false,
- forceToAxis: false,
- sensitivity: 1,
- eventsTarget: "container",
- thresholdDelta: null,
- thresholdTime: null,
- noMousewheelClass: "swiper-no-mousewheel"
- }
- });
- swiper.mousewheel = {
- enabled: false
- };
- let timeout;
- let lastScrollTime = now();
- let lastEventBeforeSnap;
- const recentWheelEvents = [];
- function normalize(e) {
- const PIXEL_STEP = 10;
- const LINE_HEIGHT = 40;
- const PAGE_HEIGHT = 800;
- let sX = 0;
- let sY = 0;
- let pX = 0;
- let pY = 0;
- if ("detail" in e) {
- sY = e.detail;
- }
- if ("wheelDelta" in e) {
- sY = -e.wheelDelta / 120;
- }
- if ("wheelDeltaY" in e) {
- sY = -e.wheelDeltaY / 120;
- }
- if ("wheelDeltaX" in e) {
- sX = -e.wheelDeltaX / 120;
- }
- if ("axis" in e && e.axis === e.HORIZONTAL_AXIS) {
- sX = sY;
- sY = 0;
- }
- pX = sX * PIXEL_STEP;
- pY = sY * PIXEL_STEP;
- if ("deltaY" in e) {
- pY = e.deltaY;
- }
- if ("deltaX" in e) {
- pX = e.deltaX;
- }
- if (e.shiftKey && !pX) {
- pX = pY;
- pY = 0;
- }
- if ((pX || pY) && e.deltaMode) {
- if (e.deltaMode === 1) {
- pX *= LINE_HEIGHT;
- pY *= LINE_HEIGHT;
- } else {
- pX *= PAGE_HEIGHT;
- pY *= PAGE_HEIGHT;
- }
- }
- if (pX && !sX) {
- sX = pX < 1 ? -1 : 1;
- }
- if (pY && !sY) {
- sY = pY < 1 ? -1 : 1;
- }
- return {
- spinX: sX,
- spinY: sY,
- pixelX: pX,
- pixelY: pY
- };
- }
- function handleMouseEnter() {
- if (!swiper.enabled) return;
- swiper.mouseEntered = true;
- }
- function handleMouseLeave() {
- if (!swiper.enabled) return;
- swiper.mouseEntered = false;
- }
- function animateSlider(newEvent) {
- if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {
- return false;
- }
- if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {
- return false;
- }
- if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {
- return true;
- }
- if (newEvent.direction < 0) {
- if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
- swiper.slideNext();
- emit("scroll", newEvent.raw);
- }
- } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
- swiper.slidePrev();
- emit("scroll", newEvent.raw);
- }
- lastScrollTime = new window2.Date().getTime();
- return false;
- }
- function releaseScroll(newEvent) {
- const params = swiper.params.mousewheel;
- if (newEvent.direction < 0) {
- if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
- return true;
- }
- } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
- return true;
- }
- return false;
- }
- function handle(event2) {
- let e = event2;
- let disableParentSwiper = true;
- if (!swiper.enabled) return;
- if (event2.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;
- const params = swiper.params.mousewheel;
- if (swiper.params.cssMode) {
- e.preventDefault();
- }
- let targetEl = swiper.el;
- if (swiper.params.mousewheel.eventsTarget !== "container") {
- targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
- }
- const targetElContainsTarget = targetEl && targetEl.contains(e.target);
- if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;
- if (e.originalEvent) e = e.originalEvent;
- let delta = 0;
- const rtlFactor = swiper.rtlTranslate ? -1 : 1;
- const data = normalize(e);
- if (params.forceToAxis) {
- if (swiper.isHorizontal()) {
- if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;
- else return true;
- } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;
- else return true;
- } else {
- delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
- }
- if (delta === 0) return true;
- if (params.invert) delta = -delta;
- let positions = swiper.getTranslate() + delta * params.sensitivity;
- if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
- if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();
- disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());
- if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
- if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
- const newEvent = {
- time: now(),
- delta: Math.abs(delta),
- direction: Math.sign(delta),
- raw: event2
- };
- if (recentWheelEvents.length >= 2) {
- recentWheelEvents.shift();
- }
- const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : void 0;
- recentWheelEvents.push(newEvent);
- if (prevEvent) {
- if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
- animateSlider(newEvent);
- }
- } else {
- animateSlider(newEvent);
- }
- if (releaseScroll(newEvent)) {
- return true;
- }
- } else {
- const newEvent = {
- time: now(),
- delta: Math.abs(delta),
- direction: Math.sign(delta)
- };
- const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;
- if (!ignoreWheelEvents) {
- lastEventBeforeSnap = void 0;
- let position = swiper.getTranslate() + delta * params.sensitivity;
- const wasBeginning = swiper.isBeginning;
- const wasEnd = swiper.isEnd;
- if (position >= swiper.minTranslate()) position = swiper.minTranslate();
- if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
- swiper.setTransition(0);
- swiper.setTranslate(position);
- swiper.updateProgress();
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
- swiper.updateSlidesClasses();
- }
- if (swiper.params.loop) {
- swiper.loopFix({
- direction: newEvent.direction < 0 ? "next" : "prev",
- byMousewheel: true
- });
- }
- if (swiper.params.freeMode.sticky) {
- clearTimeout(timeout);
- timeout = void 0;
- if (recentWheelEvents.length >= 15) {
- recentWheelEvents.shift();
- }
- const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : void 0;
- const firstEvent = recentWheelEvents[0];
- recentWheelEvents.push(newEvent);
- if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {
- recentWheelEvents.splice(0);
- } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {
- const snapToThreshold = delta > 0 ? 0.8 : 0.2;
- lastEventBeforeSnap = newEvent;
- recentWheelEvents.splice(0);
- timeout = nextTick(() => {
- if (swiper.destroyed || !swiper.params) return;
- swiper.slideToClosest(swiper.params.speed, true, void 0, snapToThreshold);
- }, 0);
- }
- if (!timeout) {
- timeout = nextTick(() => {
- if (swiper.destroyed || !swiper.params) return;
- const snapToThreshold = 0.5;
- lastEventBeforeSnap = newEvent;
- recentWheelEvents.splice(0);
- swiper.slideToClosest(swiper.params.speed, true, void 0, snapToThreshold);
- }, 500);
- }
- }
- if (!ignoreWheelEvents) emit("scroll", e);
- if (swiper.params.autoplay && swiper.params.autoplay.disableOnInteraction) swiper.autoplay.stop();
- if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) {
- return true;
- }
- }
- }
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- return false;
- }
- function events(method) {
- let targetEl = swiper.el;
- if (swiper.params.mousewheel.eventsTarget !== "container") {
- targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
- }
- targetEl[method]("mouseenter", handleMouseEnter);
- targetEl[method]("mouseleave", handleMouseLeave);
- targetEl[method]("wheel", handle);
- }
- function enable() {
- if (swiper.params.cssMode) {
- swiper.wrapperEl.removeEventListener("wheel", handle);
- return true;
- }
- if (swiper.mousewheel.enabled) return false;
- events("addEventListener");
- swiper.mousewheel.enabled = true;
- return true;
- }
- function disable() {
- if (swiper.params.cssMode) {
- swiper.wrapperEl.addEventListener(event, handle);
- return true;
- }
- if (!swiper.mousewheel.enabled) return false;
- events("removeEventListener");
- swiper.mousewheel.enabled = false;
- return true;
- }
- on("init", () => {
- if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
- disable();
- }
- if (swiper.params.mousewheel.enabled) enable();
- });
- on("destroy", () => {
- if (swiper.params.cssMode) {
- enable();
- }
- if (swiper.mousewheel.enabled) disable();
- });
- Object.assign(swiper.mousewheel, {
- enable,
- disable
- });
-}
-
-// node_modules/swiper/shared/create-element-if-not-defined.mjs
-function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
- if (swiper.params.createElements) {
- Object.keys(checkProps).forEach((key) => {
- if (!params[key] && params.auto === true) {
- let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];
- if (!element) {
- element = createElement("div", checkProps[key]);
- element.className = checkProps[key];
- swiper.el.append(element);
- }
- params[key] = element;
- originalParams[key] = element;
- }
- });
- }
- return params;
-}
-
-// node_modules/swiper/modules/navigation.mjs
-function Navigation(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- extendParams({
- navigation: {
- nextEl: null,
- prevEl: null,
- hideOnClick: false,
- disabledClass: "swiper-button-disabled",
- hiddenClass: "swiper-button-hidden",
- lockClass: "swiper-button-lock",
- navigationDisabledClass: "swiper-navigation-disabled"
- }
- });
- swiper.navigation = {
- nextEl: null,
- prevEl: null
- };
- function getEl(el) {
- let res;
- if (el && typeof el === "string" && swiper.isElement) {
- res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);
- if (res) return res;
- }
- if (el) {
- if (typeof el === "string") res = [...document.querySelectorAll(el)];
- if (swiper.params.uniqueNavElements && typeof el === "string" && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {
- res = swiper.el.querySelector(el);
- } else if (res && res.length === 1) {
- res = res[0];
- }
- }
- if (el && !res) return el;
- return res;
- }
- function toggleEl(el, disabled) {
- const params = swiper.params.navigation;
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- if (subEl) {
- subEl.classList[disabled ? "add" : "remove"](...params.disabledClass.split(" "));
- if (subEl.tagName === "BUTTON") subEl.disabled = disabled;
- if (swiper.params.watchOverflow && swiper.enabled) {
- subEl.classList[swiper.isLocked ? "add" : "remove"](params.lockClass);
- }
- }
- });
- }
- function update() {
- const {
- nextEl,
- prevEl
- } = swiper.navigation;
- if (swiper.params.loop) {
- toggleEl(prevEl, false);
- toggleEl(nextEl, false);
- return;
- }
- toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);
- toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);
- }
- function onPrevClick(e) {
- e.preventDefault();
- if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;
- swiper.slidePrev();
- emit("navigationPrev");
- }
- function onNextClick(e) {
- e.preventDefault();
- if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;
- swiper.slideNext();
- emit("navigationNext");
- }
- function init() {
- const params = swiper.params.navigation;
- swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {
- nextEl: "swiper-button-next",
- prevEl: "swiper-button-prev"
- });
- if (!(params.nextEl || params.prevEl)) return;
- let nextEl = getEl(params.nextEl);
- let prevEl = getEl(params.prevEl);
- Object.assign(swiper.navigation, {
- nextEl,
- prevEl
- });
- nextEl = makeElementsArray(nextEl);
- prevEl = makeElementsArray(prevEl);
- const initButton = (el, dir) => {
- if (el) {
- el.addEventListener("click", dir === "next" ? onNextClick : onPrevClick);
- }
- if (!swiper.enabled && el) {
- el.classList.add(...params.lockClass.split(" "));
- }
- };
- nextEl.forEach((el) => initButton(el, "next"));
- prevEl.forEach((el) => initButton(el, "prev"));
- }
- function destroy() {
- let {
- nextEl,
- prevEl
- } = swiper.navigation;
- nextEl = makeElementsArray(nextEl);
- prevEl = makeElementsArray(prevEl);
- const destroyButton = (el, dir) => {
- el.removeEventListener("click", dir === "next" ? onNextClick : onPrevClick);
- el.classList.remove(...swiper.params.navigation.disabledClass.split(" "));
- };
- nextEl.forEach((el) => destroyButton(el, "next"));
- prevEl.forEach((el) => destroyButton(el, "prev"));
- }
- on("init", () => {
- if (swiper.params.navigation.enabled === false) {
- disable();
- } else {
- init();
- update();
- }
- });
- on("toEdge fromEdge lock unlock", () => {
- update();
- });
- on("destroy", () => {
- destroy();
- });
- on("enable disable", () => {
- let {
- nextEl,
- prevEl
- } = swiper.navigation;
- nextEl = makeElementsArray(nextEl);
- prevEl = makeElementsArray(prevEl);
- if (swiper.enabled) {
- update();
- return;
- }
- [...nextEl, ...prevEl].filter((el) => !!el).forEach((el) => el.classList.add(swiper.params.navigation.lockClass));
- });
- on("click", (_s, e) => {
- let {
- nextEl,
- prevEl
- } = swiper.navigation;
- nextEl = makeElementsArray(nextEl);
- prevEl = makeElementsArray(prevEl);
- const targetEl = e.target;
- let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);
- if (swiper.isElement && !targetIsButton) {
- const path = e.path || e.composedPath && e.composedPath();
- if (path) {
- targetIsButton = path.find((pathEl) => nextEl.includes(pathEl) || prevEl.includes(pathEl));
- }
- }
- if (swiper.params.navigation.hideOnClick && !targetIsButton) {
- if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;
- let isHidden;
- if (nextEl.length) {
- isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);
- } else if (prevEl.length) {
- isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);
- }
- if (isHidden === true) {
- emit("navigationShow");
- } else {
- emit("navigationHide");
- }
- [...nextEl, ...prevEl].filter((el) => !!el).forEach((el) => el.classList.toggle(swiper.params.navigation.hiddenClass));
- }
- });
- const enable = () => {
- swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(" "));
- init();
- update();
- };
- const disable = () => {
- swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(" "));
- destroy();
- };
- Object.assign(swiper.navigation, {
- enable,
- disable,
- update,
- init,
- destroy
- });
-}
-
-// node_modules/swiper/shared/classes-to-selector.mjs
-function classesToSelector(classes) {
- if (classes === void 0) {
- classes = "";
- }
- return `.${classes.trim().replace(/([\.:!+\/])/g, "\\$1").replace(/ /g, ".")}`;
-}
-
-// node_modules/swiper/modules/pagination.mjs
-function Pagination(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- const pfx = "swiper-pagination";
- extendParams({
- pagination: {
- el: null,
- bulletElement: "span",
- clickable: false,
- hideOnClick: false,
- renderBullet: null,
- renderProgressbar: null,
- renderFraction: null,
- renderCustom: null,
- progressbarOpposite: false,
- type: "bullets",
- // 'bullets' or 'progressbar' or 'fraction' or 'custom'
- dynamicBullets: false,
- dynamicMainBullets: 1,
- formatFractionCurrent: (number) => number,
- formatFractionTotal: (number) => number,
- bulletClass: `${pfx}-bullet`,
- bulletActiveClass: `${pfx}-bullet-active`,
- modifierClass: `${pfx}-`,
- currentClass: `${pfx}-current`,
- totalClass: `${pfx}-total`,
- hiddenClass: `${pfx}-hidden`,
- progressbarFillClass: `${pfx}-progressbar-fill`,
- progressbarOppositeClass: `${pfx}-progressbar-opposite`,
- clickableClass: `${pfx}-clickable`,
- lockClass: `${pfx}-lock`,
- horizontalClass: `${pfx}-horizontal`,
- verticalClass: `${pfx}-vertical`,
- paginationDisabledClass: `${pfx}-disabled`
- }
- });
- swiper.pagination = {
- el: null,
- bullets: []
- };
- let bulletSize;
- let dynamicBulletIndex = 0;
- function isPaginationDisabled() {
- return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;
- }
- function setSideBullets(bulletEl, position) {
- const {
- bulletActiveClass
- } = swiper.params.pagination;
- if (!bulletEl) return;
- bulletEl = bulletEl[`${position === "prev" ? "previous" : "next"}ElementSibling`];
- if (bulletEl) {
- bulletEl.classList.add(`${bulletActiveClass}-${position}`);
- bulletEl = bulletEl[`${position === "prev" ? "previous" : "next"}ElementSibling`];
- if (bulletEl) {
- bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);
- }
- }
- }
- function getMoveDirection(prevIndex, nextIndex, length) {
- prevIndex = prevIndex % length;
- nextIndex = nextIndex % length;
- if (nextIndex === prevIndex + 1) {
- return "next";
- } else if (nextIndex === prevIndex - 1) {
- return "previous";
- }
- return;
- }
- function onBulletClick(e) {
- const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));
- if (!bulletEl) {
- return;
- }
- e.preventDefault();
- const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;
- if (swiper.params.loop) {
- if (swiper.realIndex === index) return;
- const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length);
- if (moveDirection === "next") {
- swiper.slideNext();
- } else if (moveDirection === "previous") {
- swiper.slidePrev();
- } else {
- swiper.slideToLoop(index);
- }
- } else {
- swiper.slideTo(index);
- }
- }
- function update() {
- const rtl = swiper.rtl;
- const params = swiper.params.pagination;
- if (isPaginationDisabled()) return;
- let el = swiper.pagination.el;
- el = makeElementsArray(el);
- let current;
- let previousIndex;
- const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
- const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
- if (swiper.params.loop) {
- previousIndex = swiper.previousRealIndex || 0;
- current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;
- } else if (typeof swiper.snapIndex !== "undefined") {
- current = swiper.snapIndex;
- previousIndex = swiper.previousSnapIndex;
- } else {
- previousIndex = swiper.previousIndex || 0;
- current = swiper.activeIndex || 0;
- }
- if (params.type === "bullets" && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
- const bullets = swiper.pagination.bullets;
- let firstIndex;
- let lastIndex;
- let midIndex;
- if (params.dynamicBullets) {
- bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? "width" : "height", true);
- el.forEach((subEl) => {
- subEl.style[swiper.isHorizontal() ? "width" : "height"] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;
- });
- if (params.dynamicMainBullets > 1 && previousIndex !== void 0) {
- dynamicBulletIndex += current - (previousIndex || 0);
- if (dynamicBulletIndex > params.dynamicMainBullets - 1) {
- dynamicBulletIndex = params.dynamicMainBullets - 1;
- } else if (dynamicBulletIndex < 0) {
- dynamicBulletIndex = 0;
- }
- }
- firstIndex = Math.max(current - dynamicBulletIndex, 0);
- lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
- midIndex = (lastIndex + firstIndex) / 2;
- }
- bullets.forEach((bulletEl) => {
- const classesToRemove = [...["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((suffix) => `${params.bulletActiveClass}${suffix}`)].map((s) => typeof s === "string" && s.includes(" ") ? s.split(" ") : s).flat();
- bulletEl.classList.remove(...classesToRemove);
- });
- if (el.length > 1) {
- bullets.forEach((bullet) => {
- const bulletIndex = elementIndex(bullet);
- if (bulletIndex === current) {
- bullet.classList.add(...params.bulletActiveClass.split(" "));
- } else if (swiper.isElement) {
- bullet.setAttribute("part", "bullet");
- }
- if (params.dynamicBullets) {
- if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
- bullet.classList.add(...`${params.bulletActiveClass}-main`.split(" "));
- }
- if (bulletIndex === firstIndex) {
- setSideBullets(bullet, "prev");
- }
- if (bulletIndex === lastIndex) {
- setSideBullets(bullet, "next");
- }
- }
- });
- } else {
- const bullet = bullets[current];
- if (bullet) {
- bullet.classList.add(...params.bulletActiveClass.split(" "));
- }
- if (swiper.isElement) {
- bullets.forEach((bulletEl, bulletIndex) => {
- bulletEl.setAttribute("part", bulletIndex === current ? "bullet-active" : "bullet");
- });
- }
- if (params.dynamicBullets) {
- const firstDisplayedBullet = bullets[firstIndex];
- const lastDisplayedBullet = bullets[lastIndex];
- for (let i = firstIndex; i <= lastIndex; i += 1) {
- if (bullets[i]) {
- bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(" "));
- }
- }
- setSideBullets(firstDisplayedBullet, "prev");
- setSideBullets(lastDisplayedBullet, "next");
- }
- }
- if (params.dynamicBullets) {
- const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
- const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;
- const offsetProp = rtl ? "right" : "left";
- bullets.forEach((bullet) => {
- bullet.style[swiper.isHorizontal() ? offsetProp : "top"] = `${bulletsOffset}px`;
- });
- }
- }
- el.forEach((subEl, subElIndex) => {
- if (params.type === "fraction") {
- subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach((fractionEl) => {
- fractionEl.textContent = params.formatFractionCurrent(current + 1);
- });
- subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach((totalEl) => {
- totalEl.textContent = params.formatFractionTotal(total);
- });
- }
- if (params.type === "progressbar") {
- let progressbarDirection;
- if (params.progressbarOpposite) {
- progressbarDirection = swiper.isHorizontal() ? "vertical" : "horizontal";
- } else {
- progressbarDirection = swiper.isHorizontal() ? "horizontal" : "vertical";
- }
- const scale = (current + 1) / total;
- let scaleX = 1;
- let scaleY = 1;
- if (progressbarDirection === "horizontal") {
- scaleX = scale;
- } else {
- scaleY = scale;
- }
- subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach((progressEl) => {
- progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;
- progressEl.style.transitionDuration = `${swiper.params.speed}ms`;
- });
- }
- if (params.type === "custom" && params.renderCustom) {
- subEl.innerHTML = params.renderCustom(swiper, current + 1, total);
- if (subElIndex === 0) emit("paginationRender", subEl);
- } else {
- if (subElIndex === 0) emit("paginationRender", subEl);
- emit("paginationUpdate", subEl);
- }
- if (swiper.params.watchOverflow && swiper.enabled) {
- subEl.classList[swiper.isLocked ? "add" : "remove"](params.lockClass);
- }
- });
- }
- function render() {
- const params = swiper.params.pagination;
- if (isPaginationDisabled()) return;
- const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length;
- let el = swiper.pagination.el;
- el = makeElementsArray(el);
- let paginationHTML = "";
- if (params.type === "bullets") {
- let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
- if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {
- numberOfBullets = slidesLength;
- }
- for (let i = 0; i < numberOfBullets; i += 1) {
- if (params.renderBullet) {
- paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
- } else {
- paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ""} class="${params.bulletClass}">${params.bulletElement}>`;
- }
- }
- }
- if (params.type === "fraction") {
- if (params.renderFraction) {
- paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
- } else {
- paginationHTML = ` / `;
- }
- }
- if (params.type === "progressbar") {
- if (params.renderProgressbar) {
- paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
- } else {
- paginationHTML = ``;
- }
- }
- swiper.pagination.bullets = [];
- el.forEach((subEl) => {
- if (params.type !== "custom") {
- subEl.innerHTML = paginationHTML || "";
- }
- if (params.type === "bullets") {
- swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));
- }
- });
- if (params.type !== "custom") {
- emit("paginationRender", el[0]);
- }
- }
- function init() {
- swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {
- el: "swiper-pagination"
- });
- const params = swiper.params.pagination;
- if (!params.el) return;
- let el;
- if (typeof params.el === "string" && swiper.isElement) {
- el = swiper.el.querySelector(params.el);
- }
- if (!el && typeof params.el === "string") {
- el = [...document.querySelectorAll(params.el)];
- }
- if (!el) {
- el = params.el;
- }
- if (!el || el.length === 0) return;
- if (swiper.params.uniqueNavElements && typeof params.el === "string" && Array.isArray(el) && el.length > 1) {
- el = [...swiper.el.querySelectorAll(params.el)];
- if (el.length > 1) {
- el = el.find((subEl) => {
- if (elementParents(subEl, ".swiper")[0] !== swiper.el) return false;
- return true;
- });
- }
- }
- if (Array.isArray(el) && el.length === 1) el = el[0];
- Object.assign(swiper.pagination, {
- el
- });
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- if (params.type === "bullets" && params.clickable) {
- subEl.classList.add(...(params.clickableClass || "").split(" "));
- }
- subEl.classList.add(params.modifierClass + params.type);
- subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
- if (params.type === "bullets" && params.dynamicBullets) {
- subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);
- dynamicBulletIndex = 0;
- if (params.dynamicMainBullets < 1) {
- params.dynamicMainBullets = 1;
- }
- }
- if (params.type === "progressbar" && params.progressbarOpposite) {
- subEl.classList.add(params.progressbarOppositeClass);
- }
- if (params.clickable) {
- subEl.addEventListener("click", onBulletClick);
- }
- if (!swiper.enabled) {
- subEl.classList.add(params.lockClass);
- }
- });
- }
- function destroy() {
- const params = swiper.params.pagination;
- if (isPaginationDisabled()) return;
- let el = swiper.pagination.el;
- if (el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.classList.remove(params.hiddenClass);
- subEl.classList.remove(params.modifierClass + params.type);
- subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
- if (params.clickable) {
- subEl.classList.remove(...(params.clickableClass || "").split(" "));
- subEl.removeEventListener("click", onBulletClick);
- }
- });
- }
- if (swiper.pagination.bullets) swiper.pagination.bullets.forEach((subEl) => subEl.classList.remove(...params.bulletActiveClass.split(" ")));
- }
- on("changeDirection", () => {
- if (!swiper.pagination || !swiper.pagination.el) return;
- const params = swiper.params.pagination;
- let {
- el
- } = swiper.pagination;
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.classList.remove(params.horizontalClass, params.verticalClass);
- subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
- });
- });
- on("init", () => {
- if (swiper.params.pagination.enabled === false) {
- disable();
- } else {
- init();
- render();
- update();
- }
- });
- on("activeIndexChange", () => {
- if (typeof swiper.snapIndex === "undefined") {
- update();
- }
- });
- on("snapIndexChange", () => {
- update();
- });
- on("snapGridLengthChange", () => {
- render();
- update();
- });
- on("destroy", () => {
- destroy();
- });
- on("enable disable", () => {
- let {
- el
- } = swiper.pagination;
- if (el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => subEl.classList[swiper.enabled ? "remove" : "add"](swiper.params.pagination.lockClass));
- }
- });
- on("lock unlock", () => {
- update();
- });
- on("click", (_s, e) => {
- const targetEl = e.target;
- const el = makeElementsArray(swiper.pagination.el);
- if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {
- if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;
- const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);
- if (isHidden === true) {
- emit("paginationShow");
- } else {
- emit("paginationHide");
- }
- el.forEach((subEl) => subEl.classList.toggle(swiper.params.pagination.hiddenClass));
- }
- });
- const enable = () => {
- swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);
- let {
- el
- } = swiper.pagination;
- if (el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));
- }
- init();
- render();
- update();
- };
- const disable = () => {
- swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);
- let {
- el
- } = swiper.pagination;
- if (el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));
- }
- destroy();
- };
- Object.assign(swiper.pagination, {
- enable,
- disable,
- render,
- update,
- init,
- destroy
- });
-}
-
-// node_modules/swiper/modules/scrollbar.mjs
-function Scrollbar(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- const document2 = getDocument();
- let isTouched = false;
- let timeout = null;
- let dragTimeout = null;
- let dragStartPos;
- let dragSize;
- let trackSize;
- let divider;
- extendParams({
- scrollbar: {
- el: null,
- dragSize: "auto",
- hide: false,
- draggable: false,
- snapOnRelease: true,
- lockClass: "swiper-scrollbar-lock",
- dragClass: "swiper-scrollbar-drag",
- scrollbarDisabledClass: "swiper-scrollbar-disabled",
- horizontalClass: `swiper-scrollbar-horizontal`,
- verticalClass: `swiper-scrollbar-vertical`
- }
- });
- swiper.scrollbar = {
- el: null,
- dragEl: null
- };
- function setTranslate() {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- const {
- scrollbar,
- rtlTranslate: rtl
- } = swiper;
- const {
- dragEl,
- el
- } = scrollbar;
- const params = swiper.params.scrollbar;
- const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;
- let newSize = dragSize;
- let newPos = (trackSize - dragSize) * progress;
- if (rtl) {
- newPos = -newPos;
- if (newPos > 0) {
- newSize = dragSize - newPos;
- newPos = 0;
- } else if (-newPos + dragSize > trackSize) {
- newSize = trackSize + newPos;
- }
- } else if (newPos < 0) {
- newSize = dragSize + newPos;
- newPos = 0;
- } else if (newPos + dragSize > trackSize) {
- newSize = trackSize - newPos;
- }
- if (swiper.isHorizontal()) {
- dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;
- dragEl.style.width = `${newSize}px`;
- } else {
- dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;
- dragEl.style.height = `${newSize}px`;
- }
- if (params.hide) {
- clearTimeout(timeout);
- el.style.opacity = 1;
- timeout = setTimeout(() => {
- el.style.opacity = 0;
- el.style.transitionDuration = "400ms";
- }, 1e3);
- }
- }
- function setTransition(duration) {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;
- }
- function updateSize() {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- const {
- scrollbar
- } = swiper;
- const {
- dragEl,
- el
- } = scrollbar;
- dragEl.style.width = "";
- dragEl.style.height = "";
- trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;
- divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));
- if (swiper.params.scrollbar.dragSize === "auto") {
- dragSize = trackSize * divider;
- } else {
- dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
- }
- if (swiper.isHorizontal()) {
- dragEl.style.width = `${dragSize}px`;
- } else {
- dragEl.style.height = `${dragSize}px`;
- }
- if (divider >= 1) {
- el.style.display = "none";
- } else {
- el.style.display = "";
- }
- if (swiper.params.scrollbar.hide) {
- el.style.opacity = 0;
- }
- if (swiper.params.watchOverflow && swiper.enabled) {
- scrollbar.el.classList[swiper.isLocked ? "add" : "remove"](swiper.params.scrollbar.lockClass);
- }
- }
- function getPointerPosition(e) {
- return swiper.isHorizontal() ? e.clientX : e.clientY;
- }
- function setDragPosition(e) {
- const {
- scrollbar,
- rtlTranslate: rtl
- } = swiper;
- const {
- el
- } = scrollbar;
- let positionRatio;
- positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? "left" : "top"] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
- positionRatio = Math.max(Math.min(positionRatio, 1), 0);
- if (rtl) {
- positionRatio = 1 - positionRatio;
- }
- const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
- swiper.updateProgress(position);
- swiper.setTranslate(position);
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
- function onDragStart(e) {
- const params = swiper.params.scrollbar;
- const {
- scrollbar,
- wrapperEl
- } = swiper;
- const {
- el,
- dragEl
- } = scrollbar;
- isTouched = true;
- dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? "left" : "top"] : null;
- e.preventDefault();
- e.stopPropagation();
- wrapperEl.style.transitionDuration = "100ms";
- dragEl.style.transitionDuration = "100ms";
- setDragPosition(e);
- clearTimeout(dragTimeout);
- el.style.transitionDuration = "0ms";
- if (params.hide) {
- el.style.opacity = 1;
- }
- if (swiper.params.cssMode) {
- swiper.wrapperEl.style["scroll-snap-type"] = "none";
- }
- emit("scrollbarDragStart", e);
- }
- function onDragMove(e) {
- const {
- scrollbar,
- wrapperEl
- } = swiper;
- const {
- el,
- dragEl
- } = scrollbar;
- if (!isTouched) return;
- if (e.preventDefault && e.cancelable) e.preventDefault();
- else e.returnValue = false;
- setDragPosition(e);
- wrapperEl.style.transitionDuration = "0ms";
- el.style.transitionDuration = "0ms";
- dragEl.style.transitionDuration = "0ms";
- emit("scrollbarDragMove", e);
- }
- function onDragEnd(e) {
- const params = swiper.params.scrollbar;
- const {
- scrollbar,
- wrapperEl
- } = swiper;
- const {
- el
- } = scrollbar;
- if (!isTouched) return;
- isTouched = false;
- if (swiper.params.cssMode) {
- swiper.wrapperEl.style["scroll-snap-type"] = "";
- wrapperEl.style.transitionDuration = "";
- }
- if (params.hide) {
- clearTimeout(dragTimeout);
- dragTimeout = nextTick(() => {
- el.style.opacity = 0;
- el.style.transitionDuration = "400ms";
- }, 1e3);
- }
- emit("scrollbarDragEnd", e);
- if (params.snapOnRelease) {
- swiper.slideToClosest();
- }
- }
- function events(method) {
- const {
- scrollbar,
- params
- } = swiper;
- const el = scrollbar.el;
- if (!el) return;
- const target = el;
- const activeListener = params.passiveListeners ? {
- passive: false,
- capture: false
- } : false;
- const passiveListener = params.passiveListeners ? {
- passive: true,
- capture: false
- } : false;
- if (!target) return;
- const eventMethod = method === "on" ? "addEventListener" : "removeEventListener";
- target[eventMethod]("pointerdown", onDragStart, activeListener);
- document2[eventMethod]("pointermove", onDragMove, activeListener);
- document2[eventMethod]("pointerup", onDragEnd, passiveListener);
- }
- function enableDraggable() {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- events("on");
- }
- function disableDraggable() {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- events("off");
- }
- function init() {
- const {
- scrollbar,
- el: swiperEl
- } = swiper;
- swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {
- el: "swiper-scrollbar"
- });
- const params = swiper.params.scrollbar;
- if (!params.el) return;
- let el;
- if (typeof params.el === "string" && swiper.isElement) {
- el = swiper.el.querySelector(params.el);
- }
- if (!el && typeof params.el === "string") {
- el = document2.querySelectorAll(params.el);
- if (!el.length) return;
- } else if (!el) {
- el = params.el;
- }
- if (swiper.params.uniqueNavElements && typeof params.el === "string" && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {
- el = swiperEl.querySelector(params.el);
- }
- if (el.length > 0) el = el[0];
- el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
- let dragEl;
- if (el) {
- dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));
- if (!dragEl) {
- dragEl = createElement("div", swiper.params.scrollbar.dragClass);
- el.append(dragEl);
- }
- }
- Object.assign(scrollbar, {
- el,
- dragEl
- });
- if (params.draggable) {
- enableDraggable();
- }
- if (el) {
- el.classList[swiper.enabled ? "remove" : "add"](...classesToTokens(swiper.params.scrollbar.lockClass));
- }
- }
- function destroy() {
- const params = swiper.params.scrollbar;
- const el = swiper.scrollbar.el;
- if (el) {
- el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass));
- }
- disableDraggable();
- }
- on("changeDirection", () => {
- if (!swiper.scrollbar || !swiper.scrollbar.el) return;
- const params = swiper.params.scrollbar;
- let {
- el
- } = swiper.scrollbar;
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.classList.remove(params.horizontalClass, params.verticalClass);
- subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
- });
- });
- on("init", () => {
- if (swiper.params.scrollbar.enabled === false) {
- disable();
- } else {
- init();
- updateSize();
- setTranslate();
- }
- });
- on("update resize observerUpdate lock unlock changeDirection", () => {
- updateSize();
- });
- on("setTranslate", () => {
- setTranslate();
- });
- on("setTransition", (_s, duration) => {
- setTransition(duration);
- });
- on("enable disable", () => {
- const {
- el
- } = swiper.scrollbar;
- if (el) {
- el.classList[swiper.enabled ? "remove" : "add"](...classesToTokens(swiper.params.scrollbar.lockClass));
- }
- });
- on("destroy", () => {
- destroy();
- });
- const enable = () => {
- swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
- if (swiper.scrollbar.el) {
- swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
- }
- init();
- updateSize();
- setTranslate();
- };
- const disable = () => {
- swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
- if (swiper.scrollbar.el) {
- swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
- }
- destroy();
- };
- Object.assign(swiper.scrollbar, {
- enable,
- disable,
- updateSize,
- setTranslate,
- init,
- destroy
- });
-}
-
-// node_modules/swiper/modules/parallax.mjs
-function Parallax(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- parallax: {
- enabled: false
- }
- });
- const elementsSelector = "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]";
- const setTransform = (el, progress) => {
- const {
- rtl
- } = swiper;
- const rtlFactor = rtl ? -1 : 1;
- const p = el.getAttribute("data-swiper-parallax") || "0";
- let x = el.getAttribute("data-swiper-parallax-x");
- let y = el.getAttribute("data-swiper-parallax-y");
- const scale = el.getAttribute("data-swiper-parallax-scale");
- const opacity = el.getAttribute("data-swiper-parallax-opacity");
- const rotate = el.getAttribute("data-swiper-parallax-rotate");
- if (x || y) {
- x = x || "0";
- y = y || "0";
- } else if (swiper.isHorizontal()) {
- x = p;
- y = "0";
- } else {
- y = p;
- x = "0";
- }
- if (x.indexOf("%") >= 0) {
- x = `${parseInt(x, 10) * progress * rtlFactor}%`;
- } else {
- x = `${x * progress * rtlFactor}px`;
- }
- if (y.indexOf("%") >= 0) {
- y = `${parseInt(y, 10) * progress}%`;
- } else {
- y = `${y * progress}px`;
- }
- if (typeof opacity !== "undefined" && opacity !== null) {
- const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
- el.style.opacity = currentOpacity;
- }
- let transform = `translate3d(${x}, ${y}, 0px)`;
- if (typeof scale !== "undefined" && scale !== null) {
- const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
- transform += ` scale(${currentScale})`;
- }
- if (rotate && typeof rotate !== "undefined" && rotate !== null) {
- const currentRotate = rotate * progress * -1;
- transform += ` rotate(${currentRotate}deg)`;
- }
- el.style.transform = transform;
- };
- const setTranslate = () => {
- const {
- el,
- slides,
- progress,
- snapGrid,
- isElement
- } = swiper;
- const elements = elementChildren(el, elementsSelector);
- if (swiper.isElement) {
- elements.push(...elementChildren(swiper.hostEl, elementsSelector));
- }
- elements.forEach((subEl) => {
- setTransform(subEl, progress);
- });
- slides.forEach((slideEl, slideIndex) => {
- let slideProgress = slideEl.progress;
- if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== "auto") {
- slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
- }
- slideProgress = Math.min(Math.max(slideProgress, -1), 1);
- slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach((subEl) => {
- setTransform(subEl, slideProgress);
- });
- });
- };
- const setTransition = function(duration) {
- if (duration === void 0) {
- duration = swiper.params.speed;
- }
- const {
- el,
- hostEl
- } = swiper;
- const elements = [...el.querySelectorAll(elementsSelector)];
- if (swiper.isElement) {
- elements.push(...hostEl.querySelectorAll(elementsSelector));
- }
- elements.forEach((parallaxEl) => {
- let parallaxDuration = parseInt(parallaxEl.getAttribute("data-swiper-parallax-duration"), 10) || duration;
- if (duration === 0) parallaxDuration = 0;
- parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;
- });
- };
- on("beforeInit", () => {
- if (!swiper.params.parallax.enabled) return;
- swiper.params.watchSlidesProgress = true;
- swiper.originalParams.watchSlidesProgress = true;
- });
- on("init", () => {
- if (!swiper.params.parallax.enabled) return;
- setTranslate();
- });
- on("setTranslate", () => {
- if (!swiper.params.parallax.enabled) return;
- setTranslate();
- });
- on("setTransition", (_swiper, duration) => {
- if (!swiper.params.parallax.enabled) return;
- setTransition(duration);
- });
-}
-
-// node_modules/swiper/modules/zoom.mjs
-function Zoom(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit
- } = _ref;
- const window2 = getWindow();
- extendParams({
- zoom: {
- enabled: false,
- limitToOriginalSize: false,
- maxRatio: 3,
- minRatio: 1,
- panOnMouseMove: false,
- toggle: true,
- containerClass: "swiper-zoom-container",
- zoomedSlideClass: "swiper-slide-zoomed"
- }
- });
- swiper.zoom = {
- enabled: false
- };
- let currentScale = 1;
- let isScaling = false;
- let isPanningWithMouse = false;
- let mousePanStart = {
- x: 0,
- y: 0
- };
- const mousePanSensitivity = -3;
- let fakeGestureTouched;
- let fakeGestureMoved;
- const evCache = [];
- const gesture = {
- originX: 0,
- originY: 0,
- slideEl: void 0,
- slideWidth: void 0,
- slideHeight: void 0,
- imageEl: void 0,
- imageWrapEl: void 0,
- maxRatio: 3
- };
- const image = {
- isTouched: void 0,
- isMoved: void 0,
- currentX: void 0,
- currentY: void 0,
- minX: void 0,
- minY: void 0,
- maxX: void 0,
- maxY: void 0,
- width: void 0,
- height: void 0,
- startX: void 0,
- startY: void 0,
- touchesStart: {},
- touchesCurrent: {}
- };
- const velocity = {
- x: void 0,
- y: void 0,
- prevPositionX: void 0,
- prevPositionY: void 0,
- prevTime: void 0
- };
- let scale = 1;
- Object.defineProperty(swiper.zoom, "scale", {
- get() {
- return scale;
- },
- set(value) {
- if (scale !== value) {
- const imageEl = gesture.imageEl;
- const slideEl = gesture.slideEl;
- emit("zoomChange", value, imageEl, slideEl);
- }
- scale = value;
- }
- });
- function getDistanceBetweenTouches() {
- if (evCache.length < 2) return 1;
- const x1 = evCache[0].pageX;
- const y1 = evCache[0].pageY;
- const x2 = evCache[1].pageX;
- const y2 = evCache[1].pageY;
- const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
- return distance;
- }
- function getMaxRatio() {
- const params = swiper.params.zoom;
- const maxRatio = gesture.imageWrapEl.getAttribute("data-swiper-zoom") || params.maxRatio;
- if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) {
- const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth;
- return Math.min(imageMaxRatio, maxRatio);
- }
- return maxRatio;
- }
- function getScaleOrigin() {
- if (evCache.length < 2) return {
- x: null,
- y: null
- };
- const box = gesture.imageEl.getBoundingClientRect();
- return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window2.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window2.scrollY) / currentScale];
- }
- function getSlideSelector() {
- return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
- }
- function eventWithinSlide(e) {
- const slideSelector = getSlideSelector();
- if (e.target.matches(slideSelector)) return true;
- if (swiper.slides.filter((slideEl) => slideEl.contains(e.target)).length > 0) return true;
- return false;
- }
- function eventWithinZoomContainer(e) {
- const selector = `.${swiper.params.zoom.containerClass}`;
- if (e.target.matches(selector)) return true;
- if ([...swiper.hostEl.querySelectorAll(selector)].filter((containerEl) => containerEl.contains(e.target)).length > 0) return true;
- return false;
- }
- function onGestureStart(e) {
- if (e.pointerType === "mouse") {
- evCache.splice(0, evCache.length);
- }
- if (!eventWithinSlide(e)) return;
- const params = swiper.params.zoom;
- fakeGestureTouched = false;
- fakeGestureMoved = false;
- evCache.push(e);
- if (evCache.length < 2) {
- return;
- }
- fakeGestureTouched = true;
- gesture.scaleStart = getDistanceBetweenTouches();
- if (!gesture.slideEl) {
- gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
- if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];
- let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
- if (imageEl) {
- imageEl = imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0];
- }
- gesture.imageEl = imageEl;
- if (imageEl) {
- gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];
- } else {
- gesture.imageWrapEl = void 0;
- }
- if (!gesture.imageWrapEl) {
- gesture.imageEl = void 0;
- return;
- }
- gesture.maxRatio = getMaxRatio();
- }
- if (gesture.imageEl) {
- const [originX, originY] = getScaleOrigin();
- gesture.originX = originX;
- gesture.originY = originY;
- gesture.imageEl.style.transitionDuration = "0ms";
- }
- isScaling = true;
- }
- function onGestureChange(e) {
- if (!eventWithinSlide(e)) return;
- const params = swiper.params.zoom;
- const zoom = swiper.zoom;
- const pointerIndex = evCache.findIndex((cachedEv) => cachedEv.pointerId === e.pointerId);
- if (pointerIndex >= 0) evCache[pointerIndex] = e;
- if (evCache.length < 2) {
- return;
- }
- fakeGestureMoved = true;
- gesture.scaleMove = getDistanceBetweenTouches();
- if (!gesture.imageEl) {
- return;
- }
- zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;
- if (zoom.scale > gesture.maxRatio) {
- zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
- }
- if (zoom.scale < params.minRatio) {
- zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
- }
- gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
- }
- function onGestureEnd(e) {
- if (!eventWithinSlide(e)) return;
- if (e.pointerType === "mouse" && e.type === "pointerout") return;
- const params = swiper.params.zoom;
- const zoom = swiper.zoom;
- const pointerIndex = evCache.findIndex((cachedEv) => cachedEv.pointerId === e.pointerId);
- if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);
- if (!fakeGestureTouched || !fakeGestureMoved) {
- return;
- }
- fakeGestureTouched = false;
- fakeGestureMoved = false;
- if (!gesture.imageEl) return;
- zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
- gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;
- gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
- currentScale = zoom.scale;
- isScaling = false;
- if (zoom.scale > 1 && gesture.slideEl) {
- gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
- } else if (zoom.scale <= 1 && gesture.slideEl) {
- gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
- }
- if (zoom.scale === 1) {
- gesture.originX = 0;
- gesture.originY = 0;
- gesture.slideEl = void 0;
- }
- }
- let allowTouchMoveTimeout;
- function allowTouchMove() {
- swiper.touchEventsData.preventTouchMoveFromPointerMove = false;
- }
- function preventTouchMove() {
- clearTimeout(allowTouchMoveTimeout);
- swiper.touchEventsData.preventTouchMoveFromPointerMove = true;
- allowTouchMoveTimeout = setTimeout(() => {
- if (swiper.destroyed) return;
- allowTouchMove();
- });
- }
- function onTouchStart(e) {
- const device = swiper.device;
- if (!gesture.imageEl) return;
- if (image.isTouched) return;
- if (device.android && e.cancelable) e.preventDefault();
- image.isTouched = true;
- const event2 = evCache.length > 0 ? evCache[0] : e;
- image.touchesStart.x = event2.pageX;
- image.touchesStart.y = event2.pageY;
- }
- function onTouchMove(e) {
- const isMouseEvent = e.pointerType === "mouse";
- const isMousePan = isMouseEvent && swiper.params.zoom.panOnMouseMove;
- if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) {
- return;
- }
- const zoom = swiper.zoom;
- if (!gesture.imageEl) {
- return;
- }
- if (!image.isTouched || !gesture.slideEl) {
- if (isMousePan) onMouseMove(e);
- return;
- }
- if (isMousePan) {
- onMouseMove(e);
- return;
- }
- if (!image.isMoved) {
- image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;
- image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;
- image.startX = getTranslate(gesture.imageWrapEl, "x") || 0;
- image.startY = getTranslate(gesture.imageWrapEl, "y") || 0;
- gesture.slideWidth = gesture.slideEl.offsetWidth;
- gesture.slideHeight = gesture.slideEl.offsetHeight;
- gesture.imageWrapEl.style.transitionDuration = "0ms";
- }
- const scaledWidth = image.width * zoom.scale;
- const scaledHeight = image.height * zoom.scale;
- image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
- image.maxX = -image.minX;
- image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
- image.maxY = -image.minY;
- image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;
- image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;
- const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));
- if (touchesDiff > 5) {
- swiper.allowClick = false;
- }
- if (!image.isMoved && !isScaling) {
- if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
- image.isTouched = false;
- allowTouchMove();
- return;
- }
- if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
- image.isTouched = false;
- allowTouchMove();
- return;
- }
- }
- if (e.cancelable) {
- e.preventDefault();
- }
- e.stopPropagation();
- preventTouchMove();
- image.isMoved = true;
- const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);
- const {
- originX,
- originY
- } = gesture;
- image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);
- image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);
- if (image.currentX < image.minX) {
- image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
- }
- if (image.currentX > image.maxX) {
- image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
- }
- if (image.currentY < image.minY) {
- image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
- }
- if (image.currentY > image.maxY) {
- image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
- }
- if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
- if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
- if (!velocity.prevTime) velocity.prevTime = Date.now();
- velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
- velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
- if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
- if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
- velocity.prevPositionX = image.touchesCurrent.x;
- velocity.prevPositionY = image.touchesCurrent.y;
- velocity.prevTime = Date.now();
- gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;
- }
- function onTouchEnd() {
- const zoom = swiper.zoom;
- evCache.length = 0;
- if (!gesture.imageEl) return;
- if (!image.isTouched || !image.isMoved) {
- image.isTouched = false;
- image.isMoved = false;
- return;
- }
- image.isTouched = false;
- image.isMoved = false;
- let momentumDurationX = 300;
- let momentumDurationY = 300;
- const momentumDistanceX = velocity.x * momentumDurationX;
- const newPositionX = image.currentX + momentumDistanceX;
- const momentumDistanceY = velocity.y * momentumDurationY;
- const newPositionY = image.currentY + momentumDistanceY;
- if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
- if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
- const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
- image.currentX = newPositionX;
- image.currentY = newPositionY;
- const scaledWidth = image.width * zoom.scale;
- const scaledHeight = image.height * zoom.scale;
- image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
- image.maxX = -image.minX;
- image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
- image.maxY = -image.minY;
- image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
- image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
- gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;
- gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;
- }
- function onTransitionEnd() {
- const zoom = swiper.zoom;
- if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {
- if (gesture.imageEl) {
- gesture.imageEl.style.transform = "translate3d(0,0,0) scale(1)";
- }
- if (gesture.imageWrapEl) {
- gesture.imageWrapEl.style.transform = "translate3d(0,0,0)";
- }
- gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);
- zoom.scale = 1;
- currentScale = 1;
- gesture.slideEl = void 0;
- gesture.imageEl = void 0;
- gesture.imageWrapEl = void 0;
- gesture.originX = 0;
- gesture.originY = 0;
- }
- }
- function onMouseMove(e) {
- if (currentScale <= 1 || !gesture.imageWrapEl) return;
- if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;
- const currentTransform = window2.getComputedStyle(gesture.imageWrapEl).transform;
- const matrix = new window2.DOMMatrix(currentTransform);
- if (!isPanningWithMouse) {
- isPanningWithMouse = true;
- mousePanStart.x = e.clientX;
- mousePanStart.y = e.clientY;
- image.startX = matrix.e;
- image.startY = matrix.f;
- image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;
- image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;
- gesture.slideWidth = gesture.slideEl.offsetWidth;
- gesture.slideHeight = gesture.slideEl.offsetHeight;
- return;
- }
- const deltaX = (e.clientX - mousePanStart.x) * mousePanSensitivity;
- const deltaY = (e.clientY - mousePanStart.y) * mousePanSensitivity;
- const scaledWidth = image.width * currentScale;
- const scaledHeight = image.height * currentScale;
- const slideWidth = gesture.slideWidth;
- const slideHeight = gesture.slideHeight;
- const minX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
- const maxX = -minX;
- const minY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
- const maxY = -minY;
- const newX = Math.max(Math.min(image.startX + deltaX, maxX), minX);
- const newY = Math.max(Math.min(image.startY + deltaY, maxY), minY);
- gesture.imageWrapEl.style.transitionDuration = "0ms";
- gesture.imageWrapEl.style.transform = `translate3d(${newX}px, ${newY}px, 0)`;
- mousePanStart.x = e.clientX;
- mousePanStart.y = e.clientY;
- image.startX = newX;
- image.startY = newY;
- }
- function zoomIn(e) {
- const zoom = swiper.zoom;
- const params = swiper.params.zoom;
- if (!gesture.slideEl) {
- if (e && e.target) {
- gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
- }
- if (!gesture.slideEl) {
- if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
- gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
- } else {
- gesture.slideEl = swiper.slides[swiper.activeIndex];
- }
- }
- let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
- if (imageEl) {
- imageEl = imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0];
- }
- gesture.imageEl = imageEl;
- if (imageEl) {
- gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];
- } else {
- gesture.imageWrapEl = void 0;
- }
- }
- if (!gesture.imageEl || !gesture.imageWrapEl) return;
- if (swiper.params.cssMode) {
- swiper.wrapperEl.style.overflow = "hidden";
- swiper.wrapperEl.style.touchAction = "none";
- }
- gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
- let touchX;
- let touchY;
- let offsetX;
- let offsetY;
- let diffX;
- let diffY;
- let translateX;
- let translateY;
- let imageWidth;
- let imageHeight;
- let scaledWidth;
- let scaledHeight;
- let translateMinX;
- let translateMinY;
- let translateMaxX;
- let translateMaxY;
- let slideWidth;
- let slideHeight;
- if (typeof image.touchesStart.x === "undefined" && e) {
- touchX = e.pageX;
- touchY = e.pageY;
- } else {
- touchX = image.touchesStart.x;
- touchY = image.touchesStart.y;
- }
- const forceZoomRatio = typeof e === "number" ? e : null;
- if (currentScale === 1 && forceZoomRatio) {
- touchX = void 0;
- touchY = void 0;
- image.touchesStart.x = void 0;
- image.touchesStart.y = void 0;
- }
- const maxRatio = getMaxRatio();
- zoom.scale = forceZoomRatio || maxRatio;
- currentScale = forceZoomRatio || maxRatio;
- if (e && !(currentScale === 1 && forceZoomRatio)) {
- slideWidth = gesture.slideEl.offsetWidth;
- slideHeight = gesture.slideEl.offsetHeight;
- offsetX = elementOffset(gesture.slideEl).left + window2.scrollX;
- offsetY = elementOffset(gesture.slideEl).top + window2.scrollY;
- diffX = offsetX + slideWidth / 2 - touchX;
- diffY = offsetY + slideHeight / 2 - touchY;
- imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;
- imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;
- scaledWidth = imageWidth * zoom.scale;
- scaledHeight = imageHeight * zoom.scale;
- translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
- translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
- translateMaxX = -translateMinX;
- translateMaxY = -translateMinY;
- translateX = diffX * zoom.scale;
- translateY = diffY * zoom.scale;
- if (translateX < translateMinX) {
- translateX = translateMinX;
- }
- if (translateX > translateMaxX) {
- translateX = translateMaxX;
- }
- if (translateY < translateMinY) {
- translateY = translateMinY;
- }
- if (translateY > translateMaxY) {
- translateY = translateMaxY;
- }
- } else {
- translateX = 0;
- translateY = 0;
- }
- if (forceZoomRatio && zoom.scale === 1) {
- gesture.originX = 0;
- gesture.originY = 0;
- }
- gesture.imageWrapEl.style.transitionDuration = "300ms";
- gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;
- gesture.imageEl.style.transitionDuration = "300ms";
- gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
- }
- function zoomOut() {
- const zoom = swiper.zoom;
- const params = swiper.params.zoom;
- if (!gesture.slideEl) {
- if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
- gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
- } else {
- gesture.slideEl = swiper.slides[swiper.activeIndex];
- }
- let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
- if (imageEl) {
- imageEl = imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0];
- }
- gesture.imageEl = imageEl;
- if (imageEl) {
- gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];
- } else {
- gesture.imageWrapEl = void 0;
- }
- }
- if (!gesture.imageEl || !gesture.imageWrapEl) return;
- if (swiper.params.cssMode) {
- swiper.wrapperEl.style.overflow = "";
- swiper.wrapperEl.style.touchAction = "";
- }
- zoom.scale = 1;
- currentScale = 1;
- image.touchesStart.x = void 0;
- image.touchesStart.y = void 0;
- gesture.imageWrapEl.style.transitionDuration = "300ms";
- gesture.imageWrapEl.style.transform = "translate3d(0,0,0)";
- gesture.imageEl.style.transitionDuration = "300ms";
- gesture.imageEl.style.transform = "translate3d(0,0,0) scale(1)";
- gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
- gesture.slideEl = void 0;
- gesture.originX = 0;
- gesture.originY = 0;
- if (swiper.params.zoom.panOnMouseMove) {
- mousePanStart = {
- x: 0,
- y: 0
- };
- if (isPanningWithMouse) {
- isPanningWithMouse = false;
- image.startX = 0;
- image.startY = 0;
- }
- }
- }
- function zoomToggle(e) {
- const zoom = swiper.zoom;
- if (zoom.scale && zoom.scale !== 1) {
- zoomOut();
- } else {
- zoomIn(e);
- }
- }
- function getListeners() {
- const passiveListener = swiper.params.passiveListeners ? {
- passive: true,
- capture: false
- } : false;
- const activeListenerWithCapture = swiper.params.passiveListeners ? {
- passive: false,
- capture: true
- } : true;
- return {
- passiveListener,
- activeListenerWithCapture
- };
- }
- function enable() {
- const zoom = swiper.zoom;
- if (zoom.enabled) return;
- zoom.enabled = true;
- const {
- passiveListener,
- activeListenerWithCapture
- } = getListeners();
- swiper.wrapperEl.addEventListener("pointerdown", onGestureStart, passiveListener);
- swiper.wrapperEl.addEventListener("pointermove", onGestureChange, activeListenerWithCapture);
- ["pointerup", "pointercancel", "pointerout"].forEach((eventName) => {
- swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);
- });
- swiper.wrapperEl.addEventListener("pointermove", onTouchMove, activeListenerWithCapture);
- }
- function disable() {
- const zoom = swiper.zoom;
- if (!zoom.enabled) return;
- zoom.enabled = false;
- const {
- passiveListener,
- activeListenerWithCapture
- } = getListeners();
- swiper.wrapperEl.removeEventListener("pointerdown", onGestureStart, passiveListener);
- swiper.wrapperEl.removeEventListener("pointermove", onGestureChange, activeListenerWithCapture);
- ["pointerup", "pointercancel", "pointerout"].forEach((eventName) => {
- swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);
- });
- swiper.wrapperEl.removeEventListener("pointermove", onTouchMove, activeListenerWithCapture);
- }
- on("init", () => {
- if (swiper.params.zoom.enabled) {
- enable();
- }
- });
- on("destroy", () => {
- disable();
- });
- on("touchStart", (_s, e) => {
- if (!swiper.zoom.enabled) return;
- onTouchStart(e);
- });
- on("touchEnd", (_s, e) => {
- if (!swiper.zoom.enabled) return;
- onTouchEnd();
- });
- on("doubleTap", (_s, e) => {
- if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
- zoomToggle(e);
- }
- });
- on("transitionEnd", () => {
- if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
- onTransitionEnd();
- }
- });
- on("slideChange", () => {
- if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
- onTransitionEnd();
- }
- });
- Object.assign(swiper.zoom, {
- enable,
- disable,
- in: zoomIn,
- out: zoomOut,
- toggle: zoomToggle
- });
-}
-
-// node_modules/swiper/modules/controller.mjs
-function Controller(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- controller: {
- control: void 0,
- inverse: false,
- by: "slide"
- // or 'container'
- }
- });
- swiper.controller = {
- control: void 0
- };
- function LinearSpline(x, y) {
- const binarySearch = /* @__PURE__ */ function search() {
- let maxIndex;
- let minIndex;
- let guess;
- return (array, val) => {
- minIndex = -1;
- maxIndex = array.length;
- while (maxIndex - minIndex > 1) {
- guess = maxIndex + minIndex >> 1;
- if (array[guess] <= val) {
- minIndex = guess;
- } else {
- maxIndex = guess;
- }
- }
- return maxIndex;
- };
- }();
- this.x = x;
- this.y = y;
- this.lastIndex = x.length - 1;
- let i1;
- let i3;
- this.interpolate = function interpolate(x2) {
- if (!x2) return 0;
- i3 = binarySearch(this.x, x2);
- i1 = i3 - 1;
- return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
- };
- return this;
- }
- function getInterpolateFunction(c) {
- swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);
- }
- function setTranslate(_t, byController) {
- const controlled = swiper.controller.control;
- let multiplier;
- let controlledTranslate;
- const Swiper = swiper.constructor;
- function setControlledTranslate(c) {
- if (c.destroyed) return;
- const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
- if (swiper.params.controller.by === "slide") {
- getInterpolateFunction(c);
- controlledTranslate = -swiper.controller.spline.interpolate(-translate);
- }
- if (!controlledTranslate || swiper.params.controller.by === "container") {
- multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
- if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {
- multiplier = 1;
- }
- controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
- }
- if (swiper.params.controller.inverse) {
- controlledTranslate = c.maxTranslate() - controlledTranslate;
- }
- c.updateProgress(controlledTranslate);
- c.setTranslate(controlledTranslate, swiper);
- c.updateActiveIndex();
- c.updateSlidesClasses();
- }
- if (Array.isArray(controlled)) {
- for (let i = 0; i < controlled.length; i += 1) {
- if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
- setControlledTranslate(controlled[i]);
- }
- }
- } else if (controlled instanceof Swiper && byController !== controlled) {
- setControlledTranslate(controlled);
- }
- }
- function setTransition(duration, byController) {
- const Swiper = swiper.constructor;
- const controlled = swiper.controller.control;
- let i;
- function setControlledTransition(c) {
- if (c.destroyed) return;
- c.setTransition(duration, swiper);
- if (duration !== 0) {
- c.transitionStart();
- if (c.params.autoHeight) {
- nextTick(() => {
- c.updateAutoHeight();
- });
- }
- elementTransitionEnd(c.wrapperEl, () => {
- if (!controlled) return;
- c.transitionEnd();
- });
- }
- }
- if (Array.isArray(controlled)) {
- for (i = 0; i < controlled.length; i += 1) {
- if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
- setControlledTransition(controlled[i]);
- }
- }
- } else if (controlled instanceof Swiper && byController !== controlled) {
- setControlledTransition(controlled);
- }
- }
- function removeSpline() {
- if (!swiper.controller.control) return;
- if (swiper.controller.spline) {
- swiper.controller.spline = void 0;
- delete swiper.controller.spline;
- }
- }
- on("beforeInit", () => {
- if (typeof window !== "undefined" && // eslint-disable-line
- (typeof swiper.params.controller.control === "string" || swiper.params.controller.control instanceof HTMLElement)) {
- const controlElements = typeof swiper.params.controller.control === "string" ? [...document.querySelectorAll(swiper.params.controller.control)] : [swiper.params.controller.control];
- controlElements.forEach((controlElement) => {
- if (!swiper.controller.control) swiper.controller.control = [];
- if (controlElement && controlElement.swiper) {
- swiper.controller.control.push(controlElement.swiper);
- } else if (controlElement) {
- const eventName = `${swiper.params.eventsPrefix}init`;
- const onControllerSwiper = (e) => {
- swiper.controller.control.push(e.detail[0]);
- swiper.update();
- controlElement.removeEventListener(eventName, onControllerSwiper);
- };
- controlElement.addEventListener(eventName, onControllerSwiper);
- }
- });
- return;
- }
- swiper.controller.control = swiper.params.controller.control;
- });
- on("update", () => {
- removeSpline();
- });
- on("resize", () => {
- removeSpline();
- });
- on("observerUpdate", () => {
- removeSpline();
- });
- on("setTranslate", (_s, translate, byController) => {
- if (!swiper.controller.control || swiper.controller.control.destroyed) return;
- swiper.controller.setTranslate(translate, byController);
- });
- on("setTransition", (_s, duration, byController) => {
- if (!swiper.controller.control || swiper.controller.control.destroyed) return;
- swiper.controller.setTransition(duration, byController);
- });
- Object.assign(swiper.controller, {
- setTranslate,
- setTransition
- });
-}
-
-// node_modules/swiper/modules/a11y.mjs
-function A11y(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- a11y: {
- enabled: true,
- notificationClass: "swiper-notification",
- prevSlideMessage: "Previous slide",
- nextSlideMessage: "Next slide",
- firstSlideMessage: "This is the first slide",
- lastSlideMessage: "This is the last slide",
- paginationBulletMessage: "Go to slide {{index}}",
- slideLabelMessage: "{{index}} / {{slidesLength}}",
- containerMessage: null,
- containerRoleDescriptionMessage: null,
- containerRole: null,
- itemRoleDescriptionMessage: null,
- slideRole: "group",
- id: null,
- scrollOnFocus: true
- }
- });
- swiper.a11y = {
- clicked: false
- };
- let liveRegion = null;
- let preventFocusHandler;
- let focusTargetSlideEl;
- let visibilityChangedTimestamp = (/* @__PURE__ */ new Date()).getTime();
- function notify(message) {
- const notification = liveRegion;
- if (notification.length === 0) return;
- notification.innerHTML = "";
- notification.innerHTML = message;
- }
- function getRandomNumber(size) {
- if (size === void 0) {
- size = 16;
- }
- const randomChar = () => Math.round(16 * Math.random()).toString(16);
- return "x".repeat(size).replace(/x/g, randomChar);
- }
- function makeElFocusable(el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("tabIndex", "0");
- });
- }
- function makeElNotFocusable(el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("tabIndex", "-1");
- });
- }
- function addElRole(el, role) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("role", role);
- });
- }
- function addElRoleDescription(el, description) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("aria-roledescription", description);
- });
- }
- function addElControls(el, controls) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("aria-controls", controls);
- });
- }
- function addElLabel(el, label) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("aria-label", label);
- });
- }
- function addElId(el, id) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("id", id);
- });
- }
- function addElLive(el, live) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("aria-live", live);
- });
- }
- function disableEl(el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("aria-disabled", true);
- });
- }
- function enableEl(el) {
- el = makeElementsArray(el);
- el.forEach((subEl) => {
- subEl.setAttribute("aria-disabled", false);
- });
- }
- function onEnterOrSpaceKey(e) {
- if (e.keyCode !== 13 && e.keyCode !== 32) return;
- const params = swiper.params.a11y;
- const targetEl = e.target;
- if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {
- if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;
- }
- if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) {
- const prevEls = makeElementsArray(swiper.navigation.prevEl);
- const nextEls = makeElementsArray(swiper.navigation.nextEl);
- if (nextEls.includes(targetEl)) {
- if (!(swiper.isEnd && !swiper.params.loop)) {
- swiper.slideNext();
- }
- if (swiper.isEnd) {
- notify(params.lastSlideMessage);
- } else {
- notify(params.nextSlideMessage);
- }
- }
- if (prevEls.includes(targetEl)) {
- if (!(swiper.isBeginning && !swiper.params.loop)) {
- swiper.slidePrev();
- }
- if (swiper.isBeginning) {
- notify(params.firstSlideMessage);
- } else {
- notify(params.prevSlideMessage);
- }
- }
- }
- if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) {
- targetEl.click();
- }
- }
- function updateNavigation() {
- if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;
- const {
- nextEl,
- prevEl
- } = swiper.navigation;
- if (prevEl) {
- if (swiper.isBeginning) {
- disableEl(prevEl);
- makeElNotFocusable(prevEl);
- } else {
- enableEl(prevEl);
- makeElFocusable(prevEl);
- }
- }
- if (nextEl) {
- if (swiper.isEnd) {
- disableEl(nextEl);
- makeElNotFocusable(nextEl);
- } else {
- enableEl(nextEl);
- makeElFocusable(nextEl);
- }
- }
- }
- function hasPagination() {
- return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;
- }
- function hasClickablePagination() {
- return hasPagination() && swiper.params.pagination.clickable;
- }
- function updatePagination() {
- const params = swiper.params.a11y;
- if (!hasPagination()) return;
- swiper.pagination.bullets.forEach((bulletEl) => {
- if (swiper.params.pagination.clickable) {
- makeElFocusable(bulletEl);
- if (!swiper.params.pagination.renderBullet) {
- addElRole(bulletEl, "button");
- addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1));
- }
- }
- if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) {
- bulletEl.setAttribute("aria-current", "true");
- } else {
- bulletEl.removeAttribute("aria-current");
- }
- });
- }
- const initNavEl = (el, wrapperId, message) => {
- makeElFocusable(el);
- if (el.tagName !== "BUTTON") {
- addElRole(el, "button");
- el.addEventListener("keydown", onEnterOrSpaceKey);
- }
- addElLabel(el, message);
- addElControls(el, wrapperId);
- };
- const handlePointerDown = (e) => {
- if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) {
- preventFocusHandler = true;
- }
- swiper.a11y.clicked = true;
- };
- const handlePointerUp = () => {
- preventFocusHandler = false;
- requestAnimationFrame(() => {
- requestAnimationFrame(() => {
- if (!swiper.destroyed) {
- swiper.a11y.clicked = false;
- }
- });
- });
- };
- const onVisibilityChange = (e) => {
- visibilityChangedTimestamp = (/* @__PURE__ */ new Date()).getTime();
- };
- const handleFocus = (e) => {
- if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return;
- if ((/* @__PURE__ */ new Date()).getTime() - visibilityChangedTimestamp < 100) return;
- const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
- if (!slideEl || !swiper.slides.includes(slideEl)) return;
- focusTargetSlideEl = slideEl;
- const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;
- const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
- if (isActive || isVisible) return;
- if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;
- if (swiper.isHorizontal()) {
- swiper.el.scrollLeft = 0;
- } else {
- swiper.el.scrollTop = 0;
- }
- requestAnimationFrame(() => {
- if (preventFocusHandler) return;
- if (swiper.params.loop) {
- swiper.slideToLoop(parseInt(slideEl.getAttribute("data-swiper-slide-index")), 0);
- } else {
- swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
- }
- preventFocusHandler = false;
- });
- };
- const initSlides = () => {
- const params = swiper.params.a11y;
- if (params.itemRoleDescriptionMessage) {
- addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);
- }
- if (params.slideRole) {
- addElRole(swiper.slides, params.slideRole);
- }
- const slidesLength = swiper.slides.length;
- if (params.slideLabelMessage) {
- swiper.slides.forEach((slideEl, index) => {
- const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute("data-swiper-slide-index"), 10) : index;
- const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength);
- addElLabel(slideEl, ariaLabelMessage);
- });
- }
- };
- const init = () => {
- const params = swiper.params.a11y;
- swiper.el.append(liveRegion);
- const containerEl = swiper.el;
- if (params.containerRoleDescriptionMessage) {
- addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);
- }
- if (params.containerMessage) {
- addElLabel(containerEl, params.containerMessage);
- }
- if (params.containerRole) {
- addElRole(containerEl, params.containerRole);
- }
- const wrapperEl = swiper.wrapperEl;
- const wrapperId = params.id || wrapperEl.getAttribute("id") || `swiper-wrapper-${getRandomNumber(16)}`;
- const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? "off" : "polite";
- addElId(wrapperEl, wrapperId);
- addElLive(wrapperEl, live);
- initSlides();
- let {
- nextEl,
- prevEl
- } = swiper.navigation ? swiper.navigation : {};
- nextEl = makeElementsArray(nextEl);
- prevEl = makeElementsArray(prevEl);
- if (nextEl) {
- nextEl.forEach((el) => initNavEl(el, wrapperId, params.nextSlideMessage));
- }
- if (prevEl) {
- prevEl.forEach((el) => initNavEl(el, wrapperId, params.prevSlideMessage));
- }
- if (hasClickablePagination()) {
- const paginationEl = makeElementsArray(swiper.pagination.el);
- paginationEl.forEach((el) => {
- el.addEventListener("keydown", onEnterOrSpaceKey);
- });
- }
- const document2 = getDocument();
- document2.addEventListener("visibilitychange", onVisibilityChange);
- swiper.el.addEventListener("focus", handleFocus, true);
- swiper.el.addEventListener("focus", handleFocus, true);
- swiper.el.addEventListener("pointerdown", handlePointerDown, true);
- swiper.el.addEventListener("pointerup", handlePointerUp, true);
- };
- function destroy() {
- if (liveRegion) liveRegion.remove();
- let {
- nextEl,
- prevEl
- } = swiper.navigation ? swiper.navigation : {};
- nextEl = makeElementsArray(nextEl);
- prevEl = makeElementsArray(prevEl);
- if (nextEl) {
- nextEl.forEach((el) => el.removeEventListener("keydown", onEnterOrSpaceKey));
- }
- if (prevEl) {
- prevEl.forEach((el) => el.removeEventListener("keydown", onEnterOrSpaceKey));
- }
- if (hasClickablePagination()) {
- const paginationEl = makeElementsArray(swiper.pagination.el);
- paginationEl.forEach((el) => {
- el.removeEventListener("keydown", onEnterOrSpaceKey);
- });
- }
- const document2 = getDocument();
- document2.removeEventListener("visibilitychange", onVisibilityChange);
- if (swiper.el && typeof swiper.el !== "string") {
- swiper.el.removeEventListener("focus", handleFocus, true);
- swiper.el.removeEventListener("pointerdown", handlePointerDown, true);
- swiper.el.removeEventListener("pointerup", handlePointerUp, true);
- }
- }
- on("beforeInit", () => {
- liveRegion = createElement("span", swiper.params.a11y.notificationClass);
- liveRegion.setAttribute("aria-live", "assertive");
- liveRegion.setAttribute("aria-atomic", "true");
- });
- on("afterInit", () => {
- if (!swiper.params.a11y.enabled) return;
- init();
- });
- on("slidesLengthChange snapGridLengthChange slidesGridLengthChange", () => {
- if (!swiper.params.a11y.enabled) return;
- initSlides();
- });
- on("fromEdge toEdge afterInit lock unlock", () => {
- if (!swiper.params.a11y.enabled) return;
- updateNavigation();
- });
- on("paginationUpdate", () => {
- if (!swiper.params.a11y.enabled) return;
- updatePagination();
- });
- on("destroy", () => {
- if (!swiper.params.a11y.enabled) return;
- destroy();
- });
-}
-
-// node_modules/swiper/modules/history.mjs
-function History(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- history: {
- enabled: false,
- root: "",
- replaceState: false,
- key: "slides",
- keepQuery: false
- }
- });
- let initialized = false;
- let paths = {};
- const slugify = (text) => {
- return text.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
- };
- const getPathValues = (urlOverride) => {
- const window2 = getWindow();
- let location;
- if (urlOverride) {
- location = new URL(urlOverride);
- } else {
- location = window2.location;
- }
- const pathArray = location.pathname.slice(1).split("/").filter((part) => part !== "");
- const total = pathArray.length;
- const key = pathArray[total - 2];
- const value = pathArray[total - 1];
- return {
- key,
- value
- };
- };
- const setHistory = (key, index) => {
- const window2 = getWindow();
- if (!initialized || !swiper.params.history.enabled) return;
- let location;
- if (swiper.params.url) {
- location = new URL(swiper.params.url);
- } else {
- location = window2.location;
- }
- const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`) : swiper.slides[index];
- let value = slugify(slide.getAttribute("data-history"));
- if (swiper.params.history.root.length > 0) {
- let root = swiper.params.history.root;
- if (root[root.length - 1] === "/") root = root.slice(0, root.length - 1);
- value = `${root}/${key ? `${key}/` : ""}${value}`;
- } else if (!location.pathname.includes(key)) {
- value = `${key ? `${key}/` : ""}${value}`;
- }
- if (swiper.params.history.keepQuery) {
- value += location.search;
- }
- const currentState = window2.history.state;
- if (currentState && currentState.value === value) {
- return;
- }
- if (swiper.params.history.replaceState) {
- window2.history.replaceState({
- value
- }, null, value);
- } else {
- window2.history.pushState({
- value
- }, null, value);
- }
- };
- const scrollToSlide = (speed, value, runCallbacks) => {
- if (value) {
- for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
- const slide = swiper.slides[i];
- const slideHistory = slugify(slide.getAttribute("data-history"));
- if (slideHistory === value) {
- const index = swiper.getSlideIndex(slide);
- swiper.slideTo(index, speed, runCallbacks);
- }
- }
- } else {
- swiper.slideTo(0, speed, runCallbacks);
- }
- };
- const setHistoryPopState = () => {
- paths = getPathValues(swiper.params.url);
- scrollToSlide(swiper.params.speed, paths.value, false);
- };
- const init = () => {
- const window2 = getWindow();
- if (!swiper.params.history) return;
- if (!window2.history || !window2.history.pushState) {
- swiper.params.history.enabled = false;
- swiper.params.hashNavigation.enabled = true;
- return;
- }
- initialized = true;
- paths = getPathValues(swiper.params.url);
- if (!paths.key && !paths.value) {
- if (!swiper.params.history.replaceState) {
- window2.addEventListener("popstate", setHistoryPopState);
- }
- return;
- }
- scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
- if (!swiper.params.history.replaceState) {
- window2.addEventListener("popstate", setHistoryPopState);
- }
- };
- const destroy = () => {
- const window2 = getWindow();
- if (!swiper.params.history.replaceState) {
- window2.removeEventListener("popstate", setHistoryPopState);
- }
- };
- on("init", () => {
- if (swiper.params.history.enabled) {
- init();
- }
- });
- on("destroy", () => {
- if (swiper.params.history.enabled) {
- destroy();
- }
- });
- on("transitionEnd _freeModeNoMomentumRelease", () => {
- if (initialized) {
- setHistory(swiper.params.history.key, swiper.activeIndex);
- }
- });
- on("slideChange", () => {
- if (initialized && swiper.params.cssMode) {
- setHistory(swiper.params.history.key, swiper.activeIndex);
- }
- });
-}
-
-// node_modules/swiper/modules/hash-navigation.mjs
-function HashNavigation(_ref) {
- let {
- swiper,
- extendParams,
- emit,
- on
- } = _ref;
- let initialized = false;
- const document2 = getDocument();
- const window2 = getWindow();
- extendParams({
- hashNavigation: {
- enabled: false,
- replaceState: false,
- watchState: false,
- getSlideIndex(_s, hash) {
- if (swiper.virtual && swiper.params.virtual.enabled) {
- const slideWithHash = swiper.slides.find((slideEl) => slideEl.getAttribute("data-hash") === hash);
- if (!slideWithHash) return 0;
- const index = parseInt(slideWithHash.getAttribute("data-swiper-slide-index"), 10);
- return index;
- }
- return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]);
- }
- }
- });
- const onHashChange = () => {
- emit("hashChange");
- const newHash = document2.location.hash.replace("#", "");
- const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex];
- const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute("data-hash") : "";
- if (newHash !== activeSlideHash) {
- const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);
- if (typeof newIndex === "undefined" || Number.isNaN(newIndex)) return;
- swiper.slideTo(newIndex);
- }
- };
- const setHash = () => {
- if (!initialized || !swiper.params.hashNavigation.enabled) return;
- const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex];
- const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute("data-hash") || activeSlideEl.getAttribute("data-history") : "";
- if (swiper.params.hashNavigation.replaceState && window2.history && window2.history.replaceState) {
- window2.history.replaceState(null, null, `#${activeSlideHash}` || "");
- emit("hashSet");
- } else {
- document2.location.hash = activeSlideHash || "";
- emit("hashSet");
- }
- };
- const init = () => {
- if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;
- initialized = true;
- const hash = document2.location.hash.replace("#", "");
- if (hash) {
- const speed = 0;
- const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);
- swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);
- }
- if (swiper.params.hashNavigation.watchState) {
- window2.addEventListener("hashchange", onHashChange);
- }
- };
- const destroy = () => {
- if (swiper.params.hashNavigation.watchState) {
- window2.removeEventListener("hashchange", onHashChange);
- }
- };
- on("init", () => {
- if (swiper.params.hashNavigation.enabled) {
- init();
- }
- });
- on("destroy", () => {
- if (swiper.params.hashNavigation.enabled) {
- destroy();
- }
- });
- on("transitionEnd _freeModeNoMomentumRelease", () => {
- if (initialized) {
- setHash();
- }
- });
- on("slideChange", () => {
- if (initialized && swiper.params.cssMode) {
- setHash();
- }
- });
-}
-
-// node_modules/swiper/modules/autoplay.mjs
-function Autoplay(_ref) {
- let {
- swiper,
- extendParams,
- on,
- emit,
- params
- } = _ref;
- swiper.autoplay = {
- running: false,
- paused: false,
- timeLeft: 0
- };
- extendParams({
- autoplay: {
- enabled: false,
- delay: 3e3,
- waitForTransition: true,
- disableOnInteraction: false,
- stopOnLastSlide: false,
- reverseDirection: false,
- pauseOnMouseEnter: false
- }
- });
- let timeout;
- let raf;
- let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3e3;
- let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3e3;
- let autoplayTimeLeft;
- let autoplayStartTime = (/* @__PURE__ */ new Date()).getTime();
- let wasPaused;
- let isTouched;
- let pausedByTouch;
- let touchStartTimeout;
- let slideChanged;
- let pausedByInteraction;
- let pausedByPointerEnter;
- function onTransitionEnd(e) {
- if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;
- if (e.target !== swiper.wrapperEl) return;
- swiper.wrapperEl.removeEventListener("transitionend", onTransitionEnd);
- if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) {
- return;
- }
- resume();
- }
- const calcTimeLeft = () => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- if (swiper.autoplay.paused) {
- wasPaused = true;
- } else if (wasPaused) {
- autoplayDelayCurrent = autoplayTimeLeft;
- wasPaused = false;
- }
- const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - (/* @__PURE__ */ new Date()).getTime();
- swiper.autoplay.timeLeft = timeLeft;
- emit("autoplayTimeLeft", timeLeft, timeLeft / autoplayDelayTotal);
- raf = requestAnimationFrame(() => {
- calcTimeLeft();
- });
- };
- const getSlideDelay = () => {
- let activeSlideEl;
- if (swiper.virtual && swiper.params.virtual.enabled) {
- activeSlideEl = swiper.slides.find((slideEl) => slideEl.classList.contains("swiper-slide-active"));
- } else {
- activeSlideEl = swiper.slides[swiper.activeIndex];
- }
- if (!activeSlideEl) return void 0;
- const currentSlideDelay = parseInt(activeSlideEl.getAttribute("data-swiper-autoplay"), 10);
- return currentSlideDelay;
- };
- const run = (delayForce) => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- cancelAnimationFrame(raf);
- calcTimeLeft();
- let delay = typeof delayForce === "undefined" ? swiper.params.autoplay.delay : delayForce;
- autoplayDelayTotal = swiper.params.autoplay.delay;
- autoplayDelayCurrent = swiper.params.autoplay.delay;
- const currentSlideDelay = getSlideDelay();
- if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === "undefined") {
- delay = currentSlideDelay;
- autoplayDelayTotal = currentSlideDelay;
- autoplayDelayCurrent = currentSlideDelay;
- }
- autoplayTimeLeft = delay;
- const speed = swiper.params.speed;
- const proceed = () => {
- if (!swiper || swiper.destroyed) return;
- if (swiper.params.autoplay.reverseDirection) {
- if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {
- swiper.slidePrev(speed, true, true);
- emit("autoplay");
- } else if (!swiper.params.autoplay.stopOnLastSlide) {
- swiper.slideTo(swiper.slides.length - 1, speed, true, true);
- emit("autoplay");
- }
- } else {
- if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {
- swiper.slideNext(speed, true, true);
- emit("autoplay");
- } else if (!swiper.params.autoplay.stopOnLastSlide) {
- swiper.slideTo(0, speed, true, true);
- emit("autoplay");
- }
- }
- if (swiper.params.cssMode) {
- autoplayStartTime = (/* @__PURE__ */ new Date()).getTime();
- requestAnimationFrame(() => {
- run();
- });
- }
- };
- if (delay > 0) {
- clearTimeout(timeout);
- timeout = setTimeout(() => {
- proceed();
- }, delay);
- } else {
- requestAnimationFrame(() => {
- proceed();
- });
- }
- return delay;
- };
- const start = () => {
- autoplayStartTime = (/* @__PURE__ */ new Date()).getTime();
- swiper.autoplay.running = true;
- run();
- emit("autoplayStart");
- };
- const stop = () => {
- swiper.autoplay.running = false;
- clearTimeout(timeout);
- cancelAnimationFrame(raf);
- emit("autoplayStop");
- };
- const pause = (internal, reset) => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- clearTimeout(timeout);
- if (!internal) {
- pausedByInteraction = true;
- }
- const proceed = () => {
- emit("autoplayPause");
- if (swiper.params.autoplay.waitForTransition) {
- swiper.wrapperEl.addEventListener("transitionend", onTransitionEnd);
- } else {
- resume();
- }
- };
- swiper.autoplay.paused = true;
- if (reset) {
- if (slideChanged) {
- autoplayTimeLeft = swiper.params.autoplay.delay;
- }
- slideChanged = false;
- proceed();
- return;
- }
- const delay = autoplayTimeLeft || swiper.params.autoplay.delay;
- autoplayTimeLeft = delay - ((/* @__PURE__ */ new Date()).getTime() - autoplayStartTime);
- if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;
- if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;
- proceed();
- };
- const resume = () => {
- if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;
- autoplayStartTime = (/* @__PURE__ */ new Date()).getTime();
- if (pausedByInteraction) {
- pausedByInteraction = false;
- run(autoplayTimeLeft);
- } else {
- run();
- }
- swiper.autoplay.paused = false;
- emit("autoplayResume");
- };
- const onVisibilityChange = () => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- const document2 = getDocument();
- if (document2.visibilityState === "hidden") {
- pausedByInteraction = true;
- pause(true);
- }
- if (document2.visibilityState === "visible") {
- resume();
- }
- };
- const onPointerEnter = (e) => {
- if (e.pointerType !== "mouse") return;
- pausedByInteraction = true;
- pausedByPointerEnter = true;
- if (swiper.animating || swiper.autoplay.paused) return;
- pause(true);
- };
- const onPointerLeave = (e) => {
- if (e.pointerType !== "mouse") return;
- pausedByPointerEnter = false;
- if (swiper.autoplay.paused) {
- resume();
- }
- };
- const attachMouseEvents = () => {
- if (swiper.params.autoplay.pauseOnMouseEnter) {
- swiper.el.addEventListener("pointerenter", onPointerEnter);
- swiper.el.addEventListener("pointerleave", onPointerLeave);
- }
- };
- const detachMouseEvents = () => {
- if (swiper.el && typeof swiper.el !== "string") {
- swiper.el.removeEventListener("pointerenter", onPointerEnter);
- swiper.el.removeEventListener("pointerleave", onPointerLeave);
- }
- };
- const attachDocumentEvents = () => {
- const document2 = getDocument();
- document2.addEventListener("visibilitychange", onVisibilityChange);
- };
- const detachDocumentEvents = () => {
- const document2 = getDocument();
- document2.removeEventListener("visibilitychange", onVisibilityChange);
- };
- on("init", () => {
- if (swiper.params.autoplay.enabled) {
- attachMouseEvents();
- attachDocumentEvents();
- start();
- }
- });
- on("destroy", () => {
- detachMouseEvents();
- detachDocumentEvents();
- if (swiper.autoplay.running) {
- stop();
- }
- });
- on("_freeModeStaticRelease", () => {
- if (pausedByTouch || pausedByInteraction) {
- resume();
- }
- });
- on("_freeModeNoMomentumRelease", () => {
- if (!swiper.params.autoplay.disableOnInteraction) {
- pause(true, true);
- } else {
- stop();
- }
- });
- on("beforeTransitionStart", (_s, speed, internal) => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- if (internal || !swiper.params.autoplay.disableOnInteraction) {
- pause(true, true);
- } else {
- stop();
- }
- });
- on("sliderFirstMove", () => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- if (swiper.params.autoplay.disableOnInteraction) {
- stop();
- return;
- }
- isTouched = true;
- pausedByTouch = false;
- pausedByInteraction = false;
- touchStartTimeout = setTimeout(() => {
- pausedByInteraction = true;
- pausedByTouch = true;
- pause(true);
- }, 200);
- });
- on("touchEnd", () => {
- if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;
- clearTimeout(touchStartTimeout);
- clearTimeout(timeout);
- if (swiper.params.autoplay.disableOnInteraction) {
- pausedByTouch = false;
- isTouched = false;
- return;
- }
- if (pausedByTouch && swiper.params.cssMode) resume();
- pausedByTouch = false;
- isTouched = false;
- });
- on("slideChange", () => {
- if (swiper.destroyed || !swiper.autoplay.running) return;
- slideChanged = true;
- });
- Object.assign(swiper.autoplay, {
- start,
- stop,
- pause,
- resume
- });
-}
-
-// node_modules/swiper/modules/thumbs.mjs
-function Thumb(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- thumbs: {
- swiper: null,
- multipleActiveThumbs: true,
- autoScrollOffset: 0,
- slideThumbActiveClass: "swiper-slide-thumb-active",
- thumbsContainerClass: "swiper-thumbs"
- }
- });
- let initialized = false;
- let swiperCreated = false;
- swiper.thumbs = {
- swiper: null
- };
- function onThumbClick() {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper || thumbsSwiper.destroyed) return;
- const clickedIndex = thumbsSwiper.clickedIndex;
- const clickedSlide = thumbsSwiper.clickedSlide;
- if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;
- if (typeof clickedIndex === "undefined" || clickedIndex === null) return;
- let slideToIndex;
- if (thumbsSwiper.params.loop) {
- slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute("data-swiper-slide-index"), 10);
- } else {
- slideToIndex = clickedIndex;
- }
- if (swiper.params.loop) {
- swiper.slideToLoop(slideToIndex);
- } else {
- swiper.slideTo(slideToIndex);
- }
- }
- function init() {
- const {
- thumbs: thumbsParams
- } = swiper.params;
- if (initialized) return false;
- initialized = true;
- const SwiperClass = swiper.constructor;
- if (thumbsParams.swiper instanceof SwiperClass) {
- swiper.thumbs.swiper = thumbsParams.swiper;
- Object.assign(swiper.thumbs.swiper.originalParams, {
- watchSlidesProgress: true,
- slideToClickedSlide: false
- });
- Object.assign(swiper.thumbs.swiper.params, {
- watchSlidesProgress: true,
- slideToClickedSlide: false
- });
- swiper.thumbs.swiper.update();
- } else if (isObject2(thumbsParams.swiper)) {
- const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);
- Object.assign(thumbsSwiperParams, {
- watchSlidesProgress: true,
- slideToClickedSlide: false
- });
- swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);
- swiperCreated = true;
- }
- swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);
- swiper.thumbs.swiper.on("tap", onThumbClick);
- return true;
- }
- function update(initial) {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper || thumbsSwiper.destroyed) return;
- const slidesPerView = thumbsSwiper.params.slidesPerView === "auto" ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;
- let thumbsToActivate = 1;
- const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;
- if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {
- thumbsToActivate = swiper.params.slidesPerView;
- }
- if (!swiper.params.thumbs.multipleActiveThumbs) {
- thumbsToActivate = 1;
- }
- thumbsToActivate = Math.floor(thumbsToActivate);
- thumbsSwiper.slides.forEach((slideEl) => slideEl.classList.remove(thumbActiveClass));
- if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {
- for (let i = 0; i < thumbsToActivate; i += 1) {
- elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach((slideEl) => {
- slideEl.classList.add(thumbActiveClass);
- });
- }
- } else {
- for (let i = 0; i < thumbsToActivate; i += 1) {
- if (thumbsSwiper.slides[swiper.realIndex + i]) {
- thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);
- }
- }
- }
- const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
- const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
- if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
- const currentThumbsIndex = thumbsSwiper.activeIndex;
- let newThumbsIndex;
- let direction;
- if (thumbsSwiper.params.loop) {
- const newThumbsSlide = thumbsSwiper.slides.find((slideEl) => slideEl.getAttribute("data-swiper-slide-index") === `${swiper.realIndex}`);
- newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);
- direction = swiper.activeIndex > swiper.previousIndex ? "next" : "prev";
- } else {
- newThumbsIndex = swiper.realIndex;
- direction = newThumbsIndex > swiper.previousIndex ? "next" : "prev";
- }
- if (useOffset) {
- newThumbsIndex += direction === "next" ? autoScrollOffset : -1 * autoScrollOffset;
- }
- if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {
- if (thumbsSwiper.params.centeredSlides) {
- if (newThumbsIndex > currentThumbsIndex) {
- newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
- } else {
- newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
- }
- } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;
- thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : void 0);
- }
- }
- }
- on("beforeInit", () => {
- const {
- thumbs
- } = swiper.params;
- if (!thumbs || !thumbs.swiper) return;
- if (typeof thumbs.swiper === "string" || thumbs.swiper instanceof HTMLElement) {
- const document2 = getDocument();
- const getThumbsElementAndInit = () => {
- const thumbsElement = typeof thumbs.swiper === "string" ? document2.querySelector(thumbs.swiper) : thumbs.swiper;
- if (thumbsElement && thumbsElement.swiper) {
- thumbs.swiper = thumbsElement.swiper;
- init();
- update(true);
- } else if (thumbsElement) {
- const eventName = `${swiper.params.eventsPrefix}init`;
- const onThumbsSwiper = (e) => {
- thumbs.swiper = e.detail[0];
- thumbsElement.removeEventListener(eventName, onThumbsSwiper);
- init();
- update(true);
- thumbs.swiper.update();
- swiper.update();
- };
- thumbsElement.addEventListener(eventName, onThumbsSwiper);
- }
- return thumbsElement;
- };
- const watchForThumbsToAppear = () => {
- if (swiper.destroyed) return;
- const thumbsElement = getThumbsElementAndInit();
- if (!thumbsElement) {
- requestAnimationFrame(watchForThumbsToAppear);
- }
- };
- requestAnimationFrame(watchForThumbsToAppear);
- } else {
- init();
- update(true);
- }
- });
- on("slideChange update resize observerUpdate", () => {
- update();
- });
- on("setTransition", (_s, duration) => {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper || thumbsSwiper.destroyed) return;
- thumbsSwiper.setTransition(duration);
- });
- on("beforeDestroy", () => {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper || thumbsSwiper.destroyed) return;
- if (swiperCreated) {
- thumbsSwiper.destroy();
- }
- });
- Object.assign(swiper.thumbs, {
- init,
- update
- });
-}
-
-// node_modules/swiper/modules/free-mode.mjs
-function freeMode(_ref) {
- let {
- swiper,
- extendParams,
- emit,
- once
- } = _ref;
- extendParams({
- freeMode: {
- enabled: false,
- momentum: true,
- momentumRatio: 1,
- momentumBounce: true,
- momentumBounceRatio: 1,
- momentumVelocityRatio: 1,
- sticky: false,
- minimumVelocity: 0.02
- }
- });
- function onTouchStart() {
- if (swiper.params.cssMode) return;
- const translate = swiper.getTranslate();
- swiper.setTranslate(translate);
- swiper.setTransition(0);
- swiper.touchEventsData.velocities.length = 0;
- swiper.freeMode.onTouchEnd({
- currentPos: swiper.rtl ? swiper.translate : -swiper.translate
- });
- }
- function onTouchMove() {
- if (swiper.params.cssMode) return;
- const {
- touchEventsData: data,
- touches
- } = swiper;
- if (data.velocities.length === 0) {
- data.velocities.push({
- position: touches[swiper.isHorizontal() ? "startX" : "startY"],
- time: data.touchStartTime
- });
- }
- data.velocities.push({
- position: touches[swiper.isHorizontal() ? "currentX" : "currentY"],
- time: now()
- });
- }
- function onTouchEnd(_ref2) {
- let {
- currentPos
- } = _ref2;
- if (swiper.params.cssMode) return;
- const {
- params,
- wrapperEl,
- rtlTranslate: rtl,
- snapGrid,
- touchEventsData: data
- } = swiper;
- const touchEndTime = now();
- const timeDiff = touchEndTime - data.touchStartTime;
- if (currentPos < -swiper.minTranslate()) {
- swiper.slideTo(swiper.activeIndex);
- return;
- }
- if (currentPos > -swiper.maxTranslate()) {
- if (swiper.slides.length < snapGrid.length) {
- swiper.slideTo(snapGrid.length - 1);
- } else {
- swiper.slideTo(swiper.slides.length - 1);
- }
- return;
- }
- if (params.freeMode.momentum) {
- if (data.velocities.length > 1) {
- const lastMoveEvent = data.velocities.pop();
- const velocityEvent = data.velocities.pop();
- const distance = lastMoveEvent.position - velocityEvent.position;
- const time = lastMoveEvent.time - velocityEvent.time;
- swiper.velocity = distance / time;
- swiper.velocity /= 2;
- if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
- swiper.velocity = 0;
- }
- if (time > 150 || now() - lastMoveEvent.time > 300) {
- swiper.velocity = 0;
- }
- } else {
- swiper.velocity = 0;
- }
- swiper.velocity *= params.freeMode.momentumVelocityRatio;
- data.velocities.length = 0;
- let momentumDuration = 1e3 * params.freeMode.momentumRatio;
- const momentumDistance = swiper.velocity * momentumDuration;
- let newPosition = swiper.translate + momentumDistance;
- if (rtl) newPosition = -newPosition;
- let doBounce = false;
- let afterBouncePosition;
- const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
- let needsLoopFix;
- if (newPosition < swiper.maxTranslate()) {
- if (params.freeMode.momentumBounce) {
- if (newPosition + swiper.maxTranslate() < -bounceAmount) {
- newPosition = swiper.maxTranslate() - bounceAmount;
- }
- afterBouncePosition = swiper.maxTranslate();
- doBounce = true;
- data.allowMomentumBounce = true;
- } else {
- newPosition = swiper.maxTranslate();
- }
- if (params.loop && params.centeredSlides) needsLoopFix = true;
- } else if (newPosition > swiper.minTranslate()) {
- if (params.freeMode.momentumBounce) {
- if (newPosition - swiper.minTranslate() > bounceAmount) {
- newPosition = swiper.minTranslate() + bounceAmount;
- }
- afterBouncePosition = swiper.minTranslate();
- doBounce = true;
- data.allowMomentumBounce = true;
- } else {
- newPosition = swiper.minTranslate();
- }
- if (params.loop && params.centeredSlides) needsLoopFix = true;
- } else if (params.freeMode.sticky) {
- let nextSlide;
- for (let j = 0; j < snapGrid.length; j += 1) {
- if (snapGrid[j] > -newPosition) {
- nextSlide = j;
- break;
- }
- }
- if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === "next") {
- newPosition = snapGrid[nextSlide];
- } else {
- newPosition = snapGrid[nextSlide - 1];
- }
- newPosition = -newPosition;
- }
- if (needsLoopFix) {
- once("transitionEnd", () => {
- swiper.loopFix();
- });
- }
- if (swiper.velocity !== 0) {
- if (rtl) {
- momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
- } else {
- momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
- }
- if (params.freeMode.sticky) {
- const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
- const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
- if (moveDistance < currentSlideSize) {
- momentumDuration = params.speed;
- } else if (moveDistance < 2 * currentSlideSize) {
- momentumDuration = params.speed * 1.5;
- } else {
- momentumDuration = params.speed * 2.5;
- }
- }
- } else if (params.freeMode.sticky) {
- swiper.slideToClosest();
- return;
- }
- if (params.freeMode.momentumBounce && doBounce) {
- swiper.updateProgress(afterBouncePosition);
- swiper.setTransition(momentumDuration);
- swiper.setTranslate(newPosition);
- swiper.transitionStart(true, swiper.swipeDirection);
- swiper.animating = true;
- elementTransitionEnd(wrapperEl, () => {
- if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
- emit("momentumBounce");
- swiper.setTransition(params.speed);
- setTimeout(() => {
- swiper.setTranslate(afterBouncePosition);
- elementTransitionEnd(wrapperEl, () => {
- if (!swiper || swiper.destroyed) return;
- swiper.transitionEnd();
- });
- }, 0);
- });
- } else if (swiper.velocity) {
- emit("_freeModeNoMomentumRelease");
- swiper.updateProgress(newPosition);
- swiper.setTransition(momentumDuration);
- swiper.setTranslate(newPosition);
- swiper.transitionStart(true, swiper.swipeDirection);
- if (!swiper.animating) {
- swiper.animating = true;
- elementTransitionEnd(wrapperEl, () => {
- if (!swiper || swiper.destroyed) return;
- swiper.transitionEnd();
- });
- }
- } else {
- swiper.updateProgress(newPosition);
- }
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- } else if (params.freeMode.sticky) {
- swiper.slideToClosest();
- return;
- } else if (params.freeMode) {
- emit("_freeModeNoMomentumRelease");
- }
- if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
- emit("_freeModeStaticRelease");
- swiper.updateProgress();
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
- }
- Object.assign(swiper, {
- freeMode: {
- onTouchStart,
- onTouchMove,
- onTouchEnd
- }
- });
-}
-
-// node_modules/swiper/modules/grid.mjs
-function Grid(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- grid: {
- rows: 1,
- fill: "column"
- }
- });
- let slidesNumberEvenToRows;
- let slidesPerRow;
- let numFullColumns;
- let wasMultiRow;
- const getSpaceBetween = () => {
- let spaceBetween = swiper.params.spaceBetween;
- if (typeof spaceBetween === "string" && spaceBetween.indexOf("%") >= 0) {
- spaceBetween = parseFloat(spaceBetween.replace("%", "")) / 100 * swiper.size;
- } else if (typeof spaceBetween === "string") {
- spaceBetween = parseFloat(spaceBetween);
- }
- return spaceBetween;
- };
- const initSlides = (slides) => {
- const {
- slidesPerView
- } = swiper.params;
- const {
- rows,
- fill
- } = swiper.params.grid;
- const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;
- numFullColumns = Math.floor(slidesLength / rows);
- if (Math.floor(slidesLength / rows) === slidesLength / rows) {
- slidesNumberEvenToRows = slidesLength;
- } else {
- slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
- }
- if (slidesPerView !== "auto" && fill === "row") {
- slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);
- }
- slidesPerRow = slidesNumberEvenToRows / rows;
- };
- const unsetSlides = () => {
- if (swiper.slides) {
- swiper.slides.forEach((slide) => {
- if (slide.swiperSlideGridSet) {
- slide.style.height = "";
- slide.style[swiper.getDirectionLabel("margin-top")] = "";
- }
- });
- }
- };
- const updateSlide = (i, slide, slides) => {
- const {
- slidesPerGroup
- } = swiper.params;
- const spaceBetween = getSpaceBetween();
- const {
- rows,
- fill
- } = swiper.params.grid;
- const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;
- let newSlideOrderIndex;
- let column;
- let row;
- if (fill === "row" && slidesPerGroup > 1) {
- const groupIndex = Math.floor(i / (slidesPerGroup * rows));
- const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;
- const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);
- row = Math.floor(slideIndexInGroup / columnsInGroup);
- column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;
- newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;
- slide.style.order = newSlideOrderIndex;
- } else if (fill === "column") {
- column = Math.floor(i / rows);
- row = i - column * rows;
- if (column > numFullColumns || column === numFullColumns && row === rows - 1) {
- row += 1;
- if (row >= rows) {
- row = 0;
- column += 1;
- }
- }
- } else {
- row = Math.floor(i / slidesPerRow);
- column = i - row * slidesPerRow;
- }
- slide.row = row;
- slide.column = column;
- slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;
- slide.style[swiper.getDirectionLabel("margin-top")] = row !== 0 ? spaceBetween && `${spaceBetween}px` : "";
- slide.swiperSlideGridSet = true;
- };
- const updateWrapperSize = (slideSize, snapGrid) => {
- const {
- centeredSlides,
- roundLengths
- } = swiper.params;
- const spaceBetween = getSpaceBetween();
- const {
- rows
- } = swiper.params.grid;
- swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;
- swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;
- if (!swiper.params.cssMode) {
- swiper.wrapperEl.style[swiper.getDirectionLabel("width")] = `${swiper.virtualSize + spaceBetween}px`;
- }
- if (centeredSlides) {
- const newSlidesGrid = [];
- for (let i = 0; i < snapGrid.length; i += 1) {
- let slidesGridItem = snapGrid[i];
- if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);
- if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
- }
- snapGrid.splice(0, snapGrid.length);
- snapGrid.push(...newSlidesGrid);
- }
- };
- const onInit = () => {
- wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1;
- };
- const onUpdate = () => {
- const {
- params,
- el
- } = swiper;
- const isMultiRow = params.grid && params.grid.rows > 1;
- if (wasMultiRow && !isMultiRow) {
- el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);
- numFullColumns = 1;
- swiper.emitContainerClasses();
- } else if (!wasMultiRow && isMultiRow) {
- el.classList.add(`${params.containerModifierClass}grid`);
- if (params.grid.fill === "column") {
- el.classList.add(`${params.containerModifierClass}grid-column`);
- }
- swiper.emitContainerClasses();
- }
- wasMultiRow = isMultiRow;
- };
- on("init", onInit);
- on("update", onUpdate);
- swiper.grid = {
- initSlides,
- unsetSlides,
- updateSlide,
- updateWrapperSize
- };
-}
-
-// node_modules/swiper/modules/manipulation.mjs
-function appendSlide(slides) {
- const swiper = this;
- const {
- params,
- slidesEl
- } = swiper;
- if (params.loop) {
- swiper.loopDestroy();
- }
- const appendElement = (slideEl) => {
- if (typeof slideEl === "string") {
- const tempDOM = document.createElement("div");
- tempDOM.innerHTML = slideEl;
- slidesEl.append(tempDOM.children[0]);
- tempDOM.innerHTML = "";
- } else {
- slidesEl.append(slideEl);
- }
- };
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) appendElement(slides[i]);
- }
- } else {
- appendElement(slides);
- }
- swiper.recalcSlides();
- if (params.loop) {
- swiper.loopCreate();
- }
- if (!params.observer || swiper.isElement) {
- swiper.update();
- }
-}
-function prependSlide(slides) {
- const swiper = this;
- const {
- params,
- activeIndex,
- slidesEl
- } = swiper;
- if (params.loop) {
- swiper.loopDestroy();
- }
- let newActiveIndex = activeIndex + 1;
- const prependElement = (slideEl) => {
- if (typeof slideEl === "string") {
- const tempDOM = document.createElement("div");
- tempDOM.innerHTML = slideEl;
- slidesEl.prepend(tempDOM.children[0]);
- tempDOM.innerHTML = "";
- } else {
- slidesEl.prepend(slideEl);
- }
- };
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) prependElement(slides[i]);
- }
- newActiveIndex = activeIndex + slides.length;
- } else {
- prependElement(slides);
- }
- swiper.recalcSlides();
- if (params.loop) {
- swiper.loopCreate();
- }
- if (!params.observer || swiper.isElement) {
- swiper.update();
- }
- swiper.slideTo(newActiveIndex, 0, false);
-}
-function addSlide(index, slides) {
- const swiper = this;
- const {
- params,
- activeIndex,
- slidesEl
- } = swiper;
- let activeIndexBuffer = activeIndex;
- if (params.loop) {
- activeIndexBuffer -= swiper.loopedSlides;
- swiper.loopDestroy();
- swiper.recalcSlides();
- }
- const baseLength = swiper.slides.length;
- if (index <= 0) {
- swiper.prependSlide(slides);
- return;
- }
- if (index >= baseLength) {
- swiper.appendSlide(slides);
- return;
- }
- let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
- const slidesBuffer = [];
- for (let i = baseLength - 1; i >= index; i -= 1) {
- const currentSlide = swiper.slides[i];
- currentSlide.remove();
- slidesBuffer.unshift(currentSlide);
- }
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) slidesEl.append(slides[i]);
- }
- newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
- } else {
- slidesEl.append(slides);
- }
- for (let i = 0; i < slidesBuffer.length; i += 1) {
- slidesEl.append(slidesBuffer[i]);
- }
- swiper.recalcSlides();
- if (params.loop) {
- swiper.loopCreate();
- }
- if (!params.observer || swiper.isElement) {
- swiper.update();
- }
- if (params.loop) {
- swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
- } else {
- swiper.slideTo(newActiveIndex, 0, false);
- }
-}
-function removeSlide(slidesIndexes) {
- const swiper = this;
- const {
- params,
- activeIndex
- } = swiper;
- let activeIndexBuffer = activeIndex;
- if (params.loop) {
- activeIndexBuffer -= swiper.loopedSlides;
- swiper.loopDestroy();
- }
- let newActiveIndex = activeIndexBuffer;
- let indexToRemove;
- if (typeof slidesIndexes === "object" && "length" in slidesIndexes) {
- for (let i = 0; i < slidesIndexes.length; i += 1) {
- indexToRemove = slidesIndexes[i];
- if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
- if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
- }
- newActiveIndex = Math.max(newActiveIndex, 0);
- } else {
- indexToRemove = slidesIndexes;
- if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
- if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
- newActiveIndex = Math.max(newActiveIndex, 0);
- }
- swiper.recalcSlides();
- if (params.loop) {
- swiper.loopCreate();
- }
- if (!params.observer || swiper.isElement) {
- swiper.update();
- }
- if (params.loop) {
- swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
- } else {
- swiper.slideTo(newActiveIndex, 0, false);
- }
-}
-function removeAllSlides() {
- const swiper = this;
- const slidesIndexes = [];
- for (let i = 0; i < swiper.slides.length; i += 1) {
- slidesIndexes.push(i);
- }
- swiper.removeSlide(slidesIndexes);
-}
-function Manipulation(_ref) {
- let {
- swiper
- } = _ref;
- Object.assign(swiper, {
- appendSlide: appendSlide.bind(swiper),
- prependSlide: prependSlide.bind(swiper),
- addSlide: addSlide.bind(swiper),
- removeSlide: removeSlide.bind(swiper),
- removeAllSlides: removeAllSlides.bind(swiper)
- });
-}
-
-// node_modules/swiper/shared/effect-init.mjs
-function effectInit(params) {
- const {
- effect,
- swiper,
- on,
- setTranslate,
- setTransition,
- overwriteParams,
- perspective,
- recreateShadows,
- getEffectParams
- } = params;
- on("beforeInit", () => {
- if (swiper.params.effect !== effect) return;
- swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
- if (perspective && perspective()) {
- swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
- }
- const overwriteParamsResult = overwriteParams ? overwriteParams() : {};
- Object.assign(swiper.params, overwriteParamsResult);
- Object.assign(swiper.originalParams, overwriteParamsResult);
- });
- on("setTranslate", () => {
- if (swiper.params.effect !== effect) return;
- setTranslate();
- });
- on("setTransition", (_s, duration) => {
- if (swiper.params.effect !== effect) return;
- setTransition(duration);
- });
- on("transitionEnd", () => {
- if (swiper.params.effect !== effect) return;
- if (recreateShadows) {
- if (!getEffectParams || !getEffectParams().slideShadows) return;
- swiper.slides.forEach((slideEl) => {
- slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((shadowEl) => shadowEl.remove());
- });
- recreateShadows();
- }
- });
- let requireUpdateOnVirtual;
- on("virtualUpdate", () => {
- if (swiper.params.effect !== effect) return;
- if (!swiper.slides.length) {
- requireUpdateOnVirtual = true;
- }
- requestAnimationFrame(() => {
- if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {
- setTranslate();
- requireUpdateOnVirtual = false;
- }
- });
- });
-}
-
-// node_modules/swiper/shared/effect-target.mjs
-function effectTarget(effectParams, slideEl) {
- const transformEl = getSlideTransformEl(slideEl);
- if (transformEl !== slideEl) {
- transformEl.style.backfaceVisibility = "hidden";
- transformEl.style["-webkit-backface-visibility"] = "hidden";
- }
- return transformEl;
-}
-
-// node_modules/swiper/shared/effect-virtual-transition-end.mjs
-function effectVirtualTransitionEnd(_ref) {
- let {
- swiper,
- duration,
- transformElements,
- allSlides
- } = _ref;
- const {
- activeIndex
- } = swiper;
- const getSlide = (el) => {
- if (!el.parentElement) {
- const slide = swiper.slides.find((slideEl) => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode);
- return slide;
- }
- return el.parentElement;
- };
- if (swiper.params.virtualTranslate && duration !== 0) {
- let eventTriggered = false;
- let transitionEndTarget;
- if (allSlides) {
- transitionEndTarget = transformElements;
- } else {
- transitionEndTarget = transformElements.filter((transformEl) => {
- const el = transformEl.classList.contains("swiper-slide-transform") ? getSlide(transformEl) : transformEl;
- return swiper.getSlideIndex(el) === activeIndex;
- });
- }
- transitionEndTarget.forEach((el) => {
- elementTransitionEnd(el, () => {
- if (eventTriggered) return;
- if (!swiper || swiper.destroyed) return;
- eventTriggered = true;
- swiper.animating = false;
- const evt = new window.CustomEvent("transitionend", {
- bubbles: true,
- cancelable: true
- });
- swiper.wrapperEl.dispatchEvent(evt);
- });
- });
- }
-}
-
-// node_modules/swiper/modules/effect-fade.mjs
-function EffectFade(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- fadeEffect: {
- crossFade: false
- }
- });
- const setTranslate = () => {
- const {
- slides
- } = swiper;
- const params = swiper.params.fadeEffect;
- for (let i = 0; i < slides.length; i += 1) {
- const slideEl = swiper.slides[i];
- const offset = slideEl.swiperSlideOffset;
- let tx = -offset;
- if (!swiper.params.virtualTranslate) tx -= swiper.translate;
- let ty = 0;
- if (!swiper.isHorizontal()) {
- ty = tx;
- tx = 0;
- }
- const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);
- const targetEl = effectTarget(params, slideEl);
- targetEl.style.opacity = slideOpacity;
- targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;
- }
- };
- const setTransition = (duration) => {
- const transformElements = swiper.slides.map((slideEl) => getSlideTransformEl(slideEl));
- transformElements.forEach((el) => {
- el.style.transitionDuration = `${duration}ms`;
- });
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformElements,
- allSlides: true
- });
- };
- effectInit({
- effect: "fade",
- swiper,
- on,
- setTranslate,
- setTransition,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- spaceBetween: 0,
- virtualTranslate: !swiper.params.cssMode
- })
- });
-}
-
-// node_modules/swiper/modules/effect-cube.mjs
-function EffectCube(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- cubeEffect: {
- slideShadows: true,
- shadow: true,
- shadowOffset: 20,
- shadowScale: 0.94
- }
- });
- const createSlideShadows = (slideEl, progress, isHorizontal) => {
- let shadowBefore = isHorizontal ? slideEl.querySelector(".swiper-slide-shadow-left") : slideEl.querySelector(".swiper-slide-shadow-top");
- let shadowAfter = isHorizontal ? slideEl.querySelector(".swiper-slide-shadow-right") : slideEl.querySelector(".swiper-slide-shadow-bottom");
- if (!shadowBefore) {
- shadowBefore = createElement("div", `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? "left" : "top"}`.split(" "));
- slideEl.append(shadowBefore);
- }
- if (!shadowAfter) {
- shadowAfter = createElement("div", `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? "right" : "bottom"}`.split(" "));
- slideEl.append(shadowAfter);
- }
- if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);
- if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);
- };
- const recreateShadows = () => {
- const isHorizontal = swiper.isHorizontal();
- swiper.slides.forEach((slideEl) => {
- const progress = Math.max(Math.min(slideEl.progress, 1), -1);
- createSlideShadows(slideEl, progress, isHorizontal);
- });
- };
- const setTranslate = () => {
- const {
- el,
- wrapperEl,
- slides,
- width: swiperWidth,
- height: swiperHeight,
- rtlTranslate: rtl,
- size: swiperSize,
- browser
- } = swiper;
- const r = getRotateFix(swiper);
- const params = swiper.params.cubeEffect;
- const isHorizontal = swiper.isHorizontal();
- const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
- let wrapperRotate = 0;
- let cubeShadowEl;
- if (params.shadow) {
- if (isHorizontal) {
- cubeShadowEl = swiper.wrapperEl.querySelector(".swiper-cube-shadow");
- if (!cubeShadowEl) {
- cubeShadowEl = createElement("div", "swiper-cube-shadow");
- swiper.wrapperEl.append(cubeShadowEl);
- }
- cubeShadowEl.style.height = `${swiperWidth}px`;
- } else {
- cubeShadowEl = el.querySelector(".swiper-cube-shadow");
- if (!cubeShadowEl) {
- cubeShadowEl = createElement("div", "swiper-cube-shadow");
- el.append(cubeShadowEl);
- }
- }
- }
- for (let i = 0; i < slides.length; i += 1) {
- const slideEl = slides[i];
- let slideIndex = i;
- if (isVirtual) {
- slideIndex = parseInt(slideEl.getAttribute("data-swiper-slide-index"), 10);
- }
- let slideAngle = slideIndex * 90;
- let round = Math.floor(slideAngle / 360);
- if (rtl) {
- slideAngle = -slideAngle;
- round = Math.floor(-slideAngle / 360);
- }
- const progress = Math.max(Math.min(slideEl.progress, 1), -1);
- let tx = 0;
- let ty = 0;
- let tz = 0;
- if (slideIndex % 4 === 0) {
- tx = -round * 4 * swiperSize;
- tz = 0;
- } else if ((slideIndex - 1) % 4 === 0) {
- tx = 0;
- tz = -round * 4 * swiperSize;
- } else if ((slideIndex - 2) % 4 === 0) {
- tx = swiperSize + round * 4 * swiperSize;
- tz = swiperSize;
- } else if ((slideIndex - 3) % 4 === 0) {
- tx = -swiperSize;
- tz = 3 * swiperSize + swiperSize * 4 * round;
- }
- if (rtl) {
- tx = -tx;
- }
- if (!isHorizontal) {
- ty = tx;
- tx = 0;
- }
- const transform = `rotateX(${r(isHorizontal ? 0 : -slideAngle)}deg) rotateY(${r(isHorizontal ? slideAngle : 0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
- if (progress <= 1 && progress > -1) {
- wrapperRotate = slideIndex * 90 + progress * 90;
- if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;
- }
- slideEl.style.transform = transform;
- if (params.slideShadows) {
- createSlideShadows(slideEl, progress, isHorizontal);
- }
- }
- wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;
- wrapperEl.style["-webkit-transform-origin"] = `50% 50% -${swiperSize / 2}px`;
- if (params.shadow) {
- if (isHorizontal) {
- cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`;
- } else {
- const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;
- const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);
- const scale1 = params.shadowScale;
- const scale2 = params.shadowScale / multiplier;
- const offset = params.shadowOffset;
- cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`;
- }
- }
- const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;
- wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal() ? 0 : wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal() ? -wrapperRotate : 0)}deg)`;
- wrapperEl.style.setProperty("--swiper-cube-translate-z", `${zFactor}px`);
- };
- const setTransition = (duration) => {
- const {
- el,
- slides
- } = swiper;
- slides.forEach((slideEl) => {
- slideEl.style.transitionDuration = `${duration}ms`;
- slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((subEl) => {
- subEl.style.transitionDuration = `${duration}ms`;
- });
- });
- if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
- const shadowEl = el.querySelector(".swiper-cube-shadow");
- if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;
- }
- };
- effectInit({
- effect: "cube",
- swiper,
- on,
- setTranslate,
- setTransition,
- recreateShadows,
- getEffectParams: () => swiper.params.cubeEffect,
- perspective: () => true,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- resistanceRatio: 0,
- spaceBetween: 0,
- centeredSlides: false,
- virtualTranslate: true
- })
- });
-}
-
-// node_modules/swiper/shared/create-shadow.mjs
-function createShadow(suffix, slideEl, side) {
- const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ""}${suffix ? ` swiper-slide-shadow-${suffix}` : ""}`;
- const shadowContainer = getSlideTransformEl(slideEl);
- let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(" ").join(".")}`);
- if (!shadowEl) {
- shadowEl = createElement("div", shadowClass.split(" "));
- shadowContainer.append(shadowEl);
- }
- return shadowEl;
-}
-
-// node_modules/swiper/modules/effect-flip.mjs
-function EffectFlip(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- flipEffect: {
- slideShadows: true,
- limitRotation: true
- }
- });
- const createSlideShadows = (slideEl, progress) => {
- let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector(".swiper-slide-shadow-left") : slideEl.querySelector(".swiper-slide-shadow-top");
- let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector(".swiper-slide-shadow-right") : slideEl.querySelector(".swiper-slide-shadow-bottom");
- if (!shadowBefore) {
- shadowBefore = createShadow("flip", slideEl, swiper.isHorizontal() ? "left" : "top");
- }
- if (!shadowAfter) {
- shadowAfter = createShadow("flip", slideEl, swiper.isHorizontal() ? "right" : "bottom");
- }
- if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);
- if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);
- };
- const recreateShadows = () => {
- swiper.params.flipEffect;
- swiper.slides.forEach((slideEl) => {
- let progress = slideEl.progress;
- if (swiper.params.flipEffect.limitRotation) {
- progress = Math.max(Math.min(slideEl.progress, 1), -1);
- }
- createSlideShadows(slideEl, progress);
- });
- };
- const setTranslate = () => {
- const {
- slides,
- rtlTranslate: rtl
- } = swiper;
- const params = swiper.params.flipEffect;
- const rotateFix = getRotateFix(swiper);
- for (let i = 0; i < slides.length; i += 1) {
- const slideEl = slides[i];
- let progress = slideEl.progress;
- if (swiper.params.flipEffect.limitRotation) {
- progress = Math.max(Math.min(slideEl.progress, 1), -1);
- }
- const offset = slideEl.swiperSlideOffset;
- const rotate = -180 * progress;
- let rotateY = rotate;
- let rotateX = 0;
- let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;
- let ty = 0;
- if (!swiper.isHorizontal()) {
- ty = tx;
- tx = 0;
- rotateX = -rotateY;
- rotateY = 0;
- } else if (rtl) {
- rotateY = -rotateY;
- }
- slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;
- if (params.slideShadows) {
- createSlideShadows(slideEl, progress);
- }
- const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;
- const targetEl = effectTarget(params, slideEl);
- targetEl.style.transform = transform;
- }
- };
- const setTransition = (duration) => {
- const transformElements = swiper.slides.map((slideEl) => getSlideTransformEl(slideEl));
- transformElements.forEach((el) => {
- el.style.transitionDuration = `${duration}ms`;
- el.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((shadowEl) => {
- shadowEl.style.transitionDuration = `${duration}ms`;
- });
- });
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformElements
- });
- };
- effectInit({
- effect: "flip",
- swiper,
- on,
- setTranslate,
- setTransition,
- recreateShadows,
- getEffectParams: () => swiper.params.flipEffect,
- perspective: () => true,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- spaceBetween: 0,
- virtualTranslate: !swiper.params.cssMode
- })
- });
-}
-
-// node_modules/swiper/modules/effect-coverflow.mjs
-function EffectCoverflow(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- coverflowEffect: {
- rotate: 50,
- stretch: 0,
- depth: 100,
- scale: 1,
- modifier: 1,
- slideShadows: true
- }
- });
- const setTranslate = () => {
- const {
- width: swiperWidth,
- height: swiperHeight,
- slides,
- slidesSizesGrid
- } = swiper;
- const params = swiper.params.coverflowEffect;
- const isHorizontal = swiper.isHorizontal();
- const transform = swiper.translate;
- const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;
- const rotate = isHorizontal ? params.rotate : -params.rotate;
- const translate = params.depth;
- const r = getRotateFix(swiper);
- for (let i = 0, length = slides.length; i < length; i += 1) {
- const slideEl = slides[i];
- const slideSize = slidesSizesGrid[i];
- const slideOffset = slideEl.swiperSlideOffset;
- const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;
- const offsetMultiplier = typeof params.modifier === "function" ? params.modifier(centerOffset) : centerOffset * params.modifier;
- let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
- let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;
- let translateZ = -translate * Math.abs(offsetMultiplier);
- let stretch = params.stretch;
- if (typeof stretch === "string" && stretch.indexOf("%") !== -1) {
- stretch = parseFloat(params.stretch) / 100 * slideSize;
- }
- let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;
- let translateX = isHorizontal ? stretch * offsetMultiplier : 0;
- let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);
- if (Math.abs(translateX) < 1e-3) translateX = 0;
- if (Math.abs(translateY) < 1e-3) translateY = 0;
- if (Math.abs(translateZ) < 1e-3) translateZ = 0;
- if (Math.abs(rotateY) < 1e-3) rotateY = 0;
- if (Math.abs(rotateX) < 1e-3) rotateX = 0;
- if (Math.abs(scale) < 1e-3) scale = 0;
- const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;
- const targetEl = effectTarget(params, slideEl);
- targetEl.style.transform = slideTransform;
- slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
- if (params.slideShadows) {
- let shadowBeforeEl = isHorizontal ? slideEl.querySelector(".swiper-slide-shadow-left") : slideEl.querySelector(".swiper-slide-shadow-top");
- let shadowAfterEl = isHorizontal ? slideEl.querySelector(".swiper-slide-shadow-right") : slideEl.querySelector(".swiper-slide-shadow-bottom");
- if (!shadowBeforeEl) {
- shadowBeforeEl = createShadow("coverflow", slideEl, isHorizontal ? "left" : "top");
- }
- if (!shadowAfterEl) {
- shadowAfterEl = createShadow("coverflow", slideEl, isHorizontal ? "right" : "bottom");
- }
- if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;
- if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;
- }
- }
- };
- const setTransition = (duration) => {
- const transformElements = swiper.slides.map((slideEl) => getSlideTransformEl(slideEl));
- transformElements.forEach((el) => {
- el.style.transitionDuration = `${duration}ms`;
- el.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((shadowEl) => {
- shadowEl.style.transitionDuration = `${duration}ms`;
- });
- });
- };
- effectInit({
- effect: "coverflow",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => true,
- overwriteParams: () => ({
- watchSlidesProgress: true
- })
- });
-}
-
-// node_modules/swiper/modules/effect-creative.mjs
-function EffectCreative(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- creativeEffect: {
- limitProgress: 1,
- shadowPerProgress: false,
- progressMultiplier: 1,
- perspective: true,
- prev: {
- translate: [0, 0, 0],
- rotate: [0, 0, 0],
- opacity: 1,
- scale: 1
- },
- next: {
- translate: [0, 0, 0],
- rotate: [0, 0, 0],
- opacity: 1,
- scale: 1
- }
- }
- });
- const getTranslateValue = (value) => {
- if (typeof value === "string") return value;
- return `${value}px`;
- };
- const setTranslate = () => {
- const {
- slides,
- wrapperEl,
- slidesSizesGrid
- } = swiper;
- const params = swiper.params.creativeEffect;
- const {
- progressMultiplier: multiplier
- } = params;
- const isCenteredSlides = swiper.params.centeredSlides;
- const rotateFix = getRotateFix(swiper);
- if (isCenteredSlides) {
- const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;
- wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;
- }
- for (let i = 0; i < slides.length; i += 1) {
- const slideEl = slides[i];
- const slideProgress = slideEl.progress;
- const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);
- let originalProgress = progress;
- if (!isCenteredSlides) {
- originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);
- }
- const offset = slideEl.swiperSlideOffset;
- const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];
- const r = [0, 0, 0];
- let custom = false;
- if (!swiper.isHorizontal()) {
- t[1] = t[0];
- t[0] = 0;
- }
- let data = {
- translate: [0, 0, 0],
- rotate: [0, 0, 0],
- scale: 1,
- opacity: 1
- };
- if (progress < 0) {
- data = params.next;
- custom = true;
- } else if (progress > 0) {
- data = params.prev;
- custom = true;
- }
- t.forEach((value, index) => {
- t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;
- });
- r.forEach((value, index) => {
- let val = data.rotate[index] * Math.abs(progress * multiplier);
- r[index] = val;
- });
- slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
- const translateString = t.join(", ");
- const rotateString = `rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;
- const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
- const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;
- const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;
- if (custom && data.shadow || !custom) {
- let shadowEl = slideEl.querySelector(".swiper-slide-shadow");
- if (!shadowEl && data.shadow) {
- shadowEl = createShadow("creative", slideEl);
- }
- if (shadowEl) {
- const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;
- shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);
- }
- }
- const targetEl = effectTarget(params, slideEl);
- targetEl.style.transform = transform;
- targetEl.style.opacity = opacityString;
- if (data.origin) {
- targetEl.style.transformOrigin = data.origin;
- }
- }
- };
- const setTransition = (duration) => {
- const transformElements = swiper.slides.map((slideEl) => getSlideTransformEl(slideEl));
- transformElements.forEach((el) => {
- el.style.transitionDuration = `${duration}ms`;
- el.querySelectorAll(".swiper-slide-shadow").forEach((shadowEl) => {
- shadowEl.style.transitionDuration = `${duration}ms`;
- });
- });
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformElements,
- allSlides: true
- });
- };
- effectInit({
- effect: "creative",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => swiper.params.creativeEffect.perspective,
- overwriteParams: () => ({
- watchSlidesProgress: true,
- virtualTranslate: !swiper.params.cssMode
- })
- });
-}
-
-// node_modules/swiper/modules/effect-cards.mjs
-function EffectCards(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- cardsEffect: {
- slideShadows: true,
- rotate: true,
- perSlideRotate: 2,
- perSlideOffset: 8
- }
- });
- const setTranslate = () => {
- const {
- slides,
- activeIndex,
- rtlTranslate: rtl
- } = swiper;
- const params = swiper.params.cardsEffect;
- const {
- startTranslate,
- isTouched
- } = swiper.touchEventsData;
- const currentTranslate = rtl ? -swiper.translate : swiper.translate;
- for (let i = 0; i < slides.length; i += 1) {
- const slideEl = slides[i];
- const slideProgress = slideEl.progress;
- const progress = Math.min(Math.max(slideProgress, -4), 4);
- let offset = slideEl.swiperSlideOffset;
- if (swiper.params.centeredSlides && !swiper.params.cssMode) {
- swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;
- }
- if (swiper.params.centeredSlides && swiper.params.cssMode) {
- offset -= slides[0].swiperSlideOffset;
- }
- let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;
- let tY = 0;
- const tZ = -100 * Math.abs(progress);
- let scale = 1;
- let rotate = -params.perSlideRotate * progress;
- let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;
- const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;
- const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;
- const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;
- if (isSwipeToNext || isSwipeToPrev) {
- const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
- rotate += -28 * progress * subProgress;
- scale += -0.5 * subProgress;
- tXAdd += 96 * subProgress;
- tY = `${-25 * subProgress * Math.abs(progress)}%`;
- }
- if (progress < 0) {
- tX = `calc(${tX}px ${rtl ? "-" : "+"} (${tXAdd * Math.abs(progress)}%))`;
- } else if (progress > 0) {
- tX = `calc(${tX}px ${rtl ? "-" : "+"} (-${tXAdd * Math.abs(progress)}%))`;
- } else {
- tX = `${tX}px`;
- }
- if (!swiper.isHorizontal()) {
- const prevY = tY;
- tY = tX;
- tX = prevY;
- }
- const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;
- const transform = `
- translate3d(${tX}, ${tY}, ${tZ}px)
- rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg)
- scale(${scaleString})
- `;
- if (params.slideShadows) {
- let shadowEl = slideEl.querySelector(".swiper-slide-shadow");
- if (!shadowEl) {
- shadowEl = createShadow("cards", slideEl);
- }
- if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);
- }
- slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
- const targetEl = effectTarget(params, slideEl);
- targetEl.style.transform = transform;
- }
- };
- const setTransition = (duration) => {
- const transformElements = swiper.slides.map((slideEl) => getSlideTransformEl(slideEl));
- transformElements.forEach((el) => {
- el.style.transitionDuration = `${duration}ms`;
- el.querySelectorAll(".swiper-slide-shadow").forEach((shadowEl) => {
- shadowEl.style.transitionDuration = `${duration}ms`;
- });
- });
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformElements
- });
- };
- effectInit({
- effect: "cards",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => true,
- overwriteParams: () => ({
- watchSlidesProgress: true,
- virtualTranslate: !swiper.params.cssMode
- })
- });
-}
-export {
- A11y,
- Autoplay,
- Controller,
- EffectCards,
- EffectCoverflow,
- EffectCreative,
- EffectCube,
- EffectFade,
- EffectFlip,
- freeMode as FreeMode,
- Grid,
- HashNavigation,
- History,
- Keyboard,
- Manipulation,
- Mousewheel,
- Navigation,
- Pagination,
- Parallax,
- Scrollbar,
- Thumb as Thumbs,
- Virtual,
- Zoom
-};
-//# sourceMappingURL=swiper_modules.js.map
diff --git a/node_modules/.vite/deps/swiper_modules.js.map b/node_modules/.vite/deps/swiper_modules.js.map
deleted file mode 100644
index eae45d9..0000000
--- a/node_modules/.vite/deps/swiper_modules.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../swiper/shared/ssr-window.esm.mjs", "../../swiper/shared/utils.mjs", "../../swiper/modules/virtual.mjs", "../../swiper/modules/keyboard.mjs", "../../swiper/modules/mousewheel.mjs", "../../swiper/shared/create-element-if-not-defined.mjs", "../../swiper/modules/navigation.mjs", "../../swiper/shared/classes-to-selector.mjs", "../../swiper/modules/pagination.mjs", "../../swiper/modules/scrollbar.mjs", "../../swiper/modules/parallax.mjs", "../../swiper/modules/zoom.mjs", "../../swiper/modules/controller.mjs", "../../swiper/modules/a11y.mjs", "../../swiper/modules/history.mjs", "../../swiper/modules/hash-navigation.mjs", "../../swiper/modules/autoplay.mjs", "../../swiper/modules/thumbs.mjs", "../../swiper/modules/free-mode.mjs", "../../swiper/modules/grid.mjs", "../../swiper/modules/manipulation.mjs", "../../swiper/shared/effect-init.mjs", "../../swiper/shared/effect-target.mjs", "../../swiper/shared/effect-virtual-transition-end.mjs", "../../swiper/modules/effect-fade.mjs", "../../swiper/modules/effect-cube.mjs", "../../swiper/shared/create-shadow.mjs", "../../swiper/modules/effect-flip.mjs", "../../swiper/modules/effect-coverflow.mjs", "../../swiper/modules/effect-creative.mjs", "../../swiper/modules/effect-cards.mjs"],
- "sourcesContent": ["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n Object.keys(src).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { getWindow as a, getDocument as g };\n", "import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\n\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(c => !!c.trim());\n}\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n if (selector === void 0) {\n selector = '';\n }\n const window = getWindow();\n const children = [...element.children];\n if (window.HTMLSlotElement && element instanceof HTMLSlotElement) {\n children.push(...element.assignedElements());\n }\n if (!selector) {\n return children;\n }\n return children.filter(el => el.matches(selector));\n}\nfunction elementIsChildOfSlot(el, slot) {\n // Breadth-first search through all parent's children and assigned elements\n const elementsQueue = [slot];\n while (elementsQueue.length > 0) {\n const elementToCheck = elementsQueue.shift();\n if (el === elementToCheck) {\n return true;\n }\n elementsQueue.push(...elementToCheck.children, ...(elementToCheck.shadowRoot?.children || []), ...(elementToCheck.assignedElements?.() || []));\n }\n}\nfunction elementIsChildOf(el, parent) {\n const window = getWindow();\n let isChild = parent.contains(el);\n if (!isChild && window.HTMLSlotElement && parent instanceof HTMLSlotElement) {\n const children = [...parent.assignedElements()];\n isChild = children.includes(el);\n if (!isChild) {\n isChild = elementIsChildOfSlot(el, parent);\n }\n }\n return isChild;\n}\nfunction showWarning(text) {\n try {\n console.warn(text);\n return;\n } catch (err) {\n // err\n }\n}\nfunction createElement(tag, classes) {\n if (classes === void 0) {\n classes = [];\n }\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nfunction makeElementsArray(el) {\n return (Array.isArray(el) ? el : [el]).filter(e => !!e);\n}\nfunction getRotateFix(swiper) {\n return v => {\n if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) {\n return v + 0.001;\n }\n return v;\n };\n}\n\nexport { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, getSlideTransformEl as g, elementIndex as h, classesToTokens as i, getTranslate as j, elementTransitionEnd as k, isObject as l, makeElementsArray as m, nextTick as n, getRotateFix as o, elementStyle as p, elementNextAll as q, elementPrevAll as r, setCSSProperty as s, animateCSSModeScroll as t, showWarning as u, elementIsChildOf as v, extend as w, deleteProps as x };\n", "import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { s as setCSSProperty, e as elementChildren, c as createElement } from '../shared/utils.mjs';\n\nfunction Virtual(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n });\n let cssModeTimeout;\n const document = getDocument();\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: []\n };\n const tempDOM = document.createElement('div');\n function renderSlide(slide, index) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n // eslint-disable-next-line\n let slideEl;\n if (params.renderSlide) {\n slideEl = params.renderSlide.call(swiper, slide, index);\n if (typeof slideEl === 'string') {\n tempDOM.innerHTML = slideEl;\n slideEl = tempDOM.children[0];\n }\n } else if (swiper.isElement) {\n slideEl = createElement('swiper-slide');\n } else {\n slideEl = createElement('div', swiper.params.slideClass);\n }\n slideEl.setAttribute('data-swiper-slide-index', index);\n if (!params.renderSlide) {\n slideEl.innerHTML = slide;\n }\n if (params.cache) {\n swiper.virtual.cache[index] = slideEl;\n }\n return slideEl;\n }\n function update(force, beforeInit) {\n const {\n slidesPerView,\n slidesPerGroup,\n centeredSlides,\n loop: isLoop,\n initialSlide\n } = swiper.params;\n if (beforeInit && !isLoop && initialSlide > 0) {\n return;\n }\n const {\n addSlidesBefore,\n addSlidesAfter\n } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n const activeIndex = swiper.activeIndex || 0;\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;\n }\n let from = activeIndex - slidesBefore;\n let to = activeIndex + slidesAfter;\n if (!isLoop) {\n from = Math.max(from, 0);\n to = Math.min(to, slides.length - 1);\n }\n let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n if (isLoop && activeIndex >= slidesBefore) {\n from -= slidesBefore;\n if (!centeredSlides) offset += swiper.slidesGrid[0];\n } else if (isLoop && activeIndex < slidesBefore) {\n from = -slidesBefore;\n if (centeredSlides) offset += swiper.slidesGrid[0];\n }\n Object.assign(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n slidesBefore,\n slidesAfter\n });\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n emit('virtualUpdate');\n }\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n }\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n }()\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n if (force) {\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => {\n slideEl.remove();\n });\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n const slideIndex = getSlideIndex(i);\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${slideIndex}\"], swiper-slide[data-swiper-slide-index=\"${slideIndex}\"]`)).forEach(slideEl => {\n slideEl.remove();\n });\n }\n }\n }\n const loopFrom = isLoop ? -slides.length : 0;\n const loopTo = isLoop ? slides.length * 2 : slides.length;\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n const slideIndex = getSlideIndex(i);\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(slideIndex);\n } else {\n if (i > previousTo) appendIndexes.push(slideIndex);\n if (i < previousFrom) prependIndexes.push(slideIndex);\n }\n }\n }\n appendIndexes.forEach(index => {\n swiper.slidesEl.append(renderSlide(slides[index], index));\n });\n if (isLoop) {\n for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {\n const index = prependIndexes[i];\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n }\n } else {\n prependIndexes.sort((a, b) => b - a);\n prependIndexes.forEach(index => {\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n });\n }\n elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n onRendered();\n }\n function appendSlide(slides) {\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach(cachedIndex => {\n const cachedEl = cache[cachedIndex];\n const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');\n if (cachedElIndex) {\n cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n on('beforeInit', () => {\n if (!swiper.params.virtual.enabled) return;\n let domSlidesAssigned;\n if (typeof swiper.passedParams.virtual.slides === 'undefined') {\n const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));\n if (slides && slides.length) {\n swiper.virtual.slides = [...slides];\n domSlidesAssigned = true;\n slides.forEach((slideEl, slideIndex) => {\n slideEl.setAttribute('data-swiper-slide-index', slideIndex);\n swiper.virtual.cache[slideIndex] = slideEl;\n slideEl.remove();\n });\n }\n }\n if (!domSlidesAssigned) {\n swiper.virtual.slides = swiper.params.virtual.slides;\n }\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n update(false, true);\n });\n on('setTranslate', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n }\n });\n Object.assign(swiper.virtual, {\n appendSlide,\n prependSlide,\n removeSlide,\n removeAllSlides,\n update\n });\n}\n\nexport { Virtual as default };\n", "import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { a as elementParents, b as elementOffset } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Keyboard(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n function handle(event) {\n if (!swiper.enabled) return;\n const {\n rtlTranslate: rtl\n } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n // Directions locks\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {\n return undefined;\n }\n const el = swiper.el;\n const swiperWidth = el.clientWidth;\n const swiperHeight = el.clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = elementOffset(el);\n if (rtl) swiperOffset.left -= el.scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit('keyPress', kc);\n return undefined;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n document.addEventListener('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n document.removeEventListener('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable,\n disable\n });\n}\n\nexport { Keyboard as default };\n", "import { a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { n as nextTick, d as now } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Mousewheel(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null,\n noMousewheelClass: 'swiper-no-mousewheel'\n }\n });\n swiper.mousewheel = {\n enabled: false\n };\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n function normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n let sX = 0;\n let sY = 0; // spinX, spinY\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) {\n sY = e.detail;\n }\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n }\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n function animateSlider(newEvent) {\n if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n }\n\n // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n }\n // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n }\n // If you got here is because an animation has been triggered so store the current time\n lastScrollTime = new window.Date().getTime();\n // Return false as a default\n return false;\n }\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n return false;\n }\n function handle(event) {\n let e = event;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n\n // Ignore event if the target or its parents have the swiper-no-mousewheel class\n if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;\n const params = swiper.params.mousewheel;\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n let targetEl = swiper.el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n }\n const targetElContainsTarget = targetEl && targetEl.contains(e.target);\n if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n const data = normalize(e);\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n if (delta === 0) return true;\n if (params.invert) delta = -delta;\n\n // Get the scroll positions\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n\n // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n };\n\n // Keep the most recent events\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent);\n\n // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n }\n\n // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n if (swiper.params.loop) {\n swiper.loopFix({\n direction: newEvent.direction < 0 ? 'next' : 'prev',\n byMousewheel: true\n });\n }\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n if (swiper.destroyed || !swiper.params) return;\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(() => {\n if (swiper.destroyed || !swiper.params) return;\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n }\n\n // Emit event\n if (!ignoreWheelEvents) emit('scroll', e);\n\n // Stop autoplay\n if (swiper.params.autoplay && swiper.params.autoplay.disableOnInteraction) swiper.autoplay.stop();\n // Return page scroll on edge positions\n if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) {\n return true;\n }\n }\n }\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n }\n function events(method) {\n let targetEl = swiper.el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n }\n targetEl[method]('mouseenter', handleMouseEnter);\n targetEl[method]('mouseleave', handleMouseLeave);\n targetEl[method]('wheel', handle);\n }\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n if (swiper.mousewheel.enabled) return false;\n events('addEventListener');\n swiper.mousewheel.enabled = true;\n return true;\n }\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n if (!swiper.mousewheel.enabled) return false;\n events('removeEventListener');\n swiper.mousewheel.enabled = false;\n return true;\n }\n on('init', () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', () => {\n if (swiper.params.cssMode) {\n enable();\n }\n if (swiper.mousewheel.enabled) disable();\n });\n Object.assign(swiper.mousewheel, {\n enable,\n disable\n });\n}\n\nexport { Mousewheel as default };\n", "import { e as elementChildren, c as createElement } from './utils.mjs';\n\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n\nexport { createElementIfNotDefined as c };\n", "import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n", "function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return `.${classes.trim().replace(/([\\.:!+\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}\n\nexport { classesToSelector as c };\n", "import { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray, f as elementOuterSize, h as elementIndex, a as elementParents } from '../shared/utils.mjs';\n\nfunction Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function getMoveDirection(prevIndex, nextIndex, length) {\n prevIndex = prevIndex % length;\n nextIndex = nextIndex % length;\n if (nextIndex === prevIndex + 1) {\n return 'next';\n } else if (nextIndex === prevIndex - 1) {\n return 'previous';\n }\n return;\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length);\n if (moveDirection === 'next') {\n swiper.slideNext();\n } else if (moveDirection === 'previous') {\n swiper.slidePrev();\n } else {\n swiper.slideToLoop(index);\n }\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n let previousIndex;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n previousIndex = swiper.previousRealIndex || 0;\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n previousIndex = swiper.previousSnapIndex;\n } else {\n previousIndex = swiper.previousIndex || 0;\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n dynamicBulletIndex += current - (previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n bulletEl.classList.remove(...classesToRemove);\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n } else if (swiper.isElement) {\n bullet.setAttribute('part', 'bullet');\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (swiper.isElement) {\n bullets.forEach((bulletEl, bulletIndex) => {\n bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');\n });\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n // prettier-ignore\n paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part=\"bullet\"' : ''} class=\"${params.bulletClass}\">${params.bulletElement}>`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n }\n swiper.pagination.bullets = [];\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.find(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(...(params.clickableClass || '').split(' '));\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.classList.remove(...(params.clickableClass || '').split(' '));\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n }\n on('changeDirection', () => {\n if (!swiper.pagination || !swiper.pagination.el) return;\n const params = swiper.params.pagination;\n let {\n el\n } = swiper.pagination;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const el = makeElementsArray(swiper.pagination.el);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}\n\nexport { Pagination as default };\n", "import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { m as makeElementsArray, i as classesToTokens, c as createElement, n as nextTick, b as elementOffset } from '../shared/utils.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\n\nfunction Scrollbar(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null\n };\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n dragEl.style.width = `${newSize}px`;\n } else {\n dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n dragEl.style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n el.style.opacity = 1;\n timeout = setTimeout(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n dragEl.style.width = '';\n dragEl.style.height = '';\n trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n dragEl.style.width = `${dragSize}px`;\n } else {\n dragEl.style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n el.style.display = 'none';\n } else {\n el.style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n el.style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n return swiper.isHorizontal() ? e.clientX : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n wrapperEl.style.transitionDuration = '100ms';\n dragEl.style.transitionDuration = '100ms';\n setDragPosition(e);\n clearTimeout(dragTimeout);\n el.style.transitionDuration = '0ms';\n if (params.hide) {\n el.style.opacity = 1;\n }\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n wrapperEl.style.transitionDuration = '0ms';\n el.style.transitionDuration = '0ms';\n dragEl.style.transitionDuration = '0ms';\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = '';\n wrapperEl.style.transitionDuration = '';\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events(method) {\n const {\n scrollbar,\n params\n } = swiper;\n const el = scrollbar.el;\n if (!el) return;\n const target = el;\n const activeListener = params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n target[eventMethod]('pointerdown', onDragStart, activeListener);\n document[eventMethod]('pointermove', onDragMove, activeListener);\n document[eventMethod]('pointerup', onDragEnd, passiveListener);\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const {\n scrollbar,\n el: swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = document.querySelectorAll(params.el);\n if (!el.length) return;\n } else if (!el) {\n el = params.el;\n }\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n el = swiperEl.querySelector(params.el);\n }\n if (el.length > 0) el = el[0];\n el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let dragEl;\n if (el) {\n dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));\n if (!dragEl) {\n dragEl = createElement('div', swiper.params.scrollbar.dragClass);\n el.append(dragEl);\n }\n }\n Object.assign(scrollbar, {\n el,\n dragEl\n });\n if (params.draggable) {\n enableDraggable();\n }\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const el = swiper.scrollbar.el;\n if (el) {\n el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass));\n }\n disableDraggable();\n }\n on('changeDirection', () => {\n if (!swiper.scrollbar || !swiper.scrollbar.el) return;\n const params = swiper.params.scrollbar;\n let {\n el\n } = swiper.scrollbar;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock changeDirection', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n el\n } = swiper.scrollbar;\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n });\n on('destroy', () => {\n destroy();\n });\n const enable = () => {\n swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n init();\n updateSize();\n setTranslate();\n };\n const disable = () => {\n swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}\n\nexport { Scrollbar as default };\n", "import { e as elementChildren } from '../shared/utils.mjs';\n\nfunction Parallax(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n parallax: {\n enabled: false\n }\n });\n const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]';\n const setTransform = (el, progress) => {\n const {\n rtl\n } = swiper;\n const rtlFactor = rtl ? -1 : 1;\n const p = el.getAttribute('data-swiper-parallax') || '0';\n let x = el.getAttribute('data-swiper-parallax-x');\n let y = el.getAttribute('data-swiper-parallax-y');\n const scale = el.getAttribute('data-swiper-parallax-scale');\n const opacity = el.getAttribute('data-swiper-parallax-opacity');\n const rotate = el.getAttribute('data-swiper-parallax-rotate');\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n if (x.indexOf('%') >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if (y.indexOf('%') >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n if (typeof opacity !== 'undefined' && opacity !== null) {\n const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n el.style.opacity = currentOpacity;\n }\n let transform = `translate3d(${x}, ${y}, 0px)`;\n if (typeof scale !== 'undefined' && scale !== null) {\n const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n transform += ` scale(${currentScale})`;\n }\n if (rotate && typeof rotate !== 'undefined' && rotate !== null) {\n const currentRotate = rotate * progress * -1;\n transform += ` rotate(${currentRotate}deg)`;\n }\n el.style.transform = transform;\n };\n const setTranslate = () => {\n const {\n el,\n slides,\n progress,\n snapGrid,\n isElement\n } = swiper;\n const elements = elementChildren(el, elementsSelector);\n if (swiper.isElement) {\n elements.push(...elementChildren(swiper.hostEl, elementsSelector));\n }\n elements.forEach(subEl => {\n setTransform(subEl, progress);\n });\n slides.forEach((slideEl, slideIndex) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => {\n setTransform(subEl, slideProgress);\n });\n });\n };\n const setTransition = function (duration) {\n if (duration === void 0) {\n duration = swiper.params.speed;\n }\n const {\n el,\n hostEl\n } = swiper;\n const elements = [...el.querySelectorAll(elementsSelector)];\n if (swiper.isElement) {\n elements.push(...hostEl.querySelectorAll(elementsSelector));\n }\n elements.forEach(parallaxEl => {\n let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;\n });\n };\n on('beforeInit', () => {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on('init', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTranslate', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTransition', (_swiper, duration) => {\n if (!swiper.params.parallax.enabled) return;\n setTransition(duration);\n });\n}\n\nexport { Parallax as default };\n", "import { a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { e as elementChildren, a as elementParents, b as elementOffset, j as getTranslate } from '../shared/utils.mjs';\n\nfunction Zoom(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n limitToOriginalSize: false,\n maxRatio: 3,\n minRatio: 1,\n panOnMouseMove: false,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n });\n swiper.zoom = {\n enabled: false\n };\n let currentScale = 1;\n let isScaling = false;\n let isPanningWithMouse = false;\n let mousePanStart = {\n x: 0,\n y: 0\n };\n const mousePanSensitivity = -3; // Negative to invert pan direction\n let fakeGestureTouched;\n let fakeGestureMoved;\n const evCache = [];\n const gesture = {\n originX: 0,\n originY: 0,\n slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n imageEl: undefined,\n imageWrapEl: undefined,\n maxRatio: 3\n };\n const image = {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n };\n const velocity = {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n };\n let scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = gesture.imageEl;\n const slideEl = gesture.slideEl;\n emit('zoomChange', value, imageEl, slideEl);\n }\n scale = value;\n }\n });\n function getDistanceBetweenTouches() {\n if (evCache.length < 2) return 1;\n const x1 = evCache[0].pageX;\n const y1 = evCache[0].pageY;\n const x2 = evCache[1].pageX;\n const y2 = evCache[1].pageY;\n const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n return distance;\n }\n function getMaxRatio() {\n const params = swiper.params.zoom;\n const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;\n if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) {\n const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth;\n return Math.min(imageMaxRatio, maxRatio);\n }\n return maxRatio;\n }\n function getScaleOrigin() {\n if (evCache.length < 2) return {\n x: null,\n y: null\n };\n const box = gesture.imageEl.getBoundingClientRect();\n return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale];\n }\n function getSlideSelector() {\n return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n }\n function eventWithinSlide(e) {\n const slideSelector = getSlideSelector();\n if (e.target.matches(slideSelector)) return true;\n if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true;\n return false;\n }\n function eventWithinZoomContainer(e) {\n const selector = `.${swiper.params.zoom.containerClass}`;\n if (e.target.matches(selector)) return true;\n if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true;\n return false;\n }\n\n // Events\n function onGestureStart(e) {\n if (e.pointerType === 'mouse') {\n evCache.splice(0, evCache.length);\n }\n if (!eventWithinSlide(e)) return;\n const params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n evCache.push(e);\n if (evCache.length < 2) {\n return;\n }\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches();\n if (!gesture.slideEl) {\n gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n if (!gesture.imageWrapEl) {\n gesture.imageEl = undefined;\n return;\n }\n gesture.maxRatio = getMaxRatio();\n }\n if (gesture.imageEl) {\n const [originX, originY] = getScaleOrigin();\n gesture.originX = originX;\n gesture.originY = originY;\n gesture.imageEl.style.transitionDuration = '0ms';\n }\n isScaling = true;\n }\n function onGestureChange(e) {\n if (!eventWithinSlide(e)) return;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) evCache[pointerIndex] = e;\n if (evCache.length < 2) {\n return;\n }\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches();\n if (!gesture.imageEl) {\n return;\n }\n zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n }\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n }\n function onGestureEnd(e) {\n if (!eventWithinSlide(e)) return;\n if (e.pointerType === 'mouse' && e.type === 'pointerout') return;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n if (!gesture.imageEl) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale > 1 && gesture.slideEl) {\n gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n } else if (zoom.scale <= 1 && gesture.slideEl) {\n gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n }\n if (zoom.scale === 1) {\n gesture.originX = 0;\n gesture.originY = 0;\n gesture.slideEl = undefined;\n }\n }\n let allowTouchMoveTimeout;\n function allowTouchMove() {\n swiper.touchEventsData.preventTouchMoveFromPointerMove = false;\n }\n function preventTouchMove() {\n clearTimeout(allowTouchMoveTimeout);\n swiper.touchEventsData.preventTouchMoveFromPointerMove = true;\n allowTouchMoveTimeout = setTimeout(() => {\n if (swiper.destroyed) return;\n allowTouchMove();\n });\n }\n function onTouchStart(e) {\n const device = swiper.device;\n if (!gesture.imageEl) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n const event = evCache.length > 0 ? evCache[0] : e;\n image.touchesStart.x = event.pageX;\n image.touchesStart.y = event.pageY;\n }\n function onTouchMove(e) {\n const isMouseEvent = e.pointerType === 'mouse';\n const isMousePan = isMouseEvent && swiper.params.zoom.panOnMouseMove;\n if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) {\n return;\n }\n const zoom = swiper.zoom;\n if (!gesture.imageEl) {\n return;\n }\n if (!image.isTouched || !gesture.slideEl) {\n if (isMousePan) onMouseMove(e);\n return;\n }\n if (isMousePan) {\n onMouseMove(e);\n return;\n }\n if (!image.isMoved) {\n image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0;\n image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0;\n gesture.slideWidth = gesture.slideEl.offsetWidth;\n gesture.slideHeight = gesture.slideEl.offsetHeight;\n gesture.imageWrapEl.style.transitionDuration = '0ms';\n }\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;\n image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;\n const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));\n if (touchesDiff > 5) {\n swiper.allowClick = false;\n }\n if (!image.isMoved && !isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n allowTouchMove();\n return;\n }\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n allowTouchMove();\n return;\n }\n }\n if (e.cancelable) {\n e.preventDefault();\n }\n e.stopPropagation();\n preventTouchMove();\n image.isMoved = true;\n const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);\n const {\n originX,\n originY\n } = gesture;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n }\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n }\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n }\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n }\n\n // Velocity\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n }\n function onTouchEnd() {\n const zoom = swiper.zoom;\n evCache.length = 0;\n if (!gesture.imageEl) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n\n // Fix duration\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;\n gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n }\n function onTransitionEnd() {\n const zoom = swiper.zoom;\n if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {\n if (gesture.imageEl) {\n gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n }\n if (gesture.imageWrapEl) {\n gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n }\n gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);\n zoom.scale = 1;\n currentScale = 1;\n gesture.slideEl = undefined;\n gesture.imageEl = undefined;\n gesture.imageWrapEl = undefined;\n gesture.originX = 0;\n gesture.originY = 0;\n }\n }\n function onMouseMove(e) {\n // Only pan if zoomed in and mouse panning is enabled\n if (currentScale <= 1 || !gesture.imageWrapEl) return;\n if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;\n const currentTransform = window.getComputedStyle(gesture.imageWrapEl).transform;\n const matrix = new window.DOMMatrix(currentTransform);\n if (!isPanningWithMouse) {\n isPanningWithMouse = true;\n mousePanStart.x = e.clientX;\n mousePanStart.y = e.clientY;\n image.startX = matrix.e;\n image.startY = matrix.f;\n image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n gesture.slideWidth = gesture.slideEl.offsetWidth;\n gesture.slideHeight = gesture.slideEl.offsetHeight;\n return;\n }\n const deltaX = (e.clientX - mousePanStart.x) * mousePanSensitivity;\n const deltaY = (e.clientY - mousePanStart.y) * mousePanSensitivity;\n const scaledWidth = image.width * currentScale;\n const scaledHeight = image.height * currentScale;\n const slideWidth = gesture.slideWidth;\n const slideHeight = gesture.slideHeight;\n const minX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n const maxX = -minX;\n const minY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n const maxY = -minY;\n const newX = Math.max(Math.min(image.startX + deltaX, maxX), minX);\n const newY = Math.max(Math.min(image.startY + deltaY, maxY), minY);\n gesture.imageWrapEl.style.transitionDuration = '0ms';\n gesture.imageWrapEl.style.transform = `translate3d(${newX}px, ${newY}px, 0)`;\n mousePanStart.x = e.clientX;\n mousePanStart.y = e.clientY;\n image.startX = newX;\n image.startY = newY;\n }\n function zoomIn(e) {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.slideEl) {\n if (e && e.target) {\n gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n }\n if (!gesture.slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n } else {\n gesture.slideEl = swiper.slides[swiper.activeIndex];\n }\n }\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n }\n if (!gesture.imageEl || !gesture.imageWrapEl) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.touchAction = 'none';\n }\n gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.pageX;\n touchY = e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n const forceZoomRatio = typeof e === 'number' ? e : null;\n if (currentScale === 1 && forceZoomRatio) {\n touchX = undefined;\n touchY = undefined;\n image.touchesStart.x = undefined;\n image.touchesStart.y = undefined;\n }\n const maxRatio = getMaxRatio();\n zoom.scale = forceZoomRatio || maxRatio;\n currentScale = forceZoomRatio || maxRatio;\n if (e && !(currentScale === 1 && forceZoomRatio)) {\n slideWidth = gesture.slideEl.offsetWidth;\n slideHeight = gesture.slideEl.offsetHeight;\n offsetX = elementOffset(gesture.slideEl).left + window.scrollX;\n offsetY = elementOffset(gesture.slideEl).top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n if (forceZoomRatio && zoom.scale === 1) {\n gesture.originX = 0;\n gesture.originY = 0;\n }\n gesture.imageWrapEl.style.transitionDuration = '300ms';\n gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;\n gesture.imageEl.style.transitionDuration = '300ms';\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n }\n function zoomOut() {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n } else {\n gesture.slideEl = swiper.slides[swiper.activeIndex];\n }\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n }\n if (!gesture.imageEl || !gesture.imageWrapEl) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.style.touchAction = '';\n }\n zoom.scale = 1;\n currentScale = 1;\n image.touchesStart.x = undefined;\n image.touchesStart.y = undefined;\n gesture.imageWrapEl.style.transitionDuration = '300ms';\n gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n gesture.imageEl.style.transitionDuration = '300ms';\n gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n gesture.slideEl = undefined;\n gesture.originX = 0;\n gesture.originY = 0;\n if (swiper.params.zoom.panOnMouseMove) {\n mousePanStart = {\n x: 0,\n y: 0\n };\n if (isPanningWithMouse) {\n isPanningWithMouse = false;\n image.startX = 0;\n image.startY = 0;\n }\n }\n }\n\n // Toggle Zoom\n function zoomToggle(e) {\n const zoom = swiper.zoom;\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoomOut();\n } else {\n // Zoom In\n zoomIn(e);\n }\n }\n function getListeners() {\n const passiveListener = swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n const activeListenerWithCapture = swiper.params.passiveListeners ? {\n passive: false,\n capture: true\n } : true;\n return {\n passiveListener,\n activeListenerWithCapture\n };\n }\n\n // Attach/Detach Events\n function enable() {\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n\n // Scale image\n swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);\n swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);\n });\n\n // Move image\n swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n }\n function disable() {\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n zoom.enabled = false;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n\n // Scale image\n swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);\n swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);\n });\n\n // Move image\n swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n }\n on('init', () => {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n disable();\n });\n on('touchStart', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchStart(e);\n });\n on('touchEnd', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchEnd();\n });\n on('doubleTap', (_s, e) => {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n zoomToggle(e);\n }\n });\n on('transitionEnd', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on('slideChange', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n Object.assign(swiper.zoom, {\n enable,\n disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle\n });\n}\n\nexport { Zoom as default };\n", "import { n as nextTick, k as elementTransitionEnd } from '../shared/utils.mjs';\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nfunction Controller(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n }\n });\n\n swiper.controller = {\n control: undefined\n };\n function LinearSpline(x, y) {\n const binarySearch = function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n }();\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n let i1;\n let i3;\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n\n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n return this;\n }\n function getInterpolateFunction(c) {\n swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n function setTranslate(_t, byController) {\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n const Swiper = swiper.constructor;\n function setControlledTranslate(c) {\n if (c.destroyed) return;\n\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === 'slide') {\n getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {\n multiplier = 1;\n }\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n function setTransition(duration, byController) {\n const Swiper = swiper.constructor;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n if (c.destroyed) return;\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n nextTick(() => {\n c.updateAutoHeight();\n });\n }\n elementTransitionEnd(c.wrapperEl, () => {\n if (!controlled) return;\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n function removeSpline() {\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n }\n on('beforeInit', () => {\n if (typeof window !== 'undefined' && (\n // eslint-disable-line\n typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {\n const controlElements = typeof swiper.params.controller.control === 'string' ? [...document.querySelectorAll(swiper.params.controller.control)] : [swiper.params.controller.control];\n controlElements.forEach(controlElement => {\n if (!swiper.controller.control) swiper.controller.control = [];\n if (controlElement && controlElement.swiper) {\n swiper.controller.control.push(controlElement.swiper);\n } else if (controlElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onControllerSwiper = e => {\n swiper.controller.control.push(e.detail[0]);\n swiper.update();\n controlElement.removeEventListener(eventName, onControllerSwiper);\n };\n controlElement.addEventListener(eventName, onControllerSwiper);\n }\n });\n return;\n }\n swiper.controller.control = swiper.params.controller.control;\n });\n on('update', () => {\n removeSpline();\n });\n on('resize', () => {\n removeSpline();\n });\n on('observerUpdate', () => {\n removeSpline();\n });\n on('setTranslate', (_s, translate, byController) => {\n if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on('setTransition', (_s, duration, byController) => {\n if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n swiper.controller.setTransition(duration, byController);\n });\n Object.assign(swiper.controller, {\n setTranslate,\n setTransition\n });\n}\n\nexport { Controller as default };\n", "import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElement, h as elementIndex, m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction A11y(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n containerRole: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null,\n scrollOnFocus: true\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n let preventFocusHandler;\n let focusTargetSlideEl;\n let visibilityChangedTimestamp = new Date().getTime();\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.innerHTML = '';\n notification.innerHTML = message;\n }\n function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '0');\n });\n }\n function makeElNotFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '-1');\n });\n }\n function addElRole(el, role) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('role', role);\n });\n }\n function addElRoleDescription(el, description) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-roledescription', description);\n });\n }\n function addElControls(el, controls) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-controls', controls);\n });\n }\n function addElLabel(el, label) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-label', label);\n });\n }\n function addElId(el, id) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('id', id);\n });\n }\n function addElLive(el, live) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-live', live);\n });\n }\n function disableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', true);\n });\n }\n function enableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', false);\n });\n }\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const targetEl = e.target;\n if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {\n if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;\n }\n if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) {\n const prevEls = makeElementsArray(swiper.navigation.prevEl);\n const nextEls = makeElementsArray(swiper.navigation.nextEl);\n if (nextEls.includes(targetEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (prevEls.includes(targetEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n }\n if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) {\n targetEl.click();\n }\n }\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (prevEl) {\n if (swiper.isBeginning) {\n disableEl(prevEl);\n makeElNotFocusable(prevEl);\n } else {\n enableEl(prevEl);\n makeElFocusable(prevEl);\n }\n }\n if (nextEl) {\n if (swiper.isEnd) {\n disableEl(nextEl);\n makeElNotFocusable(nextEl);\n } else {\n enableEl(nextEl);\n makeElFocusable(nextEl);\n }\n }\n }\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.forEach(bulletEl => {\n if (swiper.params.pagination.clickable) {\n makeElFocusable(bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole(bulletEl, 'button');\n addElLabel(bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, elementIndex(bulletEl) + 1));\n }\n }\n if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) {\n bulletEl.setAttribute('aria-current', 'true');\n } else {\n bulletEl.removeAttribute('aria-current');\n }\n });\n }\n const initNavEl = (el, wrapperId, message) => {\n makeElFocusable(el);\n if (el.tagName !== 'BUTTON') {\n addElRole(el, 'button');\n el.addEventListener('keydown', onEnterOrSpaceKey);\n }\n addElLabel(el, message);\n addElControls(el, wrapperId);\n };\n const handlePointerDown = e => {\n if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) {\n preventFocusHandler = true;\n }\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n preventFocusHandler = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n const onVisibilityChange = e => {\n visibilityChangedTimestamp = new Date().getTime();\n };\n const handleFocus = e => {\n if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return;\n if (new Date().getTime() - visibilityChangedTimestamp < 100) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n focusTargetSlideEl = slideEl;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n requestAnimationFrame(() => {\n if (preventFocusHandler) return;\n if (swiper.params.loop) {\n swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')), 0);\n } else {\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n }\n preventFocusHandler = false;\n });\n };\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole(swiper.slides, params.slideRole);\n }\n const slidesLength = swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.forEach((slideEl, index) => {\n const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel(slideEl, ariaLabelMessage);\n });\n }\n };\n const init = () => {\n const params = swiper.params.a11y;\n swiper.el.append(liveRegion);\n\n // Container\n const containerEl = swiper.el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel(containerEl, params.containerMessage);\n }\n if (params.containerRole) {\n addElRole(containerEl, params.containerRole);\n }\n\n // Wrapper\n const wrapperEl = swiper.wrapperEl;\n const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId(wrapperEl, wrapperId);\n addElLive(wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));\n }\n if (prevEl) {\n prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.addEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n\n // Tab focus\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('pointerdown', handlePointerDown, true);\n swiper.el.addEventListener('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion) liveRegion.remove();\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n if (prevEl) {\n prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.removeEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n // Tab focus\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('focus', handleFocus, true);\n swiper.el.removeEventListener('pointerdown', handlePointerDown, true);\n swiper.el.removeEventListener('pointerup', handlePointerUp, true);\n }\n }\n on('beforeInit', () => {\n liveRegion = createElement('span', swiper.params.a11y.notificationClass);\n liveRegion.setAttribute('aria-live', 'assertive');\n liveRegion.setAttribute('aria-atomic', 'true');\n });\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n\nexport { A11y as default };\n", "import { a as getWindow } from '../shared/ssr-window.esm.mjs';\n\nfunction History(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides',\n keepQuery: false\n }\n });\n let initialized = false;\n let paths = {};\n const slugify = text => {\n return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n };\n const getPathValues = urlOverride => {\n const window = getWindow();\n let location;\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return {\n key,\n value\n };\n };\n const setHistory = (key, index) => {\n const window = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n let location;\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${index}\"]`) : swiper.slides[index];\n let value = slugify(slide.getAttribute('data-history'));\n if (swiper.params.history.root.length > 0) {\n let root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = `${root}/${key ? `${key}/` : ''}${value}`;\n } else if (!location.pathname.includes(key)) {\n value = `${key ? `${key}/` : ''}${value}`;\n }\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n const currentState = window.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window.history.replaceState({\n value\n }, null, value);\n } else {\n window.history.pushState({\n value\n }, null, value);\n }\n };\n const scrollToSlide = (speed, value, runCallbacks) => {\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides[i];\n const slideHistory = slugify(slide.getAttribute('data-history'));\n if (slideHistory === value) {\n const index = swiper.getSlideIndex(slide);\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n const setHistoryPopState = () => {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n const init = () => {\n const window = getWindow();\n if (!swiper.params.history) return;\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) {\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n return;\n }\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n };\n const destroy = () => {\n const window = getWindow();\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', setHistoryPopState);\n }\n };\n on('init', () => {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n}\n\nexport { History as default };\n", "import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { e as elementChildren } from '../shared/utils.mjs';\n\nfunction HashNavigation(_ref) {\n let {\n swiper,\n extendParams,\n emit,\n on\n } = _ref;\n let initialized = false;\n const document = getDocument();\n const window = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false,\n getSlideIndex(_s, hash) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n const slideWithHash = swiper.slides.find(slideEl => slideEl.getAttribute('data-hash') === hash);\n if (!slideWithHash) return 0;\n const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);\n return index;\n }\n return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash=\"${hash}\"], swiper-slide[data-hash=\"${hash}\"]`)[0]);\n }\n }\n });\n const onHashChange = () => {\n emit('hashChange');\n const newHash = document.location.hash.replace('#', '');\n const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : '';\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);\n if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return;\n swiper.slideTo(newIndex);\n }\n };\n const setHash = () => {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : '';\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, `#${activeSlideHash}` || '');\n emit('hashSet');\n } else {\n document.location.hash = activeSlideHash || '';\n emit('hashSet');\n }\n };\n const init = () => {\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n initialized = true;\n const hash = document.location.hash.replace('#', '');\n if (hash) {\n const speed = 0;\n const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);\n swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);\n }\n if (swiper.params.hashNavigation.watchState) {\n window.addEventListener('hashchange', onHashChange);\n }\n };\n const destroy = () => {\n if (swiper.params.hashNavigation.watchState) {\n window.removeEventListener('hashchange', onHashChange);\n }\n };\n on('init', () => {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHash();\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n}\n\nexport { HashNavigation as default };\n", "import { g as getDocument } from '../shared/ssr-window.esm.mjs';\n\n/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nfunction Autoplay(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit,\n params\n } = _ref;\n swiper.autoplay = {\n running: false,\n paused: false,\n timeLeft: 0\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: false,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n let timeout;\n let raf;\n let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayTimeLeft;\n let autoplayStartTime = new Date().getTime();\n let wasPaused;\n let isTouched;\n let pausedByTouch;\n let touchStartTimeout;\n let slideChanged;\n let pausedByInteraction;\n let pausedByPointerEnter;\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;\n if (e.target !== swiper.wrapperEl) return;\n swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);\n if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) {\n return;\n }\n resume();\n }\n const calcTimeLeft = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.autoplay.paused) {\n wasPaused = true;\n } else if (wasPaused) {\n autoplayDelayCurrent = autoplayTimeLeft;\n wasPaused = false;\n }\n const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();\n swiper.autoplay.timeLeft = timeLeft;\n emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);\n raf = requestAnimationFrame(() => {\n calcTimeLeft();\n });\n };\n const getSlideDelay = () => {\n let activeSlideEl;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n activeSlideEl = swiper.slides.find(slideEl => slideEl.classList.contains('swiper-slide-active'));\n } else {\n activeSlideEl = swiper.slides[swiper.activeIndex];\n }\n if (!activeSlideEl) return undefined;\n const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);\n return currentSlideDelay;\n };\n const run = delayForce => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n cancelAnimationFrame(raf);\n calcTimeLeft();\n let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;\n autoplayDelayTotal = swiper.params.autoplay.delay;\n autoplayDelayCurrent = swiper.params.autoplay.delay;\n const currentSlideDelay = getSlideDelay();\n if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {\n delay = currentSlideDelay;\n autoplayDelayTotal = currentSlideDelay;\n autoplayDelayCurrent = currentSlideDelay;\n }\n autoplayTimeLeft = delay;\n const speed = swiper.params.speed;\n const proceed = () => {\n if (!swiper || swiper.destroyed) return;\n if (swiper.params.autoplay.reverseDirection) {\n if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {\n swiper.slidePrev(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, speed, true, true);\n emit('autoplay');\n }\n } else {\n if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {\n swiper.slideNext(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, speed, true, true);\n emit('autoplay');\n }\n }\n if (swiper.params.cssMode) {\n autoplayStartTime = new Date().getTime();\n requestAnimationFrame(() => {\n run();\n });\n }\n };\n if (delay > 0) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n proceed();\n }, delay);\n } else {\n requestAnimationFrame(() => {\n proceed();\n });\n }\n\n // eslint-disable-next-line\n return delay;\n };\n const start = () => {\n autoplayStartTime = new Date().getTime();\n swiper.autoplay.running = true;\n run();\n emit('autoplayStart');\n };\n const stop = () => {\n swiper.autoplay.running = false;\n clearTimeout(timeout);\n cancelAnimationFrame(raf);\n emit('autoplayStop');\n };\n const pause = (internal, reset) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n clearTimeout(timeout);\n if (!internal) {\n pausedByInteraction = true;\n }\n const proceed = () => {\n emit('autoplayPause');\n if (swiper.params.autoplay.waitForTransition) {\n swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);\n } else {\n resume();\n }\n };\n swiper.autoplay.paused = true;\n if (reset) {\n if (slideChanged) {\n autoplayTimeLeft = swiper.params.autoplay.delay;\n }\n slideChanged = false;\n proceed();\n return;\n }\n const delay = autoplayTimeLeft || swiper.params.autoplay.delay;\n autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;\n if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;\n proceed();\n };\n const resume = () => {\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;\n autoplayStartTime = new Date().getTime();\n if (pausedByInteraction) {\n pausedByInteraction = false;\n run(autoplayTimeLeft);\n } else {\n run();\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n };\n const onVisibilityChange = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n const document = getDocument();\n if (document.visibilityState === 'hidden') {\n pausedByInteraction = true;\n pause(true);\n }\n if (document.visibilityState === 'visible') {\n resume();\n }\n };\n const onPointerEnter = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByInteraction = true;\n pausedByPointerEnter = true;\n if (swiper.animating || swiper.autoplay.paused) return;\n pause(true);\n };\n const onPointerLeave = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByPointerEnter = false;\n if (swiper.autoplay.paused) {\n resume();\n }\n };\n const attachMouseEvents = () => {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.el.addEventListener('pointerenter', onPointerEnter);\n swiper.el.addEventListener('pointerleave', onPointerLeave);\n }\n };\n const detachMouseEvents = () => {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('pointerenter', onPointerEnter);\n swiper.el.removeEventListener('pointerleave', onPointerLeave);\n }\n };\n const attachDocumentEvents = () => {\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n };\n const detachDocumentEvents = () => {\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n };\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n attachMouseEvents();\n attachDocumentEvents();\n start();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n detachDocumentEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n });\n on('_freeModeStaticRelease', () => {\n if (pausedByTouch || pausedByInteraction) {\n resume();\n }\n });\n on('_freeModeNoMomentumRelease', () => {\n if (!swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n return;\n }\n isTouched = true;\n pausedByTouch = false;\n pausedByInteraction = false;\n touchStartTimeout = setTimeout(() => {\n pausedByInteraction = true;\n pausedByTouch = true;\n pause(true);\n }, 200);\n });\n on('touchEnd', () => {\n if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;\n clearTimeout(touchStartTimeout);\n clearTimeout(timeout);\n if (swiper.params.autoplay.disableOnInteraction) {\n pausedByTouch = false;\n isTouched = false;\n return;\n }\n if (pausedByTouch && swiper.params.cssMode) resume();\n pausedByTouch = false;\n isTouched = false;\n });\n on('slideChange', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n slideChanged = true;\n });\n Object.assign(swiper.autoplay, {\n start,\n stop,\n pause,\n resume\n });\n}\n\nexport { Autoplay as default };\n", "import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { l as isObject, e as elementChildren } from '../shared/utils.mjs';\n\nfunction Thumb(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs'\n }\n });\n let initialized = false;\n let swiperCreated = false;\n swiper.thumbs = {\n swiper: null\n };\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n swiper.slideToLoop(slideToIndex);\n } else {\n swiper.slideTo(slideToIndex);\n }\n }\n function init() {\n const {\n thumbs: thumbsParams\n } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper.update();\n } else if (isObject(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).forEach(slideEl => {\n slideEl.classList.add(thumbActiveClass);\n });\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n if (thumbsSwiper.slides[swiper.realIndex + i]) {\n thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);\n }\n }\n }\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n const currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n const newThumbsSlide = thumbsSwiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`);\n newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n on('beforeInit', () => {\n const {\n thumbs\n } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {\n const document = getDocument();\n const getThumbsElementAndInit = () => {\n const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;\n if (thumbsElement && thumbsElement.swiper) {\n thumbs.swiper = thumbsElement.swiper;\n init();\n update(true);\n } else if (thumbsElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onThumbsSwiper = e => {\n thumbs.swiper = e.detail[0];\n thumbsElement.removeEventListener(eventName, onThumbsSwiper);\n init();\n update(true);\n thumbs.swiper.update();\n swiper.update();\n };\n thumbsElement.addEventListener(eventName, onThumbsSwiper);\n }\n return thumbsElement;\n };\n const watchForThumbsToAppear = () => {\n if (swiper.destroyed) return;\n const thumbsElement = getThumbsElementAndInit();\n if (!thumbsElement) {\n requestAnimationFrame(watchForThumbsToAppear);\n }\n };\n requestAnimationFrame(watchForThumbsToAppear);\n } else {\n init();\n update(true);\n }\n });\n on('slideChange update resize observerUpdate', () => {\n update();\n });\n on('setTransition', (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n Object.assign(swiper.thumbs, {\n init,\n update\n });\n}\n\nexport { Thumb as default };\n", "import { d as now, k as elementTransitionEnd } from '../shared/utils.mjs';\n\nfunction freeMode(_ref) {\n let {\n swiper,\n extendParams,\n emit,\n once\n } = _ref;\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02\n }\n });\n function onTouchStart() {\n if (swiper.params.cssMode) return;\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({\n currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n });\n }\n function onTouchMove() {\n if (swiper.params.cssMode) return;\n const {\n touchEventsData: data,\n touches\n } = swiper;\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n }\n function onTouchEnd(_ref2) {\n let {\n currentPos\n } = _ref2;\n if (swiper.params.cssMode) return;\n const {\n params,\n wrapperEl,\n rtlTranslate: rtl,\n snapGrid,\n touchEventsData: data\n } = swiper;\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n emit('_freeModeStaticRelease');\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n Object.assign(swiper, {\n freeMode: {\n onTouchStart,\n onTouchMove,\n onTouchEnd\n }\n });\n}\n\nexport { freeMode as default };\n", "function Grid(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n grid: {\n rows: 1,\n fill: 'column'\n }\n });\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n let wasMultiRow;\n const getSpaceBetween = () => {\n let spaceBetween = swiper.params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n return spaceBetween;\n };\n const initSlides = slides => {\n const {\n slidesPerView\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n slidesPerRow = slidesNumberEvenToRows / rows;\n };\n const unsetSlides = () => {\n if (swiper.slides) {\n swiper.slides.forEach(slide => {\n if (slide.swiperSlideGridSet) {\n slide.style.height = '';\n slide.style[swiper.getDirectionLabel('margin-top')] = '';\n }\n });\n }\n };\n const updateSlide = (i, slide, slides) => {\n const {\n slidesPerGroup\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.style.order = newSlideOrderIndex;\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.row = row;\n slide.column = column;\n slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;\n slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';\n slide.swiperSlideGridSet = true;\n };\n const updateWrapperSize = (slideSize, snapGrid) => {\n const {\n centeredSlides,\n roundLengths\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows\n } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.splice(0, snapGrid.length);\n snapGrid.push(...newSlidesGrid);\n }\n };\n const onInit = () => {\n wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1;\n };\n const onUpdate = () => {\n const {\n params,\n el\n } = swiper;\n const isMultiRow = params.grid && params.grid.rows > 1;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n numFullColumns = 1;\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n wasMultiRow = isMultiRow;\n };\n on('init', onInit);\n on('update', onUpdate);\n swiper.grid = {\n initSlides,\n unsetSlides,\n updateSlide,\n updateWrapperSize\n };\n}\n\nexport { Grid as default };\n", "function appendSlide(slides) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n const appendElement = slideEl => {\n if (typeof slideEl === 'string') {\n const tempDOM = document.createElement('div');\n tempDOM.innerHTML = slideEl;\n slidesEl.append(tempDOM.children[0]);\n tempDOM.innerHTML = '';\n } else {\n slidesEl.append(slideEl);\n }\n };\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) appendElement(slides[i]);\n }\n } else {\n appendElement(slides);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n}\n\nfunction prependSlide(slides) {\n const swiper = this;\n const {\n params,\n activeIndex,\n slidesEl\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n const prependElement = slideEl => {\n if (typeof slideEl === 'string') {\n const tempDOM = document.createElement('div');\n tempDOM.innerHTML = slideEl;\n slidesEl.prepend(tempDOM.children[0]);\n tempDOM.innerHTML = '';\n } else {\n slidesEl.prepend(slideEl);\n }\n };\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) prependElement(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n prependElement(slides);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n\nfunction addSlide(index, slides) {\n const swiper = this;\n const {\n params,\n activeIndex,\n slidesEl\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.recalcSlides();\n }\n const baseLength = swiper.slides.length;\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index; i -= 1) {\n const currentSlide = swiper.slides[i];\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) slidesEl.append(slides[i]);\n }\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n slidesEl.append(slides);\n }\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n slidesEl.append(slidesBuffer[i]);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeSlide(slidesIndexes) {\n const swiper = this;\n const {\n params,\n activeIndex\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeAllSlides() {\n const swiper = this;\n const slidesIndexes = [];\n for (let i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n swiper.removeSlide(slidesIndexes);\n}\n\nfunction Manipulation(_ref) {\n let {\n swiper\n } = _ref;\n Object.assign(swiper, {\n appendSlide: appendSlide.bind(swiper),\n prependSlide: prependSlide.bind(swiper),\n addSlide: addSlide.bind(swiper),\n removeSlide: removeSlide.bind(swiper),\n removeAllSlides: removeAllSlides.bind(swiper)\n });\n}\n\nexport { Manipulation as default };\n", "function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams\n } = params;\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n // remove shadows\n swiper.slides.forEach(slideEl => {\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());\n });\n // create new one\n recreateShadows();\n }\n });\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}\n\nexport { effectInit as e };\n", "import { g as getSlideTransformEl } from './utils.mjs';\n\nfunction effectTarget(effectParams, slideEl) {\n const transformEl = getSlideTransformEl(slideEl);\n if (transformEl !== slideEl) {\n transformEl.style.backfaceVisibility = 'hidden';\n transformEl.style['-webkit-backface-visibility'] = 'hidden';\n }\n return transformEl;\n}\n\nexport { effectTarget as e };\n", "import { k as elementTransitionEnd } from './utils.mjs';\n\nfunction effectVirtualTransitionEnd(_ref) {\n let {\n swiper,\n duration,\n transformElements,\n allSlides\n } = _ref;\n const {\n activeIndex\n } = swiper;\n const getSlide = el => {\n if (!el.parentElement) {\n // assume shadow root\n const slide = swiper.slides.find(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode);\n return slide;\n }\n return el.parentElement;\n };\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let transitionEndTarget;\n if (allSlides) {\n transitionEndTarget = transformElements;\n } else {\n transitionEndTarget = transformElements.filter(transformEl => {\n const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;\n return swiper.getSlideIndex(el) === activeIndex;\n });\n }\n transitionEndTarget.forEach(el => {\n elementTransitionEnd(el, () => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n });\n });\n }\n}\n\nexport { effectVirtualTransitionEnd as e };\n", "import { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl } from '../shared/utils.mjs';\n\nfunction EffectFade(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n fadeEffect: {\n crossFade: false\n }\n });\n const setTranslate = () => {\n const {\n slides\n } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = swiper.slides[i];\n const offset = slideEl.swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.opacity = slideOpacity;\n targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectFade as default };\n", "import { e as effectInit } from '../shared/effect-init.mjs';\nimport { c as createElement, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCube(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n });\n const createSlideShadows = (slideEl, progress, isHorizontal) => {\n let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBefore) {\n shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' '));\n slideEl.append(shadowBefore);\n }\n if (!shadowAfter) {\n shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' '));\n slideEl.append(shadowAfter);\n }\n if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n // create new ones\n const isHorizontal = swiper.isHorizontal();\n swiper.slides.forEach(slideEl => {\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows(slideEl, progress, isHorizontal);\n });\n };\n const setTranslate = () => {\n const {\n el,\n wrapperEl,\n slides,\n width: swiperWidth,\n height: swiperHeight,\n rtlTranslate: rtl,\n size: swiperSize,\n browser\n } = swiper;\n const r = getRotateFix(swiper);\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow');\n if (!cubeShadowEl) {\n cubeShadowEl = createElement('div', 'swiper-cube-shadow');\n swiper.wrapperEl.append(cubeShadowEl);\n }\n cubeShadowEl.style.height = `${swiperWidth}px`;\n } else {\n cubeShadowEl = el.querySelector('.swiper-cube-shadow');\n if (!cubeShadowEl) {\n cubeShadowEl = createElement('div', 'swiper-cube-shadow');\n el.append(cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n if (rtl) {\n tx = -tx;\n }\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n const transform = `rotateX(${r(isHorizontal ? 0 : -slideAngle)}deg) rotateY(${r(isHorizontal ? slideAngle : 0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n slideEl.style.transform = transform;\n if (params.slideShadows) {\n createSlideShadows(slideEl, progress, isHorizontal);\n }\n }\n wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;\n wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`;\n if (params.shadow) {\n if (isHorizontal) {\n cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`;\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset = params.shadowOffset;\n cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`;\n }\n }\n const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;\n wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal() ? 0 : wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal() ? -wrapperRotate : 0)}deg)`;\n wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);\n };\n const setTransition = duration => {\n const {\n el,\n slides\n } = swiper;\n slides.forEach(slideEl => {\n slideEl.style.transitionDuration = `${duration}ms`;\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => {\n subEl.style.transitionDuration = `${duration}ms`;\n });\n });\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n const shadowEl = el.querySelector('.swiper-cube-shadow');\n if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;\n }\n };\n effectInit({\n effect: 'cube',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.cubeEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n })\n });\n}\n\nexport { EffectCube as default };\n", "import { g as getSlideTransformEl, c as createElement } from './utils.mjs';\n\nfunction createShadow(suffix, slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`;\n const shadowContainer = getSlideTransformEl(slideEl);\n let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`);\n if (!shadowEl) {\n shadowEl = createElement('div', shadowClass.split(' '));\n shadowContainer.append(shadowEl);\n }\n return shadowEl;\n}\n\nexport { createShadow as c };\n", "import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectFlip(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n });\n const createSlideShadows = (slideEl, progress) => {\n let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBefore) {\n shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top');\n }\n if (!shadowAfter) {\n shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n }\n if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n // Set shadows\n swiper.params.flipEffect;\n swiper.slides.forEach(slideEl => {\n let progress = slideEl.progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n createSlideShadows(slideEl, progress);\n });\n };\n const setTranslate = () => {\n const {\n slides,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.flipEffect;\n const rotateFix = getRotateFix(swiper);\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n let progress = slideEl.progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n const offset = slideEl.swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n if (params.slideShadows) {\n createSlideShadows(slideEl, progress);\n }\n const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements\n });\n };\n effectInit({\n effect: 'flip',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.flipEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectFlip as default };\n", "import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCoverflow(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n });\n const setTranslate = () => {\n const {\n width: swiperWidth,\n height: swiperHeight,\n slides,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n const r = getRotateFix(swiper);\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const slideEl = slides[i];\n const slideSize = slidesSizesGrid[i];\n const slideOffset = slideEl.swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n let stretch = params.stretch;\n // Allow percentage to make a relative stretch for responsive sliders\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = slideTransform;\n slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (params.slideShadows) {\n // Set shadows\n let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBeforeEl) {\n shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top');\n }\n if (!shadowAfterEl) {\n shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom');\n }\n if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n };\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true\n })\n });\n}\n\nexport { EffectCoverflow as default };\n", "import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCreative(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n creativeEffect: {\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n }\n }\n });\n const getTranslateValue = value => {\n if (typeof value === 'string') return value;\n return `${value}px`;\n };\n const setTranslate = () => {\n const {\n slides,\n wrapperEl,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.creativeEffect;\n const {\n progressMultiplier: multiplier\n } = params;\n const isCenteredSlides = swiper.params.centeredSlides;\n const rotateFix = getRotateFix(swiper);\n if (isCenteredSlides) {\n const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n const slideProgress = slideEl.progress;\n const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);\n let originalProgress = progress;\n if (!isCenteredSlides) {\n originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);\n }\n const offset = slideEl.swiperSlideOffset;\n const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n const r = [0, 0, 0];\n let custom = false;\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n let data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1\n };\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n }\n // set translate\n t.forEach((value, index) => {\n t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;\n });\n // set rotates\n r.forEach((value, index) => {\n let val = data.rotate[index] * Math.abs(progress * multiplier);\n r[index] = val;\n });\n slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const translateString = t.join(', ');\n const rotateString = `rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;\n const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;\n const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n\n // Set shadows\n if (custom && data.shadow || !custom) {\n let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n if (!shadowEl && data.shadow) {\n shadowEl = createShadow('creative', slideEl);\n }\n if (shadowEl) {\n const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;\n shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n targetEl.style.opacity = opacityString;\n if (data.origin) {\n targetEl.style.transformOrigin = data.origin;\n }\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'creative',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => swiper.params.creativeEffect.perspective,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectCreative as default };\n", "import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl } from '../shared/utils.mjs';\n\nfunction EffectCards(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n cardsEffect: {\n slideShadows: true,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8\n }\n });\n const setTranslate = () => {\n const {\n slides,\n activeIndex,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.cardsEffect;\n const {\n startTranslate,\n isTouched\n } = swiper.touchEventsData;\n const currentTranslate = rtl ? -swiper.translate : swiper.translate;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n const slideProgress = slideEl.progress;\n const progress = Math.min(Math.max(slideProgress, -4), 4);\n let offset = slideEl.swiperSlideOffset;\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;\n }\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n offset -= slides[0].swiperSlideOffset;\n }\n let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let tY = 0;\n const tZ = -100 * Math.abs(progress);\n let scale = 1;\n let rotate = -params.perSlideRotate * progress;\n let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;\n const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;\n if (isSwipeToNext || isSwipeToPrev) {\n const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = `${-25 * subProgress * Math.abs(progress)}%`;\n }\n if (progress < 0) {\n // next\n tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`;\n } else if (progress > 0) {\n // prev\n tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`;\n } else {\n tX = `${tX}px`;\n }\n if (!swiper.isHorizontal()) {\n const prevY = tY;\n tY = tX;\n tX = prevY;\n }\n const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n\n /* eslint-disable */\n const transform = `\n translate3d(${tX}, ${tY}, ${tZ}px)\n rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg)\n scale(${scaleString})\n `;\n /* eslint-enable */\n\n if (params.slideShadows) {\n // Set shadows\n let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n if (!shadowEl) {\n shadowEl = createShadow('cards', slideEl);\n }\n if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements\n });\n };\n effectInit({\n effect: 'cards',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectCards as default };\n"],
- "mappings": "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",
- "names": ["window", "isObject", "window", "window", "document", "window", "document", "appendSlide", "prependSlide", "removeSlide", "removeAllSlides", "document", "window", "event", "window", "event", "document", "window", "event", "document", "window", "document", "window", "document", "isObject", "document"]
-}
diff --git a/node_modules/@ampproject/remapping/LICENSE b/node_modules/@ampproject/remapping/LICENSE
deleted file mode 100644
index d645695..0000000
--- a/node_modules/@ampproject/remapping/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/node_modules/@ampproject/remapping/README.md b/node_modules/@ampproject/remapping/README.md
deleted file mode 100644
index 1463c9f..0000000
--- a/node_modules/@ampproject/remapping/README.md
+++ /dev/null
@@ -1,218 +0,0 @@
-# @ampproject/remapping
-
-> Remap sequential sourcemaps through transformations to point at the original source code
-
-Remapping allows you to take the sourcemaps generated through transforming your code and "remap"
-them to the original source locations. Think "my minified code, transformed with babel and bundled
-with webpack", all pointing to the correct location in your original source code.
-
-With remapping, none of your source code transformations need to be aware of the input's sourcemap,
-they only need to generate an output sourcemap. This greatly simplifies building custom
-transformations (think a find-and-replace).
-
-## Installation
-
-```sh
-npm install @ampproject/remapping
-```
-
-## Usage
-
-```typescript
-function remapping(
- map: SourceMap | SourceMap[],
- loader: (file: string, ctx: LoaderContext) => (SourceMap | null | undefined),
- options?: { excludeContent: boolean, decodedMappings: boolean }
-): SourceMap;
-
-// LoaderContext gives the loader the importing sourcemap, tree depth, the ability to override the
-// "source" location (where child sources are resolved relative to, or the location of original
-// source), and the ability to override the "content" of an original source for inclusion in the
-// output sourcemap.
-type LoaderContext = {
- readonly importer: string;
- readonly depth: number;
- source: string;
- content: string | null | undefined;
-}
-```
-
-`remapping` takes the final output sourcemap, and a `loader` function. For every source file pointer
-in the sourcemap, the `loader` will be called with the resolved path. If the path itself represents
-a transformed file (it has a sourcmap associated with it), then the `loader` should return that
-sourcemap. If not, the path will be treated as an original, untransformed source code.
-
-```js
-// Babel transformed "helloworld.js" into "transformed.js"
-const transformedMap = JSON.stringify({
- file: 'transformed.js',
- // 1st column of 2nd line of output file translates into the 1st source
- // file, line 3, column 2
- mappings: ';CAEE',
- sources: ['helloworld.js'],
- version: 3,
-});
-
-// Uglify minified "transformed.js" into "transformed.min.js"
-const minifiedTransformedMap = JSON.stringify({
- file: 'transformed.min.js',
- // 0th column of 1st line of output file translates into the 1st source
- // file, line 2, column 1.
- mappings: 'AACC',
- names: [],
- sources: ['transformed.js'],
- version: 3,
-});
-
-const remapped = remapping(
- minifiedTransformedMap,
- (file, ctx) => {
-
- // The "transformed.js" file is an transformed file.
- if (file === 'transformed.js') {
- // The root importer is empty.
- console.assert(ctx.importer === '');
- // The depth in the sourcemap tree we're currently loading.
- // The root `minifiedTransformedMap` is depth 0, and its source children are depth 1, etc.
- console.assert(ctx.depth === 1);
-
- return transformedMap;
- }
-
- // Loader will be called to load transformedMap's source file pointers as well.
- console.assert(file === 'helloworld.js');
- // `transformed.js`'s sourcemap points into `helloworld.js`.
- console.assert(ctx.importer === 'transformed.js');
- // This is a source child of `transformed`, which is a source child of `minifiedTransformedMap`.
- console.assert(ctx.depth === 2);
- return null;
- }
-);
-
-console.log(remapped);
-// {
-// file: 'transpiled.min.js',
-// mappings: 'AAEE',
-// sources: ['helloworld.js'],
-// version: 3,
-// };
-```
-
-In this example, `loader` will be called twice:
-
-1. `"transformed.js"`, the first source file pointer in the `minifiedTransformedMap`. We return the
- associated sourcemap for it (its a transformed file, after all) so that sourcemap locations can
- be traced through it into the source files it represents.
-2. `"helloworld.js"`, our original, unmodified source code. This file does not have a sourcemap, so
- we return `null`.
-
-The `remapped` sourcemap now points from `transformed.min.js` into locations in `helloworld.js`. If
-you were to read the `mappings`, it says "0th column of the first line output line points to the 1st
-column of the 2nd line of the file `helloworld.js`".
-
-### Multiple transformations of a file
-
-As a convenience, if you have multiple single-source transformations of a file, you may pass an
-array of sourcemap files in the order of most-recent transformation sourcemap first. Note that this
-changes the `importer` and `depth` of each call to our loader. So our above example could have been
-written as:
-
-```js
-const remapped = remapping(
- [minifiedTransformedMap, transformedMap],
- () => null
-);
-
-console.log(remapped);
-// {
-// file: 'transpiled.min.js',
-// mappings: 'AAEE',
-// sources: ['helloworld.js'],
-// version: 3,
-// };
-```
-
-### Advanced control of the loading graph
-
-#### `source`
-
-The `source` property can overridden to any value to change the location of the current load. Eg,
-for an original source file, it allows us to change the location to the original source regardless
-of what the sourcemap source entry says. And for transformed files, it allows us to change the
-relative resolving location for child sources of the loaded sourcemap.
-
-```js
-const remapped = remapping(
- minifiedTransformedMap,
- (file, ctx) => {
-
- if (file === 'transformed.js') {
- // We pretend the transformed.js file actually exists in the 'src/' directory. When the nested
- // source files are loaded, they will now be relative to `src/`.
- ctx.source = 'src/transformed.js';
- return transformedMap;
- }
-
- console.assert(file === 'src/helloworld.js');
- // We could futher change the source of this original file, eg, to be inside a nested directory
- // itself. This will be reflected in the remapped sourcemap.
- ctx.source = 'src/nested/transformed.js';
- return null;
- }
-);
-
-console.log(remapped);
-// {
-// …,
-// sources: ['src/nested/helloworld.js'],
-// };
-```
-
-
-#### `content`
-
-The `content` property can be overridden when we encounter an original source file. Eg, this allows
-you to manually provide the source content of the original file regardless of whether the
-`sourcesContent` field is present in the parent sourcemap. It can also be set to `null` to remove
-the source content.
-
-```js
-const remapped = remapping(
- minifiedTransformedMap,
- (file, ctx) => {
-
- if (file === 'transformed.js') {
- // transformedMap does not include a `sourcesContent` field, so usually the remapped sourcemap
- // would not include any `sourcesContent` values.
- return transformedMap;
- }
-
- console.assert(file === 'helloworld.js');
- // We can read the file to provide the source content.
- ctx.content = fs.readFileSync(file, 'utf8');
- return null;
- }
-);
-
-console.log(remapped);
-// {
-// …,
-// sourcesContent: [
-// 'console.log("Hello world!")',
-// ],
-// };
-```
-
-### Options
-
-#### excludeContent
-
-By default, `excludeContent` is `false`. Passing `{ excludeContent: true }` will exclude the
-`sourcesContent` field from the returned sourcemap. This is mainly useful when you want to reduce
-the size out the sourcemap.
-
-#### decodedMappings
-
-By default, `decodedMappings` is `false`. Passing `{ decodedMappings: true }` will leave the
-`mappings` field in a [decoded state](https://github.com/rich-harris/sourcemap-codec) instead of
-encoding into a VLQ string.
diff --git a/node_modules/@ampproject/remapping/dist/remapping.mjs b/node_modules/@ampproject/remapping/dist/remapping.mjs
deleted file mode 100644
index f387599..0000000
--- a/node_modules/@ampproject/remapping/dist/remapping.mjs
+++ /dev/null
@@ -1,197 +0,0 @@
-import { decodedMappings, traceSegment, TraceMap } from '@jridgewell/trace-mapping';
-import { GenMapping, maybeAddSegment, setSourceContent, setIgnore, toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';
-
-const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);
-const EMPTY_SOURCES = [];
-function SegmentObject(source, line, column, name, content, ignore) {
- return { source, line, column, name, content, ignore };
-}
-function Source(map, sources, source, content, ignore) {
- return {
- map,
- sources,
- source,
- content,
- ignore,
- };
-}
-/**
- * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
- * (which may themselves be SourceMapTrees).
- */
-function MapSource(map, sources) {
- return Source(map, sources, '', null, false);
-}
-/**
- * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
- * segment tracing ends at the `OriginalSource`.
- */
-function OriginalSource(source, content, ignore) {
- return Source(null, EMPTY_SOURCES, source, content, ignore);
-}
-/**
- * traceMappings is only called on the root level SourceMapTree, and begins the process of
- * resolving each mapping in terms of the original source files.
- */
-function traceMappings(tree) {
- // TODO: Eventually support sourceRoot, which has to be removed because the sources are already
- // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
- const gen = new GenMapping({ file: tree.map.file });
- const { sources: rootSources, map } = tree;
- const rootNames = map.names;
- const rootMappings = decodedMappings(map);
- for (let i = 0; i < rootMappings.length; i++) {
- const segments = rootMappings[i];
- for (let j = 0; j < segments.length; j++) {
- const segment = segments[j];
- const genCol = segment[0];
- let traced = SOURCELESS_MAPPING;
- // 1-length segments only move the current generated column, there's no source information
- // to gather from it.
- if (segment.length !== 1) {
- const source = rootSources[segment[1]];
- traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
- // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
- // respective segment into an original source.
- if (traced == null)
- continue;
- }
- const { column, line, name, content, source, ignore } = traced;
- maybeAddSegment(gen, i, genCol, source, line, column, name);
- if (source && content != null)
- setSourceContent(gen, source, content);
- if (ignore)
- setIgnore(gen, source, true);
- }
- }
- return gen;
-}
-/**
- * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
- * child SourceMapTrees, until we find the original source map.
- */
-function originalPositionFor(source, line, column, name) {
- if (!source.map) {
- return SegmentObject(source.source, line, column, name, source.content, source.ignore);
- }
- const segment = traceSegment(source.map, line, column);
- // If we couldn't find a segment, then this doesn't exist in the sourcemap.
- if (segment == null)
- return null;
- // 1-length segments only move the current generated column, there's no source information
- // to gather from it.
- if (segment.length === 1)
- return SOURCELESS_MAPPING;
- return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
-}
-
-function asArray(value) {
- if (Array.isArray(value))
- return value;
- return [value];
-}
-/**
- * Recursively builds a tree structure out of sourcemap files, with each node
- * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
- * `OriginalSource`s and `SourceMapTree`s.
- *
- * Every sourcemap is composed of a collection of source files and mappings
- * into locations of those source files. When we generate a `SourceMapTree` for
- * the sourcemap, we attempt to load each source file's own sourcemap. If it
- * does not have an associated sourcemap, it is considered an original,
- * unmodified source file.
- */
-function buildSourceMapTree(input, loader) {
- const maps = asArray(input).map((m) => new TraceMap(m, ''));
- const map = maps.pop();
- for (let i = 0; i < maps.length; i++) {
- if (maps[i].sources.length > 1) {
- throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
- 'Did you specify these with the most recent transformation maps first?');
- }
- }
- let tree = build(map, loader, '', 0);
- for (let i = maps.length - 1; i >= 0; i--) {
- tree = MapSource(maps[i], [tree]);
- }
- return tree;
-}
-function build(map, loader, importer, importerDepth) {
- const { resolvedSources, sourcesContent, ignoreList } = map;
- const depth = importerDepth + 1;
- const children = resolvedSources.map((sourceFile, i) => {
- // The loading context gives the loader more information about why this file is being loaded
- // (eg, from which importer). It also allows the loader to override the location of the loaded
- // sourcemap/original source, or to override the content in the sourcesContent field if it's
- // an unmodified source file.
- const ctx = {
- importer,
- depth,
- source: sourceFile || '',
- content: undefined,
- ignore: undefined,
- };
- // Use the provided loader callback to retrieve the file's sourcemap.
- // TODO: We should eventually support async loading of sourcemap files.
- const sourceMap = loader(ctx.source, ctx);
- const { source, content, ignore } = ctx;
- // If there is a sourcemap, then we need to recurse into it to load its source files.
- if (sourceMap)
- return build(new TraceMap(sourceMap, source), loader, source, depth);
- // Else, it's an unmodified source file.
- // The contents of this unmodified source file can be overridden via the loader context,
- // allowing it to be explicitly null or a string. If it remains undefined, we fall back to
- // the importing sourcemap's `sourcesContent` field.
- const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
- const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;
- return OriginalSource(source, sourceContent, ignored);
- });
- return MapSource(map, children);
-}
-
-/**
- * A SourceMap v3 compatible sourcemap, which only includes fields that were
- * provided to it.
- */
-class SourceMap {
- constructor(map, options) {
- const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);
- this.version = out.version; // SourceMap spec says this should be first.
- this.file = out.file;
- this.mappings = out.mappings;
- this.names = out.names;
- this.ignoreList = out.ignoreList;
- this.sourceRoot = out.sourceRoot;
- this.sources = out.sources;
- if (!options.excludeContent) {
- this.sourcesContent = out.sourcesContent;
- }
- }
- toString() {
- return JSON.stringify(this);
- }
-}
-
-/**
- * Traces through all the mappings in the root sourcemap, through the sources
- * (and their sourcemaps), all the way back to the original source location.
- *
- * `loader` will be called every time we encounter a source file. If it returns
- * a sourcemap, we will recurse into that sourcemap to continue the trace. If
- * it returns a falsey value, that source file is treated as an original,
- * unmodified source file.
- *
- * Pass `excludeContent` to exclude any self-containing source file content
- * from the output sourcemap.
- *
- * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
- * VLQ encoded) mappings.
- */
-function remapping(input, loader, options) {
- const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
- const tree = buildSourceMapTree(input, loader);
- return new SourceMap(traceMappings(tree), opts);
-}
-
-export { remapping as default };
-//# sourceMappingURL=remapping.mjs.map
diff --git a/node_modules/@ampproject/remapping/dist/remapping.mjs.map b/node_modules/@ampproject/remapping/dist/remapping.mjs.map
deleted file mode 100644
index 0eb007b..0000000
--- a/node_modules/@ampproject/remapping/dist/remapping.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"remapping.mjs","sources":["../src/source-map-tree.ts","../src/build-source-map-tree.ts","../src/source-map.ts","../src/remapping.ts"],"sourcesContent":["import { GenMapping, maybeAddSegment, setIgnore, setSourceContent } from '@jridgewell/gen-mapping';\nimport { traceSegment, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport type { TraceMap } from '@jridgewell/trace-mapping';\n\nexport type SourceMapSegmentObject = {\n column: number;\n line: number;\n name: string;\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type OriginalSource = {\n map: null;\n sources: Sources[];\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type MapSource = {\n map: TraceMap;\n sources: Sources[];\n source: string;\n content: null;\n ignore: false;\n};\n\nexport type Sources = OriginalSource | MapSource;\n\nconst SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);\nconst EMPTY_SOURCES: Sources[] = [];\n\nfunction SegmentObject(\n source: string,\n line: number,\n column: number,\n name: string,\n content: string | null,\n ignore: boolean\n): SourceMapSegmentObject {\n return { source, line, column, name, content, ignore };\n}\n\nfunction Source(\n map: TraceMap,\n sources: Sources[],\n source: '',\n content: null,\n ignore: false\n): MapSource;\nfunction Source(\n map: null,\n sources: Sources[],\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource;\nfunction Source(\n map: TraceMap | null,\n sources: Sources[],\n source: string | '',\n content: string | null,\n ignore: boolean\n): Sources {\n return {\n map,\n sources,\n source,\n content,\n ignore,\n } as any;\n}\n\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nexport function MapSource(map: TraceMap, sources: Sources[]): MapSource {\n return Source(map, sources, '', null, false);\n}\n\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nexport function OriginalSource(\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource {\n return Source(null, EMPTY_SOURCES, source, content, ignore);\n}\n\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nexport function traceMappings(tree: MapSource): GenMapping {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING;\n\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(\n source,\n segment[2],\n segment[3],\n segment.length === 5 ? rootNames[segment[4]] : ''\n );\n\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null) continue;\n }\n\n const { column, line, name, content, source, ignore } = traced;\n\n maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null) setSourceContent(gen, source, content);\n if (ignore) setIgnore(gen, source, true);\n }\n }\n\n return gen;\n}\n\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nexport function originalPositionFor(\n source: Sources,\n line: number,\n column: number,\n name: string\n): SourceMapSegmentObject | null {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content, source.ignore);\n }\n\n const segment = traceSegment(source.map, line, column);\n\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null) return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1) return SOURCELESS_MAPPING;\n\n return originalPositionFor(\n source.sources[segment[1]],\n segment[2],\n segment[3],\n segment.length === 5 ? source.map.names[segment[4]] : name\n );\n}\n","import { TraceMap } from '@jridgewell/trace-mapping';\n\nimport { OriginalSource, MapSource } from './source-map-tree';\n\nimport type { Sources, MapSource as MapSourceType } from './source-map-tree';\nimport type { SourceMapInput, SourceMapLoader, LoaderContext } from './types';\n\nfunction asArray(value: T | T[]): T[] {\n if (Array.isArray(value)) return value;\n return [value];\n}\n\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nexport default function buildSourceMapTree(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader\n): MapSourceType {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop()!;\n\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(\n `Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?'\n );\n }\n }\n\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\n\nfunction build(\n map: TraceMap,\n loader: SourceMapLoader,\n importer: string,\n importerDepth: number\n): MapSourceType {\n const { resolvedSources, sourcesContent, ignoreList } = map;\n\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx: LoaderContext = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n ignore: undefined,\n };\n\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n\n const { source, content, ignore } = ctx;\n\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);\n\n // Else, it's an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent =\n content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;\n return OriginalSource(source, sourceContent, ignored);\n });\n\n return MapSource(map, children);\n}\n","import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';\n\nimport type { GenMapping } from '@jridgewell/gen-mapping';\nimport type { DecodedSourceMap, EncodedSourceMap, Options } from './types';\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nexport default class SourceMap {\n declare file?: string | null;\n declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];\n declare sourceRoot?: string;\n declare names: string[];\n declare sources: (string | null)[];\n declare sourcesContent?: (string | null)[];\n declare version: 3;\n declare ignoreList: number[] | undefined;\n\n constructor(map: GenMapping, options: Options) {\n const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings as SourceMap['mappings'];\n this.names = out.names as SourceMap['names'];\n this.ignoreList = out.ignoreList as SourceMap['ignoreList'];\n this.sourceRoot = out.sourceRoot;\n\n this.sources = out.sources as SourceMap['sources'];\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent'];\n }\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n}\n","import buildSourceMapTree from './build-source-map-tree';\nimport { traceMappings } from './source-map-tree';\nimport SourceMap from './source-map';\n\nimport type { SourceMapInput, SourceMapLoader, Options } from './types';\nexport type {\n SourceMapSegment,\n EncodedSourceMap,\n EncodedSourceMap as RawSourceMap,\n DecodedSourceMap,\n SourceMapInput,\n SourceMapLoader,\n LoaderContext,\n Options,\n} from './types';\nexport type { SourceMap };\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nexport default function remapping(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader,\n options?: boolean | Options\n): SourceMap {\n const opts =\n typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n"],"names":[],"mappings":";;;AAgCA,MAAM,kBAAkB,mBAAmB,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtF,MAAM,aAAa,GAAc,EAAE,CAAC;AAEpC,SAAS,aAAa,CACpB,MAAc,EACd,IAAY,EACZ,MAAc,EACd,IAAY,EACZ,OAAsB,EACtB,MAAe,EAAA;AAEf,IAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAgBD,SAAS,MAAM,CACb,GAAoB,EACpB,OAAkB,EAClB,MAAmB,EACnB,OAAsB,EACtB,MAAe,EAAA;IAEf,OAAO;QACL,GAAG;QACH,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;KACA,CAAC;AACX,CAAC;AAED;;;AAGG;AACa,SAAA,SAAS,CAAC,GAAa,EAAE,OAAkB,EAAA;AACzD,IAAA,OAAO,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;AAGG;SACa,cAAc,CAC5B,MAAc,EACd,OAAsB,EACtB,MAAe,EAAA;AAEf,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED;;;AAGG;AACG,SAAU,aAAa,CAAC,IAAe,EAAA;;;AAG3C,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3C,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;AAC5B,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;AAE1C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEjC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,GAAkC,kBAAkB,CAAC;;;AAI/D,YAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,gBAAA,MAAM,GAAG,mBAAmB,CAC1B,MAAM,EACN,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAClD,CAAC;;;gBAIF,IAAI,MAAM,IAAI,IAAI;oBAAE,SAAS;AAC9B,aAAA;AAED,YAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAE/D,YAAA,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5D,YAAA,IAAI,MAAM,IAAI,OAAO,IAAI,IAAI;AAAE,gBAAA,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACtE,YAAA,IAAI,MAAM;AAAE,gBAAA,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,SAAA;AACF,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;AAGG;AACG,SAAU,mBAAmB,CACjC,MAAe,EACf,IAAY,EACZ,MAAc,EACd,IAAY,EAAA;AAEZ,IAAA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;QACf,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACxF,KAAA;AAED,IAAA,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;;IAGvD,IAAI,OAAO,IAAI,IAAI;AAAE,QAAA,OAAO,IAAI,CAAC;;;AAGjC,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,kBAAkB,CAAC;IAEpD,OAAO,mBAAmB,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC1B,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3D,CAAC;AACJ;;ACpKA,SAAS,OAAO,CAAI,KAAc,EAAA;AAChC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;;;;;AAUG;AACW,SAAU,kBAAkB,CACxC,KAAwC,EACxC,MAAuB,EAAA;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5D,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;AAExB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,mBAAA,EAAsB,CAAC,CAAuC,qCAAA,CAAA;AAC5D,gBAAA,uEAAuE,CAC1E,CAAC;AACH,SAAA;AACF,KAAA;AAED,IAAA,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACrC,IAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACzC,QAAA,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,KAAK,CACZ,GAAa,EACb,MAAuB,EACvB,QAAgB,EAChB,aAAqB,EAAA;IAErB,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;AAE5D,IAAA,MAAM,KAAK,GAAG,aAAa,GAAG,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,UAAyB,EAAE,CAAS,KAAa;;;;;AAKrF,QAAA,MAAM,GAAG,GAAkB;YACzB,QAAQ;YACR,KAAK;YACL,MAAM,EAAE,UAAU,IAAI,EAAE;AACxB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,SAAS;SAClB,CAAC;;;QAIF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE1C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;;AAGxC,QAAA,IAAI,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;;;;;QAMpF,MAAM,aAAa,GACjB,OAAO,KAAK,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAC5F,OAAO,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACxD,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC;;ACnFA;;;AAGG;AACW,MAAO,SAAS,CAAA;IAU5B,WAAY,CAAA,GAAe,EAAE,OAAgB,EAAA;AAC3C,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAiC,CAAC;AACtD,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAA2B,CAAC;AAC7C,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAqC,CAAC;AAC5D,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AAEjC,QAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAA+B,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AAC3B,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAA6C,CAAC;AACzE,SAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC7B;AACF;;ACpBD;;;;;;;;;;;;;;AAcG;AACqB,SAAA,SAAS,CAC/B,KAAwC,EACxC,MAAuB,EACvB,OAA2B,EAAA;IAE3B,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAChG,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClD;;;;"}
\ No newline at end of file
diff --git a/node_modules/@ampproject/remapping/dist/remapping.umd.js b/node_modules/@ampproject/remapping/dist/remapping.umd.js
deleted file mode 100644
index 6b7b3bb..0000000
--- a/node_modules/@ampproject/remapping/dist/remapping.umd.js
+++ /dev/null
@@ -1,202 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@jridgewell/trace-mapping'), require('@jridgewell/gen-mapping')) :
- typeof define === 'function' && define.amd ? define(['@jridgewell/trace-mapping', '@jridgewell/gen-mapping'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.remapping = factory(global.traceMapping, global.genMapping));
-})(this, (function (traceMapping, genMapping) { 'use strict';
-
- const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);
- const EMPTY_SOURCES = [];
- function SegmentObject(source, line, column, name, content, ignore) {
- return { source, line, column, name, content, ignore };
- }
- function Source(map, sources, source, content, ignore) {
- return {
- map,
- sources,
- source,
- content,
- ignore,
- };
- }
- /**
- * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
- * (which may themselves be SourceMapTrees).
- */
- function MapSource(map, sources) {
- return Source(map, sources, '', null, false);
- }
- /**
- * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
- * segment tracing ends at the `OriginalSource`.
- */
- function OriginalSource(source, content, ignore) {
- return Source(null, EMPTY_SOURCES, source, content, ignore);
- }
- /**
- * traceMappings is only called on the root level SourceMapTree, and begins the process of
- * resolving each mapping in terms of the original source files.
- */
- function traceMappings(tree) {
- // TODO: Eventually support sourceRoot, which has to be removed because the sources are already
- // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
- const gen = new genMapping.GenMapping({ file: tree.map.file });
- const { sources: rootSources, map } = tree;
- const rootNames = map.names;
- const rootMappings = traceMapping.decodedMappings(map);
- for (let i = 0; i < rootMappings.length; i++) {
- const segments = rootMappings[i];
- for (let j = 0; j < segments.length; j++) {
- const segment = segments[j];
- const genCol = segment[0];
- let traced = SOURCELESS_MAPPING;
- // 1-length segments only move the current generated column, there's no source information
- // to gather from it.
- if (segment.length !== 1) {
- const source = rootSources[segment[1]];
- traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
- // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
- // respective segment into an original source.
- if (traced == null)
- continue;
- }
- const { column, line, name, content, source, ignore } = traced;
- genMapping.maybeAddSegment(gen, i, genCol, source, line, column, name);
- if (source && content != null)
- genMapping.setSourceContent(gen, source, content);
- if (ignore)
- genMapping.setIgnore(gen, source, true);
- }
- }
- return gen;
- }
- /**
- * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
- * child SourceMapTrees, until we find the original source map.
- */
- function originalPositionFor(source, line, column, name) {
- if (!source.map) {
- return SegmentObject(source.source, line, column, name, source.content, source.ignore);
- }
- const segment = traceMapping.traceSegment(source.map, line, column);
- // If we couldn't find a segment, then this doesn't exist in the sourcemap.
- if (segment == null)
- return null;
- // 1-length segments only move the current generated column, there's no source information
- // to gather from it.
- if (segment.length === 1)
- return SOURCELESS_MAPPING;
- return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
- }
-
- function asArray(value) {
- if (Array.isArray(value))
- return value;
- return [value];
- }
- /**
- * Recursively builds a tree structure out of sourcemap files, with each node
- * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
- * `OriginalSource`s and `SourceMapTree`s.
- *
- * Every sourcemap is composed of a collection of source files and mappings
- * into locations of those source files. When we generate a `SourceMapTree` for
- * the sourcemap, we attempt to load each source file's own sourcemap. If it
- * does not have an associated sourcemap, it is considered an original,
- * unmodified source file.
- */
- function buildSourceMapTree(input, loader) {
- const maps = asArray(input).map((m) => new traceMapping.TraceMap(m, ''));
- const map = maps.pop();
- for (let i = 0; i < maps.length; i++) {
- if (maps[i].sources.length > 1) {
- throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
- 'Did you specify these with the most recent transformation maps first?');
- }
- }
- let tree = build(map, loader, '', 0);
- for (let i = maps.length - 1; i >= 0; i--) {
- tree = MapSource(maps[i], [tree]);
- }
- return tree;
- }
- function build(map, loader, importer, importerDepth) {
- const { resolvedSources, sourcesContent, ignoreList } = map;
- const depth = importerDepth + 1;
- const children = resolvedSources.map((sourceFile, i) => {
- // The loading context gives the loader more information about why this file is being loaded
- // (eg, from which importer). It also allows the loader to override the location of the loaded
- // sourcemap/original source, or to override the content in the sourcesContent field if it's
- // an unmodified source file.
- const ctx = {
- importer,
- depth,
- source: sourceFile || '',
- content: undefined,
- ignore: undefined,
- };
- // Use the provided loader callback to retrieve the file's sourcemap.
- // TODO: We should eventually support async loading of sourcemap files.
- const sourceMap = loader(ctx.source, ctx);
- const { source, content, ignore } = ctx;
- // If there is a sourcemap, then we need to recurse into it to load its source files.
- if (sourceMap)
- return build(new traceMapping.TraceMap(sourceMap, source), loader, source, depth);
- // Else, it's an unmodified source file.
- // The contents of this unmodified source file can be overridden via the loader context,
- // allowing it to be explicitly null or a string. If it remains undefined, we fall back to
- // the importing sourcemap's `sourcesContent` field.
- const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
- const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;
- return OriginalSource(source, sourceContent, ignored);
- });
- return MapSource(map, children);
- }
-
- /**
- * A SourceMap v3 compatible sourcemap, which only includes fields that were
- * provided to it.
- */
- class SourceMap {
- constructor(map, options) {
- const out = options.decodedMappings ? genMapping.toDecodedMap(map) : genMapping.toEncodedMap(map);
- this.version = out.version; // SourceMap spec says this should be first.
- this.file = out.file;
- this.mappings = out.mappings;
- this.names = out.names;
- this.ignoreList = out.ignoreList;
- this.sourceRoot = out.sourceRoot;
- this.sources = out.sources;
- if (!options.excludeContent) {
- this.sourcesContent = out.sourcesContent;
- }
- }
- toString() {
- return JSON.stringify(this);
- }
- }
-
- /**
- * Traces through all the mappings in the root sourcemap, through the sources
- * (and their sourcemaps), all the way back to the original source location.
- *
- * `loader` will be called every time we encounter a source file. If it returns
- * a sourcemap, we will recurse into that sourcemap to continue the trace. If
- * it returns a falsey value, that source file is treated as an original,
- * unmodified source file.
- *
- * Pass `excludeContent` to exclude any self-containing source file content
- * from the output sourcemap.
- *
- * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
- * VLQ encoded) mappings.
- */
- function remapping(input, loader, options) {
- const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
- const tree = buildSourceMapTree(input, loader);
- return new SourceMap(traceMappings(tree), opts);
- }
-
- return remapping;
-
-}));
-//# sourceMappingURL=remapping.umd.js.map
diff --git a/node_modules/@ampproject/remapping/dist/remapping.umd.js.map b/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
deleted file mode 100644
index d3f0f87..0000000
--- a/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"remapping.umd.js","sources":["../src/source-map-tree.ts","../src/build-source-map-tree.ts","../src/source-map.ts","../src/remapping.ts"],"sourcesContent":["import { GenMapping, maybeAddSegment, setIgnore, setSourceContent } from '@jridgewell/gen-mapping';\nimport { traceSegment, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport type { TraceMap } from '@jridgewell/trace-mapping';\n\nexport type SourceMapSegmentObject = {\n column: number;\n line: number;\n name: string;\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type OriginalSource = {\n map: null;\n sources: Sources[];\n source: string;\n content: string | null;\n ignore: boolean;\n};\n\nexport type MapSource = {\n map: TraceMap;\n sources: Sources[];\n source: string;\n content: null;\n ignore: false;\n};\n\nexport type Sources = OriginalSource | MapSource;\n\nconst SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);\nconst EMPTY_SOURCES: Sources[] = [];\n\nfunction SegmentObject(\n source: string,\n line: number,\n column: number,\n name: string,\n content: string | null,\n ignore: boolean\n): SourceMapSegmentObject {\n return { source, line, column, name, content, ignore };\n}\n\nfunction Source(\n map: TraceMap,\n sources: Sources[],\n source: '',\n content: null,\n ignore: false\n): MapSource;\nfunction Source(\n map: null,\n sources: Sources[],\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource;\nfunction Source(\n map: TraceMap | null,\n sources: Sources[],\n source: string | '',\n content: string | null,\n ignore: boolean\n): Sources {\n return {\n map,\n sources,\n source,\n content,\n ignore,\n } as any;\n}\n\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nexport function MapSource(map: TraceMap, sources: Sources[]): MapSource {\n return Source(map, sources, '', null, false);\n}\n\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nexport function OriginalSource(\n source: string,\n content: string | null,\n ignore: boolean\n): OriginalSource {\n return Source(null, EMPTY_SOURCES, source, content, ignore);\n}\n\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nexport function traceMappings(tree: MapSource): GenMapping {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING;\n\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(\n source,\n segment[2],\n segment[3],\n segment.length === 5 ? rootNames[segment[4]] : ''\n );\n\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null) continue;\n }\n\n const { column, line, name, content, source, ignore } = traced;\n\n maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null) setSourceContent(gen, source, content);\n if (ignore) setIgnore(gen, source, true);\n }\n }\n\n return gen;\n}\n\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nexport function originalPositionFor(\n source: Sources,\n line: number,\n column: number,\n name: string\n): SourceMapSegmentObject | null {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content, source.ignore);\n }\n\n const segment = traceSegment(source.map, line, column);\n\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null) return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1) return SOURCELESS_MAPPING;\n\n return originalPositionFor(\n source.sources[segment[1]],\n segment[2],\n segment[3],\n segment.length === 5 ? source.map.names[segment[4]] : name\n );\n}\n","import { TraceMap } from '@jridgewell/trace-mapping';\n\nimport { OriginalSource, MapSource } from './source-map-tree';\n\nimport type { Sources, MapSource as MapSourceType } from './source-map-tree';\nimport type { SourceMapInput, SourceMapLoader, LoaderContext } from './types';\n\nfunction asArray(value: T | T[]): T[] {\n if (Array.isArray(value)) return value;\n return [value];\n}\n\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nexport default function buildSourceMapTree(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader\n): MapSourceType {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop()!;\n\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(\n `Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?'\n );\n }\n }\n\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\n\nfunction build(\n map: TraceMap,\n loader: SourceMapLoader,\n importer: string,\n importerDepth: number\n): MapSourceType {\n const { resolvedSources, sourcesContent, ignoreList } = map;\n\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx: LoaderContext = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n ignore: undefined,\n };\n\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n\n const { source, content, ignore } = ctx;\n\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);\n\n // Else, it's an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent =\n content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;\n return OriginalSource(source, sourceContent, ignored);\n });\n\n return MapSource(map, children);\n}\n","import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';\n\nimport type { GenMapping } from '@jridgewell/gen-mapping';\nimport type { DecodedSourceMap, EncodedSourceMap, Options } from './types';\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nexport default class SourceMap {\n declare file?: string | null;\n declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];\n declare sourceRoot?: string;\n declare names: string[];\n declare sources: (string | null)[];\n declare sourcesContent?: (string | null)[];\n declare version: 3;\n declare ignoreList: number[] | undefined;\n\n constructor(map: GenMapping, options: Options) {\n const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings as SourceMap['mappings'];\n this.names = out.names as SourceMap['names'];\n this.ignoreList = out.ignoreList as SourceMap['ignoreList'];\n this.sourceRoot = out.sourceRoot;\n\n this.sources = out.sources as SourceMap['sources'];\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent'];\n }\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n}\n","import buildSourceMapTree from './build-source-map-tree';\nimport { traceMappings } from './source-map-tree';\nimport SourceMap from './source-map';\n\nimport type { SourceMapInput, SourceMapLoader, Options } from './types';\nexport type {\n SourceMapSegment,\n EncodedSourceMap,\n EncodedSourceMap as RawSourceMap,\n DecodedSourceMap,\n SourceMapInput,\n SourceMapLoader,\n LoaderContext,\n Options,\n} from './types';\nexport type { SourceMap };\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nexport default function remapping(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader,\n options?: boolean | Options\n): SourceMap {\n const opts =\n typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n"],"names":["GenMapping","decodedMappings","maybeAddSegment","setSourceContent","setIgnore","traceSegment","TraceMap","toDecodedMap","toEncodedMap"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts b/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
deleted file mode 100644
index f87fcea..0000000
--- a/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import type { MapSource as MapSourceType } from './source-map-tree';
-import type { SourceMapInput, SourceMapLoader } from './types';
-/**
- * Recursively builds a tree structure out of sourcemap files, with each node
- * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
- * `OriginalSource`s and `SourceMapTree`s.
- *
- * Every sourcemap is composed of a collection of source files and mappings
- * into locations of those source files. When we generate a `SourceMapTree` for
- * the sourcemap, we attempt to load each source file's own sourcemap. If it
- * does not have an associated sourcemap, it is considered an original,
- * unmodified source file.
- */
-export default function buildSourceMapTree(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader): MapSourceType;
diff --git a/node_modules/@ampproject/remapping/dist/types/remapping.d.ts b/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
deleted file mode 100644
index 771fe30..0000000
--- a/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import SourceMap from './source-map';
-import type { SourceMapInput, SourceMapLoader, Options } from './types';
-export type { SourceMapSegment, EncodedSourceMap, EncodedSourceMap as RawSourceMap, DecodedSourceMap, SourceMapInput, SourceMapLoader, LoaderContext, Options, } from './types';
-export type { SourceMap };
-/**
- * Traces through all the mappings in the root sourcemap, through the sources
- * (and their sourcemaps), all the way back to the original source location.
- *
- * `loader` will be called every time we encounter a source file. If it returns
- * a sourcemap, we will recurse into that sourcemap to continue the trace. If
- * it returns a falsey value, that source file is treated as an original,
- * unmodified source file.
- *
- * Pass `excludeContent` to exclude any self-containing source file content
- * from the output sourcemap.
- *
- * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
- * VLQ encoded) mappings.
- */
-export default function remapping(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader, options?: boolean | Options): SourceMap;
diff --git a/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts b/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
deleted file mode 100644
index 935bc69..0000000
--- a/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { GenMapping } from '@jridgewell/gen-mapping';
-import type { TraceMap } from '@jridgewell/trace-mapping';
-export declare type SourceMapSegmentObject = {
- column: number;
- line: number;
- name: string;
- source: string;
- content: string | null;
- ignore: boolean;
-};
-export declare type OriginalSource = {
- map: null;
- sources: Sources[];
- source: string;
- content: string | null;
- ignore: boolean;
-};
-export declare type MapSource = {
- map: TraceMap;
- sources: Sources[];
- source: string;
- content: null;
- ignore: false;
-};
-export declare type Sources = OriginalSource | MapSource;
-/**
- * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
- * (which may themselves be SourceMapTrees).
- */
-export declare function MapSource(map: TraceMap, sources: Sources[]): MapSource;
-/**
- * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
- * segment tracing ends at the `OriginalSource`.
- */
-export declare function OriginalSource(source: string, content: string | null, ignore: boolean): OriginalSource;
-/**
- * traceMappings is only called on the root level SourceMapTree, and begins the process of
- * resolving each mapping in terms of the original source files.
- */
-export declare function traceMappings(tree: MapSource): GenMapping;
-/**
- * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
- * child SourceMapTrees, until we find the original source map.
- */
-export declare function originalPositionFor(source: Sources, line: number, column: number, name: string): SourceMapSegmentObject | null;
diff --git a/node_modules/@ampproject/remapping/dist/types/source-map.d.ts b/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
deleted file mode 100644
index cbd7f0a..0000000
--- a/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import type { GenMapping } from '@jridgewell/gen-mapping';
-import type { DecodedSourceMap, EncodedSourceMap, Options } from './types';
-/**
- * A SourceMap v3 compatible sourcemap, which only includes fields that were
- * provided to it.
- */
-export default class SourceMap {
- file?: string | null;
- mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];
- sourceRoot?: string;
- names: string[];
- sources: (string | null)[];
- sourcesContent?: (string | null)[];
- version: 3;
- ignoreList: number[] | undefined;
- constructor(map: GenMapping, options: Options);
- toString(): string;
-}
diff --git a/node_modules/@ampproject/remapping/dist/types/types.d.ts b/node_modules/@ampproject/remapping/dist/types/types.d.ts
deleted file mode 100644
index 4d78c4b..0000000
--- a/node_modules/@ampproject/remapping/dist/types/types.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { SourceMapInput } from '@jridgewell/trace-mapping';
-export type { SourceMapSegment, DecodedSourceMap, EncodedSourceMap, } from '@jridgewell/trace-mapping';
-export type { SourceMapInput };
-export declare type LoaderContext = {
- readonly importer: string;
- readonly depth: number;
- source: string;
- content: string | null | undefined;
- ignore: boolean | undefined;
-};
-export declare type SourceMapLoader = (file: string, ctx: LoaderContext) => SourceMapInput | null | undefined | void;
-export declare type Options = {
- excludeContent?: boolean;
- decodedMappings?: boolean;
-};
diff --git a/node_modules/@ampproject/remapping/package.json b/node_modules/@ampproject/remapping/package.json
deleted file mode 100644
index 091224c..0000000
--- a/node_modules/@ampproject/remapping/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "@ampproject/remapping",
- "version": "2.3.0",
- "description": "Remap sequential sourcemaps through transformations to point at the original source code",
- "keywords": [
- "source",
- "map",
- "remap"
- ],
- "main": "dist/remapping.umd.js",
- "module": "dist/remapping.mjs",
- "types": "dist/types/remapping.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/remapping.d.ts",
- "browser": "./dist/remapping.umd.js",
- "require": "./dist/remapping.umd.js",
- "import": "./dist/remapping.mjs"
- },
- "./dist/remapping.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist"
- ],
- "author": "Justin Ridgewell ",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/ampproject/remapping.git"
- },
- "license": "Apache-2.0",
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "prebuild": "rm -rf dist",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build",
- "test": "run-s -n test:lint test:only",
- "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "jest --coverage",
- "test:watch": "jest --coverage --watch"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.2",
- "@types/jest": "27.4.1",
- "@typescript-eslint/eslint-plugin": "5.20.0",
- "@typescript-eslint/parser": "5.20.0",
- "eslint": "8.14.0",
- "eslint-config-prettier": "8.5.0",
- "jest": "27.5.1",
- "jest-config": "27.5.1",
- "npm-run-all": "4.1.5",
- "prettier": "2.6.2",
- "rollup": "2.70.2",
- "ts-jest": "27.1.4",
- "tslib": "2.4.0",
- "typescript": "4.6.3"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
-}
diff --git a/node_modules/@esbuild/win32-x64/README.md b/node_modules/@esbuild/win32-x64/README.md
deleted file mode 100644
index a99ee7c..0000000
--- a/node_modules/@esbuild/win32-x64/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# esbuild
-
-This is the Windows 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
diff --git a/node_modules/@esbuild/win32-x64/esbuild.exe b/node_modules/@esbuild/win32-x64/esbuild.exe
deleted file mode 100644
index 000370f..0000000
Binary files a/node_modules/@esbuild/win32-x64/esbuild.exe and /dev/null differ
diff --git a/node_modules/@esbuild/win32-x64/package.json b/node_modules/@esbuild/win32-x64/package.json
deleted file mode 100644
index 94abf8c..0000000
--- a/node_modules/@esbuild/win32-x64/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "@esbuild/win32-x64",
- "version": "0.21.5",
- "description": "The Windows 64-bit binary for esbuild, a JavaScript bundler.",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/evanw/esbuild.git"
- },
- "license": "MIT",
- "preferUnplugged": true,
- "engines": {
- "node": ">=12"
- },
- "os": [
- "win32"
- ],
- "cpu": [
- "x64"
- ]
-}
diff --git a/node_modules/@jridgewell/gen-mapping/LICENSE b/node_modules/@jridgewell/gen-mapping/LICENSE
deleted file mode 100644
index 352f071..0000000
--- a/node_modules/@jridgewell/gen-mapping/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2022 Justin Ridgewell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/@jridgewell/gen-mapping/README.md b/node_modules/@jridgewell/gen-mapping/README.md
deleted file mode 100644
index 4066cdb..0000000
--- a/node_modules/@jridgewell/gen-mapping/README.md
+++ /dev/null
@@ -1,227 +0,0 @@
-# @jridgewell/gen-mapping
-
-> Generate source maps
-
-`gen-mapping` allows you to generate a source map during transpilation or minification.
-With a source map, you're able to trace the original location in the source file, either in Chrome's
-DevTools or using a library like [`@jridgewell/trace-mapping`][trace-mapping].
-
-You may already be familiar with the [`source-map`][source-map] package's `SourceMapGenerator`. This
-provides the same `addMapping` and `setSourceContent` API.
-
-## Installation
-
-```sh
-npm install @jridgewell/gen-mapping
-```
-
-## Usage
-
-```typescript
-import { GenMapping, addMapping, setSourceContent, toEncodedMap, toDecodedMap } from '@jridgewell/gen-mapping';
-
-const map = new GenMapping({
- file: 'output.js',
- sourceRoot: 'https://example.com/',
-});
-
-setSourceContent(map, 'input.js', `function foo() {}`);
-
-addMapping(map, {
- // Lines start at line 1, columns at column 0.
- generated: { line: 1, column: 0 },
- source: 'input.js',
- original: { line: 1, column: 0 },
-});
-
-addMapping(map, {
- generated: { line: 1, column: 9 },
- source: 'input.js',
- original: { line: 1, column: 9 },
- name: 'foo',
-});
-
-assert.deepEqual(toDecodedMap(map), {
- version: 3,
- file: 'output.js',
- names: ['foo'],
- sourceRoot: 'https://example.com/',
- sources: ['input.js'],
- sourcesContent: ['function foo() {}'],
- mappings: [
- [ [0, 0, 0, 0], [9, 0, 0, 9, 0] ]
- ],
-});
-
-assert.deepEqual(toEncodedMap(map), {
- version: 3,
- file: 'output.js',
- names: ['foo'],
- sourceRoot: 'https://example.com/',
- sources: ['input.js'],
- sourcesContent: ['function foo() {}'],
- mappings: 'AAAA,SAASA',
-});
-```
-
-### Smaller Sourcemaps
-
-Not everything needs to be added to a sourcemap, and needless markings can cause signficantly
-larger file sizes. `gen-mapping` exposes `maybeAddSegment`/`maybeAddMapping` APIs that will
-intelligently determine if this marking adds useful information. If not, the marking will be
-skipped.
-
-```typescript
-import { maybeAddMapping } from '@jridgewell/gen-mapping';
-
-const map = new GenMapping();
-
-// Adding a sourceless marking at the beginning of a line isn't useful.
-maybeAddMapping(map, {
- generated: { line: 1, column: 0 },
-});
-
-// Adding a new source marking is useful.
-maybeAddMapping(map, {
- generated: { line: 1, column: 0 },
- source: 'input.js',
- original: { line: 1, column: 0 },
-});
-
-// But adding another marking pointing to the exact same original location isn't, even if the
-// generated column changed.
-maybeAddMapping(map, {
- generated: { line: 1, column: 9 },
- source: 'input.js',
- original: { line: 1, column: 0 },
-});
-
-assert.deepEqual(toEncodedMap(map), {
- version: 3,
- names: [],
- sources: ['input.js'],
- sourcesContent: [null],
- mappings: 'AAAA',
-});
-```
-
-## Benchmarks
-
-```
-node v18.0.0
-
-amp.js.map
-Memory Usage:
-gen-mapping: addSegment 5852872 bytes
-gen-mapping: addMapping 7716042 bytes
-source-map-js 6143250 bytes
-source-map-0.6.1 6124102 bytes
-source-map-0.8.0 6121173 bytes
-Smallest memory usage is gen-mapping: addSegment
-
-Adding speed:
-gen-mapping: addSegment x 441 ops/sec ±2.07% (90 runs sampled)
-gen-mapping: addMapping x 350 ops/sec ±2.40% (86 runs sampled)
-source-map-js: addMapping x 169 ops/sec ±2.42% (80 runs sampled)
-source-map-0.6.1: addMapping x 167 ops/sec ±2.56% (80 runs sampled)
-source-map-0.8.0: addMapping x 168 ops/sec ±2.52% (80 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 150,824,370 ops/sec ±0.07% (102 runs sampled)
-gen-mapping: encoded output x 663 ops/sec ±0.22% (98 runs sampled)
-source-map-js: encoded output x 197 ops/sec ±0.45% (84 runs sampled)
-source-map-0.6.1: encoded output x 198 ops/sec ±0.33% (85 runs sampled)
-source-map-0.8.0: encoded output x 197 ops/sec ±0.06% (93 runs sampled)
-Fastest is gen-mapping: decoded output
-
-
-***
-
-
-babel.min.js.map
-Memory Usage:
-gen-mapping: addSegment 37578063 bytes
-gen-mapping: addMapping 37212897 bytes
-source-map-js 47638527 bytes
-source-map-0.6.1 47690503 bytes
-source-map-0.8.0 47470188 bytes
-Smallest memory usage is gen-mapping: addMapping
-
-Adding speed:
-gen-mapping: addSegment x 31.05 ops/sec ±8.31% (43 runs sampled)
-gen-mapping: addMapping x 29.83 ops/sec ±7.36% (51 runs sampled)
-source-map-js: addMapping x 20.73 ops/sec ±6.22% (38 runs sampled)
-source-map-0.6.1: addMapping x 20.03 ops/sec ±10.51% (38 runs sampled)
-source-map-0.8.0: addMapping x 19.30 ops/sec ±8.27% (37 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 381,379,234 ops/sec ±0.29% (96 runs sampled)
-gen-mapping: encoded output x 95.15 ops/sec ±2.98% (72 runs sampled)
-source-map-js: encoded output x 15.20 ops/sec ±7.41% (33 runs sampled)
-source-map-0.6.1: encoded output x 16.36 ops/sec ±10.46% (31 runs sampled)
-source-map-0.8.0: encoded output x 16.06 ops/sec ±6.45% (31 runs sampled)
-Fastest is gen-mapping: decoded output
-
-
-***
-
-
-preact.js.map
-Memory Usage:
-gen-mapping: addSegment 416247 bytes
-gen-mapping: addMapping 419824 bytes
-source-map-js 1024619 bytes
-source-map-0.6.1 1146004 bytes
-source-map-0.8.0 1113250 bytes
-Smallest memory usage is gen-mapping: addSegment
-
-Adding speed:
-gen-mapping: addSegment x 13,755 ops/sec ±0.15% (98 runs sampled)
-gen-mapping: addMapping x 13,013 ops/sec ±0.11% (101 runs sampled)
-source-map-js: addMapping x 4,564 ops/sec ±0.21% (98 runs sampled)
-source-map-0.6.1: addMapping x 4,562 ops/sec ±0.11% (99 runs sampled)
-source-map-0.8.0: addMapping x 4,593 ops/sec ±0.11% (100 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 379,864,020 ops/sec ±0.23% (93 runs sampled)
-gen-mapping: encoded output x 14,368 ops/sec ±4.07% (82 runs sampled)
-source-map-js: encoded output x 5,261 ops/sec ±0.21% (99 runs sampled)
-source-map-0.6.1: encoded output x 5,124 ops/sec ±0.58% (99 runs sampled)
-source-map-0.8.0: encoded output x 5,434 ops/sec ±0.33% (96 runs sampled)
-Fastest is gen-mapping: decoded output
-
-
-***
-
-
-react.js.map
-Memory Usage:
-gen-mapping: addSegment 975096 bytes
-gen-mapping: addMapping 1102981 bytes
-source-map-js 2918836 bytes
-source-map-0.6.1 2885435 bytes
-source-map-0.8.0 2874336 bytes
-Smallest memory usage is gen-mapping: addSegment
-
-Adding speed:
-gen-mapping: addSegment x 4,772 ops/sec ±0.15% (100 runs sampled)
-gen-mapping: addMapping x 4,456 ops/sec ±0.13% (97 runs sampled)
-source-map-js: addMapping x 1,618 ops/sec ±0.24% (97 runs sampled)
-source-map-0.6.1: addMapping x 1,622 ops/sec ±0.12% (99 runs sampled)
-source-map-0.8.0: addMapping x 1,631 ops/sec ±0.12% (100 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 379,107,695 ops/sec ±0.07% (99 runs sampled)
-gen-mapping: encoded output x 5,421 ops/sec ±1.60% (89 runs sampled)
-source-map-js: encoded output x 2,113 ops/sec ±1.81% (98 runs sampled)
-source-map-0.6.1: encoded output x 2,126 ops/sec ±0.10% (100 runs sampled)
-source-map-0.8.0: encoded output x 2,176 ops/sec ±0.39% (98 runs sampled)
-Fastest is gen-mapping: decoded output
-```
-
-[source-map]: https://www.npmjs.com/package/source-map
-[trace-mapping]: https://github.com/jridgewell/trace-mapping
diff --git a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs b/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs
deleted file mode 100644
index 5d38e38..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs
+++ /dev/null
@@ -1,230 +0,0 @@
-import { SetArray, put, remove } from '@jridgewell/set-array';
-import { encode } from '@jridgewell/sourcemap-codec';
-import { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';
-
-const COLUMN = 0;
-const SOURCES_INDEX = 1;
-const SOURCE_LINE = 2;
-const SOURCE_COLUMN = 3;
-const NAMES_INDEX = 4;
-
-const NO_NAME = -1;
-/**
- * Provides the state to generate a sourcemap.
- */
-class GenMapping {
- constructor({ file, sourceRoot } = {}) {
- this._names = new SetArray();
- this._sources = new SetArray();
- this._sourcesContent = [];
- this._mappings = [];
- this.file = file;
- this.sourceRoot = sourceRoot;
- this._ignoreList = new SetArray();
- }
-}
-/**
- * Typescript doesn't allow friend access to private fields, so this just casts the map into a type
- * with public access modifiers.
- */
-function cast(map) {
- return map;
-}
-function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
- return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
-}
-function addMapping(map, mapping) {
- return addMappingInternal(false, map, mapping);
-}
-/**
- * Same as `addSegment`, but will only add the segment if it generates useful information in the
- * resulting map. This only works correctly if segments are added **in order**, meaning you should
- * not add a segment with a lower generated line/column than one that came before.
- */
-const maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
-};
-/**
- * Same as `addMapping`, but will only add the mapping if it generates useful information in the
- * resulting map. This only works correctly if mappings are added **in order**, meaning you should
- * not add a mapping with a lower generated line/column than one that came before.
- */
-const maybeAddMapping = (map, mapping) => {
- return addMappingInternal(true, map, mapping);
-};
-/**
- * Adds/removes the content of the source file to the source map.
- */
-function setSourceContent(map, source, content) {
- const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);
- const index = put(sources, source);
- sourcesContent[index] = content;
-}
-function setIgnore(map, source, ignore = true) {
- const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);
- const index = put(sources, source);
- if (index === sourcesContent.length)
- sourcesContent[index] = null;
- if (ignore)
- put(ignoreList, index);
- else
- remove(ignoreList, index);
-}
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-function toDecodedMap(map) {
- const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, _ignoreList: ignoreList, } = cast(map);
- removeEmptyFinalLines(mappings);
- return {
- version: 3,
- file: map.file || undefined,
- names: names.array,
- sourceRoot: map.sourceRoot || undefined,
- sources: sources.array,
- sourcesContent,
- mappings,
- ignoreList: ignoreList.array,
- };
-}
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-function toEncodedMap(map) {
- const decoded = toDecodedMap(map);
- return Object.assign(Object.assign({}, decoded), { mappings: encode(decoded.mappings) });
-}
-/**
- * Constructs a new GenMapping, using the already present mappings of the input.
- */
-function fromMap(input) {
- const map = new TraceMap(input);
- const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
- putAll(cast(gen)._names, map.names);
- putAll(cast(gen)._sources, map.sources);
- cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);
- cast(gen)._mappings = decodedMappings(map);
- if (map.ignoreList)
- putAll(cast(gen)._ignoreList, map.ignoreList);
- return gen;
-}
-/**
- * Returns an array of high-level mapping objects for every recorded segment, which could then be
- * passed to the `source-map` library.
- */
-function allMappings(map) {
- const out = [];
- const { _mappings: mappings, _sources: sources, _names: names } = cast(map);
- for (let i = 0; i < mappings.length; i++) {
- const line = mappings[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generated = { line: i + 1, column: seg[COLUMN] };
- let source = undefined;
- let original = undefined;
- let name = undefined;
- if (seg.length !== 1) {
- source = sources.array[seg[SOURCES_INDEX]];
- original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };
- if (seg.length === 5)
- name = names.array[seg[NAMES_INDEX]];
- }
- out.push({ generated, source, original, name });
- }
- }
- return out;
-}
-// This split declaration is only so that terser can elminiate the static initialization block.
-function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
- const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = cast(map);
- const line = getLine(mappings, genLine);
- const index = getColumnIndex(line, genColumn);
- if (!source) {
- if (skipable && skipSourceless(line, index))
- return;
- return insert(line, index, [genColumn]);
- }
- const sourcesIndex = put(sources, source);
- const namesIndex = name ? put(names, name) : NO_NAME;
- if (sourcesIndex === sourcesContent.length)
- sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;
- if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
- return;
- }
- return insert(line, index, name
- ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
- : [genColumn, sourcesIndex, sourceLine, sourceColumn]);
-}
-function getLine(mappings, index) {
- for (let i = mappings.length; i <= index; i++) {
- mappings[i] = [];
- }
- return mappings[index];
-}
-function getColumnIndex(line, genColumn) {
- let index = line.length;
- for (let i = index - 1; i >= 0; index = i--) {
- const current = line[i];
- if (genColumn >= current[COLUMN])
- break;
- }
- return index;
-}
-function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
-}
-function removeEmptyFinalLines(mappings) {
- const { length } = mappings;
- let len = length;
- for (let i = len - 1; i >= 0; len = i, i--) {
- if (mappings[i].length > 0)
- break;
- }
- if (len < length)
- mappings.length = len;
-}
-function putAll(setarr, array) {
- for (let i = 0; i < array.length; i++)
- put(setarr, array[i]);
-}
-function skipSourceless(line, index) {
- // The start of a line is already sourceless, so adding a sourceless segment to the beginning
- // doesn't generate any useful information.
- if (index === 0)
- return true;
- const prev = line[index - 1];
- // If the previous segment is also sourceless, then adding another sourceless segment doesn't
- // genrate any new information. Else, this segment will end the source/named segment and point to
- // a sourceless position, which is useful.
- return prev.length === 1;
-}
-function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
- // A source/named segment at the start of a line gives position at that genColumn
- if (index === 0)
- return false;
- const prev = line[index - 1];
- // If the previous segment is sourceless, then we're transitioning to a source.
- if (prev.length === 1)
- return false;
- // If the previous segment maps to the exact same source position, then this segment doesn't
- // provide any new position information.
- return (sourcesIndex === prev[SOURCES_INDEX] &&
- sourceLine === prev[SOURCE_LINE] &&
- sourceColumn === prev[SOURCE_COLUMN] &&
- namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME));
-}
-function addMappingInternal(skipable, map, mapping) {
- const { generated, source, original, name, content } = mapping;
- if (!source) {
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);
- }
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, source, original.line - 1, original.column, name, content);
-}
-
-export { GenMapping, addMapping, addSegment, allMappings, fromMap, maybeAddMapping, maybeAddSegment, setIgnore, setSourceContent, toDecodedMap, toEncodedMap };
-//# sourceMappingURL=gen-mapping.mjs.map
diff --git a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map b/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map
deleted file mode 100644
index 6290b97..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"gen-mapping.mjs","sources":["../src/sourcemap-segment.ts","../src/gen-mapping.ts"],"sourcesContent":["type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n","import { SetArray, put, remove } from '@jridgewell/set-array';\nimport { encode } from '@jridgewell/sourcemap-codec';\nimport { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type { SourceMapInput } from '@jridgewell/trace-mapping';\nimport type { SourceMapSegment } from './sourcemap-segment';\nimport type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';\n\nexport type { DecodedSourceMap, EncodedSourceMap, Mapping };\n\nexport type Options = {\n file?: string | null;\n sourceRoot?: string | null;\n};\n\nconst NO_NAME = -1;\n\n/**\n * Provides the state to generate a sourcemap.\n */\nexport class GenMapping {\n private declare _names: SetArray;\n private declare _sources: SetArray;\n private declare _sourcesContent: (string | null)[];\n private declare _mappings: SourceMapSegment[][];\n private declare _ignoreList: SetArray;\n declare file: string | null | undefined;\n declare sourceRoot: string | null | undefined;\n\n constructor({ file, sourceRoot }: Options = {}) {\n this._names = new SetArray();\n this._sources = new SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n this._ignoreList = new SetArray();\n }\n}\n\ninterface PublicMap {\n _names: GenMapping['_names'];\n _sources: GenMapping['_sources'];\n _sourcesContent: GenMapping['_sourcesContent'];\n _mappings: GenMapping['_mappings'];\n _ignoreList: GenMapping['_ignoreList'];\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map: unknown): PublicMap {\n return map as any;\n}\n\n/**\n * A low-level API to associate a generated position with an original source position. Line and\n * column here are 0-based, unlike `addMapping`.\n */\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: null,\n sourceLine?: null,\n sourceColumn?: null,\n name?: null,\n content?: null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name?: null,\n content?: string | null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name: string,\n content?: string | null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: string | null,\n sourceLine?: number | null,\n sourceColumn?: number | null,\n name?: string | null,\n content?: string | null,\n): void {\n return addSegmentInternal(\n false,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n}\n\n/**\n * A high-level API to associate a generated position with an original source position. Line is\n * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.\n */\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: null;\n original?: null;\n name?: null;\n content?: null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name?: null;\n content?: string | null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name: string;\n content?: string | null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: string | null;\n original?: Pos | null;\n name?: string | null;\n content?: string | null;\n },\n): void {\n return addMappingInternal(false, map, mapping as Parameters[2]);\n}\n\n/**\n * Same as `addSegment`, but will only add the segment if it generates useful information in the\n * resulting map. This only works correctly if segments are added **in order**, meaning you should\n * not add a segment with a lower generated line/column than one that came before.\n */\nexport const maybeAddSegment: typeof addSegment = (\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n) => {\n return addSegmentInternal(\n true,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n};\n\n/**\n * Same as `addMapping`, but will only add the mapping if it generates useful information in the\n * resulting map. This only works correctly if mappings are added **in order**, meaning you should\n * not add a mapping with a lower generated line/column than one that came before.\n */\nexport const maybeAddMapping: typeof addMapping = (map, mapping) => {\n return addMappingInternal(true, map, mapping as Parameters[2]);\n};\n\n/**\n * Adds/removes the content of the source file to the source map.\n */\nexport function setSourceContent(map: GenMapping, source: string, content: string | null): void {\n const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);\n const index = put(sources, source);\n sourcesContent[index] = content;\n}\n\nexport function setIgnore(map: GenMapping, source: string, ignore = true) {\n const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);\n const index = put(sources, source);\n if (index === sourcesContent.length) sourcesContent[index] = null;\n if (ignore) put(ignoreList, index);\n else remove(ignoreList, index);\n}\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function toDecodedMap(map: GenMapping): DecodedSourceMap {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n _ignoreList: ignoreList,\n } = cast(map);\n removeEmptyFinalLines(mappings);\n\n return {\n version: 3,\n file: map.file || undefined,\n names: names.array,\n sourceRoot: map.sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n ignoreList: ignoreList.array,\n };\n}\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function toEncodedMap(map: GenMapping): EncodedSourceMap {\n const decoded = toDecodedMap(map);\n return {\n ...decoded,\n mappings: encode(decoded.mappings as SourceMapSegment[][]),\n };\n}\n\n/**\n * Constructs a new GenMapping, using the already present mappings of the input.\n */\nexport function fromMap(input: SourceMapInput): GenMapping {\n const map = new TraceMap(input);\n const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });\n\n putAll(cast(gen)._names, map.names);\n putAll(cast(gen)._sources, map.sources as string[]);\n cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);\n cast(gen)._mappings = decodedMappings(map) as GenMapping['_mappings'];\n if (map.ignoreList) putAll(cast(gen)._ignoreList, map.ignoreList);\n\n return gen;\n}\n\n/**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\nexport function allMappings(map: GenMapping): Mapping[] {\n const out: Mapping[] = [];\n const { _mappings: mappings, _sources: sources, _names: names } = cast(map);\n\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generated = { line: i + 1, column: seg[COLUMN] };\n let source: string | undefined = undefined;\n let original: Pos | undefined = undefined;\n let name: string | undefined = undefined;\n\n if (seg.length !== 1) {\n source = sources.array[seg[SOURCES_INDEX]];\n original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };\n\n if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];\n }\n\n out.push({ generated, source, original, name } as Mapping);\n }\n }\n\n return out;\n}\n\n// This split declaration is only so that terser can elminiate the static initialization block.\nfunction addSegmentInternal(\n skipable: boolean,\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: S,\n sourceLine: S extends string ? number : null | undefined,\n sourceColumn: S extends string ? number : null | undefined,\n name: S extends string ? string | null | undefined : null | undefined,\n content: S extends string ? string | null | undefined : null | undefined,\n): void {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = cast(map);\n const line = getLine(mappings, genLine);\n const index = getColumnIndex(line, genColumn);\n\n if (!source) {\n if (skipable && skipSourceless(line, index)) return;\n return insert(line, index, [genColumn]);\n }\n\n // Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source\n // isn't nullish.\n assert(sourceLine);\n assert(sourceColumn);\n\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null;\n\n if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n\n return insert(\n line,\n index,\n name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn],\n );\n}\n\nfunction assert(_val: unknown): asserts _val is T {\n // noop.\n}\n\nfunction getLine(mappings: SourceMapSegment[][], index: number): SourceMapSegment[] {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n}\n\nfunction getColumnIndex(line: SourceMapSegment[], genColumn: number): number {\n let index = line.length;\n for (let i = index - 1; i >= 0; index = i--) {\n const current = line[i];\n if (genColumn >= current[COLUMN]) break;\n }\n return index;\n}\n\nfunction insert(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\nfunction removeEmptyFinalLines(mappings: SourceMapSegment[][]) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n}\n\nfunction putAll(setarr: SetArray, array: T[]) {\n for (let i = 0; i < array.length; i++) put(setarr, array[i]);\n}\n\nfunction skipSourceless(line: SourceMapSegment[], index: number): boolean {\n // The start of a line is already sourceless, so adding a sourceless segment to the beginning\n // doesn't generate any useful information.\n if (index === 0) return true;\n\n const prev = line[index - 1];\n // If the previous segment is also sourceless, then adding another sourceless segment doesn't\n // genrate any new information. Else, this segment will end the source/named segment and point to\n // a sourceless position, which is useful.\n return prev.length === 1;\n}\n\nfunction skipSource(\n line: SourceMapSegment[],\n index: number,\n sourcesIndex: number,\n sourceLine: number,\n sourceColumn: number,\n namesIndex: number,\n): boolean {\n // A source/named segment at the start of a line gives position at that genColumn\n if (index === 0) return false;\n\n const prev = line[index - 1];\n\n // If the previous segment is sourceless, then we're transitioning to a source.\n if (prev.length === 1) return false;\n\n // If the previous segment maps to the exact same source position, then this segment doesn't\n // provide any new position information.\n return (\n sourcesIndex === prev[SOURCES_INDEX] &&\n sourceLine === prev[SOURCE_LINE] &&\n sourceColumn === prev[SOURCE_COLUMN] &&\n namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME)\n );\n}\n\nfunction addMappingInternal(\n skipable: boolean,\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: S;\n original: S extends string ? Pos : null | undefined;\n name: S extends string ? string | null | undefined : null | undefined;\n content: S extends string ? string | null | undefined : null | undefined;\n },\n) {\n const { generated, source, original, name, content } = mapping;\n if (!source) {\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n null,\n null,\n null,\n null,\n null,\n );\n }\n assert(original);\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n source as string,\n original.line - 1,\n original.column,\n name,\n content,\n );\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js b/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
deleted file mode 100644
index 3bf18f3..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
+++ /dev/null
@@ -1,246 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/set-array'), require('@jridgewell/sourcemap-codec'), require('@jridgewell/trace-mapping')) :
- typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/set-array', '@jridgewell/sourcemap-codec', '@jridgewell/trace-mapping'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.genMapping = {}, global.setArray, global.sourcemapCodec, global.traceMapping));
-})(this, (function (exports, setArray, sourcemapCodec, traceMapping) { 'use strict';
-
- const COLUMN = 0;
- const SOURCES_INDEX = 1;
- const SOURCE_LINE = 2;
- const SOURCE_COLUMN = 3;
- const NAMES_INDEX = 4;
-
- const NO_NAME = -1;
- /**
- * Provides the state to generate a sourcemap.
- */
- class GenMapping {
- constructor({ file, sourceRoot } = {}) {
- this._names = new setArray.SetArray();
- this._sources = new setArray.SetArray();
- this._sourcesContent = [];
- this._mappings = [];
- this.file = file;
- this.sourceRoot = sourceRoot;
- this._ignoreList = new setArray.SetArray();
- }
- }
- /**
- * Typescript doesn't allow friend access to private fields, so this just casts the map into a type
- * with public access modifiers.
- */
- function cast(map) {
- return map;
- }
- function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
- return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
- }
- function addMapping(map, mapping) {
- return addMappingInternal(false, map, mapping);
- }
- /**
- * Same as `addSegment`, but will only add the segment if it generates useful information in the
- * resulting map. This only works correctly if segments are added **in order**, meaning you should
- * not add a segment with a lower generated line/column than one that came before.
- */
- const maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
- };
- /**
- * Same as `addMapping`, but will only add the mapping if it generates useful information in the
- * resulting map. This only works correctly if mappings are added **in order**, meaning you should
- * not add a mapping with a lower generated line/column than one that came before.
- */
- const maybeAddMapping = (map, mapping) => {
- return addMappingInternal(true, map, mapping);
- };
- /**
- * Adds/removes the content of the source file to the source map.
- */
- function setSourceContent(map, source, content) {
- const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);
- const index = setArray.put(sources, source);
- sourcesContent[index] = content;
- }
- function setIgnore(map, source, ignore = true) {
- const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);
- const index = setArray.put(sources, source);
- if (index === sourcesContent.length)
- sourcesContent[index] = null;
- if (ignore)
- setArray.put(ignoreList, index);
- else
- setArray.remove(ignoreList, index);
- }
- /**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- function toDecodedMap(map) {
- const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, _ignoreList: ignoreList, } = cast(map);
- removeEmptyFinalLines(mappings);
- return {
- version: 3,
- file: map.file || undefined,
- names: names.array,
- sourceRoot: map.sourceRoot || undefined,
- sources: sources.array,
- sourcesContent,
- mappings,
- ignoreList: ignoreList.array,
- };
- }
- /**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- function toEncodedMap(map) {
- const decoded = toDecodedMap(map);
- return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) });
- }
- /**
- * Constructs a new GenMapping, using the already present mappings of the input.
- */
- function fromMap(input) {
- const map = new traceMapping.TraceMap(input);
- const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
- putAll(cast(gen)._names, map.names);
- putAll(cast(gen)._sources, map.sources);
- cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);
- cast(gen)._mappings = traceMapping.decodedMappings(map);
- if (map.ignoreList)
- putAll(cast(gen)._ignoreList, map.ignoreList);
- return gen;
- }
- /**
- * Returns an array of high-level mapping objects for every recorded segment, which could then be
- * passed to the `source-map` library.
- */
- function allMappings(map) {
- const out = [];
- const { _mappings: mappings, _sources: sources, _names: names } = cast(map);
- for (let i = 0; i < mappings.length; i++) {
- const line = mappings[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generated = { line: i + 1, column: seg[COLUMN] };
- let source = undefined;
- let original = undefined;
- let name = undefined;
- if (seg.length !== 1) {
- source = sources.array[seg[SOURCES_INDEX]];
- original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };
- if (seg.length === 5)
- name = names.array[seg[NAMES_INDEX]];
- }
- out.push({ generated, source, original, name });
- }
- }
- return out;
- }
- // This split declaration is only so that terser can elminiate the static initialization block.
- function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
- const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = cast(map);
- const line = getLine(mappings, genLine);
- const index = getColumnIndex(line, genColumn);
- if (!source) {
- if (skipable && skipSourceless(line, index))
- return;
- return insert(line, index, [genColumn]);
- }
- const sourcesIndex = setArray.put(sources, source);
- const namesIndex = name ? setArray.put(names, name) : NO_NAME;
- if (sourcesIndex === sourcesContent.length)
- sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;
- if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
- return;
- }
- return insert(line, index, name
- ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
- : [genColumn, sourcesIndex, sourceLine, sourceColumn]);
- }
- function getLine(mappings, index) {
- for (let i = mappings.length; i <= index; i++) {
- mappings[i] = [];
- }
- return mappings[index];
- }
- function getColumnIndex(line, genColumn) {
- let index = line.length;
- for (let i = index - 1; i >= 0; index = i--) {
- const current = line[i];
- if (genColumn >= current[COLUMN])
- break;
- }
- return index;
- }
- function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
- }
- function removeEmptyFinalLines(mappings) {
- const { length } = mappings;
- let len = length;
- for (let i = len - 1; i >= 0; len = i, i--) {
- if (mappings[i].length > 0)
- break;
- }
- if (len < length)
- mappings.length = len;
- }
- function putAll(setarr, array) {
- for (let i = 0; i < array.length; i++)
- setArray.put(setarr, array[i]);
- }
- function skipSourceless(line, index) {
- // The start of a line is already sourceless, so adding a sourceless segment to the beginning
- // doesn't generate any useful information.
- if (index === 0)
- return true;
- const prev = line[index - 1];
- // If the previous segment is also sourceless, then adding another sourceless segment doesn't
- // genrate any new information. Else, this segment will end the source/named segment and point to
- // a sourceless position, which is useful.
- return prev.length === 1;
- }
- function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
- // A source/named segment at the start of a line gives position at that genColumn
- if (index === 0)
- return false;
- const prev = line[index - 1];
- // If the previous segment is sourceless, then we're transitioning to a source.
- if (prev.length === 1)
- return false;
- // If the previous segment maps to the exact same source position, then this segment doesn't
- // provide any new position information.
- return (sourcesIndex === prev[SOURCES_INDEX] &&
- sourceLine === prev[SOURCE_LINE] &&
- sourceColumn === prev[SOURCE_COLUMN] &&
- namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME));
- }
- function addMappingInternal(skipable, map, mapping) {
- const { generated, source, original, name, content } = mapping;
- if (!source) {
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);
- }
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, source, original.line - 1, original.column, name, content);
- }
-
- exports.GenMapping = GenMapping;
- exports.addMapping = addMapping;
- exports.addSegment = addSegment;
- exports.allMappings = allMappings;
- exports.fromMap = fromMap;
- exports.maybeAddMapping = maybeAddMapping;
- exports.maybeAddSegment = maybeAddSegment;
- exports.setIgnore = setIgnore;
- exports.setSourceContent = setSourceContent;
- exports.toDecodedMap = toDecodedMap;
- exports.toEncodedMap = toEncodedMap;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=gen-mapping.umd.js.map
diff --git a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map b/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map
deleted file mode 100644
index 72172ac..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"gen-mapping.umd.js","sources":["../src/sourcemap-segment.ts","../src/gen-mapping.ts"],"sourcesContent":["type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n","import { SetArray, put, remove } from '@jridgewell/set-array';\nimport { encode } from '@jridgewell/sourcemap-codec';\nimport { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type { SourceMapInput } from '@jridgewell/trace-mapping';\nimport type { SourceMapSegment } from './sourcemap-segment';\nimport type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';\n\nexport type { DecodedSourceMap, EncodedSourceMap, Mapping };\n\nexport type Options = {\n file?: string | null;\n sourceRoot?: string | null;\n};\n\nconst NO_NAME = -1;\n\n/**\n * Provides the state to generate a sourcemap.\n */\nexport class GenMapping {\n private declare _names: SetArray;\n private declare _sources: SetArray;\n private declare _sourcesContent: (string | null)[];\n private declare _mappings: SourceMapSegment[][];\n private declare _ignoreList: SetArray;\n declare file: string | null | undefined;\n declare sourceRoot: string | null | undefined;\n\n constructor({ file, sourceRoot }: Options = {}) {\n this._names = new SetArray();\n this._sources = new SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n this._ignoreList = new SetArray();\n }\n}\n\ninterface PublicMap {\n _names: GenMapping['_names'];\n _sources: GenMapping['_sources'];\n _sourcesContent: GenMapping['_sourcesContent'];\n _mappings: GenMapping['_mappings'];\n _ignoreList: GenMapping['_ignoreList'];\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map: unknown): PublicMap {\n return map as any;\n}\n\n/**\n * A low-level API to associate a generated position with an original source position. Line and\n * column here are 0-based, unlike `addMapping`.\n */\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: null,\n sourceLine?: null,\n sourceColumn?: null,\n name?: null,\n content?: null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name?: null,\n content?: string | null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name: string,\n content?: string | null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: string | null,\n sourceLine?: number | null,\n sourceColumn?: number | null,\n name?: string | null,\n content?: string | null,\n): void {\n return addSegmentInternal(\n false,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n}\n\n/**\n * A high-level API to associate a generated position with an original source position. Line is\n * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.\n */\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: null;\n original?: null;\n name?: null;\n content?: null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name?: null;\n content?: string | null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name: string;\n content?: string | null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: string | null;\n original?: Pos | null;\n name?: string | null;\n content?: string | null;\n },\n): void {\n return addMappingInternal(false, map, mapping as Parameters[2]);\n}\n\n/**\n * Same as `addSegment`, but will only add the segment if it generates useful information in the\n * resulting map. This only works correctly if segments are added **in order**, meaning you should\n * not add a segment with a lower generated line/column than one that came before.\n */\nexport const maybeAddSegment: typeof addSegment = (\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n) => {\n return addSegmentInternal(\n true,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n};\n\n/**\n * Same as `addMapping`, but will only add the mapping if it generates useful information in the\n * resulting map. This only works correctly if mappings are added **in order**, meaning you should\n * not add a mapping with a lower generated line/column than one that came before.\n */\nexport const maybeAddMapping: typeof addMapping = (map, mapping) => {\n return addMappingInternal(true, map, mapping as Parameters[2]);\n};\n\n/**\n * Adds/removes the content of the source file to the source map.\n */\nexport function setSourceContent(map: GenMapping, source: string, content: string | null): void {\n const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);\n const index = put(sources, source);\n sourcesContent[index] = content;\n}\n\nexport function setIgnore(map: GenMapping, source: string, ignore = true) {\n const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);\n const index = put(sources, source);\n if (index === sourcesContent.length) sourcesContent[index] = null;\n if (ignore) put(ignoreList, index);\n else remove(ignoreList, index);\n}\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function toDecodedMap(map: GenMapping): DecodedSourceMap {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n _ignoreList: ignoreList,\n } = cast(map);\n removeEmptyFinalLines(mappings);\n\n return {\n version: 3,\n file: map.file || undefined,\n names: names.array,\n sourceRoot: map.sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n ignoreList: ignoreList.array,\n };\n}\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function toEncodedMap(map: GenMapping): EncodedSourceMap {\n const decoded = toDecodedMap(map);\n return {\n ...decoded,\n mappings: encode(decoded.mappings as SourceMapSegment[][]),\n };\n}\n\n/**\n * Constructs a new GenMapping, using the already present mappings of the input.\n */\nexport function fromMap(input: SourceMapInput): GenMapping {\n const map = new TraceMap(input);\n const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });\n\n putAll(cast(gen)._names, map.names);\n putAll(cast(gen)._sources, map.sources as string[]);\n cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);\n cast(gen)._mappings = decodedMappings(map) as GenMapping['_mappings'];\n if (map.ignoreList) putAll(cast(gen)._ignoreList, map.ignoreList);\n\n return gen;\n}\n\n/**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\nexport function allMappings(map: GenMapping): Mapping[] {\n const out: Mapping[] = [];\n const { _mappings: mappings, _sources: sources, _names: names } = cast(map);\n\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generated = { line: i + 1, column: seg[COLUMN] };\n let source: string | undefined = undefined;\n let original: Pos | undefined = undefined;\n let name: string | undefined = undefined;\n\n if (seg.length !== 1) {\n source = sources.array[seg[SOURCES_INDEX]];\n original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };\n\n if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];\n }\n\n out.push({ generated, source, original, name } as Mapping);\n }\n }\n\n return out;\n}\n\n// This split declaration is only so that terser can elminiate the static initialization block.\nfunction addSegmentInternal(\n skipable: boolean,\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: S,\n sourceLine: S extends string ? number : null | undefined,\n sourceColumn: S extends string ? number : null | undefined,\n name: S extends string ? string | null | undefined : null | undefined,\n content: S extends string ? string | null | undefined : null | undefined,\n): void {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = cast(map);\n const line = getLine(mappings, genLine);\n const index = getColumnIndex(line, genColumn);\n\n if (!source) {\n if (skipable && skipSourceless(line, index)) return;\n return insert(line, index, [genColumn]);\n }\n\n // Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source\n // isn't nullish.\n assert(sourceLine);\n assert(sourceColumn);\n\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null;\n\n if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n\n return insert(\n line,\n index,\n name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn],\n );\n}\n\nfunction assert(_val: unknown): asserts _val is T {\n // noop.\n}\n\nfunction getLine(mappings: SourceMapSegment[][], index: number): SourceMapSegment[] {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n}\n\nfunction getColumnIndex(line: SourceMapSegment[], genColumn: number): number {\n let index = line.length;\n for (let i = index - 1; i >= 0; index = i--) {\n const current = line[i];\n if (genColumn >= current[COLUMN]) break;\n }\n return index;\n}\n\nfunction insert(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\nfunction removeEmptyFinalLines(mappings: SourceMapSegment[][]) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n}\n\nfunction putAll(setarr: SetArray, array: T[]) {\n for (let i = 0; i < array.length; i++) put(setarr, array[i]);\n}\n\nfunction skipSourceless(line: SourceMapSegment[], index: number): boolean {\n // The start of a line is already sourceless, so adding a sourceless segment to the beginning\n // doesn't generate any useful information.\n if (index === 0) return true;\n\n const prev = line[index - 1];\n // If the previous segment is also sourceless, then adding another sourceless segment doesn't\n // genrate any new information. Else, this segment will end the source/named segment and point to\n // a sourceless position, which is useful.\n return prev.length === 1;\n}\n\nfunction skipSource(\n line: SourceMapSegment[],\n index: number,\n sourcesIndex: number,\n sourceLine: number,\n sourceColumn: number,\n namesIndex: number,\n): boolean {\n // A source/named segment at the start of a line gives position at that genColumn\n if (index === 0) return false;\n\n const prev = line[index - 1];\n\n // If the previous segment is sourceless, then we're transitioning to a source.\n if (prev.length === 1) return false;\n\n // If the previous segment maps to the exact same source position, then this segment doesn't\n // provide any new position information.\n return (\n sourcesIndex === prev[SOURCES_INDEX] &&\n sourceLine === prev[SOURCE_LINE] &&\n sourceColumn === prev[SOURCE_COLUMN] &&\n namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME)\n );\n}\n\nfunction addMappingInternal(\n skipable: boolean,\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: S;\n original: S extends string ? Pos : null | undefined;\n name: S extends string ? string | null | undefined : null | undefined;\n content: S extends string ? string | null | undefined : null | undefined;\n },\n) {\n const { generated, source, original, name, content } = mapping;\n if (!source) {\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n null,\n null,\n null,\n null,\n null,\n );\n }\n assert(original);\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n source as string,\n original.line - 1,\n original.column,\n name,\n content,\n );\n}\n"],"names":["SetArray","put","remove","encode","TraceMap","decodedMappings"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts b/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts
deleted file mode 100644
index 398a695..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import type { SourceMapInput } from '@jridgewell/trace-mapping';
-import type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';
-export type { DecodedSourceMap, EncodedSourceMap, Mapping };
-export declare type Options = {
- file?: string | null;
- sourceRoot?: string | null;
-};
-/**
- * Provides the state to generate a sourcemap.
- */
-export declare class GenMapping {
- private _names;
- private _sources;
- private _sourcesContent;
- private _mappings;
- private _ignoreList;
- file: string | null | undefined;
- sourceRoot: string | null | undefined;
- constructor({ file, sourceRoot }?: Options);
-}
-/**
- * A low-level API to associate a generated position with an original source position. Line and
- * column here are 0-based, unlike `addMapping`.
- */
-export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source?: null, sourceLine?: null, sourceColumn?: null, name?: null, content?: null): void;
-export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name?: null, content?: string | null): void;
-export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name: string, content?: string | null): void;
-/**
- * A high-level API to associate a generated position with an original source position. Line is
- * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.
- */
-export declare function addMapping(map: GenMapping, mapping: {
- generated: Pos;
- source?: null;
- original?: null;
- name?: null;
- content?: null;
-}): void;
-export declare function addMapping(map: GenMapping, mapping: {
- generated: Pos;
- source: string;
- original: Pos;
- name?: null;
- content?: string | null;
-}): void;
-export declare function addMapping(map: GenMapping, mapping: {
- generated: Pos;
- source: string;
- original: Pos;
- name: string;
- content?: string | null;
-}): void;
-/**
- * Same as `addSegment`, but will only add the segment if it generates useful information in the
- * resulting map. This only works correctly if segments are added **in order**, meaning you should
- * not add a segment with a lower generated line/column than one that came before.
- */
-export declare const maybeAddSegment: typeof addSegment;
-/**
- * Same as `addMapping`, but will only add the mapping if it generates useful information in the
- * resulting map. This only works correctly if mappings are added **in order**, meaning you should
- * not add a mapping with a lower generated line/column than one that came before.
- */
-export declare const maybeAddMapping: typeof addMapping;
-/**
- * Adds/removes the content of the source file to the source map.
- */
-export declare function setSourceContent(map: GenMapping, source: string, content: string | null): void;
-export declare function setIgnore(map: GenMapping, source: string, ignore?: boolean): void;
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare function toDecodedMap(map: GenMapping): DecodedSourceMap;
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare function toEncodedMap(map: GenMapping): EncodedSourceMap;
-/**
- * Constructs a new GenMapping, using the already present mappings of the input.
- */
-export declare function fromMap(input: SourceMapInput): GenMapping;
-/**
- * Returns an array of high-level mapping objects for every recorded segment, which could then be
- * passed to the `source-map` library.
- */
-export declare function allMappings(map: GenMapping): Mapping[];
diff --git a/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts b/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts
deleted file mode 100644
index e187ba9..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-declare type GeneratedColumn = number;
-declare type SourcesIndex = number;
-declare type SourceLine = number;
-declare type SourceColumn = number;
-declare type NamesIndex = number;
-export declare type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];
-export declare const COLUMN = 0;
-export declare const SOURCES_INDEX = 1;
-export declare const SOURCE_LINE = 2;
-export declare const SOURCE_COLUMN = 3;
-export declare const NAMES_INDEX = 4;
-export {};
diff --git a/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts b/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts
deleted file mode 100644
index 7f0ab15..0000000
--- a/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-export interface SourceMapV3 {
- file?: string | null;
- names: readonly string[];
- sourceRoot?: string;
- sources: readonly (string | null)[];
- sourcesContent?: readonly (string | null)[];
- version: 3;
- ignoreList?: readonly number[];
-}
-export interface EncodedSourceMap extends SourceMapV3 {
- mappings: string;
-}
-export interface DecodedSourceMap extends SourceMapV3 {
- mappings: readonly SourceMapSegment[][];
-}
-export interface Pos {
- line: number;
- column: number;
-}
-export declare type Mapping = {
- generated: Pos;
- source: undefined;
- original: undefined;
- name: undefined;
-} | {
- generated: Pos;
- source: string;
- original: Pos;
- name: string;
-} | {
- generated: Pos;
- source: string;
- original: Pos;
- name: undefined;
-};
diff --git a/node_modules/@jridgewell/gen-mapping/package.json b/node_modules/@jridgewell/gen-mapping/package.json
deleted file mode 100644
index 9b8f0bb..0000000
--- a/node_modules/@jridgewell/gen-mapping/package.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "name": "@jridgewell/gen-mapping",
- "version": "0.3.8",
- "description": "Generate source maps",
- "keywords": [
- "source",
- "map"
- ],
- "author": "Justin Ridgewell ",
- "license": "MIT",
- "repository": "https://github.com/jridgewell/gen-mapping",
- "main": "dist/gen-mapping.umd.js",
- "module": "dist/gen-mapping.mjs",
- "types": "dist/types/gen-mapping.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/gen-mapping.d.ts",
- "browser": "./dist/gen-mapping.umd.js",
- "require": "./dist/gen-mapping.umd.js",
- "import": "./dist/gen-mapping.mjs"
- },
- "./dist/gen-mapping.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node benchmark/index.mjs",
- "prebuild": "rm -rf dist",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "c8 mocha",
- "test:watch": "mocha --watch",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.2",
- "@types/mocha": "9.1.1",
- "@types/node": "17.0.29",
- "@typescript-eslint/eslint-plugin": "5.21.0",
- "@typescript-eslint/parser": "5.21.0",
- "benchmark": "2.1.4",
- "c8": "7.11.2",
- "eslint": "8.14.0",
- "eslint-config-prettier": "8.5.0",
- "mocha": "9.2.2",
- "npm-run-all": "4.1.5",
- "prettier": "2.6.2",
- "rollup": "2.70.2",
- "tsx": "4.7.1",
- "typescript": "4.6.3"
- },
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
-}
diff --git a/node_modules/@jridgewell/resolve-uri/LICENSE b/node_modules/@jridgewell/resolve-uri/LICENSE
deleted file mode 100644
index 0a81b2a..0000000
--- a/node_modules/@jridgewell/resolve-uri/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2019 Justin Ridgewell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/@jridgewell/resolve-uri/README.md b/node_modules/@jridgewell/resolve-uri/README.md
deleted file mode 100644
index 2fe70df..0000000
--- a/node_modules/@jridgewell/resolve-uri/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# @jridgewell/resolve-uri
-
-> Resolve a URI relative to an optional base URI
-
-Resolve any combination of absolute URIs, protocol-realtive URIs, absolute paths, or relative paths.
-
-## Installation
-
-```sh
-npm install @jridgewell/resolve-uri
-```
-
-## Usage
-
-```typescript
-function resolve(input: string, base?: string): string;
-```
-
-```js
-import resolve from '@jridgewell/resolve-uri';
-
-resolve('foo', 'https://example.com'); // => 'https://example.com/foo'
-```
-
-| Input | Base | Resolution | Explanation |
-|-----------------------|-------------------------|--------------------------------|--------------------------------------------------------------|
-| `https://example.com` | _any_ | `https://example.com/` | Input is normalized only |
-| `//example.com` | `https://base.com/` | `https://example.com/` | Input inherits the base's protocol |
-| `//example.com` | _rest_ | `//example.com/` | Input is normalized only |
-| `/example` | `https://base.com/` | `https://base.com/example` | Input inherits the base's origin |
-| `/example` | `//base.com/` | `//base.com/example` | Input inherits the base's host and remains protocol relative |
-| `/example` | _rest_ | `/example` | Input is normalized only |
-| `example` | `https://base.com/dir/` | `https://base.com/dir/example` | Input is joined with the base |
-| `example` | `https://base.com/file` | `https://base.com/example` | Input is joined with the base without its file |
-| `example` | `//base.com/dir/` | `//base.com/dir/example` | Input is joined with the base's last directory |
-| `example` | `//base.com/file` | `//base.com/example` | Input is joined with the base without its file |
-| `example` | `/base/dir/` | `/base/dir/example` | Input is joined with the base's last directory |
-| `example` | `/base/file` | `/base/example` | Input is joined with the base without its file |
-| `example` | `base/dir/` | `base/dir/example` | Input is joined with the base's last directory |
-| `example` | `base/file` | `base/example` | Input is joined with the base without its file |
diff --git a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs b/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs
deleted file mode 100644
index e958e88..0000000
--- a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs
+++ /dev/null
@@ -1,232 +0,0 @@
-// Matches the scheme of a URL, eg "http://"
-const schemeRegex = /^[\w+.-]+:\/\//;
-/**
- * Matches the parts of a URL:
- * 1. Scheme, including ":", guaranteed.
- * 2. User/password, including "@", optional.
- * 3. Host, guaranteed.
- * 4. Port, including ":", optional.
- * 5. Path, including "/", optional.
- * 6. Query, including "?", optional.
- * 7. Hash, including "#", optional.
- */
-const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;
-/**
- * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start
- * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).
- *
- * 1. Host, optional.
- * 2. Path, which may include "/", guaranteed.
- * 3. Query, including "?", optional.
- * 4. Hash, including "#", optional.
- */
-const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
-function isAbsoluteUrl(input) {
- return schemeRegex.test(input);
-}
-function isSchemeRelativeUrl(input) {
- return input.startsWith('//');
-}
-function isAbsolutePath(input) {
- return input.startsWith('/');
-}
-function isFileUrl(input) {
- return input.startsWith('file:');
-}
-function isRelative(input) {
- return /^[.?#]/.test(input);
-}
-function parseAbsoluteUrl(input) {
- const match = urlRegex.exec(input);
- return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');
-}
-function parseFileUrl(input) {
- const match = fileRegex.exec(input);
- const path = match[2];
- return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');
-}
-function makeUrl(scheme, user, host, port, path, query, hash) {
- return {
- scheme,
- user,
- host,
- port,
- path,
- query,
- hash,
- type: 7 /* Absolute */,
- };
-}
-function parseUrl(input) {
- if (isSchemeRelativeUrl(input)) {
- const url = parseAbsoluteUrl('http:' + input);
- url.scheme = '';
- url.type = 6 /* SchemeRelative */;
- return url;
- }
- if (isAbsolutePath(input)) {
- const url = parseAbsoluteUrl('http://foo.com' + input);
- url.scheme = '';
- url.host = '';
- url.type = 5 /* AbsolutePath */;
- return url;
- }
- if (isFileUrl(input))
- return parseFileUrl(input);
- if (isAbsoluteUrl(input))
- return parseAbsoluteUrl(input);
- const url = parseAbsoluteUrl('http://foo.com/' + input);
- url.scheme = '';
- url.host = '';
- url.type = input
- ? input.startsWith('?')
- ? 3 /* Query */
- : input.startsWith('#')
- ? 2 /* Hash */
- : 4 /* RelativePath */
- : 1 /* Empty */;
- return url;
-}
-function stripPathFilename(path) {
- // If a path ends with a parent directory "..", then it's a relative path with excess parent
- // paths. It's not a file, so we can't strip it.
- if (path.endsWith('/..'))
- return path;
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
-}
-function mergePaths(url, base) {
- normalizePath(base, base.type);
- // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative
- // path).
- if (url.path === '/') {
- url.path = base.path;
- }
- else {
- // Resolution happens relative to the base path's directory, not the file.
- url.path = stripPathFilename(base.path) + url.path;
- }
-}
-/**
- * The path can have empty directories "//", unneeded parents "foo/..", or current directory
- * "foo/.". We need to normalize to a standard representation.
- */
-function normalizePath(url, type) {
- const rel = type <= 4 /* RelativePath */;
- const pieces = url.path.split('/');
- // We need to preserve the first piece always, so that we output a leading slash. The item at
- // pieces[0] is an empty string.
- let pointer = 1;
- // Positive is the number of real directories we've output, used for popping a parent directory.
- // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo".
- let positive = 0;
- // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will
- // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a
- // real directory, we won't need to append, unless the other conditions happen again.
- let addTrailingSlash = false;
- for (let i = 1; i < pieces.length; i++) {
- const piece = pieces[i];
- // An empty directory, could be a trailing slash, or just a double "//" in the path.
- if (!piece) {
- addTrailingSlash = true;
- continue;
- }
- // If we encounter a real directory, then we don't need to append anymore.
- addTrailingSlash = false;
- // A current directory, which we can always drop.
- if (piece === '.')
- continue;
- // A parent directory, we need to see if there are any real directories we can pop. Else, we
- // have an excess of parents, and we'll need to keep the "..".
- if (piece === '..') {
- if (positive) {
- addTrailingSlash = true;
- positive--;
- pointer--;
- }
- else if (rel) {
- // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute
- // URL, protocol relative URL, or an absolute path, we don't need to keep excess.
- pieces[pointer++] = piece;
- }
- continue;
- }
- // We've encountered a real directory. Move it to the next insertion pointer, which accounts for
- // any popped or dropped directories.
- pieces[pointer++] = piece;
- positive++;
- }
- let path = '';
- for (let i = 1; i < pointer; i++) {
- path += '/' + pieces[i];
- }
- if (!path || (addTrailingSlash && !path.endsWith('/..'))) {
- path += '/';
- }
- url.path = path;
-}
-/**
- * Attempts to resolve `input` URL/path relative to `base`.
- */
-function resolve(input, base) {
- if (!input && !base)
- return '';
- const url = parseUrl(input);
- let inputType = url.type;
- if (base && inputType !== 7 /* Absolute */) {
- const baseUrl = parseUrl(base);
- const baseType = baseUrl.type;
- switch (inputType) {
- case 1 /* Empty */:
- url.hash = baseUrl.hash;
- // fall through
- case 2 /* Hash */:
- url.query = baseUrl.query;
- // fall through
- case 3 /* Query */:
- case 4 /* RelativePath */:
- mergePaths(url, baseUrl);
- // fall through
- case 5 /* AbsolutePath */:
- // The host, user, and port are joined, you can't copy one without the others.
- url.user = baseUrl.user;
- url.host = baseUrl.host;
- url.port = baseUrl.port;
- // fall through
- case 6 /* SchemeRelative */:
- // The input doesn't have a schema at least, so we need to copy at least that over.
- url.scheme = baseUrl.scheme;
- }
- if (baseType > inputType)
- inputType = baseType;
- }
- normalizePath(url, inputType);
- const queryHash = url.query + url.hash;
- switch (inputType) {
- // This is impossible, because of the empty checks at the start of the function.
- // case UrlType.Empty:
- case 2 /* Hash */:
- case 3 /* Query */:
- return queryHash;
- case 4 /* RelativePath */: {
- // The first char is always a "/", and we need it to be relative.
- const path = url.path.slice(1);
- if (!path)
- return queryHash || '.';
- if (isRelative(base || input) && !isRelative(path)) {
- // If base started with a leading ".", or there is no base and input started with a ".",
- // then we need to ensure that the relative path starts with a ".". We don't know if
- // relative starts with a "..", though, so check before prepending.
- return './' + path + queryHash;
- }
- return path + queryHash;
- }
- case 5 /* AbsolutePath */:
- return url.path + queryHash;
- default:
- return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;
- }
-}
-
-export { resolve as default };
-//# sourceMappingURL=resolve-uri.mjs.map
diff --git a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map b/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map
deleted file mode 100644
index 1de97d0..0000000
--- a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolve-uri.mjs","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js b/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
deleted file mode 100644
index a783049..0000000
--- a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
+++ /dev/null
@@ -1,240 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
- typeof define === 'function' && define.amd ? define(factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.resolveURI = factory());
-})(this, (function () { 'use strict';
-
- // Matches the scheme of a URL, eg "http://"
- const schemeRegex = /^[\w+.-]+:\/\//;
- /**
- * Matches the parts of a URL:
- * 1. Scheme, including ":", guaranteed.
- * 2. User/password, including "@", optional.
- * 3. Host, guaranteed.
- * 4. Port, including ":", optional.
- * 5. Path, including "/", optional.
- * 6. Query, including "?", optional.
- * 7. Hash, including "#", optional.
- */
- const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;
- /**
- * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start
- * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).
- *
- * 1. Host, optional.
- * 2. Path, which may include "/", guaranteed.
- * 3. Query, including "?", optional.
- * 4. Hash, including "#", optional.
- */
- const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
- function isAbsoluteUrl(input) {
- return schemeRegex.test(input);
- }
- function isSchemeRelativeUrl(input) {
- return input.startsWith('//');
- }
- function isAbsolutePath(input) {
- return input.startsWith('/');
- }
- function isFileUrl(input) {
- return input.startsWith('file:');
- }
- function isRelative(input) {
- return /^[.?#]/.test(input);
- }
- function parseAbsoluteUrl(input) {
- const match = urlRegex.exec(input);
- return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');
- }
- function parseFileUrl(input) {
- const match = fileRegex.exec(input);
- const path = match[2];
- return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');
- }
- function makeUrl(scheme, user, host, port, path, query, hash) {
- return {
- scheme,
- user,
- host,
- port,
- path,
- query,
- hash,
- type: 7 /* Absolute */,
- };
- }
- function parseUrl(input) {
- if (isSchemeRelativeUrl(input)) {
- const url = parseAbsoluteUrl('http:' + input);
- url.scheme = '';
- url.type = 6 /* SchemeRelative */;
- return url;
- }
- if (isAbsolutePath(input)) {
- const url = parseAbsoluteUrl('http://foo.com' + input);
- url.scheme = '';
- url.host = '';
- url.type = 5 /* AbsolutePath */;
- return url;
- }
- if (isFileUrl(input))
- return parseFileUrl(input);
- if (isAbsoluteUrl(input))
- return parseAbsoluteUrl(input);
- const url = parseAbsoluteUrl('http://foo.com/' + input);
- url.scheme = '';
- url.host = '';
- url.type = input
- ? input.startsWith('?')
- ? 3 /* Query */
- : input.startsWith('#')
- ? 2 /* Hash */
- : 4 /* RelativePath */
- : 1 /* Empty */;
- return url;
- }
- function stripPathFilename(path) {
- // If a path ends with a parent directory "..", then it's a relative path with excess parent
- // paths. It's not a file, so we can't strip it.
- if (path.endsWith('/..'))
- return path;
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
- }
- function mergePaths(url, base) {
- normalizePath(base, base.type);
- // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative
- // path).
- if (url.path === '/') {
- url.path = base.path;
- }
- else {
- // Resolution happens relative to the base path's directory, not the file.
- url.path = stripPathFilename(base.path) + url.path;
- }
- }
- /**
- * The path can have empty directories "//", unneeded parents "foo/..", or current directory
- * "foo/.". We need to normalize to a standard representation.
- */
- function normalizePath(url, type) {
- const rel = type <= 4 /* RelativePath */;
- const pieces = url.path.split('/');
- // We need to preserve the first piece always, so that we output a leading slash. The item at
- // pieces[0] is an empty string.
- let pointer = 1;
- // Positive is the number of real directories we've output, used for popping a parent directory.
- // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo".
- let positive = 0;
- // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will
- // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a
- // real directory, we won't need to append, unless the other conditions happen again.
- let addTrailingSlash = false;
- for (let i = 1; i < pieces.length; i++) {
- const piece = pieces[i];
- // An empty directory, could be a trailing slash, or just a double "//" in the path.
- if (!piece) {
- addTrailingSlash = true;
- continue;
- }
- // If we encounter a real directory, then we don't need to append anymore.
- addTrailingSlash = false;
- // A current directory, which we can always drop.
- if (piece === '.')
- continue;
- // A parent directory, we need to see if there are any real directories we can pop. Else, we
- // have an excess of parents, and we'll need to keep the "..".
- if (piece === '..') {
- if (positive) {
- addTrailingSlash = true;
- positive--;
- pointer--;
- }
- else if (rel) {
- // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute
- // URL, protocol relative URL, or an absolute path, we don't need to keep excess.
- pieces[pointer++] = piece;
- }
- continue;
- }
- // We've encountered a real directory. Move it to the next insertion pointer, which accounts for
- // any popped or dropped directories.
- pieces[pointer++] = piece;
- positive++;
- }
- let path = '';
- for (let i = 1; i < pointer; i++) {
- path += '/' + pieces[i];
- }
- if (!path || (addTrailingSlash && !path.endsWith('/..'))) {
- path += '/';
- }
- url.path = path;
- }
- /**
- * Attempts to resolve `input` URL/path relative to `base`.
- */
- function resolve(input, base) {
- if (!input && !base)
- return '';
- const url = parseUrl(input);
- let inputType = url.type;
- if (base && inputType !== 7 /* Absolute */) {
- const baseUrl = parseUrl(base);
- const baseType = baseUrl.type;
- switch (inputType) {
- case 1 /* Empty */:
- url.hash = baseUrl.hash;
- // fall through
- case 2 /* Hash */:
- url.query = baseUrl.query;
- // fall through
- case 3 /* Query */:
- case 4 /* RelativePath */:
- mergePaths(url, baseUrl);
- // fall through
- case 5 /* AbsolutePath */:
- // The host, user, and port are joined, you can't copy one without the others.
- url.user = baseUrl.user;
- url.host = baseUrl.host;
- url.port = baseUrl.port;
- // fall through
- case 6 /* SchemeRelative */:
- // The input doesn't have a schema at least, so we need to copy at least that over.
- url.scheme = baseUrl.scheme;
- }
- if (baseType > inputType)
- inputType = baseType;
- }
- normalizePath(url, inputType);
- const queryHash = url.query + url.hash;
- switch (inputType) {
- // This is impossible, because of the empty checks at the start of the function.
- // case UrlType.Empty:
- case 2 /* Hash */:
- case 3 /* Query */:
- return queryHash;
- case 4 /* RelativePath */: {
- // The first char is always a "/", and we need it to be relative.
- const path = url.path.slice(1);
- if (!path)
- return queryHash || '.';
- if (isRelative(base || input) && !isRelative(path)) {
- // If base started with a leading ".", or there is no base and input started with a ".",
- // then we need to ensure that the relative path starts with a ".". We don't know if
- // relative starts with a "..", though, so check before prepending.
- return './' + path + queryHash;
- }
- return path + queryHash;
- }
- case 5 /* AbsolutePath */:
- return url.path + queryHash;
- default:
- return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;
- }
- }
-
- return resolve;
-
-}));
-//# sourceMappingURL=resolve-uri.umd.js.map
diff --git a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map b/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map
deleted file mode 100644
index 70a37f2..0000000
--- a/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolve-uri.umd.js","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts b/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts
deleted file mode 100644
index b7f0b3b..0000000
--- a/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Attempts to resolve `input` URL/path relative to `base`.
- */
-export default function resolve(input: string, base: string | undefined): string;
diff --git a/node_modules/@jridgewell/resolve-uri/package.json b/node_modules/@jridgewell/resolve-uri/package.json
deleted file mode 100644
index 02a4c51..0000000
--- a/node_modules/@jridgewell/resolve-uri/package.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "name": "@jridgewell/resolve-uri",
- "version": "3.1.2",
- "description": "Resolve a URI relative to an optional base URI",
- "keywords": [
- "resolve",
- "uri",
- "url",
- "path"
- ],
- "author": "Justin Ridgewell ",
- "license": "MIT",
- "repository": "https://github.com/jridgewell/resolve-uri",
- "main": "dist/resolve-uri.umd.js",
- "module": "dist/resolve-uri.mjs",
- "types": "dist/types/resolve-uri.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/resolve-uri.d.ts",
- "browser": "./dist/resolve-uri.umd.js",
- "require": "./dist/resolve-uri.umd.js",
- "import": "./dist/resolve-uri.mjs"
- },
- "./dist/resolve-uri.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "prebuild": "rm -rf dist",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "pretest": "run-s build:rollup",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build"
- },
- "devDependencies": {
- "@jridgewell/resolve-uri-latest": "npm:@jridgewell/resolve-uri@*",
- "@rollup/plugin-typescript": "8.3.0",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "c8": "7.11.0",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.66.0",
- "typescript": "4.5.5"
- }
-}
diff --git a/node_modules/@jridgewell/set-array/LICENSE b/node_modules/@jridgewell/set-array/LICENSE
deleted file mode 100644
index 352f071..0000000
--- a/node_modules/@jridgewell/set-array/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2022 Justin Ridgewell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/@jridgewell/set-array/README.md b/node_modules/@jridgewell/set-array/README.md
deleted file mode 100644
index 2ed155f..0000000
--- a/node_modules/@jridgewell/set-array/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# @jridgewell/set-array
-
-> Like a Set, but provides the index of the `key` in the backing array
-
-This is designed to allow synchronizing a second array with the contents of the backing array, like
-how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`, and there
-are never duplicates.
-
-## Installation
-
-```sh
-npm install @jridgewell/set-array
-```
-
-## Usage
-
-```js
-import { SetArray, get, put, pop } from '@jridgewell/set-array';
-
-const sa = new SetArray();
-
-let index = put(sa, 'first');
-assert.strictEqual(index, 0);
-
-index = put(sa, 'second');
-assert.strictEqual(index, 1);
-
-assert.deepEqual(sa.array, [ 'first', 'second' ]);
-
-index = get(sa, 'first');
-assert.strictEqual(index, 0);
-
-pop(sa);
-index = get(sa, 'second');
-assert.strictEqual(index, undefined);
-assert.deepEqual(sa.array, [ 'first' ]);
-```
diff --git a/node_modules/@jridgewell/set-array/dist/set-array.mjs b/node_modules/@jridgewell/set-array/dist/set-array.mjs
deleted file mode 100644
index 8a2d60b..0000000
--- a/node_modules/@jridgewell/set-array/dist/set-array.mjs
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
-class SetArray {
- constructor() {
- this._indexes = { __proto__: null };
- this.array = [];
- }
-}
-/**
- * Typescript doesn't allow friend access to private fields, so this just casts the set into a type
- * with public access modifiers.
- */
-function cast(set) {
- return set;
-}
-/**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
-function get(setarr, key) {
- return cast(setarr)._indexes[key];
-}
-/**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
-function put(setarr, key) {
- // The key may or may not be present. If it is present, it's a number.
- const index = get(setarr, key);
- if (index !== undefined)
- return index;
- const { array, _indexes: indexes } = cast(setarr);
- const length = array.push(key);
- return (indexes[key] = length - 1);
-}
-/**
- * Pops the last added item out of the SetArray.
- */
-function pop(setarr) {
- const { array, _indexes: indexes } = cast(setarr);
- if (array.length === 0)
- return;
- const last = array.pop();
- indexes[last] = undefined;
-}
-/**
- * Removes the key, if it exists in the set.
- */
-function remove(setarr, key) {
- const index = get(setarr, key);
- if (index === undefined)
- return;
- const { array, _indexes: indexes } = cast(setarr);
- for (let i = index + 1; i < array.length; i++) {
- const k = array[i];
- array[i - 1] = k;
- indexes[k]--;
- }
- indexes[key] = undefined;
- array.pop();
-}
-
-export { SetArray, get, pop, put, remove };
-//# sourceMappingURL=set-array.mjs.map
diff --git a/node_modules/@jridgewell/set-array/dist/set-array.mjs.map b/node_modules/@jridgewell/set-array/dist/set-array.mjs.map
deleted file mode 100644
index 9276dfa..0000000
--- a/node_modules/@jridgewell/set-array/dist/set-array.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"set-array.mjs","sources":["../src/set-array.ts"],"sourcesContent":["type Key = string | number | symbol;\n\n/**\n * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the\n * index of the `key` in the backing array.\n *\n * This is designed to allow synchronizing a second array with the contents of the backing array,\n * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,\n * and there are never duplicates.\n */\nexport class SetArray {\n private declare _indexes: Record;\n declare array: readonly T[];\n\n constructor() {\n this._indexes = { __proto__: null } as any;\n this.array = [];\n }\n}\n\ninterface PublicSet {\n array: T[];\n _indexes: SetArray['_indexes'];\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the set into a type\n * with public access modifiers.\n */\nfunction cast(set: SetArray): PublicSet {\n return set as any;\n}\n\n/**\n * Gets the index associated with `key` in the backing array, if it is already present.\n */\nexport function get(setarr: SetArray, key: T): number | undefined {\n return cast(setarr)._indexes[key];\n}\n\n/**\n * Puts `key` into the backing array, if it is not already present. Returns\n * the index of the `key` in the backing array.\n */\nexport function put(setarr: SetArray, key: T): number {\n // The key may or may not be present. If it is present, it's a number.\n const index = get(setarr, key);\n if (index !== undefined) return index;\n\n const { array, _indexes: indexes } = cast(setarr);\n\n const length = array.push(key);\n return (indexes[key] = length - 1);\n}\n\n/**\n * Pops the last added item out of the SetArray.\n */\nexport function pop(setarr: SetArray): void {\n const { array, _indexes: indexes } = cast(setarr);\n if (array.length === 0) return;\n\n const last = array.pop()!;\n indexes[last] = undefined;\n}\n\n/**\n * Removes the key, if it exists in the set.\n */\nexport function remove(setarr: SetArray, key: T): void {\n const index = get(setarr, key);\n if (index === undefined) return;\n\n const { array, _indexes: indexes } = cast(setarr);\n for (let i = index + 1; i < array.length; i++) {\n const k = array[i];\n array[i - 1] = k;\n indexes[k]!--;\n }\n indexes[key] = undefined;\n array.pop();\n}\n"],"names":[],"mappings":"AAEA;;;;;;;;MAQa,QAAQ;IAInB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAS,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;CACF;AAOD;;;;AAIA,SAAS,IAAI,CAAgB,GAAgB;IAC3C,OAAO,GAAU,CAAC;AACpB,CAAC;AAED;;;SAGgB,GAAG,CAAgB,MAAmB,EAAE,GAAM;IAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;;SAIgB,GAAG,CAAgB,MAAmB,EAAE,GAAM;;IAE5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;AACrC,CAAC;AAED;;;SAGgB,GAAG,CAAgB,MAAmB;IACpD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE/B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAC5B,CAAC;AAED;;;SAGgB,MAAM,CAAgB,MAAmB,EAAE,GAAM;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAEhC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC;KACf;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,CAAC;AACd;;;;"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/set-array/dist/set-array.umd.js b/node_modules/@jridgewell/set-array/dist/set-array.umd.js
deleted file mode 100644
index ab498cc..0000000
--- a/node_modules/@jridgewell/set-array/dist/set-array.umd.js
+++ /dev/null
@@ -1,83 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.setArray = {}));
-})(this, (function (exports) { 'use strict';
-
- /**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
- class SetArray {
- constructor() {
- this._indexes = { __proto__: null };
- this.array = [];
- }
- }
- /**
- * Typescript doesn't allow friend access to private fields, so this just casts the set into a type
- * with public access modifiers.
- */
- function cast(set) {
- return set;
- }
- /**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
- function get(setarr, key) {
- return cast(setarr)._indexes[key];
- }
- /**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
- function put(setarr, key) {
- // The key may or may not be present. If it is present, it's a number.
- const index = get(setarr, key);
- if (index !== undefined)
- return index;
- const { array, _indexes: indexes } = cast(setarr);
- const length = array.push(key);
- return (indexes[key] = length - 1);
- }
- /**
- * Pops the last added item out of the SetArray.
- */
- function pop(setarr) {
- const { array, _indexes: indexes } = cast(setarr);
- if (array.length === 0)
- return;
- const last = array.pop();
- indexes[last] = undefined;
- }
- /**
- * Removes the key, if it exists in the set.
- */
- function remove(setarr, key) {
- const index = get(setarr, key);
- if (index === undefined)
- return;
- const { array, _indexes: indexes } = cast(setarr);
- for (let i = index + 1; i < array.length; i++) {
- const k = array[i];
- array[i - 1] = k;
- indexes[k]--;
- }
- indexes[key] = undefined;
- array.pop();
- }
-
- exports.SetArray = SetArray;
- exports.get = get;
- exports.pop = pop;
- exports.put = put;
- exports.remove = remove;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=set-array.umd.js.map
diff --git a/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map b/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map
deleted file mode 100644
index 9edb8bc..0000000
--- a/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"set-array.umd.js","sources":["../src/set-array.ts"],"sourcesContent":["type Key = string | number | symbol;\n\n/**\n * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the\n * index of the `key` in the backing array.\n *\n * This is designed to allow synchronizing a second array with the contents of the backing array,\n * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,\n * and there are never duplicates.\n */\nexport class SetArray {\n private declare _indexes: Record;\n declare array: readonly T[];\n\n constructor() {\n this._indexes = { __proto__: null } as any;\n this.array = [];\n }\n}\n\ninterface PublicSet {\n array: T[];\n _indexes: SetArray['_indexes'];\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the set into a type\n * with public access modifiers.\n */\nfunction cast(set: SetArray): PublicSet {\n return set as any;\n}\n\n/**\n * Gets the index associated with `key` in the backing array, if it is already present.\n */\nexport function get(setarr: SetArray, key: T): number | undefined {\n return cast(setarr)._indexes[key];\n}\n\n/**\n * Puts `key` into the backing array, if it is not already present. Returns\n * the index of the `key` in the backing array.\n */\nexport function put(setarr: SetArray, key: T): number {\n // The key may or may not be present. If it is present, it's a number.\n const index = get(setarr, key);\n if (index !== undefined) return index;\n\n const { array, _indexes: indexes } = cast(setarr);\n\n const length = array.push(key);\n return (indexes[key] = length - 1);\n}\n\n/**\n * Pops the last added item out of the SetArray.\n */\nexport function pop(setarr: SetArray): void {\n const { array, _indexes: indexes } = cast(setarr);\n if (array.length === 0) return;\n\n const last = array.pop()!;\n indexes[last] = undefined;\n}\n\n/**\n * Removes the key, if it exists in the set.\n */\nexport function remove(setarr: SetArray, key: T): void {\n const index = get(setarr, key);\n if (index === undefined) return;\n\n const { array, _indexes: indexes } = cast(setarr);\n for (let i = index + 1; i < array.length; i++) {\n const k = array[i];\n array[i - 1] = k;\n indexes[k]!--;\n }\n indexes[key] = undefined;\n array.pop();\n}\n"],"names":[],"mappings":";;;;;;IAEA;;;;;;;;UAQa,QAAQ;QAInB;YACE,IAAI,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAS,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACjB;KACF;IAOD;;;;IAIA,SAAS,IAAI,CAAgB,GAAgB;QAC3C,OAAO,GAAU,CAAC;IACpB,CAAC;IAED;;;aAGgB,GAAG,CAAgB,MAAmB,EAAE,GAAM;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;aAIgB,GAAG,CAAgB,MAAmB,EAAE,GAAM;;QAE5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEtC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;IACrC,CAAC;IAED;;;aAGgB,GAAG,CAAgB,MAAmB;QACpD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;aAGgB,MAAM,CAAgB,MAAmB,EAAE,GAAM;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC;SACf;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,GAAG,EAAE,CAAC;IACd;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts b/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts
deleted file mode 100644
index 5f68e5d..0000000
--- a/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-declare type Key = string | number | symbol;
-/**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
-export declare class SetArray {
- private _indexes;
- array: readonly T[];
- constructor();
-}
-/**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
-export declare function get(setarr: SetArray, key: T): number | undefined;
-/**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
-export declare function put(setarr: SetArray, key: T): number;
-/**
- * Pops the last added item out of the SetArray.
- */
-export declare function pop(setarr: SetArray): void;
-/**
- * Removes the key, if it exists in the set.
- */
-export declare function remove(setarr: SetArray, key: T): void;
-export {};
diff --git a/node_modules/@jridgewell/set-array/package.json b/node_modules/@jridgewell/set-array/package.json
deleted file mode 100644
index f652ca5..0000000
--- a/node_modules/@jridgewell/set-array/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "name": "@jridgewell/set-array",
- "version": "1.2.1",
- "description": "Like a Set, but provides the index of the `key` in the backing array",
- "keywords": [],
- "author": "Justin Ridgewell ",
- "license": "MIT",
- "repository": "https://github.com/jridgewell/set-array",
- "main": "dist/set-array.umd.js",
- "module": "dist/set-array.mjs",
- "typings": "dist/types/set-array.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/set-array.d.ts",
- "browser": "./dist/set-array.umd.js",
- "require": "./dist/set-array.umd.js",
- "import": "./dist/set-array.mjs"
- },
- "./dist/set-array.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "prebuild": "rm -rf dist",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.0",
- "@types/mocha": "9.1.1",
- "@types/node": "17.0.29",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "c8": "7.11.0",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.66.0",
- "tsx": "4.7.1",
- "typescript": "4.5.5"
- }
-}
diff --git a/node_modules/@jridgewell/sourcemap-codec/LICENSE b/node_modules/@jridgewell/sourcemap-codec/LICENSE
deleted file mode 100644
index a331065..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2015 Rich Harris
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/@jridgewell/sourcemap-codec/README.md b/node_modules/@jridgewell/sourcemap-codec/README.md
deleted file mode 100644
index b3e0708..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/README.md
+++ /dev/null
@@ -1,264 +0,0 @@
-# @jridgewell/sourcemap-codec
-
-Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit).
-
-
-## Why?
-
-Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.
-
-This package makes the process slightly easier.
-
-
-## Installation
-
-```bash
-npm install @jridgewell/sourcemap-codec
-```
-
-
-## Usage
-
-```js
-import { encode, decode } from '@jridgewell/sourcemap-codec';
-
-var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
-
-assert.deepEqual( decoded, [
- // the first line (of the generated code) has no mappings,
- // as shown by the starting semi-colon (which separates lines)
- [],
-
- // the second line contains four (comma-separated) segments
- [
- // segments are encoded as you'd expect:
- // [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]
-
- // i.e. the first segment begins at column 2, and maps back to the second column
- // of the second line (both zero-based) of the 0th source, and uses the 0th
- // name in the `map.names` array
- [ 2, 0, 2, 2, 0 ],
-
- // the remaining segments are 4-length rather than 5-length,
- // because they don't map a name
- [ 4, 0, 2, 4 ],
- [ 6, 0, 2, 5 ],
- [ 7, 0, 2, 7 ]
- ],
-
- // the final line contains two segments
- [
- [ 2, 1, 10, 19 ],
- [ 12, 1, 11, 20 ]
- ]
-]);
-
-var encoded = encode( decoded );
-assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
-```
-
-## Benchmarks
-
-```
-node v20.10.0
-
-amp.js.map - 45120 segments
-
-Decode Memory Usage:
-local code 5815135 bytes
-@jridgewell/sourcemap-codec 1.4.15 5868160 bytes
-sourcemap-codec 5492584 bytes
-source-map-0.6.1 13569984 bytes
-source-map-0.8.0 6390584 bytes
-chrome dev tools 8011136 bytes
-Smallest memory usage is sourcemap-codec
-
-Decode speed:
-decode: local code x 492 ops/sec ±1.22% (90 runs sampled)
-decode: @jridgewell/sourcemap-codec 1.4.15 x 499 ops/sec ±1.16% (89 runs sampled)
-decode: sourcemap-codec x 376 ops/sec ±1.66% (89 runs sampled)
-decode: source-map-0.6.1 x 34.99 ops/sec ±0.94% (48 runs sampled)
-decode: source-map-0.8.0 x 351 ops/sec ±0.07% (95 runs sampled)
-chrome dev tools x 165 ops/sec ±0.91% (86 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec 1.4.15
-
-Encode Memory Usage:
-local code 444248 bytes
-@jridgewell/sourcemap-codec 1.4.15 623024 bytes
-sourcemap-codec 8696280 bytes
-source-map-0.6.1 8745176 bytes
-source-map-0.8.0 8736624 bytes
-Smallest memory usage is local code
-
-Encode speed:
-encode: local code x 796 ops/sec ±0.11% (97 runs sampled)
-encode: @jridgewell/sourcemap-codec 1.4.15 x 795 ops/sec ±0.25% (98 runs sampled)
-encode: sourcemap-codec x 231 ops/sec ±0.83% (86 runs sampled)
-encode: source-map-0.6.1 x 166 ops/sec ±0.57% (86 runs sampled)
-encode: source-map-0.8.0 x 203 ops/sec ±0.45% (88 runs sampled)
-Fastest is encode: local code,encode: @jridgewell/sourcemap-codec 1.4.15
-
-
-***
-
-
-babel.min.js.map - 347793 segments
-
-Decode Memory Usage:
-local code 35424960 bytes
-@jridgewell/sourcemap-codec 1.4.15 35424696 bytes
-sourcemap-codec 36033464 bytes
-source-map-0.6.1 62253704 bytes
-source-map-0.8.0 43843920 bytes
-chrome dev tools 45111400 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15
-
-Decode speed:
-decode: local code x 38.18 ops/sec ±5.44% (52 runs sampled)
-decode: @jridgewell/sourcemap-codec 1.4.15 x 38.36 ops/sec ±5.02% (52 runs sampled)
-decode: sourcemap-codec x 34.05 ops/sec ±4.45% (47 runs sampled)
-decode: source-map-0.6.1 x 4.31 ops/sec ±2.76% (15 runs sampled)
-decode: source-map-0.8.0 x 55.60 ops/sec ±0.13% (73 runs sampled)
-chrome dev tools x 16.94 ops/sec ±3.78% (46 runs sampled)
-Fastest is decode: source-map-0.8.0
-
-Encode Memory Usage:
-local code 2606016 bytes
-@jridgewell/sourcemap-codec 1.4.15 2626440 bytes
-sourcemap-codec 21152576 bytes
-source-map-0.6.1 25023928 bytes
-source-map-0.8.0 25256448 bytes
-Smallest memory usage is local code
-
-Encode speed:
-encode: local code x 127 ops/sec ±0.18% (83 runs sampled)
-encode: @jridgewell/sourcemap-codec 1.4.15 x 128 ops/sec ±0.26% (83 runs sampled)
-encode: sourcemap-codec x 29.31 ops/sec ±2.55% (53 runs sampled)
-encode: source-map-0.6.1 x 18.85 ops/sec ±3.19% (36 runs sampled)
-encode: source-map-0.8.0 x 19.34 ops/sec ±1.97% (36 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec 1.4.15
-
-
-***
-
-
-preact.js.map - 1992 segments
-
-Decode Memory Usage:
-local code 261696 bytes
-@jridgewell/sourcemap-codec 1.4.15 244296 bytes
-sourcemap-codec 302816 bytes
-source-map-0.6.1 939176 bytes
-source-map-0.8.0 336 bytes
-chrome dev tools 587368 bytes
-Smallest memory usage is source-map-0.8.0
-
-Decode speed:
-decode: local code x 17,782 ops/sec ±0.32% (97 runs sampled)
-decode: @jridgewell/sourcemap-codec 1.4.15 x 17,863 ops/sec ±0.40% (100 runs sampled)
-decode: sourcemap-codec x 12,453 ops/sec ±0.27% (101 runs sampled)
-decode: source-map-0.6.1 x 1,288 ops/sec ±1.05% (96 runs sampled)
-decode: source-map-0.8.0 x 9,289 ops/sec ±0.27% (101 runs sampled)
-chrome dev tools x 4,769 ops/sec ±0.18% (100 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec 1.4.15
-
-Encode Memory Usage:
-local code 262944 bytes
-@jridgewell/sourcemap-codec 1.4.15 25544 bytes
-sourcemap-codec 323048 bytes
-source-map-0.6.1 507808 bytes
-source-map-0.8.0 507480 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15
-
-Encode speed:
-encode: local code x 24,207 ops/sec ±0.79% (95 runs sampled)
-encode: @jridgewell/sourcemap-codec 1.4.15 x 24,288 ops/sec ±0.48% (96 runs sampled)
-encode: sourcemap-codec x 6,761 ops/sec ±0.21% (100 runs sampled)
-encode: source-map-0.6.1 x 5,374 ops/sec ±0.17% (99 runs sampled)
-encode: source-map-0.8.0 x 5,633 ops/sec ±0.32% (99 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec 1.4.15,encode: local code
-
-
-***
-
-
-react.js.map - 5726 segments
-
-Decode Memory Usage:
-local code 678816 bytes
-@jridgewell/sourcemap-codec 1.4.15 678816 bytes
-sourcemap-codec 816400 bytes
-source-map-0.6.1 2288864 bytes
-source-map-0.8.0 721360 bytes
-chrome dev tools 1012512 bytes
-Smallest memory usage is local code
-
-Decode speed:
-decode: local code x 6,178 ops/sec ±0.19% (98 runs sampled)
-decode: @jridgewell/sourcemap-codec 1.4.15 x 6,261 ops/sec ±0.22% (100 runs sampled)
-decode: sourcemap-codec x 4,472 ops/sec ±0.90% (99 runs sampled)
-decode: source-map-0.6.1 x 449 ops/sec ±0.31% (95 runs sampled)
-decode: source-map-0.8.0 x 3,219 ops/sec ±0.13% (100 runs sampled)
-chrome dev tools x 1,743 ops/sec ±0.20% (99 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec 1.4.15
-
-Encode Memory Usage:
-local code 140960 bytes
-@jridgewell/sourcemap-codec 1.4.15 159808 bytes
-sourcemap-codec 969304 bytes
-source-map-0.6.1 930520 bytes
-source-map-0.8.0 930248 bytes
-Smallest memory usage is local code
-
-Encode speed:
-encode: local code x 8,013 ops/sec ±0.19% (100 runs sampled)
-encode: @jridgewell/sourcemap-codec 1.4.15 x 7,989 ops/sec ±0.20% (101 runs sampled)
-encode: sourcemap-codec x 2,472 ops/sec ±0.21% (99 runs sampled)
-encode: source-map-0.6.1 x 2,200 ops/sec ±0.17% (99 runs sampled)
-encode: source-map-0.8.0 x 2,220 ops/sec ±0.37% (99 runs sampled)
-Fastest is encode: local code
-
-
-***
-
-
-vscode.map - 2141001 segments
-
-Decode Memory Usage:
-local code 198955264 bytes
-@jridgewell/sourcemap-codec 1.4.15 199175352 bytes
-sourcemap-codec 199102688 bytes
-source-map-0.6.1 386323432 bytes
-source-map-0.8.0 244116432 bytes
-chrome dev tools 293734280 bytes
-Smallest memory usage is local code
-
-Decode speed:
-decode: local code x 3.90 ops/sec ±22.21% (15 runs sampled)
-decode: @jridgewell/sourcemap-codec 1.4.15 x 3.95 ops/sec ±23.53% (15 runs sampled)
-decode: sourcemap-codec x 3.82 ops/sec ±17.94% (14 runs sampled)
-decode: source-map-0.6.1 x 0.61 ops/sec ±7.81% (6 runs sampled)
-decode: source-map-0.8.0 x 9.54 ops/sec ±0.28% (28 runs sampled)
-chrome dev tools x 2.18 ops/sec ±10.58% (10 runs sampled)
-Fastest is decode: source-map-0.8.0
-
-Encode Memory Usage:
-local code 13509880 bytes
-@jridgewell/sourcemap-codec 1.4.15 13537648 bytes
-sourcemap-codec 32540104 bytes
-source-map-0.6.1 127531040 bytes
-source-map-0.8.0 127535312 bytes
-Smallest memory usage is local code
-
-Encode speed:
-encode: local code x 20.10 ops/sec ±0.19% (38 runs sampled)
-encode: @jridgewell/sourcemap-codec 1.4.15 x 20.26 ops/sec ±0.32% (38 runs sampled)
-encode: sourcemap-codec x 5.44 ops/sec ±1.64% (18 runs sampled)
-encode: source-map-0.6.1 x 2.30 ops/sec ±4.79% (10 runs sampled)
-encode: source-map-0.8.0 x 2.46 ops/sec ±6.53% (10 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec 1.4.15
-```
-
-# License
-
-MIT
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
deleted file mode 100644
index 60e17b3..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
+++ /dev/null
@@ -1,424 +0,0 @@
-const comma = ','.charCodeAt(0);
-const semicolon = ';'.charCodeAt(0);
-const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-const intToChar = new Uint8Array(64); // 64 possible chars.
-const charToInt = new Uint8Array(128); // z is 122 in ASCII
-for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
-}
-function decodeInteger(reader, relative) {
- let value = 0;
- let shift = 0;
- let integer = 0;
- do {
- const c = reader.next();
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
- const shouldNegate = value & 1;
- value >>>= 1;
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
- return relative + value;
-}
-function encodeInteger(builder, num, relative) {
- let delta = num - relative;
- delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;
- do {
- let clamped = delta & 0b011111;
- delta >>>= 5;
- if (delta > 0)
- clamped |= 0b100000;
- builder.write(intToChar[clamped]);
- } while (delta > 0);
- return num;
-}
-function hasMoreVlq(reader, max) {
- if (reader.pos >= max)
- return false;
- return reader.peek() !== comma;
-}
-
-const bufLength = 1024 * 16;
-// Provide a fallback for older environments.
-const td = typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
-class StringWriter {
- constructor() {
- this.pos = 0;
- this.out = '';
- this.buffer = new Uint8Array(bufLength);
- }
- write(v) {
- const { buffer } = this;
- buffer[this.pos++] = v;
- if (this.pos === bufLength) {
- this.out += td.decode(buffer);
- this.pos = 0;
- }
- }
- flush() {
- const { buffer, out, pos } = this;
- return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
- }
-}
-class StringReader {
- constructor(buffer) {
- this.pos = 0;
- this.buffer = buffer;
- }
- next() {
- return this.buffer.charCodeAt(this.pos++);
- }
- peek() {
- return this.buffer.charCodeAt(this.pos);
- }
- indexOf(char) {
- const { buffer, pos } = this;
- const idx = buffer.indexOf(char, pos);
- return idx === -1 ? buffer.length : idx;
- }
-}
-
-const EMPTY = [];
-function decodeOriginalScopes(input) {
- const { length } = input;
- const reader = new StringReader(input);
- const scopes = [];
- const stack = [];
- let line = 0;
- for (; reader.pos < length; reader.pos++) {
- line = decodeInteger(reader, line);
- const column = decodeInteger(reader, 0);
- if (!hasMoreVlq(reader, length)) {
- const last = stack.pop();
- last[2] = line;
- last[3] = column;
- continue;
- }
- const kind = decodeInteger(reader, 0);
- const fields = decodeInteger(reader, 0);
- const hasName = fields & 0b0001;
- const scope = (hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]);
- let vars = EMPTY;
- if (hasMoreVlq(reader, length)) {
- vars = [];
- do {
- const varsIndex = decodeInteger(reader, 0);
- vars.push(varsIndex);
- } while (hasMoreVlq(reader, length));
- }
- scope.vars = vars;
- scopes.push(scope);
- stack.push(scope);
- }
- return scopes;
-}
-function encodeOriginalScopes(scopes) {
- const writer = new StringWriter();
- for (let i = 0; i < scopes.length;) {
- i = _encodeOriginalScopes(scopes, i, writer, [0]);
- }
- return writer.flush();
-}
-function _encodeOriginalScopes(scopes, index, writer, state) {
- const scope = scopes[index];
- const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;
- if (index > 0)
- writer.write(comma);
- state[0] = encodeInteger(writer, startLine, state[0]);
- encodeInteger(writer, startColumn, 0);
- encodeInteger(writer, kind, 0);
- const fields = scope.length === 6 ? 0b0001 : 0;
- encodeInteger(writer, fields, 0);
- if (scope.length === 6)
- encodeInteger(writer, scope[5], 0);
- for (const v of vars) {
- encodeInteger(writer, v, 0);
- }
- for (index++; index < scopes.length;) {
- const next = scopes[index];
- const { 0: l, 1: c } = next;
- if (l > endLine || (l === endLine && c >= endColumn)) {
- break;
- }
- index = _encodeOriginalScopes(scopes, index, writer, state);
- }
- writer.write(comma);
- state[0] = encodeInteger(writer, endLine, state[0]);
- encodeInteger(writer, endColumn, 0);
- return index;
-}
-function decodeGeneratedRanges(input) {
- const { length } = input;
- const reader = new StringReader(input);
- const ranges = [];
- const stack = [];
- let genLine = 0;
- let definitionSourcesIndex = 0;
- let definitionScopeIndex = 0;
- let callsiteSourcesIndex = 0;
- let callsiteLine = 0;
- let callsiteColumn = 0;
- let bindingLine = 0;
- let bindingColumn = 0;
- do {
- const semi = reader.indexOf(';');
- let genColumn = 0;
- for (; reader.pos < semi; reader.pos++) {
- genColumn = decodeInteger(reader, genColumn);
- if (!hasMoreVlq(reader, semi)) {
- const last = stack.pop();
- last[2] = genLine;
- last[3] = genColumn;
- continue;
- }
- const fields = decodeInteger(reader, 0);
- const hasDefinition = fields & 0b0001;
- const hasCallsite = fields & 0b0010;
- const hasScope = fields & 0b0100;
- let callsite = null;
- let bindings = EMPTY;
- let range;
- if (hasDefinition) {
- const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);
- definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);
- definitionSourcesIndex = defSourcesIndex;
- range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];
- }
- else {
- range = [genLine, genColumn, 0, 0];
- }
- range.isScope = !!hasScope;
- if (hasCallsite) {
- const prevCsi = callsiteSourcesIndex;
- const prevLine = callsiteLine;
- callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);
- const sameSource = prevCsi === callsiteSourcesIndex;
- callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);
- callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0);
- callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];
- }
- range.callsite = callsite;
- if (hasMoreVlq(reader, semi)) {
- bindings = [];
- do {
- bindingLine = genLine;
- bindingColumn = genColumn;
- const expressionsCount = decodeInteger(reader, 0);
- let expressionRanges;
- if (expressionsCount < -1) {
- expressionRanges = [[decodeInteger(reader, 0)]];
- for (let i = -1; i > expressionsCount; i--) {
- const prevBl = bindingLine;
- bindingLine = decodeInteger(reader, bindingLine);
- bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);
- const expression = decodeInteger(reader, 0);
- expressionRanges.push([expression, bindingLine, bindingColumn]);
- }
- }
- else {
- expressionRanges = [[expressionsCount]];
- }
- bindings.push(expressionRanges);
- } while (hasMoreVlq(reader, semi));
- }
- range.bindings = bindings;
- ranges.push(range);
- stack.push(range);
- }
- genLine++;
- reader.pos = semi + 1;
- } while (reader.pos < length);
- return ranges;
-}
-function encodeGeneratedRanges(ranges) {
- if (ranges.length === 0)
- return '';
- const writer = new StringWriter();
- for (let i = 0; i < ranges.length;) {
- i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);
- }
- return writer.flush();
-}
-function _encodeGeneratedRanges(ranges, index, writer, state) {
- const range = ranges[index];
- const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings, } = range;
- if (state[0] < startLine) {
- catchupLine(writer, state[0], startLine);
- state[0] = startLine;
- state[1] = 0;
- }
- else if (index > 0) {
- writer.write(comma);
- }
- state[1] = encodeInteger(writer, range[1], state[1]);
- const fields = (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);
- encodeInteger(writer, fields, 0);
- if (range.length === 6) {
- const { 4: sourcesIndex, 5: scopesIndex } = range;
- if (sourcesIndex !== state[2]) {
- state[3] = 0;
- }
- state[2] = encodeInteger(writer, sourcesIndex, state[2]);
- state[3] = encodeInteger(writer, scopesIndex, state[3]);
- }
- if (callsite) {
- const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;
- if (sourcesIndex !== state[4]) {
- state[5] = 0;
- state[6] = 0;
- }
- else if (callLine !== state[5]) {
- state[6] = 0;
- }
- state[4] = encodeInteger(writer, sourcesIndex, state[4]);
- state[5] = encodeInteger(writer, callLine, state[5]);
- state[6] = encodeInteger(writer, callColumn, state[6]);
- }
- if (bindings) {
- for (const binding of bindings) {
- if (binding.length > 1)
- encodeInteger(writer, -binding.length, 0);
- const expression = binding[0][0];
- encodeInteger(writer, expression, 0);
- let bindingStartLine = startLine;
- let bindingStartColumn = startColumn;
- for (let i = 1; i < binding.length; i++) {
- const expRange = binding[i];
- bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);
- bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);
- encodeInteger(writer, expRange[0], 0);
- }
- }
- }
- for (index++; index < ranges.length;) {
- const next = ranges[index];
- const { 0: l, 1: c } = next;
- if (l > endLine || (l === endLine && c >= endColumn)) {
- break;
- }
- index = _encodeGeneratedRanges(ranges, index, writer, state);
- }
- if (state[0] < endLine) {
- catchupLine(writer, state[0], endLine);
- state[0] = endLine;
- state[1] = 0;
- }
- else {
- writer.write(comma);
- }
- state[1] = encodeInteger(writer, endColumn, state[1]);
- return index;
-}
-function catchupLine(writer, lastLine, line) {
- do {
- writer.write(semicolon);
- } while (++lastLine < line);
-}
-
-function decode(mappings) {
- const { length } = mappings;
- const reader = new StringReader(mappings);
- const decoded = [];
- let genColumn = 0;
- let sourcesIndex = 0;
- let sourceLine = 0;
- let sourceColumn = 0;
- let namesIndex = 0;
- do {
- const semi = reader.indexOf(';');
- const line = [];
- let sorted = true;
- let lastCol = 0;
- genColumn = 0;
- while (reader.pos < semi) {
- let seg;
- genColumn = decodeInteger(reader, genColumn);
- if (genColumn < lastCol)
- sorted = false;
- lastCol = genColumn;
- if (hasMoreVlq(reader, semi)) {
- sourcesIndex = decodeInteger(reader, sourcesIndex);
- sourceLine = decodeInteger(reader, sourceLine);
- sourceColumn = decodeInteger(reader, sourceColumn);
- if (hasMoreVlq(reader, semi)) {
- namesIndex = decodeInteger(reader, namesIndex);
- seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];
- }
- else {
- seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];
- }
- }
- else {
- seg = [genColumn];
- }
- line.push(seg);
- reader.pos++;
- }
- if (!sorted)
- sort(line);
- decoded.push(line);
- reader.pos = semi + 1;
- } while (reader.pos <= length);
- return decoded;
-}
-function sort(line) {
- line.sort(sortComparator);
-}
-function sortComparator(a, b) {
- return a[0] - b[0];
-}
-function encode(decoded) {
- const writer = new StringWriter();
- let sourcesIndex = 0;
- let sourceLine = 0;
- let sourceColumn = 0;
- let namesIndex = 0;
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0)
- writer.write(semicolon);
- if (line.length === 0)
- continue;
- let genColumn = 0;
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- if (j > 0)
- writer.write(comma);
- genColumn = encodeInteger(writer, segment[0], genColumn);
- if (segment.length === 1)
- continue;
- sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
- sourceLine = encodeInteger(writer, segment[2], sourceLine);
- sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
- if (segment.length === 4)
- continue;
- namesIndex = encodeInteger(writer, segment[4], namesIndex);
- }
- }
- return writer.flush();
-}
-
-export { decode, decodeGeneratedRanges, decodeOriginalScopes, encode, encodeGeneratedRanges, encodeOriginalScopes };
-//# sourceMappingURL=sourcemap-codec.mjs.map
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
deleted file mode 100644
index 7388228..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"sourcemap-codec.mjs","sources":["../src/vlq.ts","../src/strings.ts","../src/scopes.ts","../src/sourcemap-codec.ts"],"sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n private declare buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { StringReader, StringWriter } from './strings';\nimport { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\n\nconst EMPTY: any[] = [];\n\ntype Line = number;\ntype Column = number;\ntype Kind = number;\ntype Name = number;\ntype Var = number;\ntype SourcesIndex = number;\ntype ScopesIndex = number;\n\ntype Mix = (A & O) | (B & O);\n\nexport type OriginalScope = Mix<\n [Line, Column, Line, Column, Kind],\n [Line, Column, Line, Column, Kind, Name],\n { vars: Var[] }\n>;\n\nexport type GeneratedRange = Mix<\n [Line, Column, Line, Column],\n [Line, Column, Line, Column, SourcesIndex, ScopesIndex],\n {\n callsite: CallSite | null;\n bindings: Binding[];\n isScope: boolean;\n }\n>;\nexport type CallSite = [SourcesIndex, Line, Column];\ntype Binding = BindingExpressionRange[];\nexport type BindingExpressionRange = [Name] | [Name, Line, Column];\n\nexport function decodeOriginalScopes(input: string): OriginalScope[] {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes: OriginalScope[] = [];\n const stack: OriginalScope[] = [];\n let line = 0;\n\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop()!;\n last[2] = line;\n last[3] = column;\n continue;\n }\n\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 0b0001;\n\n const scope: OriginalScope = (\n hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]\n ) as OriginalScope;\n\n let vars: Var[] = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n\n scopes.push(scope);\n stack.push(scope);\n }\n\n return scopes;\n}\n\nexport function encodeOriginalScopes(scopes: OriginalScope[]): string {\n const writer = new StringWriter();\n\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeOriginalScopes(\n scopes: OriginalScope[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenColumn\n ],\n): number {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n\n if (index > 0) writer.write(comma);\n\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n\n const fields = scope.length === 6 ? 0b0001 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n\n return index;\n}\n\nexport function decodeGeneratedRanges(input: string): GeneratedRange[] {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges: GeneratedRange[] = [];\n const stack: GeneratedRange[] = [];\n\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n\n do {\n const semi = reader.indexOf(';');\n let genColumn = 0;\n\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop()!;\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 0b0001;\n const hasCallsite = fields & 0b0010;\n const hasScope = fields & 0b0100;\n\n let callsite: CallSite | null = null;\n let bindings: Binding[] = EMPTY;\n let range: GeneratedRange;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0,\n );\n\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex] as GeneratedRange;\n } else {\n range = [genLine, genColumn, 0, 0] as GeneratedRange;\n }\n\n range.isScope = !!hasScope;\n\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0,\n );\n\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges: BindingExpressionRange[];\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n\n ranges.push(range);\n stack.push(range);\n }\n\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n\n return ranges;\n}\n\nexport function encodeGeneratedRanges(ranges: GeneratedRange[]): string {\n if (ranges.length === 0) return '';\n\n const writer = new StringWriter();\n\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeGeneratedRanges(\n ranges: GeneratedRange[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenLine\n number, // GenColumn\n number, // DefSourcesIndex\n number, // DefScopesIndex\n number, // CallSourcesIndex\n number, // CallLine\n number, // CallColumn\n ],\n): number {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings,\n } = range;\n\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n\n state[1] = encodeInteger(writer, range[1], state[1]);\n\n const fields =\n (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);\n encodeInteger(writer, fields, 0);\n\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite!;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1]!, bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2]!, bindingStartColumn);\n encodeInteger(writer, expRange[0]!, 0);\n }\n }\n }\n\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n\n return index;\n}\n\nfunction catchupLine(writer: StringWriter, lastLine: number, line: number) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly): string;\nexport function encode(decoded: Readonly): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
deleted file mode 100644
index 93caf17..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
+++ /dev/null
@@ -1,439 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));
-})(this, (function (exports) { 'use strict';
-
- const comma = ','.charCodeAt(0);
- const semicolon = ';'.charCodeAt(0);
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
- const intToChar = new Uint8Array(64); // 64 possible chars.
- const charToInt = new Uint8Array(128); // z is 122 in ASCII
- for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
- }
- function decodeInteger(reader, relative) {
- let value = 0;
- let shift = 0;
- let integer = 0;
- do {
- const c = reader.next();
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
- const shouldNegate = value & 1;
- value >>>= 1;
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
- return relative + value;
- }
- function encodeInteger(builder, num, relative) {
- let delta = num - relative;
- delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;
- do {
- let clamped = delta & 0b011111;
- delta >>>= 5;
- if (delta > 0)
- clamped |= 0b100000;
- builder.write(intToChar[clamped]);
- } while (delta > 0);
- return num;
- }
- function hasMoreVlq(reader, max) {
- if (reader.pos >= max)
- return false;
- return reader.peek() !== comma;
- }
-
- const bufLength = 1024 * 16;
- // Provide a fallback for older environments.
- const td = typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
- class StringWriter {
- constructor() {
- this.pos = 0;
- this.out = '';
- this.buffer = new Uint8Array(bufLength);
- }
- write(v) {
- const { buffer } = this;
- buffer[this.pos++] = v;
- if (this.pos === bufLength) {
- this.out += td.decode(buffer);
- this.pos = 0;
- }
- }
- flush() {
- const { buffer, out, pos } = this;
- return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
- }
- }
- class StringReader {
- constructor(buffer) {
- this.pos = 0;
- this.buffer = buffer;
- }
- next() {
- return this.buffer.charCodeAt(this.pos++);
- }
- peek() {
- return this.buffer.charCodeAt(this.pos);
- }
- indexOf(char) {
- const { buffer, pos } = this;
- const idx = buffer.indexOf(char, pos);
- return idx === -1 ? buffer.length : idx;
- }
- }
-
- const EMPTY = [];
- function decodeOriginalScopes(input) {
- const { length } = input;
- const reader = new StringReader(input);
- const scopes = [];
- const stack = [];
- let line = 0;
- for (; reader.pos < length; reader.pos++) {
- line = decodeInteger(reader, line);
- const column = decodeInteger(reader, 0);
- if (!hasMoreVlq(reader, length)) {
- const last = stack.pop();
- last[2] = line;
- last[3] = column;
- continue;
- }
- const kind = decodeInteger(reader, 0);
- const fields = decodeInteger(reader, 0);
- const hasName = fields & 0b0001;
- const scope = (hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]);
- let vars = EMPTY;
- if (hasMoreVlq(reader, length)) {
- vars = [];
- do {
- const varsIndex = decodeInteger(reader, 0);
- vars.push(varsIndex);
- } while (hasMoreVlq(reader, length));
- }
- scope.vars = vars;
- scopes.push(scope);
- stack.push(scope);
- }
- return scopes;
- }
- function encodeOriginalScopes(scopes) {
- const writer = new StringWriter();
- for (let i = 0; i < scopes.length;) {
- i = _encodeOriginalScopes(scopes, i, writer, [0]);
- }
- return writer.flush();
- }
- function _encodeOriginalScopes(scopes, index, writer, state) {
- const scope = scopes[index];
- const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;
- if (index > 0)
- writer.write(comma);
- state[0] = encodeInteger(writer, startLine, state[0]);
- encodeInteger(writer, startColumn, 0);
- encodeInteger(writer, kind, 0);
- const fields = scope.length === 6 ? 0b0001 : 0;
- encodeInteger(writer, fields, 0);
- if (scope.length === 6)
- encodeInteger(writer, scope[5], 0);
- for (const v of vars) {
- encodeInteger(writer, v, 0);
- }
- for (index++; index < scopes.length;) {
- const next = scopes[index];
- const { 0: l, 1: c } = next;
- if (l > endLine || (l === endLine && c >= endColumn)) {
- break;
- }
- index = _encodeOriginalScopes(scopes, index, writer, state);
- }
- writer.write(comma);
- state[0] = encodeInteger(writer, endLine, state[0]);
- encodeInteger(writer, endColumn, 0);
- return index;
- }
- function decodeGeneratedRanges(input) {
- const { length } = input;
- const reader = new StringReader(input);
- const ranges = [];
- const stack = [];
- let genLine = 0;
- let definitionSourcesIndex = 0;
- let definitionScopeIndex = 0;
- let callsiteSourcesIndex = 0;
- let callsiteLine = 0;
- let callsiteColumn = 0;
- let bindingLine = 0;
- let bindingColumn = 0;
- do {
- const semi = reader.indexOf(';');
- let genColumn = 0;
- for (; reader.pos < semi; reader.pos++) {
- genColumn = decodeInteger(reader, genColumn);
- if (!hasMoreVlq(reader, semi)) {
- const last = stack.pop();
- last[2] = genLine;
- last[3] = genColumn;
- continue;
- }
- const fields = decodeInteger(reader, 0);
- const hasDefinition = fields & 0b0001;
- const hasCallsite = fields & 0b0010;
- const hasScope = fields & 0b0100;
- let callsite = null;
- let bindings = EMPTY;
- let range;
- if (hasDefinition) {
- const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);
- definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);
- definitionSourcesIndex = defSourcesIndex;
- range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];
- }
- else {
- range = [genLine, genColumn, 0, 0];
- }
- range.isScope = !!hasScope;
- if (hasCallsite) {
- const prevCsi = callsiteSourcesIndex;
- const prevLine = callsiteLine;
- callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);
- const sameSource = prevCsi === callsiteSourcesIndex;
- callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);
- callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0);
- callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];
- }
- range.callsite = callsite;
- if (hasMoreVlq(reader, semi)) {
- bindings = [];
- do {
- bindingLine = genLine;
- bindingColumn = genColumn;
- const expressionsCount = decodeInteger(reader, 0);
- let expressionRanges;
- if (expressionsCount < -1) {
- expressionRanges = [[decodeInteger(reader, 0)]];
- for (let i = -1; i > expressionsCount; i--) {
- const prevBl = bindingLine;
- bindingLine = decodeInteger(reader, bindingLine);
- bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);
- const expression = decodeInteger(reader, 0);
- expressionRanges.push([expression, bindingLine, bindingColumn]);
- }
- }
- else {
- expressionRanges = [[expressionsCount]];
- }
- bindings.push(expressionRanges);
- } while (hasMoreVlq(reader, semi));
- }
- range.bindings = bindings;
- ranges.push(range);
- stack.push(range);
- }
- genLine++;
- reader.pos = semi + 1;
- } while (reader.pos < length);
- return ranges;
- }
- function encodeGeneratedRanges(ranges) {
- if (ranges.length === 0)
- return '';
- const writer = new StringWriter();
- for (let i = 0; i < ranges.length;) {
- i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);
- }
- return writer.flush();
- }
- function _encodeGeneratedRanges(ranges, index, writer, state) {
- const range = ranges[index];
- const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings, } = range;
- if (state[0] < startLine) {
- catchupLine(writer, state[0], startLine);
- state[0] = startLine;
- state[1] = 0;
- }
- else if (index > 0) {
- writer.write(comma);
- }
- state[1] = encodeInteger(writer, range[1], state[1]);
- const fields = (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);
- encodeInteger(writer, fields, 0);
- if (range.length === 6) {
- const { 4: sourcesIndex, 5: scopesIndex } = range;
- if (sourcesIndex !== state[2]) {
- state[3] = 0;
- }
- state[2] = encodeInteger(writer, sourcesIndex, state[2]);
- state[3] = encodeInteger(writer, scopesIndex, state[3]);
- }
- if (callsite) {
- const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;
- if (sourcesIndex !== state[4]) {
- state[5] = 0;
- state[6] = 0;
- }
- else if (callLine !== state[5]) {
- state[6] = 0;
- }
- state[4] = encodeInteger(writer, sourcesIndex, state[4]);
- state[5] = encodeInteger(writer, callLine, state[5]);
- state[6] = encodeInteger(writer, callColumn, state[6]);
- }
- if (bindings) {
- for (const binding of bindings) {
- if (binding.length > 1)
- encodeInteger(writer, -binding.length, 0);
- const expression = binding[0][0];
- encodeInteger(writer, expression, 0);
- let bindingStartLine = startLine;
- let bindingStartColumn = startColumn;
- for (let i = 1; i < binding.length; i++) {
- const expRange = binding[i];
- bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);
- bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);
- encodeInteger(writer, expRange[0], 0);
- }
- }
- }
- for (index++; index < ranges.length;) {
- const next = ranges[index];
- const { 0: l, 1: c } = next;
- if (l > endLine || (l === endLine && c >= endColumn)) {
- break;
- }
- index = _encodeGeneratedRanges(ranges, index, writer, state);
- }
- if (state[0] < endLine) {
- catchupLine(writer, state[0], endLine);
- state[0] = endLine;
- state[1] = 0;
- }
- else {
- writer.write(comma);
- }
- state[1] = encodeInteger(writer, endColumn, state[1]);
- return index;
- }
- function catchupLine(writer, lastLine, line) {
- do {
- writer.write(semicolon);
- } while (++lastLine < line);
- }
-
- function decode(mappings) {
- const { length } = mappings;
- const reader = new StringReader(mappings);
- const decoded = [];
- let genColumn = 0;
- let sourcesIndex = 0;
- let sourceLine = 0;
- let sourceColumn = 0;
- let namesIndex = 0;
- do {
- const semi = reader.indexOf(';');
- const line = [];
- let sorted = true;
- let lastCol = 0;
- genColumn = 0;
- while (reader.pos < semi) {
- let seg;
- genColumn = decodeInteger(reader, genColumn);
- if (genColumn < lastCol)
- sorted = false;
- lastCol = genColumn;
- if (hasMoreVlq(reader, semi)) {
- sourcesIndex = decodeInteger(reader, sourcesIndex);
- sourceLine = decodeInteger(reader, sourceLine);
- sourceColumn = decodeInteger(reader, sourceColumn);
- if (hasMoreVlq(reader, semi)) {
- namesIndex = decodeInteger(reader, namesIndex);
- seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];
- }
- else {
- seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];
- }
- }
- else {
- seg = [genColumn];
- }
- line.push(seg);
- reader.pos++;
- }
- if (!sorted)
- sort(line);
- decoded.push(line);
- reader.pos = semi + 1;
- } while (reader.pos <= length);
- return decoded;
- }
- function sort(line) {
- line.sort(sortComparator);
- }
- function sortComparator(a, b) {
- return a[0] - b[0];
- }
- function encode(decoded) {
- const writer = new StringWriter();
- let sourcesIndex = 0;
- let sourceLine = 0;
- let sourceColumn = 0;
- let namesIndex = 0;
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0)
- writer.write(semicolon);
- if (line.length === 0)
- continue;
- let genColumn = 0;
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- if (j > 0)
- writer.write(comma);
- genColumn = encodeInteger(writer, segment[0], genColumn);
- if (segment.length === 1)
- continue;
- sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
- sourceLine = encodeInteger(writer, segment[2], sourceLine);
- sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
- if (segment.length === 4)
- continue;
- namesIndex = encodeInteger(writer, segment[4], namesIndex);
- }
- }
- return writer.flush();
- }
-
- exports.decode = decode;
- exports.decodeGeneratedRanges = decodeGeneratedRanges;
- exports.decodeOriginalScopes = decodeOriginalScopes;
- exports.encode = encode;
- exports.encodeGeneratedRanges = encodeGeneratedRanges;
- exports.encodeOriginalScopes = encodeOriginalScopes;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=sourcemap-codec.umd.js.map
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
deleted file mode 100644
index 65b3674..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"sourcemap-codec.umd.js","sources":["../src/vlq.ts","../src/strings.ts","../src/scopes.ts","../src/sourcemap-codec.ts"],"sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n private declare buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { StringReader, StringWriter } from './strings';\nimport { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\n\nconst EMPTY: any[] = [];\n\ntype Line = number;\ntype Column = number;\ntype Kind = number;\ntype Name = number;\ntype Var = number;\ntype SourcesIndex = number;\ntype ScopesIndex = number;\n\ntype Mix = (A & O) | (B & O);\n\nexport type OriginalScope = Mix<\n [Line, Column, Line, Column, Kind],\n [Line, Column, Line, Column, Kind, Name],\n { vars: Var[] }\n>;\n\nexport type GeneratedRange = Mix<\n [Line, Column, Line, Column],\n [Line, Column, Line, Column, SourcesIndex, ScopesIndex],\n {\n callsite: CallSite | null;\n bindings: Binding[];\n isScope: boolean;\n }\n>;\nexport type CallSite = [SourcesIndex, Line, Column];\ntype Binding = BindingExpressionRange[];\nexport type BindingExpressionRange = [Name] | [Name, Line, Column];\n\nexport function decodeOriginalScopes(input: string): OriginalScope[] {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes: OriginalScope[] = [];\n const stack: OriginalScope[] = [];\n let line = 0;\n\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop()!;\n last[2] = line;\n last[3] = column;\n continue;\n }\n\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 0b0001;\n\n const scope: OriginalScope = (\n hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]\n ) as OriginalScope;\n\n let vars: Var[] = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n\n scopes.push(scope);\n stack.push(scope);\n }\n\n return scopes;\n}\n\nexport function encodeOriginalScopes(scopes: OriginalScope[]): string {\n const writer = new StringWriter();\n\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeOriginalScopes(\n scopes: OriginalScope[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenColumn\n ],\n): number {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n\n if (index > 0) writer.write(comma);\n\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n\n const fields = scope.length === 6 ? 0b0001 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n\n return index;\n}\n\nexport function decodeGeneratedRanges(input: string): GeneratedRange[] {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges: GeneratedRange[] = [];\n const stack: GeneratedRange[] = [];\n\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n\n do {\n const semi = reader.indexOf(';');\n let genColumn = 0;\n\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop()!;\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 0b0001;\n const hasCallsite = fields & 0b0010;\n const hasScope = fields & 0b0100;\n\n let callsite: CallSite | null = null;\n let bindings: Binding[] = EMPTY;\n let range: GeneratedRange;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0,\n );\n\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex] as GeneratedRange;\n } else {\n range = [genLine, genColumn, 0, 0] as GeneratedRange;\n }\n\n range.isScope = !!hasScope;\n\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0,\n );\n\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges: BindingExpressionRange[];\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n\n ranges.push(range);\n stack.push(range);\n }\n\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n\n return ranges;\n}\n\nexport function encodeGeneratedRanges(ranges: GeneratedRange[]): string {\n if (ranges.length === 0) return '';\n\n const writer = new StringWriter();\n\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeGeneratedRanges(\n ranges: GeneratedRange[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenLine\n number, // GenColumn\n number, // DefSourcesIndex\n number, // DefScopesIndex\n number, // CallSourcesIndex\n number, // CallLine\n number, // CallColumn\n ],\n): number {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings,\n } = range;\n\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n\n state[1] = encodeInteger(writer, range[1], state[1]);\n\n const fields =\n (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);\n encodeInteger(writer, fields, 0);\n\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite!;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1]!, bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2]!, bindingStartColumn);\n encodeInteger(writer, expRange[0]!, 0);\n }\n }\n }\n\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n\n return index;\n}\n\nfunction catchupLine(writer: StringWriter, lastLine: number, line: number) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly): string;\nexport function encode(decoded: Readonly): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts
deleted file mode 100644
index d156fab..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-declare type Line = number;
-declare type Column = number;
-declare type Kind = number;
-declare type Name = number;
-declare type Var = number;
-declare type SourcesIndex = number;
-declare type ScopesIndex = number;
-declare type Mix = (A & O) | (B & O);
-export declare type OriginalScope = Mix<[
- Line,
- Column,
- Line,
- Column,
- Kind
-], [
- Line,
- Column,
- Line,
- Column,
- Kind,
- Name
-], {
- vars: Var[];
-}>;
-export declare type GeneratedRange = Mix<[
- Line,
- Column,
- Line,
- Column
-], [
- Line,
- Column,
- Line,
- Column,
- SourcesIndex,
- ScopesIndex
-], {
- callsite: CallSite | null;
- bindings: Binding[];
- isScope: boolean;
-}>;
-export declare type CallSite = [SourcesIndex, Line, Column];
-declare type Binding = BindingExpressionRange[];
-export declare type BindingExpressionRange = [Name] | [Name, Line, Column];
-export declare function decodeOriginalScopes(input: string): OriginalScope[];
-export declare function encodeOriginalScopes(scopes: OriginalScope[]): string;
-export declare function decodeGeneratedRanges(input: string): GeneratedRange[];
-export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string;
-export {};
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
deleted file mode 100644
index 336e658..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export { decodeOriginalScopes, encodeOriginalScopes, decodeGeneratedRanges, encodeGeneratedRanges, } from './scopes';
-export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';
-export declare type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
-export declare type SourceMapLine = SourceMapSegment[];
-export declare type SourceMapMappings = SourceMapLine[];
-export declare function decode(mappings: string): SourceMapMappings;
-export declare function encode(decoded: SourceMapMappings): string;
-export declare function encode(decoded: Readonly): string;
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts
deleted file mode 100644
index 78bd88e..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-export declare class StringWriter {
- pos: number;
- private out;
- private buffer;
- write(v: number): void;
- flush(): string;
-}
-export declare class StringReader {
- pos: number;
- private buffer;
- constructor(buffer: string);
- next(): number;
- peek(): number;
- indexOf(char: string): number;
-}
diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts
deleted file mode 100644
index 450ee57..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import type { StringReader, StringWriter } from './strings';
-export declare const comma: number;
-export declare const semicolon: number;
-export declare function decodeInteger(reader: StringReader, relative: number): number;
-export declare function encodeInteger(builder: StringWriter, num: number, relative: number): number;
-export declare function hasMoreVlq(reader: StringReader, max: number): boolean;
diff --git a/node_modules/@jridgewell/sourcemap-codec/package.json b/node_modules/@jridgewell/sourcemap-codec/package.json
deleted file mode 100644
index 7168efc..0000000
--- a/node_modules/@jridgewell/sourcemap-codec/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "@jridgewell/sourcemap-codec",
- "version": "1.5.0",
- "description": "Encode/decode sourcemap mappings",
- "keywords": [
- "sourcemap",
- "vlq"
- ],
- "main": "dist/sourcemap-codec.umd.js",
- "module": "dist/sourcemap-codec.mjs",
- "types": "dist/types/sourcemap-codec.d.ts",
- "files": [
- "dist"
- ],
- "exports": {
- ".": [
- {
- "types": "./dist/types/sourcemap-codec.d.ts",
- "browser": "./dist/sourcemap-codec.umd.js",
- "require": "./dist/sourcemap-codec.umd.js",
- "import": "./dist/sourcemap-codec.mjs"
- },
- "./dist/sourcemap-codec.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node --expose-gc benchmark/index.js",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "prebuild": "rm -rf dist",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jridgewell/sourcemap-codec.git"
- },
- "author": "Rich Harris",
- "license": "MIT",
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.0",
- "@types/mocha": "10.0.6",
- "@types/node": "17.0.15",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "benchmark": "2.1.4",
- "c8": "7.11.2",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.64.0",
- "source-map": "0.6.1",
- "source-map-js": "1.0.2",
- "sourcemap-codec": "1.4.8",
- "tsx": "4.7.1",
- "typescript": "4.5.4"
- }
-}
diff --git a/node_modules/@jridgewell/trace-mapping/LICENSE b/node_modules/@jridgewell/trace-mapping/LICENSE
deleted file mode 100644
index 37bb488..0000000
--- a/node_modules/@jridgewell/trace-mapping/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2022 Justin Ridgewell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/@jridgewell/trace-mapping/README.md b/node_modules/@jridgewell/trace-mapping/README.md
deleted file mode 100644
index 969558d..0000000
--- a/node_modules/@jridgewell/trace-mapping/README.md
+++ /dev/null
@@ -1,257 +0,0 @@
-# @jridgewell/trace-mapping
-
-> Trace the original position through a source map
-
-`trace-mapping` allows you to take the line and column of an output file and trace it to the
-original location in the source file through a source map.
-
-You may already be familiar with the [`source-map`][source-map] package's `SourceMapConsumer`. This
-provides the same `originalPositionFor` and `generatedPositionFor` API, without requiring WASM.
-
-## Installation
-
-```sh
-npm install @jridgewell/trace-mapping
-```
-
-## Usage
-
-```typescript
-import {
- TraceMap,
- originalPositionFor,
- generatedPositionFor,
- sourceContentFor,
- isIgnored,
-} from '@jridgewell/trace-mapping';
-
-const tracer = new TraceMap({
- version: 3,
- sources: ['input.js'],
- sourcesContent: ['content of input.js'],
- names: ['foo'],
- mappings: 'KAyCIA',
- ignoreList: [],
-});
-
-// Lines start at line 1, columns at column 0.
-const traced = originalPositionFor(tracer, { line: 1, column: 5 });
-assert.deepEqual(traced, {
- source: 'input.js',
- line: 42,
- column: 4,
- name: 'foo',
-});
-
-const content = sourceContentFor(tracer, traced.source);
-assert.strictEqual(content, 'content for input.js');
-
-const generated = generatedPositionFor(tracer, {
- source: 'input.js',
- line: 42,
- column: 4,
-});
-assert.deepEqual(generated, {
- line: 1,
- column: 5,
-});
-
-const ignored = isIgnored(tracer, 'input.js');
-assert.equal(ignored, false);
-```
-
-We also provide a lower level API to get the actual segment that matches our line and column. Unlike
-`originalPositionFor`, `traceSegment` uses a 0-base for `line`:
-
-```typescript
-import { traceSegment } from '@jridgewell/trace-mapping';
-
-// line is 0-base.
-const traced = traceSegment(tracer, /* line */ 0, /* column */ 5);
-
-// Segments are [outputColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
-// Again, line is 0-base and so is sourceLine
-assert.deepEqual(traced, [5, 0, 41, 4, 0]);
-```
-
-### SectionedSourceMaps
-
-The sourcemap spec defines a special `sections` field that's designed to handle concatenation of
-output code with associated sourcemaps. This type of sourcemap is rarely used (no major build tool
-produces it), but if you are hand coding a concatenation you may need it. We provide an `AnyMap`
-helper that can receive either a regular sourcemap or a `SectionedSourceMap` and returns a
-`TraceMap` instance:
-
-```typescript
-import { AnyMap } from '@jridgewell/trace-mapping';
-const fooOutput = 'foo';
-const barOutput = 'bar';
-const output = [fooOutput, barOutput].join('\n');
-
-const sectioned = new AnyMap({
- version: 3,
- sections: [
- {
- // 0-base line and column
- offset: { line: 0, column: 0 },
- // fooOutput's sourcemap
- map: {
- version: 3,
- sources: ['foo.js'],
- names: ['foo'],
- mappings: 'AAAAA',
- },
- },
- {
- // barOutput's sourcemap will not affect the first line, only the second
- offset: { line: 1, column: 0 },
- map: {
- version: 3,
- sources: ['bar.js'],
- names: ['bar'],
- mappings: 'AAAAA',
- },
- },
- ],
-});
-
-const traced = originalPositionFor(sectioned, {
- line: 2,
- column: 0,
-});
-
-assert.deepEqual(traced, {
- source: 'bar.js',
- line: 1,
- column: 0,
- name: 'bar',
-});
-```
-
-## Benchmarks
-
-```
-node v18.0.0
-
-amp.js.map - 45120 segments
-
-Memory Usage:
-trace-mapping decoded 562400 bytes
-trace-mapping encoded 5706544 bytes
-source-map-js 10717664 bytes
-source-map-0.6.1 17446384 bytes
-source-map-0.8.0 9701757 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 180 ops/sec ±0.34% (85 runs sampled)
-trace-mapping: encoded JSON input x 364 ops/sec ±1.77% (89 runs sampled)
-trace-mapping: decoded Object input x 3,116 ops/sec ±0.50% (96 runs sampled)
-trace-mapping: encoded Object input x 410 ops/sec ±2.62% (85 runs sampled)
-source-map-js: encoded Object input x 84.23 ops/sec ±0.91% (73 runs sampled)
-source-map-0.6.1: encoded Object input x 37.21 ops/sec ±2.08% (51 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 3,952,212 ops/sec ±0.17% (98 runs sampled)
-trace-mapping: encoded originalPositionFor x 3,487,468 ops/sec ±1.58% (90 runs sampled)
-source-map-js: encoded originalPositionFor x 827,730 ops/sec ±0.78% (97 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 748,991 ops/sec ±0.53% (94 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 2,532,894 ops/sec ±0.57% (95 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-
-
-***
-
-
-babel.min.js.map - 347793 segments
-
-Memory Usage:
-trace-mapping decoded 89832 bytes
-trace-mapping encoded 35474640 bytes
-source-map-js 51257176 bytes
-source-map-0.6.1 63515664 bytes
-source-map-0.8.0 42933752 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 15.41 ops/sec ±8.65% (34 runs sampled)
-trace-mapping: encoded JSON input x 28.20 ops/sec ±12.87% (42 runs sampled)
-trace-mapping: decoded Object input x 964 ops/sec ±0.36% (99 runs sampled)
-trace-mapping: encoded Object input x 31.77 ops/sec ±13.79% (45 runs sampled)
-source-map-js: encoded Object input x 6.45 ops/sec ±5.16% (21 runs sampled)
-source-map-0.6.1: encoded Object input x 4.07 ops/sec ±5.24% (15 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 7,183,038 ops/sec ±0.58% (95 runs sampled)
-trace-mapping: encoded originalPositionFor x 5,192,185 ops/sec ±0.41% (100 runs sampled)
-source-map-js: encoded originalPositionFor x 4,259,489 ops/sec ±0.79% (94 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 3,742,629 ops/sec ±0.71% (95 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 6,270,211 ops/sec ±0.64% (94 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-
-
-***
-
-
-preact.js.map - 1992 segments
-
-Memory Usage:
-trace-mapping decoded 37128 bytes
-trace-mapping encoded 247280 bytes
-source-map-js 1143536 bytes
-source-map-0.6.1 1290992 bytes
-source-map-0.8.0 96544 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 3,483 ops/sec ±0.30% (98 runs sampled)
-trace-mapping: encoded JSON input x 6,092 ops/sec ±0.18% (97 runs sampled)
-trace-mapping: decoded Object input x 249,076 ops/sec ±0.24% (98 runs sampled)
-trace-mapping: encoded Object input x 14,555 ops/sec ±0.48% (100 runs sampled)
-source-map-js: encoded Object input x 2,447 ops/sec ±0.36% (99 runs sampled)
-source-map-0.6.1: encoded Object input x 1,201 ops/sec ±0.57% (96 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 7,620,192 ops/sec ±0.09% (99 runs sampled)
-trace-mapping: encoded originalPositionFor x 6,872,554 ops/sec ±0.30% (97 runs sampled)
-source-map-js: encoded originalPositionFor x 2,489,570 ops/sec ±0.35% (94 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 1,698,633 ops/sec ±0.28% (98 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 4,015,644 ops/sec ±0.22% (98 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-
-
-***
-
-
-react.js.map - 5726 segments
-
-Memory Usage:
-trace-mapping decoded 16176 bytes
-trace-mapping encoded 681552 bytes
-source-map-js 2418352 bytes
-source-map-0.6.1 2443672 bytes
-source-map-0.8.0 111768 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 1,720 ops/sec ±0.34% (98 runs sampled)
-trace-mapping: encoded JSON input x 4,406 ops/sec ±0.35% (100 runs sampled)
-trace-mapping: decoded Object input x 92,122 ops/sec ±0.10% (99 runs sampled)
-trace-mapping: encoded Object input x 5,385 ops/sec ±0.37% (99 runs sampled)
-source-map-js: encoded Object input x 794 ops/sec ±0.40% (98 runs sampled)
-source-map-0.6.1: encoded Object input x 416 ops/sec ±0.54% (91 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 32,759,519 ops/sec ±0.33% (100 runs sampled)
-trace-mapping: encoded originalPositionFor x 31,116,306 ops/sec ±0.33% (97 runs sampled)
-source-map-js: encoded originalPositionFor x 17,458,435 ops/sec ±0.44% (97 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 12,687,097 ops/sec ±0.43% (95 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 23,538,275 ops/sec ±0.38% (95 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-```
-
-[source-map]: https://www.npmjs.com/package/source-map
diff --git a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs b/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
deleted file mode 100644
index 8238e0a..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
+++ /dev/null
@@ -1,580 +0,0 @@
-import { encode, decode } from '@jridgewell/sourcemap-codec';
-import resolveUri from '@jridgewell/resolve-uri';
-
-function resolve(input, base) {
- // The base is always treated as a directory, if it's not empty.
- // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327
- // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401
- if (base && !base.endsWith('/'))
- base += '/';
- return resolveUri(input, base);
-}
-
-/**
- * Removes everything after the last "/", but leaves the slash.
- */
-function stripFilename(path) {
- if (!path)
- return '';
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
-}
-
-const COLUMN = 0;
-const SOURCES_INDEX = 1;
-const SOURCE_LINE = 2;
-const SOURCE_COLUMN = 3;
-const NAMES_INDEX = 4;
-const REV_GENERATED_LINE = 1;
-const REV_GENERATED_COLUMN = 2;
-
-function maybeSort(mappings, owned) {
- const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
- if (unsortedIndex === mappings.length)
- return mappings;
- // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If
- // not, we do not want to modify the consumer's input array.
- if (!owned)
- mappings = mappings.slice();
- for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
- mappings[i] = sortSegments(mappings[i], owned);
- }
- return mappings;
-}
-function nextUnsortedSegmentLine(mappings, start) {
- for (let i = start; i < mappings.length; i++) {
- if (!isSorted(mappings[i]))
- return i;
- }
- return mappings.length;
-}
-function isSorted(line) {
- for (let j = 1; j < line.length; j++) {
- if (line[j][COLUMN] < line[j - 1][COLUMN]) {
- return false;
- }
- }
- return true;
-}
-function sortSegments(line, owned) {
- if (!owned)
- line = line.slice();
- return line.sort(sortComparator);
-}
-function sortComparator(a, b) {
- return a[COLUMN] - b[COLUMN];
-}
-
-let found = false;
-/**
- * A binary search implementation that returns the index if a match is found.
- * If no match is found, then the left-index (the index associated with the item that comes just
- * before the desired index) is returned. To maintain proper sort order, a splice would happen at
- * the next index:
- *
- * ```js
- * const array = [1, 3];
- * const needle = 2;
- * const index = binarySearch(array, needle, (item, needle) => item - needle);
- *
- * assert.equal(index, 0);
- * array.splice(index + 1, 0, needle);
- * assert.deepEqual(array, [1, 2, 3]);
- * ```
- */
-function binarySearch(haystack, needle, low, high) {
- while (low <= high) {
- const mid = low + ((high - low) >> 1);
- const cmp = haystack[mid][COLUMN] - needle;
- if (cmp === 0) {
- found = true;
- return mid;
- }
- if (cmp < 0) {
- low = mid + 1;
- }
- else {
- high = mid - 1;
- }
- }
- found = false;
- return low - 1;
-}
-function upperBound(haystack, needle, index) {
- for (let i = index + 1; i < haystack.length; index = i++) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
-}
-function lowerBound(haystack, needle, index) {
- for (let i = index - 1; i >= 0; index = i--) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
-}
-function memoizedState() {
- return {
- lastKey: -1,
- lastNeedle: -1,
- lastIndex: -1,
- };
-}
-/**
- * This overly complicated beast is just to record the last tested line/column and the resulting
- * index, allowing us to skip a few tests if mappings are monotonically increasing.
- */
-function memoizedBinarySearch(haystack, needle, state, key) {
- const { lastKey, lastNeedle, lastIndex } = state;
- let low = 0;
- let high = haystack.length - 1;
- if (key === lastKey) {
- if (needle === lastNeedle) {
- found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
- return lastIndex;
- }
- if (needle >= lastNeedle) {
- // lastIndex may be -1 if the previous needle was not found.
- low = lastIndex === -1 ? 0 : lastIndex;
- }
- else {
- high = lastIndex;
- }
- }
- state.lastKey = key;
- state.lastNeedle = needle;
- return (state.lastIndex = binarySearch(haystack, needle, low, high));
-}
-
-// Rebuilds the original source files, with mappings that are ordered by source line/column instead
-// of generated line/column.
-function buildBySources(decoded, memos) {
- const sources = memos.map(buildNullArray);
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- if (seg.length === 1)
- continue;
- const sourceIndex = seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- const originalSource = sources[sourceIndex];
- const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));
- const memo = memos[sourceIndex];
- // The binary search either found a match, or it found the left-index just before where the
- // segment should go. Either way, we want to insert after that. And there may be multiple
- // generated segments associated with an original location, so there may need to move several
- // indexes before we find where we need to insert.
- let index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
- memo.lastIndex = ++index;
- insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);
- }
- }
- return sources;
-}
-function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
-}
-// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like
-// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.
-// Numeric properties on objects are magically sorted in ascending order by the engine regardless of
-// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending
-// order when iterating with for-in.
-function buildNullArray() {
- return { __proto__: null };
-}
-
-const AnyMap = function (map, mapUrl) {
- const parsed = parse(map);
- if (!('sections' in parsed)) {
- return new TraceMap(parsed, mapUrl);
- }
- const mappings = [];
- const sources = [];
- const sourcesContent = [];
- const names = [];
- const ignoreList = [];
- recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, ignoreList, 0, 0, Infinity, Infinity);
- const joined = {
- version: 3,
- file: parsed.file,
- names,
- sources,
- sourcesContent,
- mappings,
- ignoreList,
- };
- return presortedDecodedMap(joined);
-};
-function parse(map) {
- return typeof map === 'string' ? JSON.parse(map) : map;
-}
-function recurse(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {
- const { sections } = input;
- for (let i = 0; i < sections.length; i++) {
- const { map, offset } = sections[i];
- let sl = stopLine;
- let sc = stopColumn;
- if (i + 1 < sections.length) {
- const nextOffset = sections[i + 1].offset;
- sl = Math.min(stopLine, lineOffset + nextOffset.line);
- if (sl === stopLine) {
- sc = Math.min(stopColumn, columnOffset + nextOffset.column);
- }
- else if (sl < stopLine) {
- sc = columnOffset + nextOffset.column;
- }
- }
- addSection(map, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset + offset.line, columnOffset + offset.column, sl, sc);
- }
-}
-function addSection(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {
- const parsed = parse(input);
- if ('sections' in parsed)
- return recurse(...arguments);
- const map = new TraceMap(parsed, mapUrl);
- const sourcesOffset = sources.length;
- const namesOffset = names.length;
- const decoded = decodedMappings(map);
- const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;
- append(sources, resolvedSources);
- append(names, map.names);
- if (contents)
- append(sourcesContent, contents);
- else
- for (let i = 0; i < resolvedSources.length; i++)
- sourcesContent.push(null);
- if (ignores)
- for (let i = 0; i < ignores.length; i++)
- ignoreList.push(ignores[i] + sourcesOffset);
- for (let i = 0; i < decoded.length; i++) {
- const lineI = lineOffset + i;
- // We can only add so many lines before we step into the range that the next section's map
- // controls. When we get to the last line, then we'll start checking the segments to see if
- // they've crossed into the column range. But it may not have any columns that overstep, so we
- // still need to check that we don't overstep lines, too.
- if (lineI > stopLine)
- return;
- // The out line may already exist in mappings (if we're continuing the line started by a
- // previous section). Or, we may have jumped ahead several lines to start this section.
- const out = getLine(mappings, lineI);
- // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the
- // map can be multiple lines), it doesn't.
- const cOffset = i === 0 ? columnOffset : 0;
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const column = cOffset + seg[COLUMN];
- // If this segment steps into the column range that the next section's map controls, we need
- // to stop early.
- if (lineI === stopLine && column >= stopColumn)
- return;
- if (seg.length === 1) {
- out.push([column]);
- continue;
- }
- const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- out.push(seg.length === 4
- ? [column, sourcesIndex, sourceLine, sourceColumn]
- : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
- }
- }
-}
-function append(arr, other) {
- for (let i = 0; i < other.length; i++)
- arr.push(other[i]);
-}
-function getLine(arr, index) {
- for (let i = arr.length; i <= index; i++)
- arr[i] = [];
- return arr[index];
-}
-
-const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
-const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
-const LEAST_UPPER_BOUND = -1;
-const GREATEST_LOWER_BOUND = 1;
-class TraceMap {
- constructor(map, mapUrl) {
- const isString = typeof map === 'string';
- if (!isString && map._decodedMemo)
- return map;
- const parsed = (isString ? JSON.parse(map) : map);
- const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
- this.version = version;
- this.file = file;
- this.names = names || [];
- this.sourceRoot = sourceRoot;
- this.sources = sources;
- this.sourcesContent = sourcesContent;
- this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || undefined;
- const from = resolve(sourceRoot || '', stripFilename(mapUrl));
- this.resolvedSources = sources.map((s) => resolve(s || '', from));
- const { mappings } = parsed;
- if (typeof mappings === 'string') {
- this._encoded = mappings;
- this._decoded = undefined;
- }
- else {
- this._encoded = undefined;
- this._decoded = maybeSort(mappings, isString);
- }
- this._decodedMemo = memoizedState();
- this._bySources = undefined;
- this._bySourceMemos = undefined;
- }
-}
-/**
- * Typescript doesn't allow friend access to private fields, so this just casts the map into a type
- * with public access modifiers.
- */
-function cast(map) {
- return map;
-}
-/**
- * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
- */
-function encodedMappings(map) {
- var _a;
- var _b;
- return ((_a = (_b = cast(map))._encoded) !== null && _a !== void 0 ? _a : (_b._encoded = encode(cast(map)._decoded)));
-}
-/**
- * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
- */
-function decodedMappings(map) {
- var _a;
- return ((_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded)));
-}
-/**
- * A low-level API to find the segment associated with a generated line/column (think, from a
- * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
- */
-function traceSegment(map, line, column) {
- const decoded = decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return null;
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, GREATEST_LOWER_BOUND);
- return index === -1 ? null : segments[index];
-}
-/**
- * A higher-level API to find the source/line/column associated with a generated line/column
- * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
- * `source-map` library.
- */
-function originalPositionFor(map, needle) {
- let { line, column, bias } = needle;
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const decoded = decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return OMapping(null, null, null, null);
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
- if (index === -1)
- return OMapping(null, null, null, null);
- const segment = segments[index];
- if (segment.length === 1)
- return OMapping(null, null, null, null);
- const { names, resolvedSources } = map;
- return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
-}
-/**
- * Finds the generated line/column position of the provided source/line/column source position.
- */
-function generatedPositionFor(map, needle) {
- const { source, line, column, bias } = needle;
- return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);
-}
-/**
- * Finds all generated line/column positions of the provided source/line/column source position.
- */
-function allGeneratedPositionsFor(map, needle) {
- const { source, line, column, bias } = needle;
- // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.
- return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);
-}
-/**
- * Iterates each mapping in generated position order.
- */
-function eachMapping(map, cb) {
- const decoded = decodedMappings(map);
- const { names, resolvedSources } = map;
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generatedLine = i + 1;
- const generatedColumn = seg[0];
- let source = null;
- let originalLine = null;
- let originalColumn = null;
- let name = null;
- if (seg.length !== 1) {
- source = resolvedSources[seg[1]];
- originalLine = seg[2] + 1;
- originalColumn = seg[3];
- }
- if (seg.length === 5)
- name = names[seg[4]];
- cb({
- generatedLine,
- generatedColumn,
- source,
- originalLine,
- originalColumn,
- name,
- });
- }
- }
-}
-function sourceIndex(map, source) {
- const { sources, resolvedSources } = map;
- let index = sources.indexOf(source);
- if (index === -1)
- index = resolvedSources.indexOf(source);
- return index;
-}
-/**
- * Retrieves the source content for a particular source, if its found. Returns null if not.
- */
-function sourceContentFor(map, source) {
- const { sourcesContent } = map;
- if (sourcesContent == null)
- return null;
- const index = sourceIndex(map, source);
- return index === -1 ? null : sourcesContent[index];
-}
-/**
- * Determines if the source is marked to ignore by the source map.
- */
-function isIgnored(map, source) {
- const { ignoreList } = map;
- if (ignoreList == null)
- return false;
- const index = sourceIndex(map, source);
- return index === -1 ? false : ignoreList.includes(index);
-}
-/**
- * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
- * maps.
- */
-function presortedDecodedMap(map, mapUrl) {
- const tracer = new TraceMap(clone(map, []), mapUrl);
- cast(tracer)._decoded = map.mappings;
- return tracer;
-}
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-function decodedMap(map) {
- return clone(map, decodedMappings(map));
-}
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-function encodedMap(map) {
- return clone(map, encodedMappings(map));
-}
-function clone(map, mappings) {
- return {
- version: map.version,
- file: map.file,
- names: map.names,
- sourceRoot: map.sourceRoot,
- sources: map.sources,
- sourcesContent: map.sourcesContent,
- mappings,
- ignoreList: map.ignoreList || map.x_google_ignoreList,
- };
-}
-function OMapping(source, line, column, name) {
- return { source, line, column, name };
-}
-function GMapping(line, column) {
- return { line, column };
-}
-function traceSegmentInternal(segments, memo, line, column, bias) {
- let index = memoizedBinarySearch(segments, column, memo, line);
- if (found) {
- index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
- }
- else if (bias === LEAST_UPPER_BOUND)
- index++;
- if (index === -1 || index === segments.length)
- return -1;
- return index;
-}
-function sliceGeneratedPositions(segments, memo, line, column, bias) {
- let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);
- // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in
- // insertion order) segment that matched. Even if we did respect the bias when tracing, we would
- // still need to call `lowerBound()` to find the first segment, which is slower than just looking
- // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the
- // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to
- // match LEAST_UPPER_BOUND.
- if (!found && bias === LEAST_UPPER_BOUND)
- min++;
- if (min === -1 || min === segments.length)
- return [];
- // We may have found the segment that started at an earlier column. If this is the case, then we
- // need to slice all generated segments that match _that_ column, because all such segments span
- // to our desired column.
- const matchedColumn = found ? column : segments[min][COLUMN];
- // The binary search is not guaranteed to find the lower bound when a match wasn't found.
- if (!found)
- min = lowerBound(segments, matchedColumn, min);
- const max = upperBound(segments, matchedColumn, min);
- const result = [];
- for (; min <= max; min++) {
- const segment = segments[min];
- result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));
- }
- return result;
-}
-function generatedPosition(map, source, line, column, bias, all) {
- var _a;
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const { sources, resolvedSources } = map;
- let sourceIndex = sources.indexOf(source);
- if (sourceIndex === -1)
- sourceIndex = resolvedSources.indexOf(source);
- if (sourceIndex === -1)
- return all ? [] : GMapping(null, null);
- const generated = ((_a = cast(map))._bySources || (_a._bySources = buildBySources(decodedMappings(map), (cast(map)._bySourceMemos = sources.map(memoizedState)))));
- const segments = generated[sourceIndex][line];
- if (segments == null)
- return all ? [] : GMapping(null, null);
- const memo = cast(map)._bySourceMemos[sourceIndex];
- if (all)
- return sliceGeneratedPositions(segments, memo, line, column, bias);
- const index = traceSegmentInternal(segments, memo, line, column, bias);
- if (index === -1)
- return GMapping(null, null);
- const segment = segments[index];
- return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
-}
-
-export { AnyMap, GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap, allGeneratedPositionsFor, decodedMap, decodedMappings, eachMapping, encodedMap, encodedMappings, generatedPositionFor, isIgnored, originalPositionFor, presortedDecodedMap, sourceContentFor, traceSegment };
-//# sourceMappingURL=trace-mapping.mjs.map
diff --git a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map b/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map
deleted file mode 100644
index 016e4ee..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"trace-mapping.mjs","sources":["../src/resolve.ts","../src/strip-filename.ts","../src/sourcemap-segment.ts","../src/sort.ts","../src/binary-search.ts","../src/by-source.ts","../src/any-map.ts","../src/trace-mapping.ts"],"sourcesContent":["import resolveUri from '@jridgewell/resolve-uri';\n\nexport default function resolve(input: string, base: string | undefined): string {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/')) base += '/';\n\n return resolveUri(input, base);\n}\n","/**\n * Removes everything after the last \"/\", but leaves the slash.\n */\nexport default function stripFilename(path: string | undefined | null): string {\n if (!path) return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n","type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\ntype GeneratedLine = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n\nexport const REV_GENERATED_LINE = 1;\nexport const REV_GENERATED_COLUMN = 2;\n","import { COLUMN } from './sourcemap-segment';\n\nimport type { SourceMapSegment } from './sourcemap-segment';\n\nexport default function maybeSort(\n mappings: SourceMapSegment[][],\n owned: boolean,\n): SourceMapSegment[][] {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length) return mappings;\n\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned) mappings = mappings.slice();\n\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n}\n\nfunction nextUnsortedSegmentLine(mappings: SourceMapSegment[][], start: number): number {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i])) return i;\n }\n return mappings.length;\n}\n\nfunction isSorted(line: SourceMapSegment[]): boolean {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n}\n\nfunction sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] {\n if (!owned) line = line.slice();\n return line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[COLUMN] - b[COLUMN];\n}\n","import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport { COLUMN } from './sourcemap-segment';\n\nexport type MemoState = {\n lastKey: number;\n lastNeedle: number;\n lastIndex: number;\n};\n\nexport let found = false;\n\n/**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\nexport function binarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n low: number,\n high: number,\n): number {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n\n if (cmp === 0) {\n found = true;\n return mid;\n }\n\n if (cmp < 0) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n found = false;\n return low - 1;\n}\n\nexport function upperBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function lowerBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function memoizedState(): MemoState {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n}\n\n/**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\nexport function memoizedBinarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n state: MemoState,\n key: number,\n): number {\n const { lastKey, lastNeedle, lastIndex } = state;\n\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n } else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n}\n","import { COLUMN, SOURCES_INDEX, SOURCE_LINE, SOURCE_COLUMN } from './sourcemap-segment';\nimport { memoizedBinarySearch, upperBound } from './binary-search';\n\nimport type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';\nimport type { MemoState } from './binary-search';\n\nexport type Source = {\n __proto__: null;\n [line: number]: Exclude[];\n};\n\n// Rebuilds the original source files, with mappings that are ordered by source line/column instead\n// of generated line/column.\nexport default function buildBySources(\n decoded: readonly SourceMapSegment[][],\n memos: MemoState[],\n): Source[] {\n const sources: Source[] = memos.map(buildNullArray);\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1) continue;\n\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] ||= []);\n const memo = memos[sourceIndex];\n\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n let index = upperBound(\n originalLine,\n sourceColumn,\n memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine),\n );\n\n memo.lastIndex = ++index;\n insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);\n }\n }\n\n return sources;\n}\n\nfunction insert(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\n// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n// Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n// order when iterating with for-in.\nfunction buildNullArray(): T {\n return { __proto__: null } as T;\n}\n","import { TraceMap, presortedDecodedMap, decodedMappings } from './trace-mapping';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type {\n DecodedSourceMap,\n DecodedSourceMapXInput,\n EncodedSourceMapXInput,\n SectionedSourceMapXInput,\n SectionedSourceMapInput,\n SectionXInput,\n} from './types';\nimport type { SourceMapSegment } from './sourcemap-segment';\n\ntype AnyMap = {\n new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n};\n\nexport const AnyMap: AnyMap = function (map, mapUrl) {\n const parsed = parse(map);\n\n if (!('sections' in parsed)) {\n return new TraceMap(parsed as DecodedSourceMapXInput | EncodedSourceMapXInput, mapUrl);\n }\n\n const mappings: SourceMapSegment[][] = [];\n const sources: string[] = [];\n const sourcesContent: (string | null)[] = [];\n const names: string[] = [];\n const ignoreList: number[] = [];\n\n recurse(\n parsed,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n ignoreList,\n 0,\n 0,\n Infinity,\n Infinity,\n );\n\n const joined: DecodedSourceMap = {\n version: 3,\n file: parsed.file,\n names,\n sources,\n sourcesContent,\n mappings,\n ignoreList,\n };\n\n return presortedDecodedMap(joined);\n} as AnyMap;\n\nfunction parse(map: T): Exclude {\n return typeof map === 'string' ? JSON.parse(map) : map;\n}\n\nfunction recurse(\n input: SectionedSourceMapXInput,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n ignoreList: number[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const { sections } = input;\n for (let i = 0; i < sections.length; i++) {\n const { map, offset } = sections[i];\n\n let sl = stopLine;\n let sc = stopColumn;\n if (i + 1 < sections.length) {\n const nextOffset = sections[i + 1].offset;\n sl = Math.min(stopLine, lineOffset + nextOffset.line);\n\n if (sl === stopLine) {\n sc = Math.min(stopColumn, columnOffset + nextOffset.column);\n } else if (sl < stopLine) {\n sc = columnOffset + nextOffset.column;\n }\n }\n\n addSection(\n map,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n ignoreList,\n lineOffset + offset.line,\n columnOffset + offset.column,\n sl,\n sc,\n );\n }\n}\n\nfunction addSection(\n input: SectionXInput['map'],\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n ignoreList: number[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const parsed = parse(input);\n if ('sections' in parsed) return recurse(...(arguments as unknown as Parameters));\n\n const map = new TraceMap(parsed, mapUrl);\n const sourcesOffset = sources.length;\n const namesOffset = names.length;\n const decoded = decodedMappings(map);\n const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;\n\n append(sources, resolvedSources);\n append(names, map.names);\n\n if (contents) append(sourcesContent, contents);\n else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);\n\n if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset);\n\n for (let i = 0; i < decoded.length; i++) {\n const lineI = lineOffset + i;\n\n // We can only add so many lines before we step into the range that the next section's map\n // controls. When we get to the last line, then we'll start checking the segments to see if\n // they've crossed into the column range. But it may not have any columns that overstep, so we\n // still need to check that we don't overstep lines, too.\n if (lineI > stopLine) return;\n\n // The out line may already exist in mappings (if we're continuing the line started by a\n // previous section). Or, we may have jumped ahead several lines to start this section.\n const out = getLine(mappings, lineI);\n // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the\n // map can be multiple lines), it doesn't.\n const cOffset = i === 0 ? columnOffset : 0;\n\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const column = cOffset + seg[COLUMN];\n\n // If this segment steps into the column range that the next section's map controls, we need\n // to stop early.\n if (lineI === stopLine && column >= stopColumn) return;\n\n if (seg.length === 1) {\n out.push([column]);\n continue;\n }\n\n const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n out.push(\n seg.length === 4\n ? [column, sourcesIndex, sourceLine, sourceColumn]\n : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]],\n );\n }\n }\n}\n\nfunction append(arr: T[], other: T[]) {\n for (let i = 0; i < other.length; i++) arr.push(other[i]);\n}\n\nfunction getLine(arr: T[][], index: number): T[] {\n for (let i = arr.length; i <= index; i++) arr[i] = [];\n return arr[index];\n}\n","import { encode, decode } from '@jridgewell/sourcemap-codec';\n\nimport resolve from './resolve';\nimport stripFilename from './strip-filename';\nimport maybeSort from './sort';\nimport buildBySources from './by-source';\nimport {\n memoizedState,\n memoizedBinarySearch,\n upperBound,\n lowerBound,\n found as bsFound,\n} from './binary-search';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n REV_GENERATED_LINE,\n REV_GENERATED_COLUMN,\n} from './sourcemap-segment';\n\nimport type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport type {\n SourceMapV3,\n DecodedSourceMap,\n EncodedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n SourceMapInput,\n Needle,\n SourceNeedle,\n SourceMap,\n EachMapping,\n Bias,\n XInput,\n} from './types';\nimport type { Source } from './by-source';\nimport type { MemoState } from './binary-search';\n\nexport type { SourceMapSegment } from './sourcemap-segment';\nexport type {\n SourceMap,\n DecodedSourceMap,\n EncodedSourceMap,\n Section,\n SectionedSourceMap,\n SourceMapV3,\n Bias,\n EachMapping,\n GeneratedMapping,\n InvalidGeneratedMapping,\n InvalidOriginalMapping,\n Needle,\n OriginalMapping,\n OriginalMapping as Mapping,\n SectionedSourceMapInput,\n SourceMapInput,\n SourceNeedle,\n XInput,\n EncodedSourceMapXInput,\n DecodedSourceMapXInput,\n SectionedSourceMapXInput,\n SectionXInput,\n} from './types';\n\ninterface PublicMap {\n _encoded: TraceMap['_encoded'];\n _decoded: TraceMap['_decoded'];\n _decodedMemo: TraceMap['_decodedMemo'];\n _bySources: TraceMap['_bySources'];\n _bySourceMemos: TraceMap['_bySourceMemos'];\n}\n\nconst LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\nconst COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\n\nexport const LEAST_UPPER_BOUND = -1;\nexport const GREATEST_LOWER_BOUND = 1;\n\nexport { AnyMap } from './any-map';\n\nexport class TraceMap implements SourceMap {\n declare version: SourceMapV3['version'];\n declare file: SourceMapV3['file'];\n declare names: SourceMapV3['names'];\n declare sourceRoot: SourceMapV3['sourceRoot'];\n declare sources: SourceMapV3['sources'];\n declare sourcesContent: SourceMapV3['sourcesContent'];\n declare ignoreList: SourceMapV3['ignoreList'];\n\n declare resolvedSources: string[];\n private declare _encoded: string | undefined;\n\n private declare _decoded: SourceMapSegment[][] | undefined;\n private declare _decodedMemo: MemoState;\n\n private declare _bySources: Source[] | undefined;\n private declare _bySourceMemos: MemoState[] | undefined;\n\n constructor(map: SourceMapInput, mapUrl?: string | null) {\n const isString = typeof map === 'string';\n\n if (!isString && (map as unknown as { _decodedMemo: any })._decodedMemo) return map as TraceMap;\n\n const parsed = (isString ? JSON.parse(map) : map) as DecodedSourceMap | EncodedSourceMap;\n\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names || [];\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n this.ignoreList = parsed.ignoreList || (parsed as XInput).x_google_ignoreList || undefined;\n\n const from = resolve(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve(s || '', from));\n\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n } else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map: unknown): PublicMap {\n return map as any;\n}\n\n/**\n * Returns the encoded (VLQ string) form of the SourceMap's mappings field.\n */\nexport function encodedMappings(map: TraceMap): EncodedSourceMap['mappings'] {\n return (cast(map)._encoded ??= encode(cast(map)._decoded!));\n}\n\n/**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\nexport function decodedMappings(map: TraceMap): Readonly {\n return (cast(map)._decoded ||= decode(cast(map)._encoded!));\n}\n\n/**\n * A low-level API to find the segment associated with a generated line/column (think, from a\n * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.\n */\nexport function traceSegment(\n map: TraceMap,\n line: number,\n column: number,\n): Readonly | null {\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return null;\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n cast(map)._decodedMemo,\n line,\n column,\n GREATEST_LOWER_BOUND,\n );\n\n return index === -1 ? null : segments[index];\n}\n\n/**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\nexport function originalPositionFor(\n map: TraceMap,\n needle: Needle,\n): OriginalMapping | InvalidOriginalMapping {\n let { line, column, bias } = needle;\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return OMapping(null, null, null, null);\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n cast(map)._decodedMemo,\n line,\n column,\n bias || GREATEST_LOWER_BOUND,\n );\n\n if (index === -1) return OMapping(null, null, null, null);\n\n const segment = segments[index];\n if (segment.length === 1) return OMapping(null, null, null, null);\n\n const { names, resolvedSources } = map;\n return OMapping(\n resolvedSources[segment[SOURCES_INDEX]],\n segment[SOURCE_LINE] + 1,\n segment[SOURCE_COLUMN],\n segment.length === 5 ? names[segment[NAMES_INDEX]] : null,\n );\n}\n\n/**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\nexport function generatedPositionFor(\n map: TraceMap,\n needle: SourceNeedle,\n): GeneratedMapping | InvalidGeneratedMapping {\n const { source, line, column, bias } = needle;\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n}\n\n/**\n * Finds all generated line/column positions of the provided source/line/column source position.\n */\nexport function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[] {\n const { source, line, column, bias } = needle;\n // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.\n return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);\n}\n\n/**\n * Iterates each mapping in generated position order.\n */\nexport function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void {\n const decoded = decodedMappings(map);\n const { names, resolvedSources } = map;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generatedLine = i + 1;\n const generatedColumn = seg[0];\n let source = null;\n let originalLine = null;\n let originalColumn = null;\n let name = null;\n if (seg.length !== 1) {\n source = resolvedSources[seg[1]];\n originalLine = seg[2] + 1;\n originalColumn = seg[3];\n }\n if (seg.length === 5) name = names[seg[4]];\n\n cb({\n generatedLine,\n generatedColumn,\n source,\n originalLine,\n originalColumn,\n name,\n } as EachMapping);\n }\n }\n}\n\nfunction sourceIndex(map: TraceMap, source: string): number {\n const { sources, resolvedSources } = map;\n let index = sources.indexOf(source);\n if (index === -1) index = resolvedSources.indexOf(source);\n return index;\n}\n\n/**\n * Retrieves the source content for a particular source, if its found. Returns null if not.\n */\nexport function sourceContentFor(map: TraceMap, source: string): string | null {\n const { sourcesContent } = map;\n if (sourcesContent == null) return null;\n const index = sourceIndex(map, source);\n return index === -1 ? null : sourcesContent[index];\n}\n\n/**\n * Determines if the source is marked to ignore by the source map.\n */\nexport function isIgnored(map: TraceMap, source: string): boolean {\n const { ignoreList } = map;\n if (ignoreList == null) return false;\n const index = sourceIndex(map, source);\n return index === -1 ? false : ignoreList.includes(index);\n}\n\n/**\n * A helper that skips sorting of the input map's mappings array, which can be expensive for larger\n * maps.\n */\nexport function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap {\n const tracer = new TraceMap(clone(map, []), mapUrl);\n cast(tracer)._decoded = map.mappings;\n return tracer;\n}\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function decodedMap(\n map: TraceMap,\n): Omit & { mappings: readonly SourceMapSegment[][] } {\n return clone(map, decodedMappings(map));\n}\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function encodedMap(map: TraceMap): EncodedSourceMap {\n return clone(map, encodedMappings(map));\n}\n\nfunction clone(\n map: TraceMap | DecodedSourceMap,\n mappings: T,\n): T extends string ? EncodedSourceMap : DecodedSourceMap {\n return {\n version: map.version,\n file: map.file,\n names: map.names,\n sourceRoot: map.sourceRoot,\n sources: map.sources,\n sourcesContent: map.sourcesContent,\n mappings,\n ignoreList: map.ignoreList || (map as XInput).x_google_ignoreList,\n } as any;\n}\n\nfunction OMapping(source: null, line: null, column: null, name: null): InvalidOriginalMapping;\nfunction OMapping(\n source: string,\n line: number,\n column: number,\n name: string | null,\n): OriginalMapping;\nfunction OMapping(\n source: string | null,\n line: number | null,\n column: number | null,\n name: string | null,\n): OriginalMapping | InvalidOriginalMapping {\n return { source, line, column, name } as any;\n}\n\nfunction GMapping(line: null, column: null): InvalidGeneratedMapping;\nfunction GMapping(line: number, column: number): GeneratedMapping;\nfunction GMapping(\n line: number | null,\n column: number | null,\n): GeneratedMapping | InvalidGeneratedMapping {\n return { line, column } as any;\n}\n\nfunction traceSegmentInternal(\n segments: SourceMapSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: SourceMapSegment[] | ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (bsFound) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n } else if (bias === LEAST_UPPER_BOUND) index++;\n\n if (index === -1 || index === segments.length) return -1;\n return index;\n}\n\nfunction sliceGeneratedPositions(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): GeneratedMapping[] {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!bsFound && bias === LEAST_UPPER_BOUND) min++;\n\n if (min === -1 || min === segments.length) return [];\n\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = bsFound ? column : segments[min][COLUMN];\n\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!bsFound) min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n}\n\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: false,\n): GeneratedMapping | InvalidGeneratedMapping;\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: true,\n): GeneratedMapping[];\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: boolean,\n): GeneratedMapping | InvalidGeneratedMapping | GeneratedMapping[] {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1) return all ? [] : GMapping(null, null);\n\n const generated = (cast(map)._bySources ||= buildBySources(\n decodedMappings(map),\n (cast(map)._bySourceMemos = sources.map(memoizedState)),\n ));\n\n const segments = generated[sourceIndex][line];\n if (segments == null) return all ? [] : GMapping(null, null);\n\n const memo = cast(map)._bySourceMemos![sourceIndex];\n\n if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);\n\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1) return GMapping(null, null);\n\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n}\n"],"names":["bsFound"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js b/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
deleted file mode 100644
index 3be0f36..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
+++ /dev/null
@@ -1,600 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/sourcemap-codec'), require('@jridgewell/resolve-uri')) :
- typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/sourcemap-codec', '@jridgewell/resolve-uri'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.traceMapping = {}, global.sourcemapCodec, global.resolveURI));
-})(this, (function (exports, sourcemapCodec, resolveUri) { 'use strict';
-
- function resolve(input, base) {
- // The base is always treated as a directory, if it's not empty.
- // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327
- // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401
- if (base && !base.endsWith('/'))
- base += '/';
- return resolveUri(input, base);
- }
-
- /**
- * Removes everything after the last "/", but leaves the slash.
- */
- function stripFilename(path) {
- if (!path)
- return '';
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
- }
-
- const COLUMN = 0;
- const SOURCES_INDEX = 1;
- const SOURCE_LINE = 2;
- const SOURCE_COLUMN = 3;
- const NAMES_INDEX = 4;
- const REV_GENERATED_LINE = 1;
- const REV_GENERATED_COLUMN = 2;
-
- function maybeSort(mappings, owned) {
- const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
- if (unsortedIndex === mappings.length)
- return mappings;
- // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If
- // not, we do not want to modify the consumer's input array.
- if (!owned)
- mappings = mappings.slice();
- for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
- mappings[i] = sortSegments(mappings[i], owned);
- }
- return mappings;
- }
- function nextUnsortedSegmentLine(mappings, start) {
- for (let i = start; i < mappings.length; i++) {
- if (!isSorted(mappings[i]))
- return i;
- }
- return mappings.length;
- }
- function isSorted(line) {
- for (let j = 1; j < line.length; j++) {
- if (line[j][COLUMN] < line[j - 1][COLUMN]) {
- return false;
- }
- }
- return true;
- }
- function sortSegments(line, owned) {
- if (!owned)
- line = line.slice();
- return line.sort(sortComparator);
- }
- function sortComparator(a, b) {
- return a[COLUMN] - b[COLUMN];
- }
-
- let found = false;
- /**
- * A binary search implementation that returns the index if a match is found.
- * If no match is found, then the left-index (the index associated with the item that comes just
- * before the desired index) is returned. To maintain proper sort order, a splice would happen at
- * the next index:
- *
- * ```js
- * const array = [1, 3];
- * const needle = 2;
- * const index = binarySearch(array, needle, (item, needle) => item - needle);
- *
- * assert.equal(index, 0);
- * array.splice(index + 1, 0, needle);
- * assert.deepEqual(array, [1, 2, 3]);
- * ```
- */
- function binarySearch(haystack, needle, low, high) {
- while (low <= high) {
- const mid = low + ((high - low) >> 1);
- const cmp = haystack[mid][COLUMN] - needle;
- if (cmp === 0) {
- found = true;
- return mid;
- }
- if (cmp < 0) {
- low = mid + 1;
- }
- else {
- high = mid - 1;
- }
- }
- found = false;
- return low - 1;
- }
- function upperBound(haystack, needle, index) {
- for (let i = index + 1; i < haystack.length; index = i++) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
- }
- function lowerBound(haystack, needle, index) {
- for (let i = index - 1; i >= 0; index = i--) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
- }
- function memoizedState() {
- return {
- lastKey: -1,
- lastNeedle: -1,
- lastIndex: -1,
- };
- }
- /**
- * This overly complicated beast is just to record the last tested line/column and the resulting
- * index, allowing us to skip a few tests if mappings are monotonically increasing.
- */
- function memoizedBinarySearch(haystack, needle, state, key) {
- const { lastKey, lastNeedle, lastIndex } = state;
- let low = 0;
- let high = haystack.length - 1;
- if (key === lastKey) {
- if (needle === lastNeedle) {
- found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
- return lastIndex;
- }
- if (needle >= lastNeedle) {
- // lastIndex may be -1 if the previous needle was not found.
- low = lastIndex === -1 ? 0 : lastIndex;
- }
- else {
- high = lastIndex;
- }
- }
- state.lastKey = key;
- state.lastNeedle = needle;
- return (state.lastIndex = binarySearch(haystack, needle, low, high));
- }
-
- // Rebuilds the original source files, with mappings that are ordered by source line/column instead
- // of generated line/column.
- function buildBySources(decoded, memos) {
- const sources = memos.map(buildNullArray);
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- if (seg.length === 1)
- continue;
- const sourceIndex = seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- const originalSource = sources[sourceIndex];
- const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));
- const memo = memos[sourceIndex];
- // The binary search either found a match, or it found the left-index just before where the
- // segment should go. Either way, we want to insert after that. And there may be multiple
- // generated segments associated with an original location, so there may need to move several
- // indexes before we find where we need to insert.
- let index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
- memo.lastIndex = ++index;
- insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);
- }
- }
- return sources;
- }
- function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
- }
- // Null arrays allow us to use ordered index keys without actually allocating contiguous memory like
- // a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.
- // Numeric properties on objects are magically sorted in ascending order by the engine regardless of
- // the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending
- // order when iterating with for-in.
- function buildNullArray() {
- return { __proto__: null };
- }
-
- const AnyMap = function (map, mapUrl) {
- const parsed = parse(map);
- if (!('sections' in parsed)) {
- return new TraceMap(parsed, mapUrl);
- }
- const mappings = [];
- const sources = [];
- const sourcesContent = [];
- const names = [];
- const ignoreList = [];
- recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, ignoreList, 0, 0, Infinity, Infinity);
- const joined = {
- version: 3,
- file: parsed.file,
- names,
- sources,
- sourcesContent,
- mappings,
- ignoreList,
- };
- return presortedDecodedMap(joined);
- };
- function parse(map) {
- return typeof map === 'string' ? JSON.parse(map) : map;
- }
- function recurse(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {
- const { sections } = input;
- for (let i = 0; i < sections.length; i++) {
- const { map, offset } = sections[i];
- let sl = stopLine;
- let sc = stopColumn;
- if (i + 1 < sections.length) {
- const nextOffset = sections[i + 1].offset;
- sl = Math.min(stopLine, lineOffset + nextOffset.line);
- if (sl === stopLine) {
- sc = Math.min(stopColumn, columnOffset + nextOffset.column);
- }
- else if (sl < stopLine) {
- sc = columnOffset + nextOffset.column;
- }
- }
- addSection(map, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset + offset.line, columnOffset + offset.column, sl, sc);
- }
- }
- function addSection(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {
- const parsed = parse(input);
- if ('sections' in parsed)
- return recurse(...arguments);
- const map = new TraceMap(parsed, mapUrl);
- const sourcesOffset = sources.length;
- const namesOffset = names.length;
- const decoded = decodedMappings(map);
- const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;
- append(sources, resolvedSources);
- append(names, map.names);
- if (contents)
- append(sourcesContent, contents);
- else
- for (let i = 0; i < resolvedSources.length; i++)
- sourcesContent.push(null);
- if (ignores)
- for (let i = 0; i < ignores.length; i++)
- ignoreList.push(ignores[i] + sourcesOffset);
- for (let i = 0; i < decoded.length; i++) {
- const lineI = lineOffset + i;
- // We can only add so many lines before we step into the range that the next section's map
- // controls. When we get to the last line, then we'll start checking the segments to see if
- // they've crossed into the column range. But it may not have any columns that overstep, so we
- // still need to check that we don't overstep lines, too.
- if (lineI > stopLine)
- return;
- // The out line may already exist in mappings (if we're continuing the line started by a
- // previous section). Or, we may have jumped ahead several lines to start this section.
- const out = getLine(mappings, lineI);
- // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the
- // map can be multiple lines), it doesn't.
- const cOffset = i === 0 ? columnOffset : 0;
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const column = cOffset + seg[COLUMN];
- // If this segment steps into the column range that the next section's map controls, we need
- // to stop early.
- if (lineI === stopLine && column >= stopColumn)
- return;
- if (seg.length === 1) {
- out.push([column]);
- continue;
- }
- const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- out.push(seg.length === 4
- ? [column, sourcesIndex, sourceLine, sourceColumn]
- : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
- }
- }
- }
- function append(arr, other) {
- for (let i = 0; i < other.length; i++)
- arr.push(other[i]);
- }
- function getLine(arr, index) {
- for (let i = arr.length; i <= index; i++)
- arr[i] = [];
- return arr[index];
- }
-
- const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
- const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
- const LEAST_UPPER_BOUND = -1;
- const GREATEST_LOWER_BOUND = 1;
- class TraceMap {
- constructor(map, mapUrl) {
- const isString = typeof map === 'string';
- if (!isString && map._decodedMemo)
- return map;
- const parsed = (isString ? JSON.parse(map) : map);
- const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
- this.version = version;
- this.file = file;
- this.names = names || [];
- this.sourceRoot = sourceRoot;
- this.sources = sources;
- this.sourcesContent = sourcesContent;
- this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || undefined;
- const from = resolve(sourceRoot || '', stripFilename(mapUrl));
- this.resolvedSources = sources.map((s) => resolve(s || '', from));
- const { mappings } = parsed;
- if (typeof mappings === 'string') {
- this._encoded = mappings;
- this._decoded = undefined;
- }
- else {
- this._encoded = undefined;
- this._decoded = maybeSort(mappings, isString);
- }
- this._decodedMemo = memoizedState();
- this._bySources = undefined;
- this._bySourceMemos = undefined;
- }
- }
- /**
- * Typescript doesn't allow friend access to private fields, so this just casts the map into a type
- * with public access modifiers.
- */
- function cast(map) {
- return map;
- }
- /**
- * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
- */
- function encodedMappings(map) {
- var _a;
- var _b;
- return ((_a = (_b = cast(map))._encoded) !== null && _a !== void 0 ? _a : (_b._encoded = sourcemapCodec.encode(cast(map)._decoded)));
- }
- /**
- * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
- */
- function decodedMappings(map) {
- var _a;
- return ((_a = cast(map))._decoded || (_a._decoded = sourcemapCodec.decode(cast(map)._encoded)));
- }
- /**
- * A low-level API to find the segment associated with a generated line/column (think, from a
- * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
- */
- function traceSegment(map, line, column) {
- const decoded = decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return null;
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, GREATEST_LOWER_BOUND);
- return index === -1 ? null : segments[index];
- }
- /**
- * A higher-level API to find the source/line/column associated with a generated line/column
- * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
- * `source-map` library.
- */
- function originalPositionFor(map, needle) {
- let { line, column, bias } = needle;
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const decoded = decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return OMapping(null, null, null, null);
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
- if (index === -1)
- return OMapping(null, null, null, null);
- const segment = segments[index];
- if (segment.length === 1)
- return OMapping(null, null, null, null);
- const { names, resolvedSources } = map;
- return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
- }
- /**
- * Finds the generated line/column position of the provided source/line/column source position.
- */
- function generatedPositionFor(map, needle) {
- const { source, line, column, bias } = needle;
- return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);
- }
- /**
- * Finds all generated line/column positions of the provided source/line/column source position.
- */
- function allGeneratedPositionsFor(map, needle) {
- const { source, line, column, bias } = needle;
- // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.
- return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);
- }
- /**
- * Iterates each mapping in generated position order.
- */
- function eachMapping(map, cb) {
- const decoded = decodedMappings(map);
- const { names, resolvedSources } = map;
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generatedLine = i + 1;
- const generatedColumn = seg[0];
- let source = null;
- let originalLine = null;
- let originalColumn = null;
- let name = null;
- if (seg.length !== 1) {
- source = resolvedSources[seg[1]];
- originalLine = seg[2] + 1;
- originalColumn = seg[3];
- }
- if (seg.length === 5)
- name = names[seg[4]];
- cb({
- generatedLine,
- generatedColumn,
- source,
- originalLine,
- originalColumn,
- name,
- });
- }
- }
- }
- function sourceIndex(map, source) {
- const { sources, resolvedSources } = map;
- let index = sources.indexOf(source);
- if (index === -1)
- index = resolvedSources.indexOf(source);
- return index;
- }
- /**
- * Retrieves the source content for a particular source, if its found. Returns null if not.
- */
- function sourceContentFor(map, source) {
- const { sourcesContent } = map;
- if (sourcesContent == null)
- return null;
- const index = sourceIndex(map, source);
- return index === -1 ? null : sourcesContent[index];
- }
- /**
- * Determines if the source is marked to ignore by the source map.
- */
- function isIgnored(map, source) {
- const { ignoreList } = map;
- if (ignoreList == null)
- return false;
- const index = sourceIndex(map, source);
- return index === -1 ? false : ignoreList.includes(index);
- }
- /**
- * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
- * maps.
- */
- function presortedDecodedMap(map, mapUrl) {
- const tracer = new TraceMap(clone(map, []), mapUrl);
- cast(tracer)._decoded = map.mappings;
- return tracer;
- }
- /**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- function decodedMap(map) {
- return clone(map, decodedMappings(map));
- }
- /**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- function encodedMap(map) {
- return clone(map, encodedMappings(map));
- }
- function clone(map, mappings) {
- return {
- version: map.version,
- file: map.file,
- names: map.names,
- sourceRoot: map.sourceRoot,
- sources: map.sources,
- sourcesContent: map.sourcesContent,
- mappings,
- ignoreList: map.ignoreList || map.x_google_ignoreList,
- };
- }
- function OMapping(source, line, column, name) {
- return { source, line, column, name };
- }
- function GMapping(line, column) {
- return { line, column };
- }
- function traceSegmentInternal(segments, memo, line, column, bias) {
- let index = memoizedBinarySearch(segments, column, memo, line);
- if (found) {
- index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
- }
- else if (bias === LEAST_UPPER_BOUND)
- index++;
- if (index === -1 || index === segments.length)
- return -1;
- return index;
- }
- function sliceGeneratedPositions(segments, memo, line, column, bias) {
- let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);
- // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in
- // insertion order) segment that matched. Even if we did respect the bias when tracing, we would
- // still need to call `lowerBound()` to find the first segment, which is slower than just looking
- // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the
- // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to
- // match LEAST_UPPER_BOUND.
- if (!found && bias === LEAST_UPPER_BOUND)
- min++;
- if (min === -1 || min === segments.length)
- return [];
- // We may have found the segment that started at an earlier column. If this is the case, then we
- // need to slice all generated segments that match _that_ column, because all such segments span
- // to our desired column.
- const matchedColumn = found ? column : segments[min][COLUMN];
- // The binary search is not guaranteed to find the lower bound when a match wasn't found.
- if (!found)
- min = lowerBound(segments, matchedColumn, min);
- const max = upperBound(segments, matchedColumn, min);
- const result = [];
- for (; min <= max; min++) {
- const segment = segments[min];
- result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));
- }
- return result;
- }
- function generatedPosition(map, source, line, column, bias, all) {
- var _a;
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const { sources, resolvedSources } = map;
- let sourceIndex = sources.indexOf(source);
- if (sourceIndex === -1)
- sourceIndex = resolvedSources.indexOf(source);
- if (sourceIndex === -1)
- return all ? [] : GMapping(null, null);
- const generated = ((_a = cast(map))._bySources || (_a._bySources = buildBySources(decodedMappings(map), (cast(map)._bySourceMemos = sources.map(memoizedState)))));
- const segments = generated[sourceIndex][line];
- if (segments == null)
- return all ? [] : GMapping(null, null);
- const memo = cast(map)._bySourceMemos[sourceIndex];
- if (all)
- return sliceGeneratedPositions(segments, memo, line, column, bias);
- const index = traceSegmentInternal(segments, memo, line, column, bias);
- if (index === -1)
- return GMapping(null, null);
- const segment = segments[index];
- return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
- }
-
- exports.AnyMap = AnyMap;
- exports.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND;
- exports.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND;
- exports.TraceMap = TraceMap;
- exports.allGeneratedPositionsFor = allGeneratedPositionsFor;
- exports.decodedMap = decodedMap;
- exports.decodedMappings = decodedMappings;
- exports.eachMapping = eachMapping;
- exports.encodedMap = encodedMap;
- exports.encodedMappings = encodedMappings;
- exports.generatedPositionFor = generatedPositionFor;
- exports.isIgnored = isIgnored;
- exports.originalPositionFor = originalPositionFor;
- exports.presortedDecodedMap = presortedDecodedMap;
- exports.sourceContentFor = sourceContentFor;
- exports.traceSegment = traceSegment;
-
-}));
-//# sourceMappingURL=trace-mapping.umd.js.map
diff --git a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map b/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map
deleted file mode 100644
index c6716ea..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"trace-mapping.umd.js","sources":["../src/resolve.ts","../src/strip-filename.ts","../src/sourcemap-segment.ts","../src/sort.ts","../src/binary-search.ts","../src/by-source.ts","../src/any-map.ts","../src/trace-mapping.ts"],"sourcesContent":["import resolveUri from '@jridgewell/resolve-uri';\n\nexport default function resolve(input: string, base: string | undefined): string {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/')) base += '/';\n\n return resolveUri(input, base);\n}\n","/**\n * Removes everything after the last \"/\", but leaves the slash.\n */\nexport default function stripFilename(path: string | undefined | null): string {\n if (!path) return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n","type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\ntype GeneratedLine = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n\nexport const REV_GENERATED_LINE = 1;\nexport const REV_GENERATED_COLUMN = 2;\n","import { COLUMN } from './sourcemap-segment';\n\nimport type { SourceMapSegment } from './sourcemap-segment';\n\nexport default function maybeSort(\n mappings: SourceMapSegment[][],\n owned: boolean,\n): SourceMapSegment[][] {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length) return mappings;\n\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned) mappings = mappings.slice();\n\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n}\n\nfunction nextUnsortedSegmentLine(mappings: SourceMapSegment[][], start: number): number {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i])) return i;\n }\n return mappings.length;\n}\n\nfunction isSorted(line: SourceMapSegment[]): boolean {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n}\n\nfunction sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] {\n if (!owned) line = line.slice();\n return line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[COLUMN] - b[COLUMN];\n}\n","import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport { COLUMN } from './sourcemap-segment';\n\nexport type MemoState = {\n lastKey: number;\n lastNeedle: number;\n lastIndex: number;\n};\n\nexport let found = false;\n\n/**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\nexport function binarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n low: number,\n high: number,\n): number {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n\n if (cmp === 0) {\n found = true;\n return mid;\n }\n\n if (cmp < 0) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n found = false;\n return low - 1;\n}\n\nexport function upperBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function lowerBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function memoizedState(): MemoState {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n}\n\n/**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\nexport function memoizedBinarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n state: MemoState,\n key: number,\n): number {\n const { lastKey, lastNeedle, lastIndex } = state;\n\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n } else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n}\n","import { COLUMN, SOURCES_INDEX, SOURCE_LINE, SOURCE_COLUMN } from './sourcemap-segment';\nimport { memoizedBinarySearch, upperBound } from './binary-search';\n\nimport type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';\nimport type { MemoState } from './binary-search';\n\nexport type Source = {\n __proto__: null;\n [line: number]: Exclude[];\n};\n\n// Rebuilds the original source files, with mappings that are ordered by source line/column instead\n// of generated line/column.\nexport default function buildBySources(\n decoded: readonly SourceMapSegment[][],\n memos: MemoState[],\n): Source[] {\n const sources: Source[] = memos.map(buildNullArray);\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1) continue;\n\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] ||= []);\n const memo = memos[sourceIndex];\n\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n let index = upperBound(\n originalLine,\n sourceColumn,\n memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine),\n );\n\n memo.lastIndex = ++index;\n insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);\n }\n }\n\n return sources;\n}\n\nfunction insert(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\n// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n// Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n// order when iterating with for-in.\nfunction buildNullArray(): T {\n return { __proto__: null } as T;\n}\n","import { TraceMap, presortedDecodedMap, decodedMappings } from './trace-mapping';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type {\n DecodedSourceMap,\n DecodedSourceMapXInput,\n EncodedSourceMapXInput,\n SectionedSourceMapXInput,\n SectionedSourceMapInput,\n SectionXInput,\n} from './types';\nimport type { SourceMapSegment } from './sourcemap-segment';\n\ntype AnyMap = {\n new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n};\n\nexport const AnyMap: AnyMap = function (map, mapUrl) {\n const parsed = parse(map);\n\n if (!('sections' in parsed)) {\n return new TraceMap(parsed as DecodedSourceMapXInput | EncodedSourceMapXInput, mapUrl);\n }\n\n const mappings: SourceMapSegment[][] = [];\n const sources: string[] = [];\n const sourcesContent: (string | null)[] = [];\n const names: string[] = [];\n const ignoreList: number[] = [];\n\n recurse(\n parsed,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n ignoreList,\n 0,\n 0,\n Infinity,\n Infinity,\n );\n\n const joined: DecodedSourceMap = {\n version: 3,\n file: parsed.file,\n names,\n sources,\n sourcesContent,\n mappings,\n ignoreList,\n };\n\n return presortedDecodedMap(joined);\n} as AnyMap;\n\nfunction parse(map: T): Exclude {\n return typeof map === 'string' ? JSON.parse(map) : map;\n}\n\nfunction recurse(\n input: SectionedSourceMapXInput,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n ignoreList: number[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const { sections } = input;\n for (let i = 0; i < sections.length; i++) {\n const { map, offset } = sections[i];\n\n let sl = stopLine;\n let sc = stopColumn;\n if (i + 1 < sections.length) {\n const nextOffset = sections[i + 1].offset;\n sl = Math.min(stopLine, lineOffset + nextOffset.line);\n\n if (sl === stopLine) {\n sc = Math.min(stopColumn, columnOffset + nextOffset.column);\n } else if (sl < stopLine) {\n sc = columnOffset + nextOffset.column;\n }\n }\n\n addSection(\n map,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n ignoreList,\n lineOffset + offset.line,\n columnOffset + offset.column,\n sl,\n sc,\n );\n }\n}\n\nfunction addSection(\n input: SectionXInput['map'],\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n ignoreList: number[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const parsed = parse(input);\n if ('sections' in parsed) return recurse(...(arguments as unknown as Parameters));\n\n const map = new TraceMap(parsed, mapUrl);\n const sourcesOffset = sources.length;\n const namesOffset = names.length;\n const decoded = decodedMappings(map);\n const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;\n\n append(sources, resolvedSources);\n append(names, map.names);\n\n if (contents) append(sourcesContent, contents);\n else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);\n\n if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset);\n\n for (let i = 0; i < decoded.length; i++) {\n const lineI = lineOffset + i;\n\n // We can only add so many lines before we step into the range that the next section's map\n // controls. When we get to the last line, then we'll start checking the segments to see if\n // they've crossed into the column range. But it may not have any columns that overstep, so we\n // still need to check that we don't overstep lines, too.\n if (lineI > stopLine) return;\n\n // The out line may already exist in mappings (if we're continuing the line started by a\n // previous section). Or, we may have jumped ahead several lines to start this section.\n const out = getLine(mappings, lineI);\n // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the\n // map can be multiple lines), it doesn't.\n const cOffset = i === 0 ? columnOffset : 0;\n\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const column = cOffset + seg[COLUMN];\n\n // If this segment steps into the column range that the next section's map controls, we need\n // to stop early.\n if (lineI === stopLine && column >= stopColumn) return;\n\n if (seg.length === 1) {\n out.push([column]);\n continue;\n }\n\n const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n out.push(\n seg.length === 4\n ? [column, sourcesIndex, sourceLine, sourceColumn]\n : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]],\n );\n }\n }\n}\n\nfunction append(arr: T[], other: T[]) {\n for (let i = 0; i < other.length; i++) arr.push(other[i]);\n}\n\nfunction getLine(arr: T[][], index: number): T[] {\n for (let i = arr.length; i <= index; i++) arr[i] = [];\n return arr[index];\n}\n","import { encode, decode } from '@jridgewell/sourcemap-codec';\n\nimport resolve from './resolve';\nimport stripFilename from './strip-filename';\nimport maybeSort from './sort';\nimport buildBySources from './by-source';\nimport {\n memoizedState,\n memoizedBinarySearch,\n upperBound,\n lowerBound,\n found as bsFound,\n} from './binary-search';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n REV_GENERATED_LINE,\n REV_GENERATED_COLUMN,\n} from './sourcemap-segment';\n\nimport type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport type {\n SourceMapV3,\n DecodedSourceMap,\n EncodedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n SourceMapInput,\n Needle,\n SourceNeedle,\n SourceMap,\n EachMapping,\n Bias,\n XInput,\n} from './types';\nimport type { Source } from './by-source';\nimport type { MemoState } from './binary-search';\n\nexport type { SourceMapSegment } from './sourcemap-segment';\nexport type {\n SourceMap,\n DecodedSourceMap,\n EncodedSourceMap,\n Section,\n SectionedSourceMap,\n SourceMapV3,\n Bias,\n EachMapping,\n GeneratedMapping,\n InvalidGeneratedMapping,\n InvalidOriginalMapping,\n Needle,\n OriginalMapping,\n OriginalMapping as Mapping,\n SectionedSourceMapInput,\n SourceMapInput,\n SourceNeedle,\n XInput,\n EncodedSourceMapXInput,\n DecodedSourceMapXInput,\n SectionedSourceMapXInput,\n SectionXInput,\n} from './types';\n\ninterface PublicMap {\n _encoded: TraceMap['_encoded'];\n _decoded: TraceMap['_decoded'];\n _decodedMemo: TraceMap['_decodedMemo'];\n _bySources: TraceMap['_bySources'];\n _bySourceMemos: TraceMap['_bySourceMemos'];\n}\n\nconst LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\nconst COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\n\nexport const LEAST_UPPER_BOUND = -1;\nexport const GREATEST_LOWER_BOUND = 1;\n\nexport { AnyMap } from './any-map';\n\nexport class TraceMap implements SourceMap {\n declare version: SourceMapV3['version'];\n declare file: SourceMapV3['file'];\n declare names: SourceMapV3['names'];\n declare sourceRoot: SourceMapV3['sourceRoot'];\n declare sources: SourceMapV3['sources'];\n declare sourcesContent: SourceMapV3['sourcesContent'];\n declare ignoreList: SourceMapV3['ignoreList'];\n\n declare resolvedSources: string[];\n private declare _encoded: string | undefined;\n\n private declare _decoded: SourceMapSegment[][] | undefined;\n private declare _decodedMemo: MemoState;\n\n private declare _bySources: Source[] | undefined;\n private declare _bySourceMemos: MemoState[] | undefined;\n\n constructor(map: SourceMapInput, mapUrl?: string | null) {\n const isString = typeof map === 'string';\n\n if (!isString && (map as unknown as { _decodedMemo: any })._decodedMemo) return map as TraceMap;\n\n const parsed = (isString ? JSON.parse(map) : map) as DecodedSourceMap | EncodedSourceMap;\n\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names || [];\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n this.ignoreList = parsed.ignoreList || (parsed as XInput).x_google_ignoreList || undefined;\n\n const from = resolve(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve(s || '', from));\n\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n } else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map: unknown): PublicMap {\n return map as any;\n}\n\n/**\n * Returns the encoded (VLQ string) form of the SourceMap's mappings field.\n */\nexport function encodedMappings(map: TraceMap): EncodedSourceMap['mappings'] {\n return (cast(map)._encoded ??= encode(cast(map)._decoded!));\n}\n\n/**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\nexport function decodedMappings(map: TraceMap): Readonly {\n return (cast(map)._decoded ||= decode(cast(map)._encoded!));\n}\n\n/**\n * A low-level API to find the segment associated with a generated line/column (think, from a\n * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.\n */\nexport function traceSegment(\n map: TraceMap,\n line: number,\n column: number,\n): Readonly | null {\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return null;\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n cast(map)._decodedMemo,\n line,\n column,\n GREATEST_LOWER_BOUND,\n );\n\n return index === -1 ? null : segments[index];\n}\n\n/**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\nexport function originalPositionFor(\n map: TraceMap,\n needle: Needle,\n): OriginalMapping | InvalidOriginalMapping {\n let { line, column, bias } = needle;\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return OMapping(null, null, null, null);\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n cast(map)._decodedMemo,\n line,\n column,\n bias || GREATEST_LOWER_BOUND,\n );\n\n if (index === -1) return OMapping(null, null, null, null);\n\n const segment = segments[index];\n if (segment.length === 1) return OMapping(null, null, null, null);\n\n const { names, resolvedSources } = map;\n return OMapping(\n resolvedSources[segment[SOURCES_INDEX]],\n segment[SOURCE_LINE] + 1,\n segment[SOURCE_COLUMN],\n segment.length === 5 ? names[segment[NAMES_INDEX]] : null,\n );\n}\n\n/**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\nexport function generatedPositionFor(\n map: TraceMap,\n needle: SourceNeedle,\n): GeneratedMapping | InvalidGeneratedMapping {\n const { source, line, column, bias } = needle;\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n}\n\n/**\n * Finds all generated line/column positions of the provided source/line/column source position.\n */\nexport function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[] {\n const { source, line, column, bias } = needle;\n // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.\n return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);\n}\n\n/**\n * Iterates each mapping in generated position order.\n */\nexport function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void {\n const decoded = decodedMappings(map);\n const { names, resolvedSources } = map;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generatedLine = i + 1;\n const generatedColumn = seg[0];\n let source = null;\n let originalLine = null;\n let originalColumn = null;\n let name = null;\n if (seg.length !== 1) {\n source = resolvedSources[seg[1]];\n originalLine = seg[2] + 1;\n originalColumn = seg[3];\n }\n if (seg.length === 5) name = names[seg[4]];\n\n cb({\n generatedLine,\n generatedColumn,\n source,\n originalLine,\n originalColumn,\n name,\n } as EachMapping);\n }\n }\n}\n\nfunction sourceIndex(map: TraceMap, source: string): number {\n const { sources, resolvedSources } = map;\n let index = sources.indexOf(source);\n if (index === -1) index = resolvedSources.indexOf(source);\n return index;\n}\n\n/**\n * Retrieves the source content for a particular source, if its found. Returns null if not.\n */\nexport function sourceContentFor(map: TraceMap, source: string): string | null {\n const { sourcesContent } = map;\n if (sourcesContent == null) return null;\n const index = sourceIndex(map, source);\n return index === -1 ? null : sourcesContent[index];\n}\n\n/**\n * Determines if the source is marked to ignore by the source map.\n */\nexport function isIgnored(map: TraceMap, source: string): boolean {\n const { ignoreList } = map;\n if (ignoreList == null) return false;\n const index = sourceIndex(map, source);\n return index === -1 ? false : ignoreList.includes(index);\n}\n\n/**\n * A helper that skips sorting of the input map's mappings array, which can be expensive for larger\n * maps.\n */\nexport function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap {\n const tracer = new TraceMap(clone(map, []), mapUrl);\n cast(tracer)._decoded = map.mappings;\n return tracer;\n}\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function decodedMap(\n map: TraceMap,\n): Omit & { mappings: readonly SourceMapSegment[][] } {\n return clone(map, decodedMappings(map));\n}\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function encodedMap(map: TraceMap): EncodedSourceMap {\n return clone(map, encodedMappings(map));\n}\n\nfunction clone(\n map: TraceMap | DecodedSourceMap,\n mappings: T,\n): T extends string ? EncodedSourceMap : DecodedSourceMap {\n return {\n version: map.version,\n file: map.file,\n names: map.names,\n sourceRoot: map.sourceRoot,\n sources: map.sources,\n sourcesContent: map.sourcesContent,\n mappings,\n ignoreList: map.ignoreList || (map as XInput).x_google_ignoreList,\n } as any;\n}\n\nfunction OMapping(source: null, line: null, column: null, name: null): InvalidOriginalMapping;\nfunction OMapping(\n source: string,\n line: number,\n column: number,\n name: string | null,\n): OriginalMapping;\nfunction OMapping(\n source: string | null,\n line: number | null,\n column: number | null,\n name: string | null,\n): OriginalMapping | InvalidOriginalMapping {\n return { source, line, column, name } as any;\n}\n\nfunction GMapping(line: null, column: null): InvalidGeneratedMapping;\nfunction GMapping(line: number, column: number): GeneratedMapping;\nfunction GMapping(\n line: number | null,\n column: number | null,\n): GeneratedMapping | InvalidGeneratedMapping {\n return { line, column } as any;\n}\n\nfunction traceSegmentInternal(\n segments: SourceMapSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: SourceMapSegment[] | ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (bsFound) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n } else if (bias === LEAST_UPPER_BOUND) index++;\n\n if (index === -1 || index === segments.length) return -1;\n return index;\n}\n\nfunction sliceGeneratedPositions(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): GeneratedMapping[] {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!bsFound && bias === LEAST_UPPER_BOUND) min++;\n\n if (min === -1 || min === segments.length) return [];\n\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = bsFound ? column : segments[min][COLUMN];\n\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!bsFound) min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n}\n\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: false,\n): GeneratedMapping | InvalidGeneratedMapping;\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: true,\n): GeneratedMapping[];\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: boolean,\n): GeneratedMapping | InvalidGeneratedMapping | GeneratedMapping[] {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1) return all ? [] : GMapping(null, null);\n\n const generated = (cast(map)._bySources ||= buildBySources(\n decodedMappings(map),\n (cast(map)._bySourceMemos = sources.map(memoizedState)),\n ));\n\n const segments = generated[sourceIndex][line];\n if (segments == null) return all ? [] : GMapping(null, null);\n\n const memo = cast(map)._bySourceMemos![sourceIndex];\n\n if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);\n\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1) return GMapping(null, null);\n\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n}\n"],"names":["encode","decode","bsFound"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts
deleted file mode 100644
index ec775fb..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { TraceMap } from './trace-mapping';
-import type { SectionedSourceMapInput } from './types';
-type AnyMap = {
- new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;
- (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;
-};
-export declare const AnyMap: AnyMap;
-export {};
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
deleted file mode 100644
index ecb2873..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';
-export type MemoState = {
- lastKey: number;
- lastNeedle: number;
- lastIndex: number;
-};
-export declare let found: boolean;
-/**
- * A binary search implementation that returns the index if a match is found.
- * If no match is found, then the left-index (the index associated with the item that comes just
- * before the desired index) is returned. To maintain proper sort order, a splice would happen at
- * the next index:
- *
- * ```js
- * const array = [1, 3];
- * const needle = 2;
- * const index = binarySearch(array, needle, (item, needle) => item - needle);
- *
- * assert.equal(index, 0);
- * array.splice(index + 1, 0, needle);
- * assert.deepEqual(array, [1, 2, 3]);
- * ```
- */
-export declare function binarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, low: number, high: number): number;
-export declare function upperBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number;
-export declare function lowerBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number;
-export declare function memoizedState(): MemoState;
-/**
- * This overly complicated beast is just to record the last tested line/column and the resulting
- * index, allowing us to skip a few tests if mappings are monotonically increasing.
- */
-export declare function memoizedBinarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, state: MemoState, key: number): number;
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts
deleted file mode 100644
index a91751c..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';
-import type { MemoState } from './binary-search';
-export type Source = {
- __proto__: null;
- [line: number]: Exclude[];
-};
-export default function buildBySources(decoded: readonly SourceMapSegment[][], memos: MemoState[]): Source[];
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts
deleted file mode 100644
index cf7d4f8..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export default function resolve(input: string, base: string | undefined): string;
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts
deleted file mode 100644
index 2bfb5dc..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-export default function maybeSort(mappings: SourceMapSegment[][], owned: boolean): SourceMapSegment[][];
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts
deleted file mode 100644
index 6d4d318..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-type GeneratedColumn = number;
-type SourcesIndex = number;
-type SourceLine = number;
-type SourceColumn = number;
-type NamesIndex = number;
-type GeneratedLine = number;
-export type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];
-export type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];
-export declare const COLUMN = 0;
-export declare const SOURCES_INDEX = 1;
-export declare const SOURCE_LINE = 2;
-export declare const SOURCE_COLUMN = 3;
-export declare const NAMES_INDEX = 4;
-export declare const REV_GENERATED_LINE = 1;
-export declare const REV_GENERATED_COLUMN = 2;
-export {};
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts
deleted file mode 100644
index bead5c1..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Removes everything after the last "/", but leaves the slash.
- */
-export default function stripFilename(path: string | undefined | null): string;
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts
deleted file mode 100644
index f618ec3..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-import type { SourceMapV3, DecodedSourceMap, EncodedSourceMap, InvalidOriginalMapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, SourceMapInput, Needle, SourceNeedle, SourceMap, EachMapping } from './types';
-export type { SourceMapSegment } from './sourcemap-segment';
-export type { SourceMap, DecodedSourceMap, EncodedSourceMap, Section, SectionedSourceMap, SourceMapV3, Bias, EachMapping, GeneratedMapping, InvalidGeneratedMapping, InvalidOriginalMapping, Needle, OriginalMapping, OriginalMapping as Mapping, SectionedSourceMapInput, SourceMapInput, SourceNeedle, XInput, EncodedSourceMapXInput, DecodedSourceMapXInput, SectionedSourceMapXInput, SectionXInput, } from './types';
-export declare const LEAST_UPPER_BOUND = -1;
-export declare const GREATEST_LOWER_BOUND = 1;
-export { AnyMap } from './any-map';
-export declare class TraceMap implements SourceMap {
- version: SourceMapV3['version'];
- file: SourceMapV3['file'];
- names: SourceMapV3['names'];
- sourceRoot: SourceMapV3['sourceRoot'];
- sources: SourceMapV3['sources'];
- sourcesContent: SourceMapV3['sourcesContent'];
- ignoreList: SourceMapV3['ignoreList'];
- resolvedSources: string[];
- private _encoded;
- private _decoded;
- private _decodedMemo;
- private _bySources;
- private _bySourceMemos;
- constructor(map: SourceMapInput, mapUrl?: string | null);
-}
-/**
- * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
- */
-export declare function encodedMappings(map: TraceMap): EncodedSourceMap['mappings'];
-/**
- * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
- */
-export declare function decodedMappings(map: TraceMap): Readonly;
-/**
- * A low-level API to find the segment associated with a generated line/column (think, from a
- * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
- */
-export declare function traceSegment(map: TraceMap, line: number, column: number): Readonly | null;
-/**
- * A higher-level API to find the source/line/column associated with a generated line/column
- * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
- * `source-map` library.
- */
-export declare function originalPositionFor(map: TraceMap, needle: Needle): OriginalMapping | InvalidOriginalMapping;
-/**
- * Finds the generated line/column position of the provided source/line/column source position.
- */
-export declare function generatedPositionFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping | InvalidGeneratedMapping;
-/**
- * Finds all generated line/column positions of the provided source/line/column source position.
- */
-export declare function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[];
-/**
- * Iterates each mapping in generated position order.
- */
-export declare function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void;
-/**
- * Retrieves the source content for a particular source, if its found. Returns null if not.
- */
-export declare function sourceContentFor(map: TraceMap, source: string): string | null;
-/**
- * Determines if the source is marked to ignore by the source map.
- */
-export declare function isIgnored(map: TraceMap, source: string): boolean;
-/**
- * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
- * maps.
- */
-export declare function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap;
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare function decodedMap(map: TraceMap): Omit & {
- mappings: readonly SourceMapSegment[][];
-};
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare function encodedMap(map: TraceMap): EncodedSourceMap;
diff --git a/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts b/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts
deleted file mode 100644
index a94e6b2..0000000
--- a/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-import type { GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap } from './trace-mapping';
-export interface SourceMapV3 {
- file?: string | null;
- names: string[];
- sourceRoot?: string;
- sources: (string | null)[];
- sourcesContent?: (string | null)[];
- version: 3;
- ignoreList?: number[];
-}
-export interface EncodedSourceMap extends SourceMapV3 {
- mappings: string;
-}
-export interface DecodedSourceMap extends SourceMapV3 {
- mappings: SourceMapSegment[][];
-}
-export interface Section {
- offset: {
- line: number;
- column: number;
- };
- map: EncodedSourceMap | DecodedSourceMap | SectionedSourceMap;
-}
-export interface SectionedSourceMap {
- file?: string | null;
- sections: Section[];
- version: 3;
-}
-export type OriginalMapping = {
- source: string | null;
- line: number;
- column: number;
- name: string | null;
-};
-export type InvalidOriginalMapping = {
- source: null;
- line: null;
- column: null;
- name: null;
-};
-export type GeneratedMapping = {
- line: number;
- column: number;
-};
-export type InvalidGeneratedMapping = {
- line: null;
- column: null;
-};
-export type Bias = typeof GREATEST_LOWER_BOUND | typeof LEAST_UPPER_BOUND;
-export type XInput = {
- x_google_ignoreList?: SourceMapV3['ignoreList'];
-};
-export type EncodedSourceMapXInput = EncodedSourceMap & XInput;
-export type DecodedSourceMapXInput = DecodedSourceMap & XInput;
-export type SectionedSourceMapXInput = Omit & {
- sections: SectionXInput[];
-};
-export type SectionXInput = Omit & {
- map: SectionedSourceMapInput;
-};
-export type SourceMapInput = string | EncodedSourceMapXInput | DecodedSourceMapXInput | TraceMap;
-export type SectionedSourceMapInput = SourceMapInput | SectionedSourceMapXInput;
-export type Needle = {
- line: number;
- column: number;
- bias?: Bias;
-};
-export type SourceNeedle = {
- source: string;
- line: number;
- column: number;
- bias?: Bias;
-};
-export type EachMapping = {
- generatedLine: number;
- generatedColumn: number;
- source: null;
- originalLine: null;
- originalColumn: null;
- name: null;
-} | {
- generatedLine: number;
- generatedColumn: number;
- source: string | null;
- originalLine: number;
- originalColumn: number;
- name: string | null;
-};
-export declare abstract class SourceMap {
- version: SourceMapV3['version'];
- file: SourceMapV3['file'];
- names: SourceMapV3['names'];
- sourceRoot: SourceMapV3['sourceRoot'];
- sources: SourceMapV3['sources'];
- sourcesContent: SourceMapV3['sourcesContent'];
- resolvedSources: SourceMapV3['sources'];
- ignoreList: SourceMapV3['ignoreList'];
-}
diff --git a/node_modules/@jridgewell/trace-mapping/package.json b/node_modules/@jridgewell/trace-mapping/package.json
deleted file mode 100644
index 454a1bd..0000000
--- a/node_modules/@jridgewell/trace-mapping/package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "name": "@jridgewell/trace-mapping",
- "version": "0.3.25",
- "description": "Trace the original position through a source map",
- "keywords": [
- "source",
- "map"
- ],
- "main": "dist/trace-mapping.umd.js",
- "module": "dist/trace-mapping.mjs",
- "types": "dist/types/trace-mapping.d.ts",
- "files": [
- "dist"
- ],
- "exports": {
- ".": [
- {
- "types": "./dist/types/trace-mapping.d.ts",
- "browser": "./dist/trace-mapping.umd.js",
- "require": "./dist/trace-mapping.umd.js",
- "import": "./dist/trace-mapping.mjs"
- },
- "./dist/trace-mapping.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "author": "Justin Ridgewell ",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jridgewell/trace-mapping.git"
- },
- "license": "MIT",
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node --expose-gc benchmark/index.mjs",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.mjs",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "prebuild": "rm -rf dist",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts' '**/*.md'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "c8 mocha",
- "test:watch": "mocha --watch"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "11.1.6",
- "@types/mocha": "10.0.6",
- "@types/node": "20.11.20",
- "@typescript-eslint/eslint-plugin": "6.18.1",
- "@typescript-eslint/parser": "6.18.1",
- "benchmark": "2.1.4",
- "c8": "9.0.0",
- "esbuild": "0.19.11",
- "eslint": "8.56.0",
- "eslint-config-prettier": "9.1.0",
- "eslint-plugin-no-only-tests": "3.1.0",
- "mocha": "10.3.0",
- "npm-run-all": "4.1.5",
- "prettier": "3.1.1",
- "rollup": "4.9.4",
- "tsx": "4.7.0",
- "typescript": "5.3.3"
- },
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
-}
diff --git a/node_modules/@polka/url/build.js b/node_modules/@polka/url/build.js
deleted file mode 100644
index 33dfc56..0000000
--- a/node_modules/@polka/url/build.js
+++ /dev/null
@@ -1,42 +0,0 @@
-const qs = require('querystring');
-
-/**
- * @typedef ParsedURL
- * @type {import('.').ParsedURL}
- */
-
-/**
- * @typedef Request
- * @property {string} url
- * @property {ParsedURL} _parsedUrl
- */
-
-/**
- * @param {Request} req
- * @returns {ParsedURL|void}
- */
-function parse(req) {
- let raw = req.url;
- if (raw == null) return;
-
- let prev = req._parsedUrl;
- if (prev && prev.raw === raw) return prev;
-
- let pathname=raw, search='', query;
-
- if (raw.length > 1) {
- let idx = raw.indexOf('?', 1);
-
- if (idx !== -1) {
- search = raw.substring(idx);
- pathname = raw.substring(0, idx);
- if (search.length > 1) {
- query = qs.parse(search.substring(1));
- }
- }
- }
-
- return req._parsedUrl = { pathname, search, query, raw };
-}
-
-exports.parse = parse;
\ No newline at end of file
diff --git a/node_modules/@polka/url/build.mjs b/node_modules/@polka/url/build.mjs
deleted file mode 100644
index ff90848..0000000
--- a/node_modules/@polka/url/build.mjs
+++ /dev/null
@@ -1,40 +0,0 @@
-import * as qs from 'node:querystring';
-
-/**
- * @typedef ParsedURL
- * @type {import('.').ParsedURL}
- */
-
-/**
- * @typedef Request
- * @property {string} url
- * @property {ParsedURL} _parsedUrl
- */
-
-/**
- * @param {Request} req
- * @returns {ParsedURL|void}
- */
-export function parse(req) {
- let raw = req.url;
- if (raw == null) return;
-
- let prev = req._parsedUrl;
- if (prev && prev.raw === raw) return prev;
-
- let pathname=raw, search='', query;
-
- if (raw.length > 1) {
- let idx = raw.indexOf('?', 1);
-
- if (idx !== -1) {
- search = raw.substring(idx);
- pathname = raw.substring(0, idx);
- if (search.length > 1) {
- query = qs.parse(search.substring(1));
- }
- }
- }
-
- return req._parsedUrl = { pathname, search, query, raw };
-}
diff --git a/node_modules/@polka/url/index.d.ts b/node_modules/@polka/url/index.d.ts
deleted file mode 100644
index 9b27c04..0000000
--- a/node_modules/@polka/url/index.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import type { IncomingMessage } from 'http';
-
-export interface ParsedURL {
- pathname: string;
- search: string;
- query: Record | void;
- raw: string;
-}
-
-export function parse(req: IncomingMessage): ParsedURL;
diff --git a/node_modules/@polka/url/package.json b/node_modules/@polka/url/package.json
deleted file mode 100644
index 159aefe..0000000
--- a/node_modules/@polka/url/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "version": "1.0.0-next.28",
- "name": "@polka/url",
- "repository": "lukeed/polka",
- "description": "Super fast, memoized `req.url` parser",
- "module": "build.mjs",
- "types": "index.d.ts",
- "main": "build.js",
- "license": "MIT",
- "exports": {
- ".": {
- "types": "./index.d.ts",
- "import": "./build.mjs",
- "require": "./build.js"
- },
- "./package.json": "./package.json"
- },
- "files": [
- "build.*",
- "index.d.*"
- ],
- "author": {
- "name": "Luke Edwards",
- "email": "luke@lukeed.com",
- "url": "https://lukeed.com"
- },
- "publishConfig": {
- "access": "public"
- }
-}
\ No newline at end of file
diff --git a/node_modules/@polka/url/readme.md b/node_modules/@polka/url/readme.md
deleted file mode 100644
index e47645c..0000000
--- a/node_modules/@polka/url/readme.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# @polka/url [](https://npmjs.org/package/@polka/url) [](https://licenses.dev/npm/%40polka%2Furl)
-
-> Super fast, memoized `req.url` parser; _not_ limited to [Polka][polka]!
-
-Parses the `url` from a [`IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_incomingmessage) request. The returned object will always only contain the following keys: `search`, `query`, `pathname`, and `raw`.
-
-> **Note:** This library does not process `protocol`, `hostname`, `port`, etc.
This is because the incoming `req.url` value only begins with the path information.
-
-Parsed requests will be mutated with a `_parsedUrl` key, containing the returned output. This is used for future memoization, avoiding the need to fully parse the same `url` value multiple times.
-
-## Install
-
-```
-$ npm install --save @polka/url
-```
-
-## Usage
-
-```js
-const parse = require('@polka/url');
-
-let req = {
- url: '/foo/bar?fizz=buzz'
-};
-let output = parse(req);
-//=> {
-//=> pathname: '/foo/bar',
-//=> raw: '/foo/bar?fizz=buzz',
-//=> search: '?fizz=buzz',
-//=> query: {
-//=> fizz: 'buzz'
-//=> },
-//=> }
-
-// Attaches result for future memoization
-assert.deepEqual(output, req._parsedUrl); //=> true
-```
-
-## API
-
-### url(req)
-Returns: `Object` or `undefined`
-
-> **Important:** The `req` must have a `url` key, otherwise `undefined` will be returned.
If no input is provided at all, a `TypeError` will be thrown.
-
-#### req
-Type: `IncomingMessage` or `{ url: string }`
-
-The incoming HTTP request (`req`) or a plain `Object` with a `url` key.
-
-> **Note:** In Node.js servers, the [`req.url`](https://nodejs.org/api/http.html#http_message_url) begins with a pathname & does not include a `hash`.
-
-
-## Benchmarks
-
-Check out the [`bench`](/bench) directory for in-depth benchmark results and comparisons.
-
-
-## Support
-
-Any issues or questions can be sent to the [Polka][polka] repository.
However, please specify that your inquiry is about `@polka/url` specifically.
-
-
-## License
-
-MIT © [Luke Edwards](https://lukeed.com)
-
-[polka]: https://github.com/lukeed/polka
diff --git a/node_modules/@rollup/rollup-win32-x64-msvc/README.md b/node_modules/@rollup/rollup-win32-x64-msvc/README.md
deleted file mode 100644
index 7382dbc..0000000
--- a/node_modules/@rollup/rollup-win32-x64-msvc/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# `@rollup/rollup-win32-x64-msvc`
-
-This is the **x86_64-pc-windows-msvc** binary for `rollup`
diff --git a/node_modules/@rollup/rollup-win32-x64-msvc/package.json b/node_modules/@rollup/rollup-win32-x64-msvc/package.json
deleted file mode 100644
index 692bc44..0000000
--- a/node_modules/@rollup/rollup-win32-x64-msvc/package.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "@rollup/rollup-win32-x64-msvc",
- "version": "4.30.1",
- "os": [
- "win32"
- ],
- "cpu": [
- "x64"
- ],
- "files": [
- "rollup.win32-x64-msvc.node"
- ],
- "description": "Native bindings for Rollup",
- "author": "Lukas Taegert-Atkinson",
- "homepage": "https://rollupjs.org/",
- "license": "MIT",
- "repository": "rollup/rollup",
- "main": "./rollup.win32-x64-msvc.node"
-}
\ No newline at end of file
diff --git a/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node b/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node
deleted file mode 100644
index 682a209..0000000
Binary files a/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node and /dev/null differ
diff --git a/node_modules/@sveltejs/adapter-auto/LICENSE b/node_modules/@sveltejs/adapter-auto/LICENSE
deleted file mode 100644
index 22efd0c..0000000
--- a/node_modules/@sveltejs/adapter-auto/LICENSE
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright (c) 2020 [these people](https://github.com/sveltejs/kit/graphs/contributors)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/@sveltejs/adapter-auto/README.md b/node_modules/@sveltejs/adapter-auto/README.md
deleted file mode 100644
index ed96335..0000000
--- a/node_modules/@sveltejs/adapter-auto/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# adapter-auto
-
-Automatically chooses the SvelteKit adapter for your current environment, if possible.
-
-## Docs
-
-[Docs](https://svelte.dev/docs/kit/adapter-auto)
-
-## Changelog
-
-[The Changelog for this package is available on GitHub](https://github.com/sveltejs/kit/blob/main/packages/adapter-auto/CHANGELOG.md).
diff --git a/node_modules/@sveltejs/adapter-auto/adapters.js b/node_modules/@sveltejs/adapter-auto/adapters.js
deleted file mode 100644
index edf9e34..0000000
--- a/node_modules/@sveltejs/adapter-auto/adapters.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import process from 'node:process';
-
-// List of adapters to check for. `version` is used to pin the installed adapter version and should point
-// to the latest version of the adapter that is compatible with adapter-auto's current peerDependency version of SvelteKit.
-export const adapters = [
- {
- name: 'Vercel',
- test: () => !!process.env.VERCEL,
- module: '@sveltejs/adapter-vercel',
- version: '4'
- },
- {
- name: 'Cloudflare Pages',
- test: () => !!process.env.CF_PAGES,
- module: '@sveltejs/adapter-cloudflare',
- version: '3'
- },
- {
- name: 'Netlify',
- test: () => !!process.env.NETLIFY,
- module: '@sveltejs/adapter-netlify',
- version: '3'
- },
- {
- name: 'Azure Static Web Apps',
- test: () => process.env.GITHUB_ACTION_REPOSITORY === 'Azure/static-web-apps-deploy',
- module: 'svelte-adapter-azure-swa',
- version: '0.20'
- },
- {
- name: 'AWS via SST',
- test: () => !!process.env.SST,
- module: 'svelte-kit-sst',
- version: '2'
- },
- {
- name: 'Google Cloud Run',
- test: () => !!process.env.GCP_BUILDPACKS,
- module: '@sveltejs/adapter-node',
- version: '5'
- }
-];
diff --git a/node_modules/@sveltejs/adapter-auto/index.d.ts b/node_modules/@sveltejs/adapter-auto/index.d.ts
deleted file mode 100644
index 90af12a..0000000
--- a/node_modules/@sveltejs/adapter-auto/index.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { Adapter } from '@sveltejs/kit';
-
-export default function plugin(): Adapter;
diff --git a/node_modules/@sveltejs/adapter-auto/index.js b/node_modules/@sveltejs/adapter-auto/index.js
deleted file mode 100644
index c83ba62..0000000
--- a/node_modules/@sveltejs/adapter-auto/index.js
+++ /dev/null
@@ -1,130 +0,0 @@
-import { execSync } from 'node:child_process';
-import { pathToFileURL } from 'node:url';
-import { resolve } from 'import-meta-resolve';
-import { adapters } from './adapters.js';
-import { dirname, join } from 'node:path';
-import { existsSync } from 'node:fs';
-import process from 'node:process';
-
-/** @type {Record string>} */
-const commands = {
- npm: (name, version) => `npm install -D ${name}@${version}`,
- pnpm: (name, version) => `pnpm add -D ${name}@${version}`,
- yarn: (name, version) => `yarn add -D ${name}@${version}`,
- bun: (name, version) => `bun add -D ${name}@${version}`
-};
-
-function detect_lockfile() {
- let dir = process.cwd();
-
- do {
- if (existsSync(join(dir, 'pnpm-lock.yaml'))) return 'pnpm';
- if (existsSync(join(dir, 'yarn.lock'))) return 'yarn';
- if (existsSync(join(dir, 'package-lock.json'))) return 'npm';
- if (existsSync(join(dir, 'bun.lockb')) || existsSync(join(dir, 'bun.lock'))) return 'bun';
- } while (dir !== (dir = dirname(dir)));
-
- return 'npm';
-}
-
-function detect_package_manager() {
- const manager = detect_lockfile();
-
- try {
- execSync(`${manager} --version`);
- return manager;
- } catch {
- return 'npm';
- }
-}
-
-/** @param {string} name */
-function import_from_cwd(name) {
- const cwd = pathToFileURL(process.cwd()).href;
- const url = resolve(name, cwd + '/x.js');
-
- return import(url);
-}
-
-/** @typedef {import('@sveltejs/kit').Adapter} Adapter */
-
-/**
- * @returns {Promise} The corresponding adapter for the current environment if found otherwise undefined
- */
-async function get_adapter() {
- const match = adapters.find((candidate) => candidate.test());
-
- if (!match) return;
-
- /** @type {{ default: () => Adapter }} */
- let module;
-
- try {
- module = await import_from_cwd(match.module);
- } catch (error) {
- if (
- error.code === 'ERR_MODULE_NOT_FOUND' &&
- error.message.startsWith(`Cannot find package '${match.module}'`)
- ) {
- const package_manager = detect_package_manager();
- const command = commands[package_manager](match.module, match.version);
-
- try {
- console.log(`Installing ${match.module}...`);
-
- execSync(command, {
- stdio: 'inherit',
- env: {
- ...process.env,
- NODE_ENV: undefined
- }
- });
-
- module = await import_from_cwd(match.module);
-
- console.log(`Successfully installed ${match.module}.`);
- console.warn(
- `\nIf you plan on staying on this deployment platform, consider replacing @sveltejs/adapter-auto with ${match.module}. This will give you faster and more robust installs, and more control over deployment configuration.\n`
- );
- } catch (e) {
- throw new Error(
- `Could not install ${match.module}. Please install it yourself by adding it to your package.json's devDependencies and try building your project again.`,
- { cause: e }
- );
- }
- } else {
- throw error;
- }
- }
-
- const adapter = module.default();
-
- return {
- ...adapter,
- adapt: (builder) => {
- builder.log.info(`Detected environment: ${match.name}. Using ${match.module}`);
- return adapter.adapt(builder);
- }
- };
-}
-
-/** @type {() => Adapter} */
-export default () => ({
- name: '@sveltejs/adapter-auto',
- adapt: async (builder) => {
- const adapter = await get_adapter();
-
- if (adapter) return adapter.adapt(builder);
-
- builder.log.warn(
- 'Could not detect a supported production environment. See https://svelte.dev/docs/kit/adapters to learn how to configure your app to run on the platform of your choosing'
- );
- },
- supports: {
- read: () => {
- throw new Error(
- "The read function imported from $app/server only works in certain environments. Since you're using @sveltejs/adapter-auto, SvelteKit cannot determine whether it will work when your app is deployed. Please replace it with an adapter tailored to your target environment."
- );
- }
- }
-});
diff --git a/node_modules/@sveltejs/adapter-auto/package.json b/node_modules/@sveltejs/adapter-auto/package.json
deleted file mode 100644
index aa11107..0000000
--- a/node_modules/@sveltejs/adapter-auto/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "@sveltejs/adapter-auto",
- "version": "3.3.1",
- "description": "Automatically chooses the SvelteKit adapter for your current environment, if possible.",
- "keywords": [
- "adapter",
- "automatically",
- "deploy",
- "hosting",
- "platform",
- "svelte",
- "sveltekit"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/sveltejs/kit",
- "directory": "packages/adapter-auto"
- },
- "license": "MIT",
- "homepage": "https://svelte.dev",
- "type": "module",
- "exports": {
- ".": {
- "types": "./index.d.ts",
- "import": "./index.js"
- },
- "./package.json": "./package.json"
- },
- "types": "index.d.ts",
- "files": [
- "files",
- "index.js",
- "index.d.ts",
- "adapters.js"
- ],
- "devDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.1",
- "@types/node": "^18.19.48",
- "typescript": "^5.3.3",
- "@sveltejs/kit": "^2.7.3"
- },
- "dependencies": {
- "import-meta-resolve": "^4.1.0"
- },
- "peerDependencies": {
- "@sveltejs/kit": "^2.0.0"
- },
- "scripts": {
- "lint": "prettier --check .",
- "format": "pnpm lint --write",
- "check": "tsc"
- }
-}
\ No newline at end of file
diff --git a/node_modules/@sveltejs/kit/LICENSE b/node_modules/@sveltejs/kit/LICENSE
deleted file mode 100644
index 22efd0c..0000000
--- a/node_modules/@sveltejs/kit/LICENSE
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright (c) 2020 [these people](https://github.com/sveltejs/kit/graphs/contributors)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/@sveltejs/kit/README.md b/node_modules/@sveltejs/kit/README.md
deleted file mode 100644
index f5592f9..0000000
--- a/node_modules/@sveltejs/kit/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# The fastest way to build Svelte apps
-
-This is the [SvelteKit](https://svelte.dev/docs/kit) framework and CLI.
-
-The quickest way to get started is via the [sv](https://npmjs.com/package/sv) package:
-
-```bash
-npx sv create my-app
-cd my-app
-npm install
-npm run dev
-```
-
-See the [documentation](https://svelte.dev/docs/kit) to learn more.
-
-## Changelog
-
-[The Changelog for this package is available on GitHub](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md).
diff --git a/node_modules/@sveltejs/kit/package.json b/node_modules/@sveltejs/kit/package.json
deleted file mode 100644
index 78880e6..0000000
--- a/node_modules/@sveltejs/kit/package.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "name": "@sveltejs/kit",
- "version": "2.15.2",
- "description": "SvelteKit is the fastest way to build Svelte apps",
- "keywords": [
- "framework",
- "official",
- "svelte",
- "sveltekit",
- "vite"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/sveltejs/kit",
- "directory": "packages/kit"
- },
- "license": "MIT",
- "homepage": "https://svelte.dev",
- "type": "module",
- "dependencies": {
- "@types/cookie": "^0.6.0",
- "cookie": "^0.6.0",
- "devalue": "^5.1.0",
- "esm-env": "^1.2.1",
- "import-meta-resolve": "^4.1.0",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.5",
- "mrmime": "^2.0.0",
- "sade": "^1.8.1",
- "set-cookie-parser": "^2.6.0",
- "sirv": "^3.0.0",
- "tiny-glob": "^0.2.9"
- },
- "devDependencies": {
- "@playwright/test": "^1.44.1",
- "@sveltejs/vite-plugin-svelte": "^5.0.1",
- "@types/connect": "^3.4.38",
- "@types/node": "^18.19.48",
- "@types/set-cookie-parser": "^2.4.7",
- "dts-buddy": "^0.5.4",
- "rollup": "^4.14.2",
- "svelte": "^5.2.9",
- "svelte-preprocess": "^6.0.0",
- "typescript": "^5.3.3",
- "vite": "^6.0.1",
- "vitest": "^2.1.6"
- },
- "peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0",
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.3 || ^6.0.0"
- },
- "bin": {
- "svelte-kit": "svelte-kit.js"
- },
- "files": [
- "src",
- "!src/**/*.spec.js",
- "!src/core/**/fixtures",
- "!src/core/**/test",
- "types",
- "svelte-kit.js",
- "postinstall.js"
- ],
- "exports": {
- "./package.json": "./package.json",
- ".": {
- "types": "./types/index.d.ts",
- "import": "./src/exports/index.js"
- },
- "./node": {
- "types": "./types/index.d.ts",
- "import": "./src/exports/node/index.js"
- },
- "./node/polyfills": {
- "types": "./types/index.d.ts",
- "import": "./src/exports/node/polyfills.js"
- },
- "./hooks": {
- "types": "./types/index.d.ts",
- "import": "./src/exports/hooks/index.js"
- },
- "./vite": {
- "types": "./types/index.d.ts",
- "import": "./src/exports/vite/index.js"
- }
- },
- "types": "types/index.d.ts",
- "engines": {
- "node": ">=18.13"
- },
- "scripts": {
- "lint": "prettier --config ../../.prettierrc --check .",
- "check": "tsc && cd ./test/types && tsc",
- "check:all": "tsc && pnpm -r --filter=\"./**\" check",
- "format": "prettier --config ../../.prettierrc --write .",
- "test": "pnpm test:unit && pnpm test:integration",
- "test:integration": "pnpm -r --workspace-concurrency 1 --filter=\"./test/**\" test",
- "test:cross-platform:dev": "pnpm -r --workspace-concurrency 1 --filter=\"./test/**\" test:cross-platform:dev",
- "test:cross-platform:build": "pnpm test:unit && pnpm -r --workspace-concurrency 1 --filter=\"./test/**\" test:cross-platform:build",
- "test:unit": "vitest --config kit.vitest.config.js run",
- "postinstall": "node postinstall.js",
- "generate:version": "node scripts/generate-version.js",
- "generate:types": "node scripts/generate-dts.js"
- }
-}
\ No newline at end of file
diff --git a/node_modules/@sveltejs/kit/postinstall.js b/node_modules/@sveltejs/kit/postinstall.js
deleted file mode 100644
index ac79151..0000000
--- a/node_modules/@sveltejs/kit/postinstall.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import { load_config } from './src/core/config/index.js';
-import glob from 'tiny-glob/sync.js';
-import fs from 'node:fs';
-import process from 'node:process';
-
-try {
- const cwd = process.env.INIT_CWD ?? process.cwd();
- process.chdir(cwd);
-
- if (fs.existsSync('package.json')) {
- const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
-
- const workspaces = [];
-
- if (pkg.workspaces) {
- // Find all npm and Yarn workspace glob patterns
- // https://classic.yarnpkg.com/blog/2018/02/15/nohoist/
- // https://docs.npmjs.com/cli/v9/configuring-npm/package-json#workspaces
- const patterns = Array.isArray(pkg.workspaces) ? pkg.workspaces : pkg.workspaces.packages;
-
- for (const pattern of patterns) {
- workspaces.push(
- ...glob(pattern, { cwd, absolute: true }).filter((path) =>
- fs.statSync(path).isDirectory()
- )
- );
- }
- } else {
- workspaces.push(cwd);
- }
-
- for (const cwd of workspaces) {
- process.chdir(cwd);
-
- if (!fs.existsSync('package.json')) continue;
- if (!fs.existsSync('svelte.config.js')) continue;
-
- const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
- if (!pkg.dependencies?.['@sveltejs/kit'] && !pkg.devDependencies?.['@sveltejs/kit']) continue;
-
- // defer import until after the chdir so that peer dependency resolves correctly
- const sync = await import('./src/core/sync/sync.js');
-
- try {
- const config = await load_config();
- sync.all(config, 'development');
- } catch (error) {
- console.error('Error while trying to sync SvelteKit config');
- console.error(error);
- }
- }
- }
-} catch (error) {
- console.error(error);
-}
diff --git a/node_modules/@sveltejs/kit/src/cli.js b/node_modules/@sveltejs/kit/src/cli.js
deleted file mode 100644
index 1ebb020..0000000
--- a/node_modules/@sveltejs/kit/src/cli.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import fs from 'node:fs';
-import path from 'node:path';
-import process from 'node:process';
-import colors from 'kleur';
-import sade from 'sade';
-import { load_config } from './core/config/index.js';
-import { coalesce_to_error } from './utils/error.js';
-
-/** @param {unknown} e */
-function handle_error(e) {
- const error = coalesce_to_error(e);
-
- if (error.name === 'SyntaxError') throw error;
-
- console.error(colors.bold().red(`> ${error.message}`));
- if (error.stack) {
- console.error(colors.gray(error.stack.split('\n').slice(1).join('\n')));
- }
-
- process.exit(1);
-}
-
-const pkg = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf-8'));
-const prog = sade('svelte-kit').version(pkg.version);
-
-prog
- .command('sync')
- .describe('Synchronise generated type definitions')
- .option('--mode', 'Specify a mode for loading environment variables', 'development')
- .action(async ({ mode }) => {
- if (!fs.existsSync('svelte.config.js')) {
- console.warn(`Missing ${path.resolve('svelte.config.js')} — skipping`);
- return;
- }
-
- try {
- const config = await load_config();
- const sync = await import('./core/sync/sync.js');
- sync.all_types(config, mode);
- } catch (error) {
- handle_error(error);
- }
- });
-
-prog.parse(process.argv, { unknown: (arg) => `Unknown option: ${arg}` });
diff --git a/node_modules/@sveltejs/kit/src/constants.js b/node_modules/@sveltejs/kit/src/constants.js
deleted file mode 100644
index 7790ab1..0000000
--- a/node_modules/@sveltejs/kit/src/constants.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * A fake asset path used in `vite dev` and `vite preview`, so that we can
- * serve local assets while verifying that requests are correctly prefixed
- */
-export const SVELTE_KIT_ASSETS = '/_svelte_kit_assets';
-
-export const GENERATED_COMMENT = '// this file is generated — do not edit it\n';
-
-export const ENDPOINT_METHODS = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD'];
-
-export const PAGE_METHODS = ['GET', 'POST', 'HEAD'];
diff --git a/node_modules/@sveltejs/kit/src/core/adapt/builder.js b/node_modules/@sveltejs/kit/src/core/adapt/builder.js
deleted file mode 100644
index e02efbd..0000000
--- a/node_modules/@sveltejs/kit/src/core/adapt/builder.js
+++ /dev/null
@@ -1,249 +0,0 @@
-import colors from 'kleur';
-import { createReadStream, createWriteStream, existsSync, statSync } from 'node:fs';
-import { extname, resolve } from 'node:path';
-import { pipeline } from 'node:stream';
-import { promisify } from 'node:util';
-import zlib from 'node:zlib';
-import { copy, rimraf, mkdirp } from '../../utils/filesystem.js';
-import { generate_manifest } from '../generate_manifest/index.js';
-import { get_route_segments } from '../../utils/routing.js';
-import { get_env } from '../../exports/vite/utils.js';
-import generate_fallback from '../postbuild/fallback.js';
-import { write } from '../sync/utils.js';
-import { list_files } from '../utils.js';
-import { find_server_assets } from '../generate_manifest/find_server_assets.js';
-
-const pipe = promisify(pipeline);
-const extensions = ['.html', '.js', '.mjs', '.json', '.css', '.svg', '.xml', '.wasm'];
-
-/**
- * Creates the Builder which is passed to adapters for building the application.
- * @param {{
- * config: import('types').ValidatedConfig;
- * build_data: import('types').BuildData;
- * server_metadata: import('types').ServerMetadata;
- * route_data: import('types').RouteData[];
- * prerendered: import('types').Prerendered;
- * prerender_map: import('types').PrerenderMap;
- * log: import('types').Logger;
- * vite_config: import('vite').ResolvedConfig;
- * }} opts
- * @returns {import('@sveltejs/kit').Builder}
- */
-export function create_builder({
- config,
- build_data,
- server_metadata,
- route_data,
- prerendered,
- prerender_map,
- log,
- vite_config
-}) {
- /** @type {Map} */
- const lookup = new Map();
-
- /**
- * Rather than exposing the internal `RouteData` type, which is subject to change,
- * we expose a stable type that adapters can use to group/filter routes
- */
- const routes = route_data.map((route) => {
- const { config, methods, page, api } = /** @type {import('types').ServerMetadataRoute} */ (
- server_metadata.routes.get(route.id)
- );
-
- /** @type {import('@sveltejs/kit').RouteDefinition} */
- const facade = {
- id: route.id,
- api,
- page,
- segments: get_route_segments(route.id).map((segment) => ({
- dynamic: segment.includes('['),
- rest: segment.includes('[...'),
- content: segment
- })),
- pattern: route.pattern,
- prerender: prerender_map.get(route.id) ?? false,
- methods,
- config
- };
-
- lookup.set(facade, route);
-
- return facade;
- });
-
- return {
- log,
- rimraf,
- mkdirp,
- copy,
-
- config,
- prerendered,
- routes,
-
- async compress(directory) {
- if (!existsSync(directory)) {
- return;
- }
-
- const files = list_files(directory, (file) => extensions.includes(extname(file))).map(
- (file) => resolve(directory, file)
- );
-
- await Promise.all(
- files.flatMap((file) => [compress_file(file, 'gz'), compress_file(file, 'br')])
- );
- },
-
- async createEntries(fn) {
- const seen = new Set();
-
- for (let i = 0; i < route_data.length; i += 1) {
- const route = route_data[i];
- if (prerender_map.get(route.id) === true) continue;
- const { id, filter, complete } = fn(routes[i]);
-
- if (seen.has(id)) continue;
- seen.add(id);
-
- const group = [route];
-
- // figure out which lower priority routes should be considered fallbacks
- for (let j = i + 1; j < route_data.length; j += 1) {
- if (prerender_map.get(routes[j].id) === true) continue;
- if (filter(routes[j])) {
- group.push(route_data[j]);
- }
- }
-
- const filtered = new Set(group);
-
- // heuristic: if /foo/[bar] is included, /foo/[bar].json should
- // also be included, since the page likely needs the endpoint
- // TODO is this still necessary, given the new way of doing things?
- filtered.forEach((route) => {
- if (route.page) {
- const endpoint = route_data.find((candidate) => candidate.id === route.id + '.json');
-
- if (endpoint) {
- filtered.add(endpoint);
- }
- }
- });
-
- if (filtered.size > 0) {
- await complete({
- generateManifest: ({ relativePath }) =>
- generate_manifest({
- build_data,
- relative_path: relativePath,
- routes: Array.from(filtered)
- })
- });
- }
- }
- },
-
- findServerAssets(route_data) {
- return find_server_assets(
- build_data,
- route_data.map((route) => /** @type {import('types').RouteData} */ (lookup.get(route)))
- );
- },
-
- async generateFallback(dest) {
- const manifest_path = `${config.kit.outDir}/output/server/manifest-full.js`;
- const env = get_env(config.kit.env, vite_config.mode);
-
- const fallback = await generate_fallback({
- manifest_path,
- env: { ...env.private, ...env.public }
- });
-
- if (existsSync(dest)) {
- console.log(
- colors
- .bold()
- .yellow(
- `Overwriting ${dest} with fallback page. Consider using a different name for the fallback.`
- )
- );
- }
-
- write(dest, fallback);
- },
-
- generateEnvModule() {
- const dest = `${config.kit.outDir}/output/prerendered/dependencies/${config.kit.appDir}/env.js`;
- const env = get_env(config.kit.env, vite_config.mode);
-
- write(dest, `export const env=${JSON.stringify(env.public)}`);
- },
-
- generateManifest({ relativePath, routes: subset }) {
- return generate_manifest({
- build_data,
- relative_path: relativePath,
- routes: subset
- ? subset.map((route) => /** @type {import('types').RouteData} */ (lookup.get(route)))
- : route_data.filter((route) => prerender_map.get(route.id) !== true)
- });
- },
-
- getBuildDirectory(name) {
- return `${config.kit.outDir}/${name}`;
- },
-
- getClientDirectory() {
- return `${config.kit.outDir}/output/client`;
- },
-
- getServerDirectory() {
- return `${config.kit.outDir}/output/server`;
- },
-
- getAppPath() {
- return build_data.app_path;
- },
-
- writeClient(dest) {
- return copy(`${config.kit.outDir}/output/client`, dest, {
- // avoid making vite build artefacts public
- filter: (basename) => basename !== '.vite'
- });
- },
-
- writePrerendered(dest) {
- const source = `${config.kit.outDir}/output/prerendered`;
- return [...copy(`${source}/pages`, dest), ...copy(`${source}/dependencies`, dest)];
- },
-
- writeServer(dest) {
- return copy(`${config.kit.outDir}/output/server`, dest);
- }
- };
-}
-
-/**
- * @param {string} file
- * @param {'gz' | 'br'} format
- */
-async function compress_file(file, format = 'gz') {
- const compress =
- format == 'br'
- ? zlib.createBrotliCompress({
- params: {
- [zlib.constants.BROTLI_PARAM_MODE]: zlib.constants.BROTLI_MODE_TEXT,
- [zlib.constants.BROTLI_PARAM_QUALITY]: zlib.constants.BROTLI_MAX_QUALITY,
- [zlib.constants.BROTLI_PARAM_SIZE_HINT]: statSync(file).size
- }
- })
- : zlib.createGzip({ level: zlib.constants.Z_BEST_COMPRESSION });
-
- const source = createReadStream(file);
- const destination = createWriteStream(`${file}.${format}`);
-
- await pipe(source, compress, destination);
-}
diff --git a/node_modules/@sveltejs/kit/src/core/adapt/index.js b/node_modules/@sveltejs/kit/src/core/adapt/index.js
deleted file mode 100644
index 3cfe527..0000000
--- a/node_modules/@sveltejs/kit/src/core/adapt/index.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import colors from 'kleur';
-import { create_builder } from './builder.js';
-
-/**
- * @param {import('types').ValidatedConfig} config
- * @param {import('types').BuildData} build_data
- * @param {import('types').ServerMetadata} server_metadata
- * @param {import('types').Prerendered} prerendered
- * @param {import('types').PrerenderMap} prerender_map
- * @param {import('types').Logger} log
- * @param {import('vite').ResolvedConfig} vite_config
- */
-export async function adapt(
- config,
- build_data,
- server_metadata,
- prerendered,
- prerender_map,
- log,
- vite_config
-) {
- // This is only called when adapter is truthy, so the cast is safe
- const { name, adapt } = /** @type {import('@sveltejs/kit').Adapter} */ (config.kit.adapter);
-
- console.log(colors.bold().cyan(`\n> Using ${name}`));
-
- const builder = create_builder({
- config,
- build_data,
- server_metadata,
- route_data: build_data.manifest_data.routes.filter((route) => route.page || route.endpoint),
- prerendered,
- prerender_map,
- log,
- vite_config
- });
-
- await adapt(builder);
-
- log.success('done');
-}
diff --git a/node_modules/@sveltejs/kit/src/core/config/default-error.html b/node_modules/@sveltejs/kit/src/core/config/default-error.html
deleted file mode 100644
index c322e16..0000000
--- a/node_modules/@sveltejs/kit/src/core/config/default-error.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
- %sveltekit.error.message%
-
-
-
-
-
-
%sveltekit.status%
-
-
%sveltekit.error.message%
-
-
-
-
diff --git a/node_modules/@sveltejs/kit/src/core/config/index.js b/node_modules/@sveltejs/kit/src/core/config/index.js
deleted file mode 100644
index b387cb2..0000000
--- a/node_modules/@sveltejs/kit/src/core/config/index.js
+++ /dev/null
@@ -1,119 +0,0 @@
-import fs from 'node:fs';
-import path from 'node:path';
-import process from 'node:process';
-import * as url from 'node:url';
-import options from './options.js';
-
-/**
- * Loads the template (src/app.html by default) and validates that it has the
- * required content.
- * @param {string} cwd
- * @param {import('types').ValidatedConfig} config
- */
-export function load_template(cwd, { kit }) {
- const { env, files } = kit;
-
- const relative = path.relative(cwd, files.appTemplate);
-
- if (!fs.existsSync(files.appTemplate)) {
- throw new Error(`${relative} does not exist`);
- }
-
- const contents = fs.readFileSync(files.appTemplate, 'utf8');
-
- const expected_tags = ['%sveltekit.head%', '%sveltekit.body%'];
- expected_tags.forEach((tag) => {
- if (contents.indexOf(tag) === -1) {
- throw new Error(`${relative} is missing ${tag}`);
- }
- });
-
- for (const match of contents.matchAll(/%sveltekit\.env\.([^%]+)%/g)) {
- if (!match[1].startsWith(env.publicPrefix)) {
- throw new Error(
- `Environment variables in ${relative} must start with ${env.publicPrefix} (saw %sveltekit.env.${match[1]}%)`
- );
- }
- }
-
- return contents;
-}
-
-/**
- * Loads the error page (src/error.html by default) if it exists.
- * Falls back to a generic error page content.
- * @param {import('types').ValidatedConfig} config
- */
-export function load_error_page(config) {
- let { errorTemplate } = config.kit.files;
-
- // Don't do this inside resolving the config, because that would mean
- // adding/removing error.html isn't detected and would require a restart.
- if (!fs.existsSync(config.kit.files.errorTemplate)) {
- errorTemplate = url.fileURLToPath(new URL('./default-error.html', import.meta.url));
- }
-
- return fs.readFileSync(errorTemplate, 'utf-8');
-}
-
-/**
- * Loads and validates svelte.config.js
- * @param {{ cwd?: string }} options
- * @returns {Promise}
- */
-export async function load_config({ cwd = process.cwd() } = {}) {
- const config_file = path.join(cwd, 'svelte.config.js');
-
- if (!fs.existsSync(config_file)) {
- return process_config({}, { cwd });
- }
-
- const config = await import(`${url.pathToFileURL(config_file).href}?ts=${Date.now()}`);
-
- try {
- return process_config(config.default, { cwd });
- } catch (e) {
- const error = /** @type {Error} */ (e);
-
- // redact the stack trace — it's not helpful to users
- error.stack = `Could not load svelte.config.js: ${error.message}\n`;
- throw error;
- }
-}
-
-/**
- * @param {import('@sveltejs/kit').Config} config
- * @returns {import('types').ValidatedConfig}
- */
-function process_config(config, { cwd = process.cwd() } = {}) {
- const validated = validate_config(config);
-
- validated.kit.outDir = path.resolve(cwd, validated.kit.outDir);
-
- for (const key in validated.kit.files) {
- if (key === 'hooks') {
- validated.kit.files.hooks.client = path.resolve(cwd, validated.kit.files.hooks.client);
- validated.kit.files.hooks.server = path.resolve(cwd, validated.kit.files.hooks.server);
- validated.kit.files.hooks.universal = path.resolve(cwd, validated.kit.files.hooks.universal);
- } else {
- // @ts-expect-error
- validated.kit.files[key] = path.resolve(cwd, validated.kit.files[key]);
- }
- }
-
- return validated;
-}
-
-/**
- * @param {import('@sveltejs/kit').Config} config
- * @returns {import('types').ValidatedConfig}
- */
-export function validate_config(config) {
- if (typeof config !== 'object') {
- throw new Error(
- 'svelte.config.js must have a configuration object as its default export. See https://svelte.dev/docs/kit/configuration'
- );
- }
-
- return options(config, 'config');
-}
diff --git a/node_modules/@sveltejs/kit/src/core/config/options.js b/node_modules/@sveltejs/kit/src/core/config/options.js
deleted file mode 100644
index 472779a..0000000
--- a/node_modules/@sveltejs/kit/src/core/config/options.js
+++ /dev/null
@@ -1,434 +0,0 @@
-import { join } from 'node:path';
-import process from 'node:process';
-
-/** @typedef {import('./types.js').Validator} Validator */
-
-const directives = object({
- 'child-src': string_array(),
- 'default-src': string_array(),
- 'frame-src': string_array(),
- 'worker-src': string_array(),
- 'connect-src': string_array(),
- 'font-src': string_array(),
- 'img-src': string_array(),
- 'manifest-src': string_array(),
- 'media-src': string_array(),
- 'object-src': string_array(),
- 'prefetch-src': string_array(),
- 'script-src': string_array(),
- 'script-src-elem': string_array(),
- 'script-src-attr': string_array(),
- 'style-src': string_array(),
- 'style-src-elem': string_array(),
- 'style-src-attr': string_array(),
- 'base-uri': string_array(),
- sandbox: string_array(),
- 'form-action': string_array(),
- 'frame-ancestors': string_array(),
- 'navigate-to': string_array(),
- 'report-uri': string_array(),
- 'report-to': string_array(),
- 'require-trusted-types-for': string_array(),
- 'trusted-types': string_array(),
- 'upgrade-insecure-requests': boolean(false),
- 'require-sri-for': string_array(),
- 'block-all-mixed-content': boolean(false),
- 'plugin-types': string_array(),
- referrer: string_array()
-});
-
-/** @type {Validator} */
-const options = object(
- {
- extensions: validate(['.svelte'], (input, keypath) => {
- if (!Array.isArray(input) || !input.every((page) => typeof page === 'string')) {
- throw new Error(`${keypath} must be an array of strings`);
- }
-
- input.forEach((extension) => {
- if (extension[0] !== '.') {
- throw new Error(`Each member of ${keypath} must start with '.' — saw '${extension}'`);
- }
-
- if (!/^(\.[a-z0-9]+)+$/i.test(extension)) {
- throw new Error(`File extensions must be alphanumeric — saw '${extension}'`);
- }
- });
-
- return input;
- }),
-
- kit: object({
- adapter: validate(null, (input, keypath) => {
- if (typeof input !== 'object' || !input.adapt) {
- let message = `${keypath} should be an object with an "adapt" method`;
-
- if (Array.isArray(input) || typeof input === 'string') {
- // for the early adapter adopters
- message += ', rather than the name of an adapter';
- }
-
- throw new Error(`${message}. See https://svelte.dev/docs/kit/adapters`);
- }
-
- return input;
- }),
-
- alias: validate({}, (input, keypath) => {
- if (typeof input !== 'object') {
- throw new Error(`${keypath} should be an object`);
- }
-
- for (const key in input) {
- assert_string(input[key], `${keypath}.${key}`);
- }
-
- return input;
- }),
-
- appDir: validate('_app', (input, keypath) => {
- assert_string(input, keypath);
-
- if (input) {
- if (input.startsWith('/') || input.endsWith('/')) {
- throw new Error(
- "config.kit.appDir cannot start or end with '/'. See https://svelte.dev/docs/kit/configuration"
- );
- }
- } else {
- throw new Error(`${keypath} cannot be empty`);
- }
-
- return input;
- }),
-
- csp: object({
- mode: list(['auto', 'hash', 'nonce']),
- directives,
- reportOnly: directives
- }),
-
- csrf: object({
- checkOrigin: boolean(true)
- }),
-
- embedded: boolean(false),
-
- env: object({
- dir: string(process.cwd()),
- publicPrefix: string('PUBLIC_'),
- privatePrefix: string('')
- }),
-
- files: object({
- assets: string('static'),
- hooks: object({
- client: string(join('src', 'hooks.client')),
- server: string(join('src', 'hooks.server')),
- universal: string(join('src', 'hooks'))
- }),
- lib: string(join('src', 'lib')),
- params: string(join('src', 'params')),
- routes: string(join('src', 'routes')),
- serviceWorker: string(join('src', 'service-worker')),
- appTemplate: string(join('src', 'app.html')),
- errorTemplate: string(join('src', 'error.html'))
- }),
-
- inlineStyleThreshold: number(0),
-
- moduleExtensions: string_array(['.js', '.ts']),
-
- outDir: string('.svelte-kit'),
-
- output: object({
- preloadStrategy: list(['modulepreload', 'preload-js', 'preload-mjs']),
- bundleStrategy: list(['split', 'single', 'inline'])
- }),
-
- paths: object({
- base: validate('', (input, keypath) => {
- assert_string(input, keypath);
-
- if (input !== '' && (input.endsWith('/') || !input.startsWith('/'))) {
- throw new Error(
- `${keypath} option must either be the empty string or a root-relative path that starts but doesn't end with '/'. See https://svelte.dev/docs/kit/configuration#paths`
- );
- }
-
- return input;
- }),
- assets: validate('', (input, keypath) => {
- assert_string(input, keypath);
-
- if (input) {
- if (!/^[a-z]+:\/\//.test(input)) {
- throw new Error(
- `${keypath} option must be an absolute path, if specified. See https://svelte.dev/docs/kit/configuration#paths`
- );
- }
-
- if (input.endsWith('/')) {
- throw new Error(
- `${keypath} option must not end with '/'. See https://svelte.dev/docs/kit/configuration#paths`
- );
- }
- }
-
- return input;
- }),
- relative: boolean(true)
- }),
-
- prerender: object({
- concurrency: number(1),
- crawl: boolean(true),
- entries: validate(['*'], (input, keypath) => {
- if (!Array.isArray(input) || !input.every((page) => typeof page === 'string')) {
- throw new Error(`${keypath} must be an array of strings`);
- }
-
- input.forEach((page) => {
- if (page !== '*' && page[0] !== '/') {
- throw new Error(
- `Each member of ${keypath} must be either '*' or an absolute path beginning with '/' — saw '${page}'`
- );
- }
- });
-
- return input;
- }),
-
- handleHttpError: validate(
- (/** @type {any} */ { message }) => {
- throw new Error(
- message +
- '\nTo suppress or handle this error, implement `handleHttpError` in https://svelte.dev/docs/kit/configuration#prerender'
- );
- },
- (input, keypath) => {
- if (typeof input === 'function') return input;
- if (['fail', 'warn', 'ignore'].includes(input)) return input;
- throw new Error(`${keypath} should be "fail", "warn", "ignore" or a custom function`);
- }
- ),
-
- handleMissingId: validate(
- (/** @type {any} */ { message }) => {
- throw new Error(
- message +
- '\nTo suppress or handle this error, implement `handleMissingId` in https://svelte.dev/docs/kit/configuration#prerender'
- );
- },
- (input, keypath) => {
- if (typeof input === 'function') return input;
- if (['fail', 'warn', 'ignore'].includes(input)) return input;
- throw new Error(`${keypath} should be "fail", "warn", "ignore" or a custom function`);
- }
- ),
-
- handleEntryGeneratorMismatch: validate(
- (/** @type {any} */ { message }) => {
- throw new Error(
- message +
- '\nTo suppress or handle this error, implement `handleEntryGeneratorMismatch` in https://svelte.dev/docs/kit/configuration#prerender'
- );
- },
- (input, keypath) => {
- if (typeof input === 'function') return input;
- if (['fail', 'warn', 'ignore'].includes(input)) return input;
- throw new Error(`${keypath} should be "fail", "warn", "ignore" or a custom function`);
- }
- ),
-
- origin: validate('http://sveltekit-prerender', (input, keypath) => {
- assert_string(input, keypath);
-
- let origin;
-
- try {
- origin = new URL(input).origin;
- } catch {
- throw new Error(`${keypath} must be a valid origin`);
- }
-
- if (input !== origin) {
- throw new Error(`${keypath} must be a valid origin (${origin} rather than ${input})`);
- }
-
- return origin;
- })
- }),
-
- router: object({
- type: list(['pathname', 'hash'])
- }),
-
- serviceWorker: object({
- register: boolean(true),
- files: fun((filename) => !/\.DS_Store/.test(filename))
- }),
-
- typescript: object({
- config: fun((config) => config)
- }),
-
- version: object({
- name: string(Date.now().toString()),
- pollInterval: number(0)
- })
- })
- },
- true
-);
-
-/**
- * @param {Record} children
- * @param {boolean} [allow_unknown]
- * @returns {Validator}
- */
-function object(children, allow_unknown = false) {
- return (input, keypath) => {
- /** @type {Record} */
- const output = {};
-
- if ((input && typeof input !== 'object') || Array.isArray(input)) {
- throw new Error(`${keypath} should be an object`);
- }
-
- for (const key in input) {
- if (!(key in children)) {
- if (allow_unknown) {
- output[key] = input[key];
- } else {
- let message = `Unexpected option ${keypath}.${key}`;
-
- // special case
- if (keypath === 'config.kit' && key in options) {
- message += ` (did you mean config.${key}?)`;
- }
-
- throw new Error(message);
- }
- }
- }
-
- for (const key in children) {
- const validator = children[key];
- output[key] = validator(input && input[key], `${keypath}.${key}`);
- }
-
- return output;
- };
-}
-
-/**
- * @param {any} fallback
- * @param {(value: any, keypath: string) => any} fn
- * @returns {Validator}
- */
-function validate(fallback, fn) {
- return (input, keypath) => {
- return input === undefined ? fallback : fn(input, keypath);
- };
-}
-
-/**
- * @param {string | null} fallback
- * @param {boolean} allow_empty
- * @returns {Validator}
- */
-function string(fallback, allow_empty = true) {
- return validate(fallback, (input, keypath) => {
- assert_string(input, keypath);
-
- if (!allow_empty && input === '') {
- throw new Error(`${keypath} cannot be empty`);
- }
-
- return input;
- });
-}
-
-/**
- * @param {string[] | undefined} [fallback]
- * @returns {Validator}
- */
-function string_array(fallback) {
- return validate(fallback, (input, keypath) => {
- if (!Array.isArray(input) || input.some((value) => typeof value !== 'string')) {
- throw new Error(`${keypath} must be an array of strings, if specified`);
- }
-
- return input;
- });
-}
-
-/**
- * @param {number} fallback
- * @returns {Validator}
- */
-function number(fallback) {
- return validate(fallback, (input, keypath) => {
- if (typeof input !== 'number') {
- throw new Error(`${keypath} should be a number, if specified`);
- }
- return input;
- });
-}
-
-/**
- * @param {boolean} fallback
- * @returns {Validator}
- */
-function boolean(fallback) {
- return validate(fallback, (input, keypath) => {
- if (typeof input !== 'boolean') {
- throw new Error(`${keypath} should be true or false, if specified`);
- }
- return input;
- });
-}
-
-/**
- * @param {string[]} options
- * @returns {Validator}
- */
-function list(options, fallback = options[0]) {
- return validate(fallback, (input, keypath) => {
- if (!options.includes(input)) {
- // prettier-ignore
- const msg = options.length > 2
- ? `${keypath} should be one of ${options.slice(0, -1).map(input => `"${input}"`).join(', ')} or "${options[options.length - 1]}"`
- : `${keypath} should be either "${options[0]}" or "${options[1]}"`;
-
- throw new Error(msg);
- }
- return input;
- });
-}
-
-/**
- * @param {(...args: any) => any} fallback
- * @returns {Validator}
- */
-function fun(fallback) {
- return validate(fallback, (input, keypath) => {
- if (typeof input !== 'function') {
- throw new Error(`${keypath} should be a function, if specified`);
- }
- return input;
- });
-}
-
-/**
- * @param {string} input
- * @param {string} keypath
- */
-function assert_string(input, keypath) {
- if (typeof input !== 'string') {
- throw new Error(`${keypath} should be a string, if specified`);
- }
-}
-
-export default options;
diff --git a/node_modules/@sveltejs/kit/src/core/config/types.d.ts b/node_modules/@sveltejs/kit/src/core/config/types.d.ts
deleted file mode 100644
index 00d005c..0000000
--- a/node_modules/@sveltejs/kit/src/core/config/types.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export type Validator = (input: T, keypath: string) => T;
diff --git a/node_modules/@sveltejs/kit/src/core/env.js b/node_modules/@sveltejs/kit/src/core/env.js
deleted file mode 100644
index 455eb0f..0000000
--- a/node_modules/@sveltejs/kit/src/core/env.js
+++ /dev/null
@@ -1,152 +0,0 @@
-import { GENERATED_COMMENT } from '../constants.js';
-import { dedent } from './sync/utils.js';
-import { runtime_base } from './utils.js';
-
-/**
- * @typedef {'public' | 'private'} EnvType
- */
-
-/**
- * @param {string} id
- * @param {Record} env
- * @returns {string}
- */
-export function create_static_module(id, env) {
- /** @type {string[]} */
- const declarations = [];
-
- for (const key in env) {
- if (!valid_identifier.test(key) || reserved.has(key)) {
- continue;
- }
-
- const comment = `/** @type {import('${id}').${key}} */`;
- const declaration = `export const ${key} = ${JSON.stringify(env[key])};`;
-
- declarations.push(`${comment}\n${declaration}`);
- }
-
- return GENERATED_COMMENT + declarations.join('\n\n');
-}
-
-/**
- * @param {EnvType} type
- * @param {Record | undefined} dev_values If in a development mode, values to pre-populate the module with.
- */
-export function create_dynamic_module(type, dev_values) {
- if (dev_values) {
- const keys = Object.entries(dev_values).map(
- ([k, v]) => `${JSON.stringify(k)}: ${JSON.stringify(v)}`
- );
- return `export const env = {\n${keys.join(',\n')}\n}`;
- }
- return `export { ${type}_env as env } from '${runtime_base}/shared-server.js';`;
-}
-
-/**
- * @param {EnvType} id
- * @param {import('types').Env} env
- * @returns {string}
- */
-export function create_static_types(id, env) {
- const declarations = Object.keys(env[id])
- .filter((k) => valid_identifier.test(k))
- .map((k) => `export const ${k}: string;`);
-
- return dedent`
- declare module '$env/static/${id}' {
- ${declarations.join('\n')}
- }
- `;
-}
-
-/**
- * @param {EnvType} id
- * @param {import('types').Env} env
- * @param {{
- * public_prefix: string;
- * private_prefix: string;
- * }} prefixes
- * @returns {string}
- */
-export function create_dynamic_types(id, env, { public_prefix, private_prefix }) {
- const properties = Object.keys(env[id])
- .filter((k) => valid_identifier.test(k))
- .map((k) => `${k}: string;`);
-
- const public_prefixed = `[key: \`${public_prefix}\${string}\`]`;
- const private_prefixed = `[key: \`${private_prefix}\${string}\`]`;
-
- if (id === 'private') {
- if (public_prefix) {
- properties.push(`${public_prefixed}: undefined;`);
- }
- properties.push(`${private_prefixed}: string | undefined;`);
- } else {
- if (private_prefix) {
- properties.push(`${private_prefixed}: undefined;`);
- }
- properties.push(`${public_prefixed}: string | undefined;`);
- }
-
- return dedent`
- declare module '$env/dynamic/${id}' {
- export const env: {
- ${properties.join('\n')}
- }
- }
- `;
-}
-
-export const reserved = new Set([
- 'do',
- 'if',
- 'in',
- 'for',
- 'let',
- 'new',
- 'try',
- 'var',
- 'case',
- 'else',
- 'enum',
- 'eval',
- 'null',
- 'this',
- 'true',
- 'void',
- 'with',
- 'await',
- 'break',
- 'catch',
- 'class',
- 'const',
- 'false',
- 'super',
- 'throw',
- 'while',
- 'yield',
- 'delete',
- 'export',
- 'import',
- 'public',
- 'return',
- 'static',
- 'switch',
- 'typeof',
- 'default',
- 'extends',
- 'finally',
- 'package',
- 'private',
- 'continue',
- 'debugger',
- 'function',
- 'arguments',
- 'interface',
- 'protected',
- 'implements',
- 'instanceof'
-]);
-
-export const valid_identifier = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
diff --git a/node_modules/@sveltejs/kit/src/core/generate_manifest/find_server_assets.js b/node_modules/@sveltejs/kit/src/core/generate_manifest/find_server_assets.js
deleted file mode 100644
index 3a562f4..0000000
--- a/node_modules/@sveltejs/kit/src/core/generate_manifest/find_server_assets.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import { find_deps } from '../../exports/vite/build/utils.js';
-
-/**
- * Finds all the assets that are imported by server files associated with `routes`
- * @param {import('types').BuildData} build_data
- * @param {import('types').RouteData[]} routes
- */
-export function find_server_assets(build_data, routes) {
- /**
- * All nodes actually used in the routes definition (prerendered routes are omitted).
- * Root layout/error is always included as they are needed for 404 and root errors.
- * @type {Set}
- */
- const used_nodes = new Set([0, 1]);
-
- // TODO add hooks.server.js asset imports
- /** @type {Set} */
- const server_assets = new Set();
-
- /** @param {string} id */
- function add_assets(id) {
- if (id in build_data.server_manifest) {
- const deps = find_deps(build_data.server_manifest, id, false);
- for (const asset of deps.assets) {
- server_assets.add(asset);
- }
- }
- }
-
- for (const route of routes) {
- if (route.page) {
- for (const i of route.page.layouts) used_nodes.add(i);
- for (const i of route.page.errors) used_nodes.add(i);
- used_nodes.add(route.page.leaf);
- }
-
- if (route.endpoint) {
- add_assets(route.endpoint.file);
- }
- }
-
- for (const n of used_nodes) {
- const node = build_data.manifest_data.nodes[n];
- if (node?.server) add_assets(node.server);
- }
-
- if (build_data.manifest_data.hooks.server) {
- add_assets(build_data.manifest_data.hooks.server);
- }
-
- return Array.from(server_assets);
-}
diff --git a/node_modules/@sveltejs/kit/src/core/generate_manifest/index.js b/node_modules/@sveltejs/kit/src/core/generate_manifest/index.js
deleted file mode 100644
index a2ef4cd..0000000
--- a/node_modules/@sveltejs/kit/src/core/generate_manifest/index.js
+++ /dev/null
@@ -1,140 +0,0 @@
-import fs from 'node:fs';
-import path from 'node:path';
-import * as mime from 'mrmime';
-import { s } from '../../utils/misc.js';
-import { get_mime_lookup } from '../utils.js';
-import { resolve_symlinks } from '../../exports/vite/build/utils.js';
-import { compact } from '../../utils/array.js';
-import { join_relative } from '../../utils/filesystem.js';
-import { dedent } from '../sync/utils.js';
-import { find_server_assets } from './find_server_assets.js';
-
-/**
- * Generates the data used to write the server-side manifest.js file. This data is used in the Vite
- * build process, to power routing, etc.
- * @param {{
- * build_data: import('types').BuildData;
- * relative_path: string;
- * routes: import('types').RouteData[];
- * }} opts
- */
-export function generate_manifest({ build_data, relative_path, routes }) {
- /**
- * @type {Map} The new index of each node in the filtered nodes array
- */
- const reindexed = new Map();
- /**
- * All nodes actually used in the routes definition (prerendered routes are omitted).
- * Root layout/error is always included as they are needed for 404 and root errors.
- * @type {Set}
- */
- const used_nodes = new Set([0, 1]);
-
- const server_assets = find_server_assets(build_data, routes);
-
- for (const route of routes) {
- if (route.page) {
- for (const i of route.page.layouts) used_nodes.add(i);
- for (const i of route.page.errors) used_nodes.add(i);
- used_nodes.add(route.page.leaf);
- }
- }
-
- const node_paths = compact(
- build_data.manifest_data.nodes.map((_, i) => {
- if (used_nodes.has(i)) {
- reindexed.set(i, reindexed.size);
- return join_relative(relative_path, `/nodes/${i}.js`);
- }
- })
- );
-
- /** @type {(path: string) => string} */
- const loader = (path) => `__memo(() => import('${path}'))`;
-
- const assets = build_data.manifest_data.assets.map((asset) => asset.file);
- if (build_data.service_worker) {
- assets.push(build_data.service_worker);
- }
-
- const matchers = new Set();
-
- /** @param {Array} indexes */
- function get_nodes(indexes) {
- const string = indexes.map((n) => reindexed.get(n) ?? '').join(',');
-
- // since JavaScript ignores trailing commas, we need to insert a dummy
- // comma so that the array has the correct length if the last item
- // is undefined
- return `[${string},]`;
- }
-
- const mime_types = get_mime_lookup(build_data.manifest_data);
-
- /** @type {Record} */
- const files = {};
- for (const file of server_assets) {
- files[file] = fs.statSync(path.resolve(build_data.out_dir, 'server', file)).size;
-
- const ext = path.extname(file);
- mime_types[ext] ??= mime.lookup(ext) || '';
- }
-
- // prettier-ignore
- // String representation of
- /** @template {import('@sveltejs/kit').SSRManifest} T */
- const manifest_expr = dedent`
- {
- appDir: ${s(build_data.app_dir)},
- appPath: ${s(build_data.app_path)},
- assets: new Set(${s(assets)}),
- mimeTypes: ${s(mime_types)},
- _: {
- client: ${s(build_data.client)},
- nodes: [
- ${(node_paths).map(loader).join(',\n')}
- ],
- routes: [
- ${routes.map(route => {
- if (!route.page && !route.endpoint) return;
-
- route.params.forEach(param => {
- if (param.matcher) matchers.add(param.matcher);
- });
-
- return dedent`
- {
- id: ${s(route.id)},
- pattern: ${route.pattern},
- params: ${s(route.params)},
- page: ${route.page ? `{ layouts: ${get_nodes(route.page.layouts)}, errors: ${get_nodes(route.page.errors)}, leaf: ${reindexed.get(route.page.leaf)} }` : 'null'},
- endpoint: ${route.endpoint ? loader(join_relative(relative_path, resolve_symlinks(build_data.server_manifest, route.endpoint.file).chunk.file)) : 'null'}
- }
- `;
- }).filter(Boolean).join(',\n')}
- ],
- matchers: async () => {
- ${Array.from(
- matchers,
- type => `const { match: ${type} } = await import ('${(join_relative(relative_path, `/entries/matchers/${type}.js`))}')`
- ).join('\n')}
- return { ${Array.from(matchers).join(', ')} };
- },
- server_assets: ${s(files)}
- }
- }
- `;
-
- // Memoize the loaders to prevent Node from doing unnecessary work
- // on every dynamic import call
- return dedent`
- (() => {
- function __memo(fn) {
- let value;
- return () => value ??= (value = fn());
- }
-
- return ${manifest_expr}
- })()
- `;
-}
diff --git a/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js b/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js
deleted file mode 100644
index d45e6a5..0000000
--- a/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js
+++ /dev/null
@@ -1,263 +0,0 @@
-import { join } from 'node:path';
-import { pathToFileURL } from 'node:url';
-import { get_option } from '../../utils/options.js';
-import {
- validate_layout_exports,
- validate_layout_server_exports,
- validate_page_exports,
- validate_page_server_exports,
- validate_server_exports
-} from '../../utils/exports.js';
-import { load_config } from '../config/index.js';
-import { forked } from '../../utils/fork.js';
-import { installPolyfills } from '../../exports/node/polyfills.js';
-import { ENDPOINT_METHODS } from '../../constants.js';
-import { filter_private_env, filter_public_env } from '../../utils/env.js';
-import { resolve_route } from '../../utils/routing.js';
-import { get_page_config } from '../../utils/route_config.js';
-import { check_feature } from '../../utils/features.js';
-import { createReadableStream } from '@sveltejs/kit/node';
-
-export default forked(import.meta.url, analyse);
-
-/**
- * @param {{
- * hash: boolean;
- * manifest_path: string;
- * manifest_data: import('types').ManifestData;
- * server_manifest: import('vite').Manifest;
- * tracked_features: Record;
- * env: Record
- * }} opts
- */
-async function analyse({
- hash,
- manifest_path,
- manifest_data,
- server_manifest,
- tracked_features,
- env
-}) {
- /** @type {import('@sveltejs/kit').SSRManifest} */
- const manifest = (await import(pathToFileURL(manifest_path).href)).manifest;
-
- /** @type {import('types').ValidatedKitConfig} */
- const config = (await load_config()).kit;
-
- const server_root = join(config.outDir, 'output');
-
- /** @type {import('types').ServerInternalModule} */
- const internal = await import(pathToFileURL(`${server_root}/server/internal.js`).href);
-
- installPolyfills();
-
- // configure `import { building } from '$app/environment'` —
- // essential we do this before analysing the code
- internal.set_building();
-
- // set env, in case it's used in initialisation
- const { publicPrefix: public_prefix, privatePrefix: private_prefix } = config.env;
- const private_env = filter_private_env(env, { public_prefix, private_prefix });
- const public_env = filter_public_env(env, { public_prefix, private_prefix });
- internal.set_private_env(private_env);
- internal.set_public_env(public_env);
- internal.set_safe_public_env(public_env);
- internal.set_manifest(manifest);
- internal.set_read_implementation((file) => createReadableStream(`${server_root}/server/${file}`));
-
- /** @type {import('types').ServerMetadata} */
- const metadata = {
- nodes: [],
- routes: new Map()
- };
-
- const nodes = await Promise.all(manifest._.nodes.map((loader) => loader()));
-
- // analyse nodes
- for (const node of nodes) {
- if (hash && node.universal) {
- const options = Object.keys(node.universal).filter((o) => o !== 'load');
- if (options.length > 0) {
- throw new Error(
- `Page options are ignored when \`router.type === 'hash'\` (${node.universal_id} has ${options
- .filter((o) => o !== 'load')
- .map((o) => `'${o}'`)
- .join(', ')})`
- );
- }
- }
-
- metadata.nodes[node.index] = {
- has_server_load: node.server?.load !== undefined || node.server?.trailingSlash !== undefined
- };
- }
-
- // analyse routes
- for (const route of manifest._.routes) {
- const page =
- route.page &&
- analyse_page(
- route.page.layouts.map((n) => (n === undefined ? n : nodes[n])),
- nodes[route.page.leaf]
- );
-
- const endpoint = route.endpoint && analyse_endpoint(route, await route.endpoint());
-
- if (page?.prerender && endpoint?.prerender) {
- throw new Error(`Cannot prerender a route with both +page and +server files (${route.id})`);
- }
-
- if (page?.config && endpoint?.config) {
- for (const key in { ...page.config, ...endpoint.config }) {
- if (JSON.stringify(page.config[key]) !== JSON.stringify(endpoint.config[key])) {
- throw new Error(
- `Mismatched route config for ${route.id} — the +page and +server files must export the same config, if any`
- );
- }
- }
- }
-
- const route_config = page?.config ?? endpoint?.config ?? {};
- const prerender = page?.prerender ?? endpoint?.prerender;
-
- if (prerender !== true) {
- for (const feature of list_features(
- route,
- manifest_data,
- server_manifest,
- tracked_features
- )) {
- check_feature(route.id, route_config, feature, config.adapter);
- }
- }
-
- const page_methods = page?.methods ?? [];
- const api_methods = endpoint?.methods ?? [];
- const entries = page?.entries ?? endpoint?.entries;
-
- metadata.routes.set(route.id, {
- config: route_config,
- methods: Array.from(new Set([...page_methods, ...api_methods])),
- page: {
- methods: page_methods
- },
- api: {
- methods: api_methods
- },
- prerender,
- entries:
- entries && (await entries()).map((entry_object) => resolve_route(route.id, entry_object))
- });
- }
-
- return metadata;
-}
-
-/**
- * @param {import('types').SSRRoute} route
- * @param {import('types').SSREndpoint} mod
- */
-function analyse_endpoint(route, mod) {
- validate_server_exports(mod, route.id);
-
- if (mod.prerender && (mod.POST || mod.PATCH || mod.PUT || mod.DELETE)) {
- throw new Error(
- `Cannot prerender a +server file with POST, PATCH, PUT, or DELETE (${route.id})`
- );
- }
-
- /** @type {Array} */
- const methods = [];
-
- for (const method of /** @type {import('types').HttpMethod[]} */ (ENDPOINT_METHODS)) {
- if (mod[method]) methods.push(method);
- }
-
- if (mod.fallback) {
- methods.push('*');
- }
-
- return {
- config: mod.config,
- entries: mod.entries,
- methods,
- prerender: mod.prerender ?? false
- };
-}
-
-/**
- * @param {Array} layouts
- * @param {import('types').SSRNode} leaf
- */
-function analyse_page(layouts, leaf) {
- for (const layout of layouts) {
- if (layout) {
- validate_layout_server_exports(layout.server, layout.server_id);
- validate_layout_exports(layout.universal, layout.universal_id);
- }
- }
-
- /** @type {Array<'GET' | 'POST'>} */
- const methods = ['GET'];
- if (leaf.server?.actions) methods.push('POST');
-
- validate_page_server_exports(leaf.server, leaf.server_id);
- validate_page_exports(leaf.universal, leaf.universal_id);
-
- return {
- config: get_page_config([...layouts, leaf]),
- entries: leaf.universal?.entries ?? leaf.server?.entries,
- methods,
- prerender: get_option([...layouts, leaf], 'prerender') ?? false
- };
-}
-
-/**
- * @param {import('types').SSRRoute} route
- * @param {import('types').ManifestData} manifest_data
- * @param {import('vite').Manifest} server_manifest
- * @param {Record} tracked_features
- */
-function list_features(route, manifest_data, server_manifest, tracked_features) {
- const features = new Set();
-
- const route_data = /** @type {import('types').RouteData} */ (
- manifest_data.routes.find((r) => r.id === route.id)
- );
-
- /** @param {string} id */
- function visit(id) {
- const chunk = server_manifest[id];
- if (!chunk) return;
-
- if (chunk.file in tracked_features) {
- for (const feature of tracked_features[chunk.file]) {
- features.add(feature);
- }
- }
-
- if (chunk.imports) {
- for (const id of chunk.imports) {
- visit(id);
- }
- }
- }
-
- let page_node = route_data?.leaf;
- while (page_node) {
- if (page_node.server) visit(page_node.server);
- page_node = page_node.parent ?? null;
- }
-
- if (route_data.endpoint) {
- visit(route_data.endpoint.file);
- }
-
- if (manifest_data.hooks.server) {
- // TODO if hooks.server.js imports `read`, it will be in the entry chunk
- // we don't currently account for that case
- visit(manifest_data.hooks.server);
- }
-
- return Array.from(features);
-}
diff --git a/node_modules/@sveltejs/kit/src/core/postbuild/crawl.js b/node_modules/@sveltejs/kit/src/core/postbuild/crawl.js
deleted file mode 100644
index caffef5..0000000
--- a/node_modules/@sveltejs/kit/src/core/postbuild/crawl.js
+++ /dev/null
@@ -1,243 +0,0 @@
-import { resolve } from '../../utils/url.js';
-import { decode } from './entities.js';
-
-const DOCTYPE = 'DOCTYPE';
-const CDATA_OPEN = '[CDATA[';
-const CDATA_CLOSE = ']]>';
-const COMMENT_OPEN = '--';
-const COMMENT_CLOSE = '-->';
-
-const TAG_OPEN = /[a-zA-Z]/;
-const TAG_CHAR = /[a-zA-Z0-9]/;
-const ATTRIBUTE_NAME = /[^\t\n\f />"'=]/;
-
-const WHITESPACE = /[\s\n\r]/;
-
-const CRAWLABLE_META_NAME_ATTRS = new Set([
- 'og:url',
- 'og:image',
- 'og:image:url',
- 'og:image:secure_url',
- 'og:video',
- 'og:video:url',
- 'og:video:secure_url',
- 'og:audio',
- 'og:audio:url',
- 'og:audio:secure_url',
- 'twitter:image'
-]);
-
-/**
- * @param {string} html
- * @param {string} base
- */
-export function crawl(html, base) {
- /** @type {string[]} */
- const ids = [];
-
- /** @type {string[]} */
- const hrefs = [];
-
- let i = 0;
- main: while (i < html.length) {
- const char = html[i];
-
- if (char === '<') {
- if (html[i + 1] === '!') {
- i += 2;
-
- if (html.slice(i, i + DOCTYPE.length).toUpperCase() === DOCTYPE) {
- i += DOCTYPE.length;
- while (i < html.length) {
- if (html[i++] === '>') {
- continue main;
- }
- }
- }
-
- // skip cdata
- if (html.slice(i, i + CDATA_OPEN.length) === CDATA_OPEN) {
- i += CDATA_OPEN.length;
- while (i < html.length) {
- if (html.slice(i, i + CDATA_CLOSE.length) === CDATA_CLOSE) {
- i += CDATA_CLOSE.length;
- continue main;
- }
-
- i += 1;
- }
- }
-
- // skip comments
- if (html.slice(i, i + COMMENT_OPEN.length) === COMMENT_OPEN) {
- i += COMMENT_OPEN.length;
- while (i < html.length) {
- if (html.slice(i, i + COMMENT_CLOSE.length) === COMMENT_CLOSE) {
- i += COMMENT_CLOSE.length;
- continue main;
- }
-
- i += 1;
- }
- }
- }
-
- // parse opening tags
- const start = ++i;
- if (TAG_OPEN.test(html[start])) {
- while (i < html.length) {
- if (!TAG_CHAR.test(html[i])) {
- break;
- }
-
- i += 1;
- }
-
- const tag = html.slice(start, i).toUpperCase();
-
- /** @type {Record} */
- const attributes = {};
-
- if (tag === 'SCRIPT' || tag === 'STYLE') {
- while (i < html.length) {
- if (
- html[i] === '<' &&
- html[i + 1] === '/' &&
- html.slice(i + 2, i + 2 + tag.length).toUpperCase() === tag
- ) {
- continue main;
- }
-
- i += 1;
- }
- }
-
- while (i < html.length) {
- const start = i;
-
- const char = html[start];
- if (char === '>') break;
-
- if (ATTRIBUTE_NAME.test(char)) {
- i += 1;
-
- while (i < html.length) {
- if (!ATTRIBUTE_NAME.test(html[i])) {
- break;
- }
-
- i += 1;
- }
-
- const name = html.slice(start, i).toLowerCase();
-
- while (WHITESPACE.test(html[i])) i += 1;
-
- if (html[i] === '=') {
- i += 1;
- while (WHITESPACE.test(html[i])) i += 1;
-
- let value;
-
- if (html[i] === "'" || html[i] === '"') {
- const quote = html[i++];
-
- const start = i;
- let escaped = false;
-
- while (i < html.length) {
- if (escaped) {
- escaped = false;
- } else {
- const char = html[i];
-
- if (html[i] === quote) {
- break;
- }
-
- if (char === '\\') {
- escaped = true;
- }
- }
-
- i += 1;
- }
-
- value = html.slice(start, i);
- } else {
- const start = i;
- while (html[i] !== '>' && !WHITESPACE.test(html[i])) i += 1;
- value = html.slice(start, i);
-
- i -= 1;
- }
-
- value = decode(value);
- attributes[name] = value;
- } else {
- i -= 1;
- }
- }
-
- i += 1;
- }
-
- const { href, id, name, property, rel, src, srcset, content } = attributes;
-
- if (href) {
- if (tag === 'BASE') {
- base = resolve(base, href);
- } else if (!rel || !/\bexternal\b/i.test(rel)) {
- hrefs.push(resolve(base, href));
- }
- }
-
- if (id) {
- ids.push(id);
- }
-
- if (name && tag === 'A') {
- ids.push(name);
- }
-
- if (src) {
- hrefs.push(resolve(base, src));
- }
-
- if (srcset) {
- let value = srcset;
- const candidates = [];
- let insideURL = true;
- value = value.trim();
- for (let i = 0; i < value.length; i++) {
- if (value[i] === ',' && (!insideURL || (insideURL && WHITESPACE.test(value[i + 1])))) {
- candidates.push(value.slice(0, i));
- value = value.substring(i + 1).trim();
- i = 0;
- insideURL = true;
- } else if (WHITESPACE.test(value[i])) {
- insideURL = false;
- }
- }
- candidates.push(value);
- for (const candidate of candidates) {
- const src = candidate.split(WHITESPACE)[0];
- if (src) hrefs.push(resolve(base, src));
- }
- }
-
- if (tag === 'META' && content) {
- const attr = name ?? property;
-
- if (attr && CRAWLABLE_META_NAME_ATTRS.has(attr)) {
- hrefs.push(resolve(base, content));
- }
- }
- }
- }
-
- i += 1;
- }
-
- return { ids, hrefs };
-}
diff --git a/node_modules/@sveltejs/kit/src/core/postbuild/entities.js b/node_modules/@sveltejs/kit/src/core/postbuild/entities.js
deleted file mode 100644
index 91888a9..0000000
--- a/node_modules/@sveltejs/kit/src/core/postbuild/entities.js
+++ /dev/null
@@ -1,2252 +0,0 @@
-/**
- * A list of all named HTML entities, from https://html.spec.whatwg.org/multipage/named-characters.html
- * @type {Record}
- */
-const entities = {
- AElig: 'Æ',
- 'AElig;': 'Æ',
- AMP: '&',
- 'AMP;': '&',
- Aacute: 'Á',
- 'Aacute;': 'Á',
- 'Abreve;': 'Ă',
- Acirc: 'Â',
- 'Acirc;': 'Â',
- 'Acy;': 'А',
- 'Afr;': '𝔄',
- Agrave: 'À',
- 'Agrave;': 'À',
- 'Alpha;': 'Α',
- 'Amacr;': 'Ā',
- 'And;': '⩓',
- 'Aogon;': 'Ą',
- 'Aopf;': '𝔸',
- 'ApplyFunction;': '',
- Aring: 'Å',
- 'Aring;': 'Å',
- 'Ascr;': '𝒜',
- 'Assign;': '≔',
- Atilde: 'Ã',
- 'Atilde;': 'Ã',
- Auml: 'Ä',
- 'Auml;': 'Ä',
- 'Backslash;': '∖',
- 'Barv;': '⫧',
- 'Barwed;': '⌆',
- 'Bcy;': 'Б',
- 'Because;': '∵',
- 'Bernoullis;': 'ℬ',
- 'Beta;': 'Β',
- 'Bfr;': '𝔅',
- 'Bopf;': '𝔹',
- 'Breve;': '˘',
- 'Bscr;': 'ℬ',
- 'Bumpeq;': '≎',
- 'CHcy;': 'Ч',
- COPY: '©',
- 'COPY;': '©',
- 'Cacute;': 'Ć',
- 'Cap;': '⋒',
- 'CapitalDifferentialD;': 'ⅅ',
- 'Cayleys;': 'ℭ',
- 'Ccaron;': 'Č',
- Ccedil: 'Ç',
- 'Ccedil;': 'Ç',
- 'Ccirc;': 'Ĉ',
- 'Cconint;': '∰',
- 'Cdot;': 'Ċ',
- 'Cedilla;': '¸',
- 'CenterDot;': '·',
- 'Cfr;': 'ℭ',
- 'Chi;': 'Χ',
- 'CircleDot;': '⊙',
- 'CircleMinus;': '⊖',
- 'CirclePlus;': '⊕',
- 'CircleTimes;': '⊗',
- 'ClockwiseContourIntegral;': '∲',
- 'CloseCurlyDoubleQuote;': '”',
- 'CloseCurlyQuote;': '’',
- 'Colon;': '∷',
- 'Colone;': '⩴',
- 'Congruent;': '≡',
- 'Conint;': '∯',
- 'ContourIntegral;': '∮',
- 'Copf;': 'ℂ',
- 'Coproduct;': '∐',
- 'CounterClockwiseContourIntegral;': '∳',
- 'Cross;': '⨯',
- 'Cscr;': '𝒞',
- 'Cup;': '⋓',
- 'CupCap;': '≍',
- 'DD;': 'ⅅ',
- 'DDotrahd;': '⤑',
- 'DJcy;': 'Ђ',
- 'DScy;': 'Ѕ',
- 'DZcy;': 'Џ',
- 'Dagger;': '‡',
- 'Darr;': '↡',
- 'Dashv;': '⫤',
- 'Dcaron;': 'Ď',
- 'Dcy;': 'Д',
- 'Del;': '∇',
- 'Delta;': 'Δ',
- 'Dfr;': '𝔇',
- 'DiacriticalAcute;': '´',
- 'DiacriticalDot;': '˙',
- 'DiacriticalDoubleAcute;': '˝',
- 'DiacriticalGrave;': '`',
- 'DiacriticalTilde;': '˜',
- 'Diamond;': '⋄',
- 'DifferentialD;': 'ⅆ',
- 'Dopf;': '𝔻',
- 'Dot;': '¨',
- 'DotDot;': '⃜',
- 'DotEqual;': '≐',
- 'DoubleContourIntegral;': '∯',
- 'DoubleDot;': '¨',
- 'DoubleDownArrow;': '⇓',
- 'DoubleLeftArrow;': '⇐',
- 'DoubleLeftRightArrow;': '⇔',
- 'DoubleLeftTee;': '⫤',
- 'DoubleLongLeftArrow;': '⟸',
- 'DoubleLongLeftRightArrow;': '⟺',
- 'DoubleLongRightArrow;': '⟹',
- 'DoubleRightArrow;': '⇒',
- 'DoubleRightTee;': '⊨',
- 'DoubleUpArrow;': '⇑',
- 'DoubleUpDownArrow;': '⇕',
- 'DoubleVerticalBar;': '∥',
- 'DownArrow;': '↓',
- 'DownArrowBar;': '⤓',
- 'DownArrowUpArrow;': '⇵',
- 'DownBreve;': '̑',
- 'DownLeftRightVector;': '⥐',
- 'DownLeftTeeVector;': '⥞',
- 'DownLeftVector;': '↽',
- 'DownLeftVectorBar;': '⥖',
- 'DownRightTeeVector;': '⥟',
- 'DownRightVector;': '⇁',
- 'DownRightVectorBar;': '⥗',
- 'DownTee;': '⊤',
- 'DownTeeArrow;': '↧',
- 'Downarrow;': '⇓',
- 'Dscr;': '𝒟',
- 'Dstrok;': 'Đ',
- 'ENG;': 'Ŋ',
- ETH: 'Ð',
- 'ETH;': 'Ð',
- Eacute: 'É',
- 'Eacute;': 'É',
- 'Ecaron;': 'Ě',
- Ecirc: 'Ê',
- 'Ecirc;': 'Ê',
- 'Ecy;': 'Э',
- 'Edot;': 'Ė',
- 'Efr;': '𝔈',
- Egrave: 'È',
- 'Egrave;': 'È',
- 'Element;': '∈',
- 'Emacr;': 'Ē',
- 'EmptySmallSquare;': '◻',
- 'EmptyVerySmallSquare;': '▫',
- 'Eogon;': 'Ę',
- 'Eopf;': '𝔼',
- 'Epsilon;': 'Ε',
- 'Equal;': '⩵',
- 'EqualTilde;': '≂',
- 'Equilibrium;': '⇌',
- 'Escr;': 'ℰ',
- 'Esim;': '⩳',
- 'Eta;': 'Η',
- Euml: 'Ë',
- 'Euml;': 'Ë',
- 'Exists;': '∃',
- 'ExponentialE;': 'ⅇ',
- 'Fcy;': 'Ф',
- 'Ffr;': '𝔉',
- 'FilledSmallSquare;': '◼',
- 'FilledVerySmallSquare;': '▪',
- 'Fopf;': '𝔽',
- 'ForAll;': '∀',
- 'Fouriertrf;': 'ℱ',
- 'Fscr;': 'ℱ',
- 'GJcy;': 'Ѓ',
- GT: '>',
- 'GT;': '>',
- 'Gamma;': 'Γ',
- 'Gammad;': 'Ϝ',
- 'Gbreve;': 'Ğ',
- 'Gcedil;': 'Ģ',
- 'Gcirc;': 'Ĝ',
- 'Gcy;': 'Г',
- 'Gdot;': 'Ġ',
- 'Gfr;': '𝔊',
- 'Gg;': '⋙',
- 'Gopf;': '𝔾',
- 'GreaterEqual;': '≥',
- 'GreaterEqualLess;': '⋛',
- 'GreaterFullEqual;': '≧',
- 'GreaterGreater;': '⪢',
- 'GreaterLess;': '≷',
- 'GreaterSlantEqual;': '⩾',
- 'GreaterTilde;': '≳',
- 'Gscr;': '𝒢',
- 'Gt;': '≫',
- 'HARDcy;': 'Ъ',
- 'Hacek;': 'ˇ',
- 'Hat;': '^',
- 'Hcirc;': 'Ĥ',
- 'Hfr;': 'ℌ',
- 'HilbertSpace;': 'ℋ',
- 'Hopf;': 'ℍ',
- 'HorizontalLine;': '─',
- 'Hscr;': 'ℋ',
- 'Hstrok;': 'Ħ',
- 'HumpDownHump;': '≎',
- 'HumpEqual;': '≏',
- 'IEcy;': 'Е',
- 'IJlig;': 'IJ',
- 'IOcy;': 'Ё',
- Iacute: 'Í',
- 'Iacute;': 'Í',
- Icirc: 'Î',
- 'Icirc;': 'Î',
- 'Icy;': 'И',
- 'Idot;': 'İ',
- 'Ifr;': 'ℑ',
- Igrave: 'Ì',
- 'Igrave;': 'Ì',
- 'Im;': 'ℑ',
- 'Imacr;': 'Ī',
- 'ImaginaryI;': 'ⅈ',
- 'Implies;': '⇒',
- 'Int;': '∬',
- 'Integral;': '∫',
- 'Intersection;': '⋂',
- 'InvisibleComma;': '',
- 'InvisibleTimes;': '',
- 'Iogon;': 'Į',
- 'Iopf;': '𝕀',
- 'Iota;': 'Ι',
- 'Iscr;': 'ℐ',
- 'Itilde;': 'Ĩ',
- 'Iukcy;': 'І',
- Iuml: 'Ï',
- 'Iuml;': 'Ï',
- 'Jcirc;': 'Ĵ',
- 'Jcy;': 'Й',
- 'Jfr;': '𝔍',
- 'Jopf;': '𝕁',
- 'Jscr;': '𝒥',
- 'Jsercy;': 'Ј',
- 'Jukcy;': 'Є',
- 'KHcy;': 'Х',
- 'KJcy;': 'Ќ',
- 'Kappa;': 'Κ',
- 'Kcedil;': 'Ķ',
- 'Kcy;': 'К',
- 'Kfr;': '𝔎',
- 'Kopf;': '𝕂',
- 'Kscr;': '𝒦',
- 'LJcy;': 'Љ',
- LT: '<',
- 'LT;': '<',
- 'Lacute;': 'Ĺ',
- 'Lambda;': 'Λ',
- 'Lang;': '⟪',
- 'Laplacetrf;': 'ℒ',
- 'Larr;': '↞',
- 'Lcaron;': 'Ľ',
- 'Lcedil;': 'Ļ',
- 'Lcy;': 'Л',
- 'LeftAngleBracket;': '⟨',
- 'LeftArrow;': '←',
- 'LeftArrowBar;': '⇤',
- 'LeftArrowRightArrow;': '⇆',
- 'LeftCeiling;': '⌈',
- 'LeftDoubleBracket;': '⟦',
- 'LeftDownTeeVector;': '⥡',
- 'LeftDownVector;': '⇃',
- 'LeftDownVectorBar;': '⥙',
- 'LeftFloor;': '⌊',
- 'LeftRightArrow;': '↔',
- 'LeftRightVector;': '⥎',
- 'LeftTee;': '⊣',
- 'LeftTeeArrow;': '↤',
- 'LeftTeeVector;': '⥚',
- 'LeftTriangle;': '⊲',
- 'LeftTriangleBar;': '⧏',
- 'LeftTriangleEqual;': '⊴',
- 'LeftUpDownVector;': '⥑',
- 'LeftUpTeeVector;': '⥠',
- 'LeftUpVector;': '↿',
- 'LeftUpVectorBar;': '⥘',
- 'LeftVector;': '↼',
- 'LeftVectorBar;': '⥒',
- 'Leftarrow;': '⇐',
- 'Leftrightarrow;': '⇔',
- 'LessEqualGreater;': '⋚',
- 'LessFullEqual;': '≦',
- 'LessGreater;': '≶',
- 'LessLess;': '⪡',
- 'LessSlantEqual;': '⩽',
- 'LessTilde;': '≲',
- 'Lfr;': '𝔏',
- 'Ll;': '⋘',
- 'Lleftarrow;': '⇚',
- 'Lmidot;': 'Ŀ',
- 'LongLeftArrow;': '⟵',
- 'LongLeftRightArrow;': '⟷',
- 'LongRightArrow;': '⟶',
- 'Longleftarrow;': '⟸',
- 'Longleftrightarrow;': '⟺',
- 'Longrightarrow;': '⟹',
- 'Lopf;': '𝕃',
- 'LowerLeftArrow;': '↙',
- 'LowerRightArrow;': '↘',
- 'Lscr;': 'ℒ',
- 'Lsh;': '↰',
- 'Lstrok;': 'Ł',
- 'Lt;': '≪',
- 'Map;': '⤅',
- 'Mcy;': 'М',
- 'MediumSpace;': ' ',
- 'Mellintrf;': 'ℳ',
- 'Mfr;': '𝔐',
- 'MinusPlus;': '∓',
- 'Mopf;': '𝕄',
- 'Mscr;': 'ℳ',
- 'Mu;': 'Μ',
- 'NJcy;': 'Њ',
- 'Nacute;': 'Ń',
- 'Ncaron;': 'Ň',
- 'Ncedil;': 'Ņ',
- 'Ncy;': 'Н',
- 'NegativeMediumSpace;': '',
- 'NegativeThickSpace;': '',
- 'NegativeThinSpace;': '',
- 'NegativeVeryThinSpace;': '',
- 'NestedGreaterGreater;': '≫',
- 'NestedLessLess;': '≪',
- 'NewLine;': '\n',
- 'Nfr;': '𝔑',
- 'NoBreak;': '',
- 'NonBreakingSpace;': ' ',
- 'Nopf;': 'ℕ',
- 'Not;': '⫬',
- 'NotCongruent;': '≢',
- 'NotCupCap;': '≭',
- 'NotDoubleVerticalBar;': '∦',
- 'NotElement;': '∉',
- 'NotEqual;': '≠',
- 'NotEqualTilde;': '≂̸',
- 'NotExists;': '∄',
- 'NotGreater;': '≯',
- 'NotGreaterEqual;': '≱',
- 'NotGreaterFullEqual;': '≧̸',
- 'NotGreaterGreater;': '≫̸',
- 'NotGreaterLess;': '≹',
- 'NotGreaterSlantEqual;': '⩾̸',
- 'NotGreaterTilde;': '≵',
- 'NotHumpDownHump;': '≎̸',
- 'NotHumpEqual;': '≏̸',
- 'NotLeftTriangle;': '⋪',
- 'NotLeftTriangleBar;': '⧏̸',
- 'NotLeftTriangleEqual;': '⋬',
- 'NotLess;': '≮',
- 'NotLessEqual;': '≰',
- 'NotLessGreater;': '≸',
- 'NotLessLess;': '≪̸',
- 'NotLessSlantEqual;': '⩽̸',
- 'NotLessTilde;': '≴',
- 'NotNestedGreaterGreater;': '⪢̸',
- 'NotNestedLessLess;': '⪡̸',
- 'NotPrecedes;': '⊀',
- 'NotPrecedesEqual;': '⪯̸',
- 'NotPrecedesSlantEqual;': '⋠',
- 'NotReverseElement;': '∌',
- 'NotRightTriangle;': '⋫',
- 'NotRightTriangleBar;': '⧐̸',
- 'NotRightTriangleEqual;': '⋭',
- 'NotSquareSubset;': '⊏̸',
- 'NotSquareSubsetEqual;': '⋢',
- 'NotSquareSuperset;': '⊐̸',
- 'NotSquareSupersetEqual;': '⋣',
- 'NotSubset;': '⊂⃒',
- 'NotSubsetEqual;': '⊈',
- 'NotSucceeds;': '⊁',
- 'NotSucceedsEqual;': '⪰̸',
- 'NotSucceedsSlantEqual;': '⋡',
- 'NotSucceedsTilde;': '≿̸',
- 'NotSuperset;': '⊃⃒',
- 'NotSupersetEqual;': '⊉',
- 'NotTilde;': '≁',
- 'NotTildeEqual;': '≄',
- 'NotTildeFullEqual;': '≇',
- 'NotTildeTilde;': '≉',
- 'NotVerticalBar;': '∤',
- 'Nscr;': '𝒩',
- Ntilde: 'Ñ',
- 'Ntilde;': 'Ñ',
- 'Nu;': 'Ν',
- 'OElig;': 'Œ',
- Oacute: 'Ó',
- 'Oacute;': 'Ó',
- Ocirc: 'Ô',
- 'Ocirc;': 'Ô',
- 'Ocy;': 'О',
- 'Odblac;': 'Ő',
- 'Ofr;': '𝔒',
- Ograve: 'Ò',
- 'Ograve;': 'Ò',
- 'Omacr;': 'Ō',
- 'Omega;': 'Ω',
- 'Omicron;': 'Ο',
- 'Oopf;': '𝕆',
- 'OpenCurlyDoubleQuote;': '“',
- 'OpenCurlyQuote;': '‘',
- 'Or;': '⩔',
- 'Oscr;': '𝒪',
- Oslash: 'Ø',
- 'Oslash;': 'Ø',
- Otilde: 'Õ',
- 'Otilde;': 'Õ',
- 'Otimes;': '⨷',
- Ouml: 'Ö',
- 'Ouml;': 'Ö',
- 'OverBar;': '‾',
- 'OverBrace;': '⏞',
- 'OverBracket;': '⎴',
- 'OverParenthesis;': '⏜',
- 'PartialD;': '∂',
- 'Pcy;': 'П',
- 'Pfr;': '𝔓',
- 'Phi;': 'Φ',
- 'Pi;': 'Π',
- 'PlusMinus;': '±',
- 'Poincareplane;': 'ℌ',
- 'Popf;': 'ℙ',
- 'Pr;': '⪻',
- 'Precedes;': '≺',
- 'PrecedesEqual;': '⪯',
- 'PrecedesSlantEqual;': '≼',
- 'PrecedesTilde;': '≾',
- 'Prime;': '″',
- 'Product;': '∏',
- 'Proportion;': '∷',
- 'Proportional;': '∝',
- 'Pscr;': '𝒫',
- 'Psi;': 'Ψ',
- QUOT: '"',
- 'QUOT;': '"',
- 'Qfr;': '𝔔',
- 'Qopf;': 'ℚ',
- 'Qscr;': '𝒬',
- 'RBarr;': '⤐',
- REG: '®',
- 'REG;': '®',
- 'Racute;': 'Ŕ',
- 'Rang;': '⟫',
- 'Rarr;': '↠',
- 'Rarrtl;': '⤖',
- 'Rcaron;': 'Ř',
- 'Rcedil;': 'Ŗ',
- 'Rcy;': 'Р',
- 'Re;': 'ℜ',
- 'ReverseElement;': '∋',
- 'ReverseEquilibrium;': '⇋',
- 'ReverseUpEquilibrium;': '⥯',
- 'Rfr;': 'ℜ',
- 'Rho;': 'Ρ',
- 'RightAngleBracket;': '⟩',
- 'RightArrow;': '→',
- 'RightArrowBar;': '⇥',
- 'RightArrowLeftArrow;': '⇄',
- 'RightCeiling;': '⌉',
- 'RightDoubleBracket;': '⟧',
- 'RightDownTeeVector;': '⥝',
- 'RightDownVector;': '⇂',
- 'RightDownVectorBar;': '⥕',
- 'RightFloor;': '⌋',
- 'RightTee;': '⊢',
- 'RightTeeArrow;': '↦',
- 'RightTeeVector;': '⥛',
- 'RightTriangle;': '⊳',
- 'RightTriangleBar;': '⧐',
- 'RightTriangleEqual;': '⊵',
- 'RightUpDownVector;': '⥏',
- 'RightUpTeeVector;': '⥜',
- 'RightUpVector;': '↾',
- 'RightUpVectorBar;': '⥔',
- 'RightVector;': '⇀',
- 'RightVectorBar;': '⥓',
- 'Rightarrow;': '⇒',
- 'Ropf;': 'ℝ',
- 'RoundImplies;': '⥰',
- 'Rrightarrow;': '⇛',
- 'Rscr;': 'ℛ',
- 'Rsh;': '↱',
- 'RuleDelayed;': '⧴',
- 'SHCHcy;': 'Щ',
- 'SHcy;': 'Ш',
- 'SOFTcy;': 'Ь',
- 'Sacute;': 'Ś',
- 'Sc;': '⪼',
- 'Scaron;': 'Š',
- 'Scedil;': 'Ş',
- 'Scirc;': 'Ŝ',
- 'Scy;': 'С',
- 'Sfr;': '𝔖',
- 'ShortDownArrow;': '↓',
- 'ShortLeftArrow;': '←',
- 'ShortRightArrow;': '→',
- 'ShortUpArrow;': '↑',
- 'Sigma;': 'Σ',
- 'SmallCircle;': '∘',
- 'Sopf;': '𝕊',
- 'Sqrt;': '√',
- 'Square;': '□',
- 'SquareIntersection;': '⊓',
- 'SquareSubset;': '⊏',
- 'SquareSubsetEqual;': '⊑',
- 'SquareSuperset;': '⊐',
- 'SquareSupersetEqual;': '⊒',
- 'SquareUnion;': '⊔',
- 'Sscr;': '𝒮',
- 'Star;': '⋆',
- 'Sub;': '⋐',
- 'Subset;': '⋐',
- 'SubsetEqual;': '⊆',
- 'Succeeds;': '≻',
- 'SucceedsEqual;': '⪰',
- 'SucceedsSlantEqual;': '≽',
- 'SucceedsTilde;': '≿',
- 'SuchThat;': '∋',
- 'Sum;': '∑',
- 'Sup;': '⋑',
- 'Superset;': '⊃',
- 'SupersetEqual;': '⊇',
- 'Supset;': '⋑',
- THORN: 'Þ',
- 'THORN;': 'Þ',
- 'TRADE;': '™',
- 'TSHcy;': 'Ћ',
- 'TScy;': 'Ц',
- 'Tab;': '\t',
- 'Tau;': 'Τ',
- 'Tcaron;': 'Ť',
- 'Tcedil;': 'Ţ',
- 'Tcy;': 'Т',
- 'Tfr;': '𝔗',
- 'Therefore;': '∴',
- 'Theta;': 'Θ',
- 'ThickSpace;': ' ',
- 'ThinSpace;': ' ',
- 'Tilde;': '∼',
- 'TildeEqual;': '≃',
- 'TildeFullEqual;': '≅',
- 'TildeTilde;': '≈',
- 'Topf;': '𝕋',
- 'TripleDot;': '⃛',
- 'Tscr;': '𝒯',
- 'Tstrok;': 'Ŧ',
- Uacute: 'Ú',
- 'Uacute;': 'Ú',
- 'Uarr;': '↟',
- 'Uarrocir;': '⥉',
- 'Ubrcy;': 'Ў',
- 'Ubreve;': 'Ŭ',
- Ucirc: 'Û',
- 'Ucirc;': 'Û',
- 'Ucy;': 'У',
- 'Udblac;': 'Ű',
- 'Ufr;': '𝔘',
- Ugrave: 'Ù',
- 'Ugrave;': 'Ù',
- 'Umacr;': 'Ū',
- 'UnderBar;': '_',
- 'UnderBrace;': '⏟',
- 'UnderBracket;': '⎵',
- 'UnderParenthesis;': '⏝',
- 'Union;': '⋃',
- 'UnionPlus;': '⊎',
- 'Uogon;': 'Ų',
- 'Uopf;': '𝕌',
- 'UpArrow;': '↑',
- 'UpArrowBar;': '⤒',
- 'UpArrowDownArrow;': '⇅',
- 'UpDownArrow;': '↕',
- 'UpEquilibrium;': '⥮',
- 'UpTee;': '⊥',
- 'UpTeeArrow;': '↥',
- 'Uparrow;': '⇑',
- 'Updownarrow;': '⇕',
- 'UpperLeftArrow;': '↖',
- 'UpperRightArrow;': '↗',
- 'Upsi;': 'ϒ',
- 'Upsilon;': 'Υ',
- 'Uring;': 'Ů',
- 'Uscr;': '𝒰',
- 'Utilde;': 'Ũ',
- Uuml: 'Ü',
- 'Uuml;': 'Ü',
- 'VDash;': '⊫',
- 'Vbar;': '⫫',
- 'Vcy;': 'В',
- 'Vdash;': '⊩',
- 'Vdashl;': '⫦',
- 'Vee;': '⋁',
- 'Verbar;': '‖',
- 'Vert;': '‖',
- 'VerticalBar;': '∣',
- 'VerticalLine;': '|',
- 'VerticalSeparator;': '❘',
- 'VerticalTilde;': '≀',
- 'VeryThinSpace;': ' ',
- 'Vfr;': '𝔙',
- 'Vopf;': '𝕍',
- 'Vscr;': '𝒱',
- 'Vvdash;': '⊪',
- 'Wcirc;': 'Ŵ',
- 'Wedge;': '⋀',
- 'Wfr;': '𝔚',
- 'Wopf;': '𝕎',
- 'Wscr;': '𝒲',
- 'Xfr;': '𝔛',
- 'Xi;': 'Ξ',
- 'Xopf;': '𝕏',
- 'Xscr;': '𝒳',
- 'YAcy;': 'Я',
- 'YIcy;': 'Ї',
- 'YUcy;': 'Ю',
- Yacute: 'Ý',
- 'Yacute;': 'Ý',
- 'Ycirc;': 'Ŷ',
- 'Ycy;': 'Ы',
- 'Yfr;': '𝔜',
- 'Yopf;': '𝕐',
- 'Yscr;': '𝒴',
- 'Yuml;': 'Ÿ',
- 'ZHcy;': 'Ж',
- 'Zacute;': 'Ź',
- 'Zcaron;': 'Ž',
- 'Zcy;': 'З',
- 'Zdot;': 'Ż',
- 'ZeroWidthSpace;': '',
- 'Zeta;': 'Ζ',
- 'Zfr;': 'ℨ',
- 'Zopf;': 'ℤ',
- 'Zscr;': '𝒵',
- aacute: 'á',
- 'aacute;': 'á',
- 'abreve;': 'ă',
- 'ac;': '∾',
- 'acE;': '∾̳',
- 'acd;': '∿',
- acirc: 'â',
- 'acirc;': 'â',
- acute: '´',
- 'acute;': '´',
- 'acy;': 'а',
- aelig: 'æ',
- 'aelig;': 'æ',
- 'af;': '',
- 'afr;': '𝔞',
- agrave: 'à',
- 'agrave;': 'à',
- 'alefsym;': 'ℵ',
- 'aleph;': 'ℵ',
- 'alpha;': 'α',
- 'amacr;': 'ā',
- 'amalg;': '⨿',
- amp: '&',
- 'amp;': '&',
- 'and;': '∧',
- 'andand;': '⩕',
- 'andd;': '⩜',
- 'andslope;': '⩘',
- 'andv;': '⩚',
- 'ang;': '∠',
- 'ange;': '⦤',
- 'angle;': '∠',
- 'angmsd;': '∡',
- 'angmsdaa;': '⦨',
- 'angmsdab;': '⦩',
- 'angmsdac;': '⦪',
- 'angmsdad;': '⦫',
- 'angmsdae;': '⦬',
- 'angmsdaf;': '⦭',
- 'angmsdag;': '⦮',
- 'angmsdah;': '⦯',
- 'angrt;': '∟',
- 'angrtvb;': '⊾',
- 'angrtvbd;': '⦝',
- 'angsph;': '∢',
- 'angst;': 'Å',
- 'angzarr;': '⍼',
- 'aogon;': 'ą',
- 'aopf;': '𝕒',
- 'ap;': '≈',
- 'apE;': '⩰',
- 'apacir;': '⩯',
- 'ape;': '≊',
- 'apid;': '≋',
- 'apos;': "'",
- 'approx;': '≈',
- 'approxeq;': '≊',
- aring: 'å',
- 'aring;': 'å',
- 'ascr;': '𝒶',
- 'ast;': '*',
- 'asymp;': '≈',
- 'asympeq;': '≍',
- atilde: 'ã',
- 'atilde;': 'ã',
- auml: 'ä',
- 'auml;': 'ä',
- 'awconint;': '∳',
- 'awint;': '⨑',
- 'bNot;': '⫭',
- 'backcong;': '≌',
- 'backepsilon;': '϶',
- 'backprime;': '‵',
- 'backsim;': '∽',
- 'backsimeq;': '⋍',
- 'barvee;': '⊽',
- 'barwed;': '⌅',
- 'barwedge;': '⌅',
- 'bbrk;': '⎵',
- 'bbrktbrk;': '⎶',
- 'bcong;': '≌',
- 'bcy;': 'б',
- 'bdquo;': '„',
- 'becaus;': '∵',
- 'because;': '∵',
- 'bemptyv;': '⦰',
- 'bepsi;': '϶',
- 'bernou;': 'ℬ',
- 'beta;': 'β',
- 'beth;': 'ℶ',
- 'between;': '≬',
- 'bfr;': '𝔟',
- 'bigcap;': '⋂',
- 'bigcirc;': '◯',
- 'bigcup;': '⋃',
- 'bigodot;': '⨀',
- 'bigoplus;': '⨁',
- 'bigotimes;': '⨂',
- 'bigsqcup;': '⨆',
- 'bigstar;': '★',
- 'bigtriangledown;': '▽',
- 'bigtriangleup;': '△',
- 'biguplus;': '⨄',
- 'bigvee;': '⋁',
- 'bigwedge;': '⋀',
- 'bkarow;': '⤍',
- 'blacklozenge;': '⧫',
- 'blacksquare;': '▪',
- 'blacktriangle;': '▴',
- 'blacktriangledown;': '▾',
- 'blacktriangleleft;': '◂',
- 'blacktriangleright;': '▸',
- 'blank;': '␣',
- 'blk12;': '▒',
- 'blk14;': '░',
- 'blk34;': '▓',
- 'block;': '█',
- 'bne;': '=⃥',
- 'bnequiv;': '≡⃥',
- 'bnot;': '⌐',
- 'bopf;': '𝕓',
- 'bot;': '⊥',
- 'bottom;': '⊥',
- 'bowtie;': '⋈',
- 'boxDL;': '╗',
- 'boxDR;': '╔',
- 'boxDl;': '╖',
- 'boxDr;': '╓',
- 'boxH;': '═',
- 'boxHD;': '╦',
- 'boxHU;': '╩',
- 'boxHd;': '╤',
- 'boxHu;': '╧',
- 'boxUL;': '╝',
- 'boxUR;': '╚',
- 'boxUl;': '╜',
- 'boxUr;': '╙',
- 'boxV;': '║',
- 'boxVH;': '╬',
- 'boxVL;': '╣',
- 'boxVR;': '╠',
- 'boxVh;': '╫',
- 'boxVl;': '╢',
- 'boxVr;': '╟',
- 'boxbox;': '⧉',
- 'boxdL;': '╕',
- 'boxdR;': '╒',
- 'boxdl;': '┐',
- 'boxdr;': '┌',
- 'boxh;': '─',
- 'boxhD;': '╥',
- 'boxhU;': '╨',
- 'boxhd;': '┬',
- 'boxhu;': '┴',
- 'boxminus;': '⊟',
- 'boxplus;': '⊞',
- 'boxtimes;': '⊠',
- 'boxuL;': '╛',
- 'boxuR;': '╘',
- 'boxul;': '┘',
- 'boxur;': '└',
- 'boxv;': '│',
- 'boxvH;': '╪',
- 'boxvL;': '╡',
- 'boxvR;': '╞',
- 'boxvh;': '┼',
- 'boxvl;': '┤',
- 'boxvr;': '├',
- 'bprime;': '‵',
- 'breve;': '˘',
- brvbar: '¦',
- 'brvbar;': '¦',
- 'bscr;': '𝒷',
- 'bsemi;': '⁏',
- 'bsim;': '∽',
- 'bsime;': '⋍',
- 'bsol;': '\\',
- 'bsolb;': '⧅',
- 'bsolhsub;': '⟈',
- 'bull;': '•',
- 'bullet;': '•',
- 'bump;': '≎',
- 'bumpE;': '⪮',
- 'bumpe;': '≏',
- 'bumpeq;': '≏',
- 'cacute;': 'ć',
- 'cap;': '∩',
- 'capand;': '⩄',
- 'capbrcup;': '⩉',
- 'capcap;': '⩋',
- 'capcup;': '⩇',
- 'capdot;': '⩀',
- 'caps;': '∩︀',
- 'caret;': '⁁',
- 'caron;': 'ˇ',
- 'ccaps;': '⩍',
- 'ccaron;': 'č',
- ccedil: 'ç',
- 'ccedil;': 'ç',
- 'ccirc;': 'ĉ',
- 'ccups;': '⩌',
- 'ccupssm;': '⩐',
- 'cdot;': 'ċ',
- cedil: '¸',
- 'cedil;': '¸',
- 'cemptyv;': '⦲',
- cent: '¢',
- 'cent;': '¢',
- 'centerdot;': '·',
- 'cfr;': '𝔠',
- 'chcy;': 'ч',
- 'check;': '✓',
- 'checkmark;': '✓',
- 'chi;': 'χ',
- 'cir;': '○',
- 'cirE;': '⧃',
- 'circ;': 'ˆ',
- 'circeq;': '≗',
- 'circlearrowleft;': '↺',
- 'circlearrowright;': '↻',
- 'circledR;': '®',
- 'circledS;': 'Ⓢ',
- 'circledast;': '⊛',
- 'circledcirc;': '⊚',
- 'circleddash;': '⊝',
- 'cire;': '≗',
- 'cirfnint;': '⨐',
- 'cirmid;': '⫯',
- 'cirscir;': '⧂',
- 'clubs;': '♣',
- 'clubsuit;': '♣',
- 'colon;': ':',
- 'colone;': '≔',
- 'coloneq;': '≔',
- 'comma;': ',',
- 'commat;': '@',
- 'comp;': '∁',
- 'compfn;': '∘',
- 'complement;': '∁',
- 'complexes;': 'ℂ',
- 'cong;': '≅',
- 'congdot;': '⩭',
- 'conint;': '∮',
- 'copf;': '𝕔',
- 'coprod;': '∐',
- copy: '©',
- 'copy;': '©',
- 'copysr;': '℗',
- 'crarr;': '↵',
- 'cross;': '✗',
- 'cscr;': '𝒸',
- 'csub;': '⫏',
- 'csube;': '⫑',
- 'csup;': '⫐',
- 'csupe;': '⫒',
- 'ctdot;': '⋯',
- 'cudarrl;': '⤸',
- 'cudarrr;': '⤵',
- 'cuepr;': '⋞',
- 'cuesc;': '⋟',
- 'cularr;': '↶',
- 'cularrp;': '⤽',
- 'cup;': '∪',
- 'cupbrcap;': '⩈',
- 'cupcap;': '⩆',
- 'cupcup;': '⩊',
- 'cupdot;': '⊍',
- 'cupor;': '⩅',
- 'cups;': '∪︀',
- 'curarr;': '↷',
- 'curarrm;': '⤼',
- 'curlyeqprec;': '⋞',
- 'curlyeqsucc;': '⋟',
- 'curlyvee;': '⋎',
- 'curlywedge;': '⋏',
- curren: '¤',
- 'curren;': '¤',
- 'curvearrowleft;': '↶',
- 'curvearrowright;': '↷',
- 'cuvee;': '⋎',
- 'cuwed;': '⋏',
- 'cwconint;': '∲',
- 'cwint;': '∱',
- 'cylcty;': '⌭',
- 'dArr;': '⇓',
- 'dHar;': '⥥',
- 'dagger;': '†',
- 'daleth;': 'ℸ',
- 'darr;': '↓',
- 'dash;': '‐',
- 'dashv;': '⊣',
- 'dbkarow;': '⤏',
- 'dblac;': '˝',
- 'dcaron;': 'ď',
- 'dcy;': 'д',
- 'dd;': 'ⅆ',
- 'ddagger;': '‡',
- 'ddarr;': '⇊',
- 'ddotseq;': '⩷',
- deg: '°',
- 'deg;': '°',
- 'delta;': 'δ',
- 'demptyv;': '⦱',
- 'dfisht;': '⥿',
- 'dfr;': '𝔡',
- 'dharl;': '⇃',
- 'dharr;': '⇂',
- 'diam;': '⋄',
- 'diamond;': '⋄',
- 'diamondsuit;': '♦',
- 'diams;': '♦',
- 'die;': '¨',
- 'digamma;': 'ϝ',
- 'disin;': '⋲',
- 'div;': '÷',
- divide: '÷',
- 'divide;': '÷',
- 'divideontimes;': '⋇',
- 'divonx;': '⋇',
- 'djcy;': 'ђ',
- 'dlcorn;': '⌞',
- 'dlcrop;': '⌍',
- 'dollar;': '$',
- 'dopf;': '𝕕',
- 'dot;': '˙',
- 'doteq;': '≐',
- 'doteqdot;': '≑',
- 'dotminus;': '∸',
- 'dotplus;': '∔',
- 'dotsquare;': '⊡',
- 'doublebarwedge;': '⌆',
- 'downarrow;': '↓',
- 'downdownarrows;': '⇊',
- 'downharpoonleft;': '⇃',
- 'downharpoonright;': '⇂',
- 'drbkarow;': '⤐',
- 'drcorn;': '⌟',
- 'drcrop;': '⌌',
- 'dscr;': '𝒹',
- 'dscy;': 'ѕ',
- 'dsol;': '⧶',
- 'dstrok;': 'đ',
- 'dtdot;': '⋱',
- 'dtri;': '▿',
- 'dtrif;': '▾',
- 'duarr;': '⇵',
- 'duhar;': '⥯',
- 'dwangle;': '⦦',
- 'dzcy;': 'џ',
- 'dzigrarr;': '⟿',
- 'eDDot;': '⩷',
- 'eDot;': '≑',
- eacute: 'é',
- 'eacute;': 'é',
- 'easter;': '⩮',
- 'ecaron;': 'ě',
- 'ecir;': '≖',
- ecirc: 'ê',
- 'ecirc;': 'ê',
- 'ecolon;': '≕',
- 'ecy;': 'э',
- 'edot;': 'ė',
- 'ee;': 'ⅇ',
- 'efDot;': '≒',
- 'efr;': '𝔢',
- 'eg;': '⪚',
- egrave: 'è',
- 'egrave;': 'è',
- 'egs;': '⪖',
- 'egsdot;': '⪘',
- 'el;': '⪙',
- 'elinters;': '⏧',
- 'ell;': 'ℓ',
- 'els;': '⪕',
- 'elsdot;': '⪗',
- 'emacr;': 'ē',
- 'empty;': '∅',
- 'emptyset;': '∅',
- 'emptyv;': '∅',
- 'emsp13;': ' ',
- 'emsp14;': ' ',
- 'emsp;': ' ',
- 'eng;': 'ŋ',
- 'ensp;': ' ',
- 'eogon;': 'ę',
- 'eopf;': '𝕖',
- 'epar;': '⋕',
- 'eparsl;': '⧣',
- 'eplus;': '⩱',
- 'epsi;': 'ε',
- 'epsilon;': 'ε',
- 'epsiv;': 'ϵ',
- 'eqcirc;': '≖',
- 'eqcolon;': '≕',
- 'eqsim;': '≂',
- 'eqslantgtr;': '⪖',
- 'eqslantless;': '⪕',
- 'equals;': '=',
- 'equest;': '≟',
- 'equiv;': '≡',
- 'equivDD;': '⩸',
- 'eqvparsl;': '⧥',
- 'erDot;': '≓',
- 'erarr;': '⥱',
- 'escr;': 'ℯ',
- 'esdot;': '≐',
- 'esim;': '≂',
- 'eta;': 'η',
- eth: 'ð',
- 'eth;': 'ð',
- euml: 'ë',
- 'euml;': 'ë',
- 'euro;': '€',
- 'excl;': '!',
- 'exist;': '∃',
- 'expectation;': 'ℰ',
- 'exponentiale;': 'ⅇ',
- 'fallingdotseq;': '≒',
- 'fcy;': 'ф',
- 'female;': '♀',
- 'ffilig;': 'ffi',
- 'fflig;': 'ff',
- 'ffllig;': 'ffl',
- 'ffr;': '𝔣',
- 'filig;': 'fi',
- 'fjlig;': 'fj',
- 'flat;': '♭',
- 'fllig;': 'fl',
- 'fltns;': '▱',
- 'fnof;': 'ƒ',
- 'fopf;': '𝕗',
- 'forall;': '∀',
- 'fork;': '⋔',
- 'forkv;': '⫙',
- 'fpartint;': '⨍',
- frac12: '½',
- 'frac12;': '½',
- 'frac13;': '⅓',
- frac14: '¼',
- 'frac14;': '¼',
- 'frac15;': '⅕',
- 'frac16;': '⅙',
- 'frac18;': '⅛',
- 'frac23;': '⅔',
- 'frac25;': '⅖',
- frac34: '¾',
- 'frac34;': '¾',
- 'frac35;': '⅗',
- 'frac38;': '⅜',
- 'frac45;': '⅘',
- 'frac56;': '⅚',
- 'frac58;': '⅝',
- 'frac78;': '⅞',
- 'frasl;': '⁄',
- 'frown;': '⌢',
- 'fscr;': '𝒻',
- 'gE;': '≧',
- 'gEl;': '⪌',
- 'gacute;': 'ǵ',
- 'gamma;': 'γ',
- 'gammad;': 'ϝ',
- 'gap;': '⪆',
- 'gbreve;': 'ğ',
- 'gcirc;': 'ĝ',
- 'gcy;': 'г',
- 'gdot;': 'ġ',
- 'ge;': '≥',
- 'gel;': '⋛',
- 'geq;': '≥',
- 'geqq;': '≧',
- 'geqslant;': '⩾',
- 'ges;': '⩾',
- 'gescc;': '⪩',
- 'gesdot;': '⪀',
- 'gesdoto;': '⪂',
- 'gesdotol;': '⪄',
- 'gesl;': '⋛︀',
- 'gesles;': '⪔',
- 'gfr;': '𝔤',
- 'gg;': '≫',
- 'ggg;': '⋙',
- 'gimel;': 'ℷ',
- 'gjcy;': 'ѓ',
- 'gl;': '≷',
- 'glE;': '⪒',
- 'gla;': '⪥',
- 'glj;': '⪤',
- 'gnE;': '≩',
- 'gnap;': '⪊',
- 'gnapprox;': '⪊',
- 'gne;': '⪈',
- 'gneq;': '⪈',
- 'gneqq;': '≩',
- 'gnsim;': '⋧',
- 'gopf;': '𝕘',
- 'grave;': '`',
- 'gscr;': 'ℊ',
- 'gsim;': '≳',
- 'gsime;': '⪎',
- 'gsiml;': '⪐',
- gt: '>',
- 'gt;': '>',
- 'gtcc;': '⪧',
- 'gtcir;': '⩺',
- 'gtdot;': '⋗',
- 'gtlPar;': '⦕',
- 'gtquest;': '⩼',
- 'gtrapprox;': '⪆',
- 'gtrarr;': '⥸',
- 'gtrdot;': '⋗',
- 'gtreqless;': '⋛',
- 'gtreqqless;': '⪌',
- 'gtrless;': '≷',
- 'gtrsim;': '≳',
- 'gvertneqq;': '≩︀',
- 'gvnE;': '≩︀',
- 'hArr;': '⇔',
- 'hairsp;': ' ',
- 'half;': '½',
- 'hamilt;': 'ℋ',
- 'hardcy;': 'ъ',
- 'harr;': '↔',
- 'harrcir;': '⥈',
- 'harrw;': '↭',
- 'hbar;': 'ℏ',
- 'hcirc;': 'ĥ',
- 'hearts;': '♥',
- 'heartsuit;': '♥',
- 'hellip;': '…',
- 'hercon;': '⊹',
- 'hfr;': '𝔥',
- 'hksearow;': '⤥',
- 'hkswarow;': '⤦',
- 'hoarr;': '⇿',
- 'homtht;': '∻',
- 'hookleftarrow;': '↩',
- 'hookrightarrow;': '↪',
- 'hopf;': '𝕙',
- 'horbar;': '―',
- 'hscr;': '𝒽',
- 'hslash;': 'ℏ',
- 'hstrok;': 'ħ',
- 'hybull;': '⁃',
- 'hyphen;': '‐',
- iacute: 'í',
- 'iacute;': 'í',
- 'ic;': '',
- icirc: 'î',
- 'icirc;': 'î',
- 'icy;': 'и',
- 'iecy;': 'е',
- iexcl: '¡',
- 'iexcl;': '¡',
- 'iff;': '⇔',
- 'ifr;': '𝔦',
- igrave: 'ì',
- 'igrave;': 'ì',
- 'ii;': 'ⅈ',
- 'iiiint;': '⨌',
- 'iiint;': '∭',
- 'iinfin;': '⧜',
- 'iiota;': '℩',
- 'ijlig;': 'ij',
- 'imacr;': 'ī',
- 'image;': 'ℑ',
- 'imagline;': 'ℐ',
- 'imagpart;': 'ℑ',
- 'imath;': 'ı',
- 'imof;': '⊷',
- 'imped;': 'Ƶ',
- 'in;': '∈',
- 'incare;': '℅',
- 'infin;': '∞',
- 'infintie;': '⧝',
- 'inodot;': 'ı',
- 'int;': '∫',
- 'intcal;': '⊺',
- 'integers;': 'ℤ',
- 'intercal;': '⊺',
- 'intlarhk;': '⨗',
- 'intprod;': '⨼',
- 'iocy;': 'ё',
- 'iogon;': 'į',
- 'iopf;': '𝕚',
- 'iota;': 'ι',
- 'iprod;': '⨼',
- iquest: '¿',
- 'iquest;': '¿',
- 'iscr;': '𝒾',
- 'isin;': '∈',
- 'isinE;': '⋹',
- 'isindot;': '⋵',
- 'isins;': '⋴',
- 'isinsv;': '⋳',
- 'isinv;': '∈',
- 'it;': '',
- 'itilde;': 'ĩ',
- 'iukcy;': 'і',
- iuml: 'ï',
- 'iuml;': 'ï',
- 'jcirc;': 'ĵ',
- 'jcy;': 'й',
- 'jfr;': '𝔧',
- 'jmath;': 'ȷ',
- 'jopf;': '𝕛',
- 'jscr;': '𝒿',
- 'jsercy;': 'ј',
- 'jukcy;': 'є',
- 'kappa;': 'κ',
- 'kappav;': 'ϰ',
- 'kcedil;': 'ķ',
- 'kcy;': 'к',
- 'kfr;': '𝔨',
- 'kgreen;': 'ĸ',
- 'khcy;': 'х',
- 'kjcy;': 'ќ',
- 'kopf;': '𝕜',
- 'kscr;': '𝓀',
- 'lAarr;': '⇚',
- 'lArr;': '⇐',
- 'lAtail;': '⤛',
- 'lBarr;': '⤎',
- 'lE;': '≦',
- 'lEg;': '⪋',
- 'lHar;': '⥢',
- 'lacute;': 'ĺ',
- 'laemptyv;': '⦴',
- 'lagran;': 'ℒ',
- 'lambda;': 'λ',
- 'lang;': '⟨',
- 'langd;': '⦑',
- 'langle;': '⟨',
- 'lap;': '⪅',
- laquo: '«',
- 'laquo;': '«',
- 'larr;': '←',
- 'larrb;': '⇤',
- 'larrbfs;': '⤟',
- 'larrfs;': '⤝',
- 'larrhk;': '↩',
- 'larrlp;': '↫',
- 'larrpl;': '⤹',
- 'larrsim;': '⥳',
- 'larrtl;': '↢',
- 'lat;': '⪫',
- 'latail;': '⤙',
- 'late;': '⪭',
- 'lates;': '⪭︀',
- 'lbarr;': '⤌',
- 'lbbrk;': '❲',
- 'lbrace;': '{',
- 'lbrack;': '[',
- 'lbrke;': '⦋',
- 'lbrksld;': '⦏',
- 'lbrkslu;': '⦍',
- 'lcaron;': 'ľ',
- 'lcedil;': 'ļ',
- 'lceil;': '⌈',
- 'lcub;': '{',
- 'lcy;': 'л',
- 'ldca;': '⤶',
- 'ldquo;': '“',
- 'ldquor;': '„',
- 'ldrdhar;': '⥧',
- 'ldrushar;': '⥋',
- 'ldsh;': '↲',
- 'le;': '≤',
- 'leftarrow;': '←',
- 'leftarrowtail;': '↢',
- 'leftharpoondown;': '↽',
- 'leftharpoonup;': '↼',
- 'leftleftarrows;': '⇇',
- 'leftrightarrow;': '↔',
- 'leftrightarrows;': '⇆',
- 'leftrightharpoons;': '⇋',
- 'leftrightsquigarrow;': '↭',
- 'leftthreetimes;': '⋋',
- 'leg;': '⋚',
- 'leq;': '≤',
- 'leqq;': '≦',
- 'leqslant;': '⩽',
- 'les;': '⩽',
- 'lescc;': '⪨',
- 'lesdot;': '⩿',
- 'lesdoto;': '⪁',
- 'lesdotor;': '⪃',
- 'lesg;': '⋚︀',
- 'lesges;': '⪓',
- 'lessapprox;': '⪅',
- 'lessdot;': '⋖',
- 'lesseqgtr;': '⋚',
- 'lesseqqgtr;': '⪋',
- 'lessgtr;': '≶',
- 'lesssim;': '≲',
- 'lfisht;': '⥼',
- 'lfloor;': '⌊',
- 'lfr;': '𝔩',
- 'lg;': '≶',
- 'lgE;': '⪑',
- 'lhard;': '↽',
- 'lharu;': '↼',
- 'lharul;': '⥪',
- 'lhblk;': '▄',
- 'ljcy;': 'љ',
- 'll;': '≪',
- 'llarr;': '⇇',
- 'llcorner;': '⌞',
- 'llhard;': '⥫',
- 'lltri;': '◺',
- 'lmidot;': 'ŀ',
- 'lmoust;': '⎰',
- 'lmoustache;': '⎰',
- 'lnE;': '≨',
- 'lnap;': '⪉',
- 'lnapprox;': '⪉',
- 'lne;': '⪇',
- 'lneq;': '⪇',
- 'lneqq;': '≨',
- 'lnsim;': '⋦',
- 'loang;': '⟬',
- 'loarr;': '⇽',
- 'lobrk;': '⟦',
- 'longleftarrow;': '⟵',
- 'longleftrightarrow;': '⟷',
- 'longmapsto;': '⟼',
- 'longrightarrow;': '⟶',
- 'looparrowleft;': '↫',
- 'looparrowright;': '↬',
- 'lopar;': '⦅',
- 'lopf;': '𝕝',
- 'loplus;': '⨭',
- 'lotimes;': '⨴',
- 'lowast;': '∗',
- 'lowbar;': '_',
- 'loz;': '◊',
- 'lozenge;': '◊',
- 'lozf;': '⧫',
- 'lpar;': '(',
- 'lparlt;': '⦓',
- 'lrarr;': '⇆',
- 'lrcorner;': '⌟',
- 'lrhar;': '⇋',
- 'lrhard;': '⥭',
- 'lrm;': '',
- 'lrtri;': '⊿',
- 'lsaquo;': '‹',
- 'lscr;': '𝓁',
- 'lsh;': '↰',
- 'lsim;': '≲',
- 'lsime;': '⪍',
- 'lsimg;': '⪏',
- 'lsqb;': '[',
- 'lsquo;': '‘',
- 'lsquor;': '‚',
- 'lstrok;': 'ł',
- lt: '<',
- 'lt;': '<',
- 'ltcc;': '⪦',
- 'ltcir;': '⩹',
- 'ltdot;': '⋖',
- 'lthree;': '⋋',
- 'ltimes;': '⋉',
- 'ltlarr;': '⥶',
- 'ltquest;': '⩻',
- 'ltrPar;': '⦖',
- 'ltri;': '◃',
- 'ltrie;': '⊴',
- 'ltrif;': '◂',
- 'lurdshar;': '⥊',
- 'luruhar;': '⥦',
- 'lvertneqq;': '≨︀',
- 'lvnE;': '≨︀',
- 'mDDot;': '∺',
- macr: '¯',
- 'macr;': '¯',
- 'male;': '♂',
- 'malt;': '✠',
- 'maltese;': '✠',
- 'map;': '↦',
- 'mapsto;': '↦',
- 'mapstodown;': '↧',
- 'mapstoleft;': '↤',
- 'mapstoup;': '↥',
- 'marker;': '▮',
- 'mcomma;': '⨩',
- 'mcy;': 'м',
- 'mdash;': '—',
- 'measuredangle;': '∡',
- 'mfr;': '𝔪',
- 'mho;': '℧',
- micro: 'µ',
- 'micro;': 'µ',
- 'mid;': '∣',
- 'midast;': '*',
- 'midcir;': '⫰',
- middot: '·',
- 'middot;': '·',
- 'minus;': '−',
- 'minusb;': '⊟',
- 'minusd;': '∸',
- 'minusdu;': '⨪',
- 'mlcp;': '⫛',
- 'mldr;': '…',
- 'mnplus;': '∓',
- 'models;': '⊧',
- 'mopf;': '𝕞',
- 'mp;': '∓',
- 'mscr;': '𝓂',
- 'mstpos;': '∾',
- 'mu;': 'μ',
- 'multimap;': '⊸',
- 'mumap;': '⊸',
- 'nGg;': '⋙̸',
- 'nGt;': '≫⃒',
- 'nGtv;': '≫̸',
- 'nLeftarrow;': '⇍',
- 'nLeftrightarrow;': '⇎',
- 'nLl;': '⋘̸',
- 'nLt;': '≪⃒',
- 'nLtv;': '≪̸',
- 'nRightarrow;': '⇏',
- 'nVDash;': '⊯',
- 'nVdash;': '⊮',
- 'nabla;': '∇',
- 'nacute;': 'ń',
- 'nang;': '∠⃒',
- 'nap;': '≉',
- 'napE;': '⩰̸',
- 'napid;': '≋̸',
- 'napos;': 'ʼn',
- 'napprox;': '≉',
- 'natur;': '♮',
- 'natural;': '♮',
- 'naturals;': 'ℕ',
- nbsp: ' ',
- 'nbsp;': ' ',
- 'nbump;': '≎̸',
- 'nbumpe;': '≏̸',
- 'ncap;': '⩃',
- 'ncaron;': 'ň',
- 'ncedil;': 'ņ',
- 'ncong;': '≇',
- 'ncongdot;': '⩭̸',
- 'ncup;': '⩂',
- 'ncy;': 'н',
- 'ndash;': '–',
- 'ne;': '≠',
- 'neArr;': '⇗',
- 'nearhk;': '⤤',
- 'nearr;': '↗',
- 'nearrow;': '↗',
- 'nedot;': '≐̸',
- 'nequiv;': '≢',
- 'nesear;': '⤨',
- 'nesim;': '≂̸',
- 'nexist;': '∄',
- 'nexists;': '∄',
- 'nfr;': '𝔫',
- 'ngE;': '≧̸',
- 'nge;': '≱',
- 'ngeq;': '≱',
- 'ngeqq;': '≧̸',
- 'ngeqslant;': '⩾̸',
- 'nges;': '⩾̸',
- 'ngsim;': '≵',
- 'ngt;': '≯',
- 'ngtr;': '≯',
- 'nhArr;': '⇎',
- 'nharr;': '↮',
- 'nhpar;': '⫲',
- 'ni;': '∋',
- 'nis;': '⋼',
- 'nisd;': '⋺',
- 'niv;': '∋',
- 'njcy;': 'њ',
- 'nlArr;': '⇍',
- 'nlE;': '≦̸',
- 'nlarr;': '↚',
- 'nldr;': '‥',
- 'nle;': '≰',
- 'nleftarrow;': '↚',
- 'nleftrightarrow;': '↮',
- 'nleq;': '≰',
- 'nleqq;': '≦̸',
- 'nleqslant;': '⩽̸',
- 'nles;': '⩽̸',
- 'nless;': '≮',
- 'nlsim;': '≴',
- 'nlt;': '≮',
- 'nltri;': '⋪',
- 'nltrie;': '⋬',
- 'nmid;': '∤',
- 'nopf;': '𝕟',
- not: '¬',
- 'not;': '¬',
- 'notin;': '∉',
- 'notinE;': '⋹̸',
- 'notindot;': '⋵̸',
- 'notinva;': '∉',
- 'notinvb;': '⋷',
- 'notinvc;': '⋶',
- 'notni;': '∌',
- 'notniva;': '∌',
- 'notnivb;': '⋾',
- 'notnivc;': '⋽',
- 'npar;': '∦',
- 'nparallel;': '∦',
- 'nparsl;': '⫽⃥',
- 'npart;': '∂̸',
- 'npolint;': '⨔',
- 'npr;': '⊀',
- 'nprcue;': '⋠',
- 'npre;': '⪯̸',
- 'nprec;': '⊀',
- 'npreceq;': '⪯̸',
- 'nrArr;': '⇏',
- 'nrarr;': '↛',
- 'nrarrc;': '⤳̸',
- 'nrarrw;': '↝̸',
- 'nrightarrow;': '↛',
- 'nrtri;': '⋫',
- 'nrtrie;': '⋭',
- 'nsc;': '⊁',
- 'nsccue;': '⋡',
- 'nsce;': '⪰̸',
- 'nscr;': '𝓃',
- 'nshortmid;': '∤',
- 'nshortparallel;': '∦',
- 'nsim;': '≁',
- 'nsime;': '≄',
- 'nsimeq;': '≄',
- 'nsmid;': '∤',
- 'nspar;': '∦',
- 'nsqsube;': '⋢',
- 'nsqsupe;': '⋣',
- 'nsub;': '⊄',
- 'nsubE;': '⫅̸',
- 'nsube;': '⊈',
- 'nsubset;': '⊂⃒',
- 'nsubseteq;': '⊈',
- 'nsubseteqq;': '⫅̸',
- 'nsucc;': '⊁',
- 'nsucceq;': '⪰̸',
- 'nsup;': '⊅',
- 'nsupE;': '⫆̸',
- 'nsupe;': '⊉',
- 'nsupset;': '⊃⃒',
- 'nsupseteq;': '⊉',
- 'nsupseteqq;': '⫆̸',
- 'ntgl;': '≹',
- ntilde: 'ñ',
- 'ntilde;': 'ñ',
- 'ntlg;': '≸',
- 'ntriangleleft;': '⋪',
- 'ntrianglelefteq;': '⋬',
- 'ntriangleright;': '⋫',
- 'ntrianglerighteq;': '⋭',
- 'nu;': 'ν',
- 'num;': '#',
- 'numero;': '№',
- 'numsp;': ' ',
- 'nvDash;': '⊭',
- 'nvHarr;': '⤄',
- 'nvap;': '≍⃒',
- 'nvdash;': '⊬',
- 'nvge;': '≥⃒',
- 'nvgt;': '>⃒',
- 'nvinfin;': '⧞',
- 'nvlArr;': '⤂',
- 'nvle;': '≤⃒',
- 'nvlt;': '<⃒',
- 'nvltrie;': '⊴⃒',
- 'nvrArr;': '⤃',
- 'nvrtrie;': '⊵⃒',
- 'nvsim;': '∼⃒',
- 'nwArr;': '⇖',
- 'nwarhk;': '⤣',
- 'nwarr;': '↖',
- 'nwarrow;': '↖',
- 'nwnear;': '⤧',
- 'oS;': 'Ⓢ',
- oacute: 'ó',
- 'oacute;': 'ó',
- 'oast;': '⊛',
- 'ocir;': '⊚',
- ocirc: 'ô',
- 'ocirc;': 'ô',
- 'ocy;': 'о',
- 'odash;': '⊝',
- 'odblac;': 'ő',
- 'odiv;': '⨸',
- 'odot;': '⊙',
- 'odsold;': '⦼',
- 'oelig;': 'œ',
- 'ofcir;': '⦿',
- 'ofr;': '𝔬',
- 'ogon;': '˛',
- ograve: 'ò',
- 'ograve;': 'ò',
- 'ogt;': '⧁',
- 'ohbar;': '⦵',
- 'ohm;': 'Ω',
- 'oint;': '∮',
- 'olarr;': '↺',
- 'olcir;': '⦾',
- 'olcross;': '⦻',
- 'oline;': '‾',
- 'olt;': '⧀',
- 'omacr;': 'ō',
- 'omega;': 'ω',
- 'omicron;': 'ο',
- 'omid;': '⦶',
- 'ominus;': '⊖',
- 'oopf;': '𝕠',
- 'opar;': '⦷',
- 'operp;': '⦹',
- 'oplus;': '⊕',
- 'or;': '∨',
- 'orarr;': '↻',
- 'ord;': '⩝',
- 'order;': 'ℴ',
- 'orderof;': 'ℴ',
- ordf: 'ª',
- 'ordf;': 'ª',
- ordm: 'º',
- 'ordm;': 'º',
- 'origof;': '⊶',
- 'oror;': '⩖',
- 'orslope;': '⩗',
- 'orv;': '⩛',
- 'oscr;': 'ℴ',
- oslash: 'ø',
- 'oslash;': 'ø',
- 'osol;': '⊘',
- otilde: 'õ',
- 'otilde;': 'õ',
- 'otimes;': '⊗',
- 'otimesas;': '⨶',
- ouml: 'ö',
- 'ouml;': 'ö',
- 'ovbar;': '⌽',
- 'par;': '∥',
- para: '¶',
- 'para;': '¶',
- 'parallel;': '∥',
- 'parsim;': '⫳',
- 'parsl;': '⫽',
- 'part;': '∂',
- 'pcy;': 'п',
- 'percnt;': '%',
- 'period;': '.',
- 'permil;': '‰',
- 'perp;': '⊥',
- 'pertenk;': '‱',
- 'pfr;': '𝔭',
- 'phi;': 'φ',
- 'phiv;': 'ϕ',
- 'phmmat;': 'ℳ',
- 'phone;': '☎',
- 'pi;': 'π',
- 'pitchfork;': '⋔',
- 'piv;': 'ϖ',
- 'planck;': 'ℏ',
- 'planckh;': 'ℎ',
- 'plankv;': 'ℏ',
- 'plus;': '+',
- 'plusacir;': '⨣',
- 'plusb;': '⊞',
- 'pluscir;': '⨢',
- 'plusdo;': '∔',
- 'plusdu;': '⨥',
- 'pluse;': '⩲',
- plusmn: '±',
- 'plusmn;': '±',
- 'plussim;': '⨦',
- 'plustwo;': '⨧',
- 'pm;': '±',
- 'pointint;': '⨕',
- 'popf;': '𝕡',
- pound: '£',
- 'pound;': '£',
- 'pr;': '≺',
- 'prE;': '⪳',
- 'prap;': '⪷',
- 'prcue;': '≼',
- 'pre;': '⪯',
- 'prec;': '≺',
- 'precapprox;': '⪷',
- 'preccurlyeq;': '≼',
- 'preceq;': '⪯',
- 'precnapprox;': '⪹',
- 'precneqq;': '⪵',
- 'precnsim;': '⋨',
- 'precsim;': '≾',
- 'prime;': '′',
- 'primes;': 'ℙ',
- 'prnE;': '⪵',
- 'prnap;': '⪹',
- 'prnsim;': '⋨',
- 'prod;': '∏',
- 'profalar;': '⌮',
- 'profline;': '⌒',
- 'profsurf;': '⌓',
- 'prop;': '∝',
- 'propto;': '∝',
- 'prsim;': '≾',
- 'prurel;': '⊰',
- 'pscr;': '𝓅',
- 'psi;': 'ψ',
- 'puncsp;': ' ',
- 'qfr;': '𝔮',
- 'qint;': '⨌',
- 'qopf;': '𝕢',
- 'qprime;': '⁗',
- 'qscr;': '𝓆',
- 'quaternions;': 'ℍ',
- 'quatint;': '⨖',
- 'quest;': '?',
- 'questeq;': '≟',
- quot: '"',
- 'quot;': '"',
- 'rAarr;': '⇛',
- 'rArr;': '⇒',
- 'rAtail;': '⤜',
- 'rBarr;': '⤏',
- 'rHar;': '⥤',
- 'race;': '∽̱',
- 'racute;': 'ŕ',
- 'radic;': '√',
- 'raemptyv;': '⦳',
- 'rang;': '⟩',
- 'rangd;': '⦒',
- 'range;': '⦥',
- 'rangle;': '⟩',
- raquo: '»',
- 'raquo;': '»',
- 'rarr;': '→',
- 'rarrap;': '⥵',
- 'rarrb;': '⇥',
- 'rarrbfs;': '⤠',
- 'rarrc;': '⤳',
- 'rarrfs;': '⤞',
- 'rarrhk;': '↪',
- 'rarrlp;': '↬',
- 'rarrpl;': '⥅',
- 'rarrsim;': '⥴',
- 'rarrtl;': '↣',
- 'rarrw;': '↝',
- 'ratail;': '⤚',
- 'ratio;': '∶',
- 'rationals;': 'ℚ',
- 'rbarr;': '⤍',
- 'rbbrk;': '❳',
- 'rbrace;': '}',
- 'rbrack;': ']',
- 'rbrke;': '⦌',
- 'rbrksld;': '⦎',
- 'rbrkslu;': '⦐',
- 'rcaron;': 'ř',
- 'rcedil;': 'ŗ',
- 'rceil;': '⌉',
- 'rcub;': '}',
- 'rcy;': 'р',
- 'rdca;': '⤷',
- 'rdldhar;': '⥩',
- 'rdquo;': '”',
- 'rdquor;': '”',
- 'rdsh;': '↳',
- 'real;': 'ℜ',
- 'realine;': 'ℛ',
- 'realpart;': 'ℜ',
- 'reals;': 'ℝ',
- 'rect;': '▭',
- reg: '®',
- 'reg;': '®',
- 'rfisht;': '⥽',
- 'rfloor;': '⌋',
- 'rfr;': '𝔯',
- 'rhard;': '⇁',
- 'rharu;': '⇀',
- 'rharul;': '⥬',
- 'rho;': 'ρ',
- 'rhov;': 'ϱ',
- 'rightarrow;': '→',
- 'rightarrowtail;': '↣',
- 'rightharpoondown;': '⇁',
- 'rightharpoonup;': '⇀',
- 'rightleftarrows;': '⇄',
- 'rightleftharpoons;': '⇌',
- 'rightrightarrows;': '⇉',
- 'rightsquigarrow;': '↝',
- 'rightthreetimes;': '⋌',
- 'ring;': '˚',
- 'risingdotseq;': '≓',
- 'rlarr;': '⇄',
- 'rlhar;': '⇌',
- 'rlm;': '',
- 'rmoust;': '⎱',
- 'rmoustache;': '⎱',
- 'rnmid;': '⫮',
- 'roang;': '⟭',
- 'roarr;': '⇾',
- 'robrk;': '⟧',
- 'ropar;': '⦆',
- 'ropf;': '𝕣',
- 'roplus;': '⨮',
- 'rotimes;': '⨵',
- 'rpar;': ')',
- 'rpargt;': '⦔',
- 'rppolint;': '⨒',
- 'rrarr;': '⇉',
- 'rsaquo;': '›',
- 'rscr;': '𝓇',
- 'rsh;': '↱',
- 'rsqb;': ']',
- 'rsquo;': '’',
- 'rsquor;': '’',
- 'rthree;': '⋌',
- 'rtimes;': '⋊',
- 'rtri;': '▹',
- 'rtrie;': '⊵',
- 'rtrif;': '▸',
- 'rtriltri;': '⧎',
- 'ruluhar;': '⥨',
- 'rx;': '℞',
- 'sacute;': 'ś',
- 'sbquo;': '‚',
- 'sc;': '≻',
- 'scE;': '⪴',
- 'scap;': '⪸',
- 'scaron;': 'š',
- 'sccue;': '≽',
- 'sce;': '⪰',
- 'scedil;': 'ş',
- 'scirc;': 'ŝ',
- 'scnE;': '⪶',
- 'scnap;': '⪺',
- 'scnsim;': '⋩',
- 'scpolint;': '⨓',
- 'scsim;': '≿',
- 'scy;': 'с',
- 'sdot;': '⋅',
- 'sdotb;': '⊡',
- 'sdote;': '⩦',
- 'seArr;': '⇘',
- 'searhk;': '⤥',
- 'searr;': '↘',
- 'searrow;': '↘',
- sect: '§',
- 'sect;': '§',
- 'semi;': ';',
- 'seswar;': '⤩',
- 'setminus;': '∖',
- 'setmn;': '∖',
- 'sext;': '✶',
- 'sfr;': '𝔰',
- 'sfrown;': '⌢',
- 'sharp;': '♯',
- 'shchcy;': 'щ',
- 'shcy;': 'ш',
- 'shortmid;': '∣',
- 'shortparallel;': '∥',
- shy: '',
- 'shy;': '',
- 'sigma;': 'σ',
- 'sigmaf;': 'ς',
- 'sigmav;': 'ς',
- 'sim;': '∼',
- 'simdot;': '⩪',
- 'sime;': '≃',
- 'simeq;': '≃',
- 'simg;': '⪞',
- 'simgE;': '⪠',
- 'siml;': '⪝',
- 'simlE;': '⪟',
- 'simne;': '≆',
- 'simplus;': '⨤',
- 'simrarr;': '⥲',
- 'slarr;': '←',
- 'smallsetminus;': '∖',
- 'smashp;': '⨳',
- 'smeparsl;': '⧤',
- 'smid;': '∣',
- 'smile;': '⌣',
- 'smt;': '⪪',
- 'smte;': '⪬',
- 'smtes;': '⪬︀',
- 'softcy;': 'ь',
- 'sol;': '/',
- 'solb;': '⧄',
- 'solbar;': '⌿',
- 'sopf;': '𝕤',
- 'spades;': '♠',
- 'spadesuit;': '♠',
- 'spar;': '∥',
- 'sqcap;': '⊓',
- 'sqcaps;': '⊓︀',
- 'sqcup;': '⊔',
- 'sqcups;': '⊔︀',
- 'sqsub;': '⊏',
- 'sqsube;': '⊑',
- 'sqsubset;': '⊏',
- 'sqsubseteq;': '⊑',
- 'sqsup;': '⊐',
- 'sqsupe;': '⊒',
- 'sqsupset;': '⊐',
- 'sqsupseteq;': '⊒',
- 'squ;': '□',
- 'square;': '□',
- 'squarf;': '▪',
- 'squf;': '▪',
- 'srarr;': '→',
- 'sscr;': '𝓈',
- 'ssetmn;': '∖',
- 'ssmile;': '⌣',
- 'sstarf;': '⋆',
- 'star;': '☆',
- 'starf;': '★',
- 'straightepsilon;': 'ϵ',
- 'straightphi;': 'ϕ',
- 'strns;': '¯',
- 'sub;': '⊂',
- 'subE;': '⫅',
- 'subdot;': '⪽',
- 'sube;': '⊆',
- 'subedot;': '⫃',
- 'submult;': '⫁',
- 'subnE;': '⫋',
- 'subne;': '⊊',
- 'subplus;': '⪿',
- 'subrarr;': '⥹',
- 'subset;': '⊂',
- 'subseteq;': '⊆',
- 'subseteqq;': '⫅',
- 'subsetneq;': '⊊',
- 'subsetneqq;': '⫋',
- 'subsim;': '⫇',
- 'subsub;': '⫕',
- 'subsup;': '⫓',
- 'succ;': '≻',
- 'succapprox;': '⪸',
- 'succcurlyeq;': '≽',
- 'succeq;': '⪰',
- 'succnapprox;': '⪺',
- 'succneqq;': '⪶',
- 'succnsim;': '⋩',
- 'succsim;': '≿',
- 'sum;': '∑',
- 'sung;': '♪',
- sup1: '¹',
- 'sup1;': '¹',
- sup2: '²',
- 'sup2;': '²',
- sup3: '³',
- 'sup3;': '³',
- 'sup;': '⊃',
- 'supE;': '⫆',
- 'supdot;': '⪾',
- 'supdsub;': '⫘',
- 'supe;': '⊇',
- 'supedot;': '⫄',
- 'suphsol;': '⟉',
- 'suphsub;': '⫗',
- 'suplarr;': '⥻',
- 'supmult;': '⫂',
- 'supnE;': '⫌',
- 'supne;': '⊋',
- 'supplus;': '⫀',
- 'supset;': '⊃',
- 'supseteq;': '⊇',
- 'supseteqq;': '⫆',
- 'supsetneq;': '⊋',
- 'supsetneqq;': '⫌',
- 'supsim;': '⫈',
- 'supsub;': '⫔',
- 'supsup;': '⫖',
- 'swArr;': '⇙',
- 'swarhk;': '⤦',
- 'swarr;': '↙',
- 'swarrow;': '↙',
- 'swnwar;': '⤪',
- szlig: 'ß',
- 'szlig;': 'ß',
- 'target;': '⌖',
- 'tau;': 'τ',
- 'tbrk;': '⎴',
- 'tcaron;': 'ť',
- 'tcedil;': 'ţ',
- 'tcy;': 'т',
- 'tdot;': '⃛',
- 'telrec;': '⌕',
- 'tfr;': '𝔱',
- 'there4;': '∴',
- 'therefore;': '∴',
- 'theta;': 'θ',
- 'thetasym;': 'ϑ',
- 'thetav;': 'ϑ',
- 'thickapprox;': '≈',
- 'thicksim;': '∼',
- 'thinsp;': ' ',
- 'thkap;': '≈',
- 'thksim;': '∼',
- thorn: 'þ',
- 'thorn;': 'þ',
- 'tilde;': '˜',
- times: '×',
- 'times;': '×',
- 'timesb;': '⊠',
- 'timesbar;': '⨱',
- 'timesd;': '⨰',
- 'tint;': '∭',
- 'toea;': '⤨',
- 'top;': '⊤',
- 'topbot;': '⌶',
- 'topcir;': '⫱',
- 'topf;': '𝕥',
- 'topfork;': '⫚',
- 'tosa;': '⤩',
- 'tprime;': '‴',
- 'trade;': '™',
- 'triangle;': '▵',
- 'triangledown;': '▿',
- 'triangleleft;': '◃',
- 'trianglelefteq;': '⊴',
- 'triangleq;': '≜',
- 'triangleright;': '▹',
- 'trianglerighteq;': '⊵',
- 'tridot;': '◬',
- 'trie;': '≜',
- 'triminus;': '⨺',
- 'triplus;': '⨹',
- 'trisb;': '⧍',
- 'tritime;': '⨻',
- 'trpezium;': '⏢',
- 'tscr;': '𝓉',
- 'tscy;': 'ц',
- 'tshcy;': 'ћ',
- 'tstrok;': 'ŧ',
- 'twixt;': '≬',
- 'twoheadleftarrow;': '↞',
- 'twoheadrightarrow;': '↠',
- 'uArr;': '⇑',
- 'uHar;': '⥣',
- uacute: 'ú',
- 'uacute;': 'ú',
- 'uarr;': '↑',
- 'ubrcy;': 'ў',
- 'ubreve;': 'ŭ',
- ucirc: 'û',
- 'ucirc;': 'û',
- 'ucy;': 'у',
- 'udarr;': '⇅',
- 'udblac;': 'ű',
- 'udhar;': '⥮',
- 'ufisht;': '⥾',
- 'ufr;': '𝔲',
- ugrave: 'ù',
- 'ugrave;': 'ù',
- 'uharl;': '↿',
- 'uharr;': '↾',
- 'uhblk;': '▀',
- 'ulcorn;': '⌜',
- 'ulcorner;': '⌜',
- 'ulcrop;': '⌏',
- 'ultri;': '◸',
- 'umacr;': 'ū',
- uml: '¨',
- 'uml;': '¨',
- 'uogon;': 'ų',
- 'uopf;': '𝕦',
- 'uparrow;': '↑',
- 'updownarrow;': '↕',
- 'upharpoonleft;': '↿',
- 'upharpoonright;': '↾',
- 'uplus;': '⊎',
- 'upsi;': 'υ',
- 'upsih;': 'ϒ',
- 'upsilon;': 'υ',
- 'upuparrows;': '⇈',
- 'urcorn;': '⌝',
- 'urcorner;': '⌝',
- 'urcrop;': '⌎',
- 'uring;': 'ů',
- 'urtri;': '◹',
- 'uscr;': '𝓊',
- 'utdot;': '⋰',
- 'utilde;': 'ũ',
- 'utri;': '▵',
- 'utrif;': '▴',
- 'uuarr;': '⇈',
- uuml: 'ü',
- 'uuml;': 'ü',
- 'uwangle;': '⦧',
- 'vArr;': '⇕',
- 'vBar;': '⫨',
- 'vBarv;': '⫩',
- 'vDash;': '⊨',
- 'vangrt;': '⦜',
- 'varepsilon;': 'ϵ',
- 'varkappa;': 'ϰ',
- 'varnothing;': '∅',
- 'varphi;': 'ϕ',
- 'varpi;': 'ϖ',
- 'varpropto;': '∝',
- 'varr;': '↕',
- 'varrho;': 'ϱ',
- 'varsigma;': 'ς',
- 'varsubsetneq;': '⊊︀',
- 'varsubsetneqq;': '⫋︀',
- 'varsupsetneq;': '⊋︀',
- 'varsupsetneqq;': '⫌︀',
- 'vartheta;': 'ϑ',
- 'vartriangleleft;': '⊲',
- 'vartriangleright;': '⊳',
- 'vcy;': 'в',
- 'vdash;': '⊢',
- 'vee;': '∨',
- 'veebar;': '⊻',
- 'veeeq;': '≚',
- 'vellip;': '⋮',
- 'verbar;': '|',
- 'vert;': '|',
- 'vfr;': '𝔳',
- 'vltri;': '⊲',
- 'vnsub;': '⊂⃒',
- 'vnsup;': '⊃⃒',
- 'vopf;': '𝕧',
- 'vprop;': '∝',
- 'vrtri;': '⊳',
- 'vscr;': '𝓋',
- 'vsubnE;': '⫋︀',
- 'vsubne;': '⊊︀',
- 'vsupnE;': '⫌︀',
- 'vsupne;': '⊋︀',
- 'vzigzag;': '⦚',
- 'wcirc;': 'ŵ',
- 'wedbar;': '⩟',
- 'wedge;': '∧',
- 'wedgeq;': '≙',
- 'weierp;': '℘',
- 'wfr;': '𝔴',
- 'wopf;': '𝕨',
- 'wp;': '℘',
- 'wr;': '≀',
- 'wreath;': '≀',
- 'wscr;': '𝓌',
- 'xcap;': '⋂',
- 'xcirc;': '◯',
- 'xcup;': '⋃',
- 'xdtri;': '▽',
- 'xfr;': '𝔵',
- 'xhArr;': '⟺',
- 'xharr;': '⟷',
- 'xi;': 'ξ',
- 'xlArr;': '⟸',
- 'xlarr;': '⟵',
- 'xmap;': '⟼',
- 'xnis;': '⋻',
- 'xodot;': '⨀',
- 'xopf;': '𝕩',
- 'xoplus;': '⨁',
- 'xotime;': '⨂',
- 'xrArr;': '⟹',
- 'xrarr;': '⟶',
- 'xscr;': '𝓍',
- 'xsqcup;': '⨆',
- 'xuplus;': '⨄',
- 'xutri;': '△',
- 'xvee;': '⋁',
- 'xwedge;': '⋀',
- yacute: 'ý',
- 'yacute;': 'ý',
- 'yacy;': 'я',
- 'ycirc;': 'ŷ',
- 'ycy;': 'ы',
- yen: '¥',
- 'yen;': '¥',
- 'yfr;': '𝔶',
- 'yicy;': 'ї',
- 'yopf;': '𝕪',
- 'yscr;': '𝓎',
- 'yucy;': 'ю',
- yuml: 'ÿ',
- 'yuml;': 'ÿ',
- 'zacute;': 'ź',
- 'zcaron;': 'ž',
- 'zcy;': 'з',
- 'zdot;': 'ż',
- 'zeetrf;': 'ℨ',
- 'zeta;': 'ζ',
- 'zfr;': '𝔷',
- 'zhcy;': 'ж',
- 'zigrarr;': '⇝',
- 'zopf;': '𝕫',
- 'zscr;': '𝓏',
- 'zwj;': '',
- 'zwnj;': ''
-};
-
-const numeric = /(x)?([0-9a-f]+);/i;
-const named = new RegExp(
- `&(${Object.keys(entities)
- .sort((a, b) => b.length - a.length)
- .join('|')})`,
- 'g'
-);
-
-/** @param {string} str */
-export function decode(str) {
- return str
- .replace(numeric, (_match, hex, code) => String.fromCharCode(hex ? parseInt(code, 16) : +code))
- .replace(named, (_match, entity) => entities[entity]);
-}
diff --git a/node_modules/@sveltejs/kit/src/core/postbuild/fallback.js b/node_modules/@sveltejs/kit/src/core/postbuild/fallback.js
deleted file mode 100644
index d77400a..0000000
--- a/node_modules/@sveltejs/kit/src/core/postbuild/fallback.js
+++ /dev/null
@@ -1,54 +0,0 @@
-import { readFileSync } from 'node:fs';
-import { join } from 'node:path';
-import { pathToFileURL } from 'node:url';
-import { installPolyfills } from '../../exports/node/polyfills.js';
-import { load_config } from '../config/index.js';
-import { forked } from '../../utils/fork.js';
-
-export default forked(import.meta.url, generate_fallback);
-
-/**
- * @param {{
- * manifest_path: string;
- * env: Record
- * }} opts
- */
-async function generate_fallback({ manifest_path, env }) {
- /** @type {import('types').ValidatedKitConfig} */
- const config = (await load_config()).kit;
-
- installPolyfills();
-
- const server_root = join(config.outDir, 'output');
-
- /** @type {import('types').ServerInternalModule} */
- const { set_building } = await import(pathToFileURL(`${server_root}/server/internal.js`).href);
-
- /** @type {import('types').ServerModule} */
- const { Server } = await import(pathToFileURL(`${server_root}/server/index.js`).href);
-
- /** @type {import('@sveltejs/kit').SSRManifest} */
- const manifest = (await import(pathToFileURL(manifest_path).href)).manifest;
-
- set_building();
-
- const server = new Server(manifest);
- await server.init({ env });
-
- const response = await server.respond(new Request(config.prerender.origin + '/[fallback]'), {
- getClientAddress: () => {
- throw new Error('Cannot read clientAddress during prerendering');
- },
- prerendering: {
- fallback: true,
- dependencies: new Map()
- },
- read: (file) => readFileSync(join(config.files.assets, file))
- });
-
- if (response.ok) {
- return await response.text();
- }
-
- throw new Error(`Could not create a fallback page — failed with status ${response.status}`);
-}
diff --git a/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js b/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js
deleted file mode 100644
index d2c1954..0000000
--- a/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js
+++ /dev/null
@@ -1,537 +0,0 @@
-import { existsSync, readFileSync, statSync, writeFileSync } from 'node:fs';
-import { dirname, join } from 'node:path';
-import { pathToFileURL } from 'node:url';
-import { installPolyfills } from '../../exports/node/polyfills.js';
-import { mkdirp, posixify, walk } from '../../utils/filesystem.js';
-import { decode_uri, is_root_relative, resolve } from '../../utils/url.js';
-import { escape_html } from '../../utils/escape.js';
-import { logger } from '../utils.js';
-import { load_config } from '../config/index.js';
-import { get_route_segments } from '../../utils/routing.js';
-import { queue } from './queue.js';
-import { crawl } from './crawl.js';
-import { forked } from '../../utils/fork.js';
-import * as devalue from 'devalue';
-import { createReadableStream } from '@sveltejs/kit/node';
-import generate_fallback from './fallback.js';
-
-export default forked(import.meta.url, prerender);
-
-// https://html.spec.whatwg.org/multipage/browsing-the-web.html#scrolling-to-a-fragment
-// "If fragment is the empty string, then return the special value top of the document."
-// ...and
-// "If decodedFragment is an ASCII case-insensitive match for the string 'top', then return the top of the document."
-const SPECIAL_HASHLINKS = new Set(['', 'top']);
-
-/**
- * @param {{
- * hash: boolean;
- * out: string;
- * manifest_path: string;
- * metadata: import('types').ServerMetadata;
- * verbose: boolean;
- * env: Record
- * }} opts
- */
-async function prerender({ hash, out, manifest_path, metadata, verbose, env }) {
- /** @type {import('@sveltejs/kit').SSRManifest} */
- const manifest = (await import(pathToFileURL(manifest_path).href)).manifest;
-
- /** @type {import('types').ServerInternalModule} */
- const internal = await import(pathToFileURL(`${out}/server/internal.js`).href);
-
- /** @type {import('types').ServerModule} */
- const { Server } = await import(pathToFileURL(`${out}/server/index.js`).href);
-
- // configure `import { building } from '$app/environment'` —
- // essential we do this before analysing the code
- internal.set_building();
- internal.set_prerendering();
-
- /**
- * @template {{message: string}} T
- * @template {Omit} K
- * @param {import('types').Logger} log
- * @param {'fail' | 'warn' | 'ignore' | ((details: T) => void)} input
- * @param {(details: K) => string} format
- * @returns {(details: K) => void}
- */
- function normalise_error_handler(log, input, format) {
- switch (input) {
- case 'fail':
- return (details) => {
- throw new Error(format(details));
- };
- case 'warn':
- return (details) => {
- log.error(format(details));
- };
- case 'ignore':
- return () => {};
- default:
- // @ts-expect-error TS thinks T might be of a different kind, but it's not
- return (details) => input({ ...details, message: format(details) });
- }
- }
-
- const OK = 2;
- const REDIRECT = 3;
-
- /** @type {import('types').Prerendered} */
- const prerendered = {
- pages: new Map(),
- assets: new Map(),
- redirects: new Map(),
- paths: []
- };
-
- /** @type {import('types').PrerenderMap} */
- const prerender_map = new Map();
-
- for (const [id, { prerender }] of metadata.routes) {
- if (prerender !== undefined) {
- prerender_map.set(id, prerender);
- }
- }
-
- /** @type {Set} */
- const prerendered_routes = new Set();
-
- /** @type {import('types').ValidatedKitConfig} */
- const config = (await load_config()).kit;
-
- if (hash) {
- const fallback = await generate_fallback({
- manifest_path,
- env
- });
-
- const file = output_filename('/', true);
- const dest = `${config.outDir}/output/prerendered/pages/${file}`;
-
- mkdirp(dirname(dest));
- writeFileSync(dest, fallback);
-
- prerendered.pages.set('/', { file });
-
- return { prerendered, prerender_map };
- }
-
- const emulator = await config.adapter?.emulate?.();
-
- /** @type {import('types').Logger} */
- const log = logger({ verbose });
-
- installPolyfills();
-
- /** @type {Map} */
- const saved = new Map();
-
- const handle_http_error = normalise_error_handler(
- log,
- config.prerender.handleHttpError,
- ({ status, path, referrer, referenceType }) => {
- const message =
- status === 404 && !path.startsWith(config.paths.base)
- ? `${path} does not begin with \`base\`, which is configured in \`paths.base\` and can be imported from \`$app/paths\` - see https://svelte.dev/docs/kit/configuration#paths for more info`
- : path;
-
- return `${status} ${message}${referrer ? ` (${referenceType} from ${referrer})` : ''}`;
- }
- );
-
- const handle_missing_id = normalise_error_handler(
- log,
- config.prerender.handleMissingId,
- ({ path, id, referrers }) => {
- return (
- `The following pages contain links to ${path}#${id}, but no element with id="${id}" exists on ${path} - see the \`handleMissingId\` option in https://svelte.dev/docs/kit/configuration#prerender for more info:` +
- referrers.map((l) => `\n - ${l}`).join('')
- );
- }
- );
-
- const handle_entry_generator_mismatch = normalise_error_handler(
- log,
- config.prerender.handleEntryGeneratorMismatch,
- ({ generatedFromId, entry, matchedId }) => {
- return `The entries export from ${generatedFromId} generated entry ${entry}, which was matched by ${matchedId} - see the \`handleEntryGeneratorMismatch\` option in https://svelte.dev/docs/kit/configuration#prerender for more info.`;
- }
- );
-
- const q = queue(config.prerender.concurrency);
-
- /**
- * @param {string} path
- * @param {boolean} is_html
- */
- function output_filename(path, is_html) {
- const file = path.slice(config.paths.base.length + 1) || 'index.html';
-
- if (is_html && !file.endsWith('.html')) {
- return file + (file.endsWith('/') ? 'index.html' : '.html');
- }
-
- return file;
- }
-
- const files = new Set(walk(`${out}/client`).map(posixify));
- files.add(`${config.appDir}/env.js`);
-
- const immutable = `${config.appDir}/immutable`;
- if (existsSync(`${out}/server/${immutable}`)) {
- for (const file of walk(`${out}/server/${immutable}`)) {
- files.add(posixify(`${config.appDir}/immutable/${file}`));
- }
- }
- const seen = new Set();
- const written = new Set();
-
- /** @type {Map>} */
- const expected_hashlinks = new Map();
-
- /** @type {Map