github-actions[bot] commited on
Commit
e0552b0
·
0 Parent(s):

Sync from GitHub 33c12db74322f3d28409b5dc0a8c441914c9178b

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .python-version +1 -0
  2. Dockerfile +40 -0
  3. README.md +9 -0
  4. frontend/client/_app/immutable/assets/0.DpcAwFkV.css +2 -0
  5. frontend/client/_app/immutable/assets/0.DpcAwFkV.css.br +0 -0
  6. frontend/client/_app/immutable/assets/0.DpcAwFkV.css.gz +0 -0
  7. frontend/client/_app/immutable/assets/2.BIbYdWBv.css +1 -0
  8. frontend/client/_app/immutable/assets/2.BIbYdWBv.css.br +0 -0
  9. frontend/client/_app/immutable/assets/2.BIbYdWBv.css.gz +0 -0
  10. frontend/client/_app/immutable/assets/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2 +0 -0
  11. frontend/client/_app/immutable/assets/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2 +0 -0
  12. frontend/client/_app/immutable/assets/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2 +0 -0
  13. frontend/client/_app/immutable/assets/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2 +0 -0
  14. frontend/client/_app/immutable/assets/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2 +0 -0
  15. frontend/client/_app/immutable/assets/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2 +0 -0
  16. frontend/client/_app/immutable/chunks/Bw-0QipA.js +3 -0
  17. frontend/client/_app/immutable/chunks/Bw-0QipA.js.br +0 -0
  18. frontend/client/_app/immutable/chunks/Bw-0QipA.js.gz +0 -0
  19. frontend/client/_app/immutable/chunks/H_O4PGe5.js +1 -0
  20. frontend/client/_app/immutable/chunks/H_O4PGe5.js.br +0 -0
  21. frontend/client/_app/immutable/chunks/H_O4PGe5.js.gz +0 -0
  22. frontend/client/_app/immutable/chunks/kNaey6uv.js +1 -0
  23. frontend/client/_app/immutable/chunks/kNaey6uv.js.br +0 -0
  24. frontend/client/_app/immutable/chunks/kNaey6uv.js.gz +0 -0
  25. frontend/client/_app/immutable/chunks/xihTtKlq.js +1 -0
  26. frontend/client/_app/immutable/chunks/xihTtKlq.js.br +1 -0
  27. frontend/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
  28. frontend/client/_app/immutable/entry/app.BHLFJpHZ.js +2 -0
  29. frontend/client/_app/immutable/entry/app.BHLFJpHZ.js.br +0 -0
  30. frontend/client/_app/immutable/entry/app.BHLFJpHZ.js.gz +0 -0
  31. frontend/client/_app/immutable/entry/start.Bbjycs44.js +1 -0
  32. frontend/client/_app/immutable/entry/start.Bbjycs44.js.br +1 -0
  33. frontend/client/_app/immutable/entry/start.Bbjycs44.js.gz +0 -0
  34. frontend/client/_app/immutable/nodes/0.Df0rgt8-.js +1 -0
  35. frontend/client/_app/immutable/nodes/0.Df0rgt8-.js.br +0 -0
  36. frontend/client/_app/immutable/nodes/0.Df0rgt8-.js.gz +0 -0
  37. frontend/client/_app/immutable/nodes/1.Cp2o0XAs.js +1 -0
  38. frontend/client/_app/immutable/nodes/1.Cp2o0XAs.js.br +0 -0
  39. frontend/client/_app/immutable/nodes/1.Cp2o0XAs.js.gz +0 -0
  40. frontend/client/_app/immutable/nodes/2.BTNl2Bsv.js +0 -0
  41. frontend/client/_app/immutable/nodes/2.BTNl2Bsv.js.br +0 -0
  42. frontend/client/_app/immutable/nodes/2.BTNl2Bsv.js.gz +0 -0
  43. frontend/client/_app/version.json +1 -0
  44. frontend/client/_app/version.json.br +0 -0
  45. frontend/client/_app/version.json.gz +0 -0
  46. frontend/client/robots.txt +2 -0
  47. frontend/client/robots.txt.br +3 -0
  48. frontend/client/robots.txt.gz +0 -0
  49. frontend/env.js +94 -0
  50. frontend/handler.js +1494 -0
.python-version ADDED
@@ -0,0 +1 @@
 
 
1
+ 3.13
Dockerfile ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:22-bookworm-slim
2
+
3
+ WORKDIR /app
4
+
5
+ ENV PYTHONUNBUFFERED=1 \
6
+ UV_PYTHON=3.13 \
7
+ UV_LINK_MODE=copy
8
+
9
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
10
+
11
+ RUN apt-get update && apt-get install -y --no-install-recommends \
12
+ bash \
13
+ ca-certificates \
14
+ && rm -rf /var/lib/apt/lists/*
15
+
16
+ RUN uv python install 3.13
17
+
18
+ COPY .python-version pyproject.toml uv.lock ./
19
+
20
+ COPY koja_diffuser ./koja_diffuser
21
+
22
+ RUN uv sync --locked
23
+
24
+ COPY frontend ./frontend
25
+
26
+ EXPOSE 7860
27
+
28
+ CMD ["bash", "-lc", "\
29
+ set -euo pipefail; \
30
+ node frontend/server.js & \
31
+ node_pid=$!; \
32
+ uv run uvicorn koja_diffuser.runtime.api:app --host 127.0.0.1 --port 8000 & \
33
+ api_pid=$!; \
34
+ trap 'kill $node_pid $api_pid 2>/dev/null || true' INT TERM EXIT; \
35
+ wait -n $node_pid $api_pid; \
36
+ status=$?; \
37
+ kill $node_pid $api_pid 2>/dev/null || true; \
38
+ wait 2>/dev/null || true; \
39
+ exit $status \
40
+ "]
README.md ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: KoJaDiffuser
3
+ emoji: 🔥
4
+ colorFrom: yellow
5
+ colorTo: yellow
6
+ sdk: docker
7
+ app_port: 7860
8
+ pinned: false
9
+ ---
frontend/client/_app/immutable/assets/0.DpcAwFkV.css ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-4xl:calc(var(--radius) * 2.6);--ease-out:cubic-bezier(0, 0, .2, 1);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"IBM Plex Sans Variable", sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:IBM Plex Sans Variable,sans-serif}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.absolute{position:absolute}.relative{position:relative}.top-6{top:calc(var(--spacing) * 6)}.right-7{right:calc(var(--spacing) * 7)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-7{left:calc(var(--spacing) * 7)}.z-1{z-index:1}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.ms-auto{margin-inline-start:auto}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-2{height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-11\/12{width:91.6667%}.w-80{width:calc(var(--spacing) * 80)}.w-\[min\(620px\,100\%\)\]{width:min(620px,100%)}.w-\[min\(780px\,calc\(100vw-360px\)\)\]{width:min(780px,100vw - 360px)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-\[min\(560px\,100\%\)\]{max-width:min(560px,100%)}.max-w-\[min\(640px\,92\%\)\]{max-width:min(640px,92%)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-13{min-width:calc(var(--spacing) * 13)}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-70{min-width:calc(var(--spacing) * 70)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-\[42vh\]{flex-basis:42vh}.origin-center{transform-origin:50%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.96\]{scale:.96}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.scrollbar-none{scrollbar-width:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-\[min\(var\(--radius-4xl\)\,24px\)\]{border-radius:min(var(--radius-4xl), 24px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-\[min\(var\(--radius-4xl\)\,24px\)\]{border-top-left-radius:min(var(--radius-4xl), 24px);border-top-right-radius:min(var(--radius-4xl), 24px)}.rounded-b-\[min\(var\(--radius-4xl\)\,24px\)\]{border-bottom-right-radius:min(var(--radius-4xl), 24px);border-bottom-left-radius:min(var(--radius-4xl), 24px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-\[\#afcbff\]{border-color:#afcbff}.border-\[\#e8a7b8\]{border-color:#e8a7b8}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.border-transparent\!{border-color:#0000!important}.border-zinc-900\/10{border-color:#18181b1a}@supports (color:color-mix(in lab, red, red)){.border-zinc-900\/10{border-color:color-mix(in oklab, var(--color-zinc-900) 10%, transparent)}}.bg-background,.bg-background\/75{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/75{background-color:color-mix(in oklab, var(--background) 75%, transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-input\/50{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/50{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-zinc-900\/90{background-color:#18181be6}@supports (color:color-mix(in lab, red, red)){.bg-zinc-900\/90{background-color:color-mix(in oklab, var(--color-zinc-900) 90%, transparent)}}.bg-clip-padding{background-clip:padding-box}.p-0{padding:calc(var(--spacing) * 0)}.p-\[3px\]{padding:3px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-right{text-align:right}.font-heading{font-family:IBM Plex Sans Variable,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[clamp\(10px\,1\.45vw\,17px\)\]{font-size:clamp(10px,1.45vw,17px)}.text-\[clamp\(30px\,6vw\,70px\)\]{font-size:clamp(30px,6vw,70px)}.text-\[clamp\(42px\,8vw\,96px\)\]{font-size:clamp(42px,8vw,96px)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.accent-\[\#afcbff\]{accent-color:#afcbff}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_8px_20px_rgba\(0\,0\,0\,0\.16\)\]{--tw-shadow:0 8px 20px var(--tw-shadow-color,#00000029);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_12px_32px_rgba\(24\,24\,27\,0\.05\)\]{--tw-shadow:0 12px 32px var(--tw-shadow-color,#18181b0d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-black\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.ring-black\/10{--tw-ring-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.ring-foreground\/5{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/5{--tw-ring-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.saturate-100{--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.saturate-\[0\.88\]{--tw-saturate:saturate(.88);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\,filter\]{transition-property:opacity,transform,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[image-rendering\:pixelated\]{image-rendering:pixelated}.not-dark\:bg-clip-padding:not(:is(.dark *)){background-clip:padding-box}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[size\=sm\]\/card\:px-4:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 4)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:p-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *){padding:calc(var(--spacing) * 1)}.group-data-vertical\/tabs\:px-3:is(:where(.group\/tabs):where([data-orientation=vertical]) *){padding-inline:calc(var(--spacing) * 3)}.group-data-vertical\/tabs\:py-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *){padding-block:calc(var(--spacing) * .5)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-ring\/30:hover{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.hover\:ring-ring\/30:hover{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-end\]\:pr-2\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2.5)}.has-data-\[icon\=inline-end\]\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-2\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2.5)}.has-data-\[icon\=inline-start\]\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-bounded\:text-foreground[data-bounded]{color:var(--foreground)}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[size\=sm\]\:gap-4[data-size=sm]{gap:calc(var(--spacing) * 4)}.data-\[size\=sm\]\:py-4[data-size=sm]{padding-block:calc(var(--spacing) * 4)}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-2xl *)[data-slot=kbd]{border-radius:calc(var(--radius) * 1.8)}:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:color-mix(in oklab, var(--muted-foreground) 10%, transparent)}}:is(.\*\*\:data-\[slot\=kbd\]\:px-1\.5 *)[data-slot=kbd]{padding-inline:calc(var(--spacing) * 1.5)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media not all and (width>=48rem){.max-md\:top-4{top:calc(var(--spacing) * 4)}.max-md\:right-4{right:calc(var(--spacing) * 4)}.max-md\:bottom-4{bottom:calc(var(--spacing) * 4)}.max-md\:left-4{left:calc(var(--spacing) * 4)}.max-md\:w-\[min\(100\%-32px\,560px\)\]{width:min(100% - 32px,560px)}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:bg-background\/20:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-background\/20:is(.dark *){background-color:color-mix(in oklab, var(--background) 20%, transparent)}}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:ring-foreground\/10:is(.dark *){--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.dark\:ring-foreground\/10:is(.dark *){--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/30:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:h-1:where([data-orientation=horizontal]){height:calc(var(--spacing) * 1)}.data-horizontal\:h-full:where([data-orientation=horizontal]){height:100%}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-vertical\:h-full:where([data-orientation=vertical]){height:100%}.data-vertical\:min-h-40:where([data-orientation=vertical]){min-height:calc(var(--spacing) * 40)}.data-vertical\:w-1:where([data-orientation=vertical]){width:calc(var(--spacing) * 1)}.data-vertical\:w-auto:where([data-orientation=vertical]){width:auto}.data-vertical\:w-full:where([data-orientation=vertical]){width:100%}.data-vertical\:flex-col:where([data-orientation=vertical]){flex-direction:column}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-b\]\:pb-5.border-b{padding-bottom:calc(var(--spacing) * 5)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-4:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 4)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-5.border-t{padding-top:calc(var(--spacing) * 5)}.group-data-\[size\=sm\]\/card\:\[\.border-t\]\:pt-4:is(:where(.group\/card)[data-size=sm] *).border-t{padding-top:calc(var(--spacing) * 4)}:is(.\*\:\[img\:first-child\]\:rounded-t-\[min\(var\(--radius-4xl\)\,24px\)\]>*):is(img:first-child){border-top-left-radius:min(var(--radius-4xl), 24px);border-top-right-radius:min(var(--radius-4xl), 24px)}:is(.\*\:\[img\:last-child\]\:rounded-b-\[min\(var\(--radius-4xl\)\,24px\)\]>*):is(img:last-child){border-bottom-right-radius:min(var(--radius-4xl), 24px);border-bottom-left-radius:min(var(--radius-4xl), 24px)}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(100% 0 0);--foreground:oklch(14.8% .004 228.8);--card:oklch(100% 0 0);--card-foreground:oklch(14.8% .004 228.8);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.8% .004 228.8);--primary:oklch(21.8% .008 223.9);--primary-foreground:oklch(98.7% .002 197.1);--secondary:oklch(96.3% .002 197.1);--secondary-foreground:oklch(21.8% .008 223.9);--muted:oklch(96.3% .002 197.1);--muted-foreground:oklch(56% .021 213.5);--accent:oklch(96.3% .002 197.1);--accent-foreground:oklch(21.8% .008 223.9);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.5% .005 214.3);--input:oklch(92.5% .005 214.3);--ring:oklch(72.3% .014 214.4);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.45rem;--sidebar:oklch(98.7% .002 197.1);--sidebar-foreground:oklch(14.8% .004 228.8);--sidebar-primary:oklch(21.8% .008 223.9);--sidebar-primary-foreground:oklch(98.7% .002 197.1);--sidebar-accent:oklch(96.3% .002 197.1);--sidebar-accent-foreground:oklch(21.8% .008 223.9);--sidebar-border:oklch(92.5% .005 214.3);--sidebar-ring:oklch(72.3% .014 214.4)}.dark{--background:oklch(14.8% .004 228.8);--foreground:oklch(98.7% .002 197.1);--card:oklch(21.8% .008 223.9);--card-foreground:oklch(98.7% .002 197.1);--popover:oklch(21.8% .008 223.9);--popover-foreground:oklch(98.7% .002 197.1);--primary:oklch(92.5% .005 214.3);--primary-foreground:oklch(21.8% .008 223.9);--secondary:oklch(27.5% .011 216.9);--secondary-foreground:oklch(98.7% .002 197.1);--muted:oklch(27.5% .011 216.9);--muted-foreground:oklch(72.3% .014 214.4);--accent:oklch(27.5% .011 216.9);--accent-foreground:oklch(98.7% .002 197.1);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(56% .021 213.5);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(21.8% .008 223.9);--sidebar-foreground:oklch(98.7% .002 197.1);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.7% .002 197.1);--sidebar-accent:oklch(27.5% .011 216.9);--sidebar-accent-foreground:oklch(98.7% .002 197.1);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(56% .021 213.5)}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
frontend/client/_app/immutable/assets/0.DpcAwFkV.css.br ADDED
Binary file (8.01 kB). View file
 
frontend/client/_app/immutable/assets/0.DpcAwFkV.css.gz ADDED
Binary file (9.14 kB). View file
 
frontend/client/_app/immutable/assets/2.BIbYdWBv.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .step-column.svelte-1szbnx{scrollbar-width:none}.step-column.svelte-1szbnx::-webkit-scrollbar{display:none}
frontend/client/_app/immutable/assets/2.BIbYdWBv.css.br ADDED
Binary file (68 Bytes). View file
 
frontend/client/_app/immutable/assets/2.BIbYdWBv.css.gz ADDED
Binary file (94 Bytes). View file
 
frontend/client/_app/immutable/assets/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2 ADDED
Binary file (23.6 kB). View file
 
frontend/client/_app/immutable/assets/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2 ADDED
Binary file (29.5 kB). View file
 
frontend/client/_app/immutable/assets/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2 ADDED
Binary file (19.5 kB). View file
 
frontend/client/_app/immutable/assets/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2 ADDED
Binary file (31 kB). View file
 
frontend/client/_app/immutable/assets/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2 ADDED
Binary file (45.7 kB). View file
 
frontend/client/_app/immutable/assets/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2 ADDED
Binary file (13.2 kB). View file
 
frontend/client/_app/immutable/chunks/Bw-0QipA.js ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible;function p(e){return typeof e==`function`}var m=()=>{};function h(e){for(var t=0;t<e.length;t++)e[t]()}function g(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function _(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var v=1<<24,y=1024,b=2048,x=4096,S=8192,ee=16384,te=32768,ne=1<<25,re=65536,ie=1<<18,ae=1<<19,oe=1<<20,se=1<<25,ce=65536,le=1<<21,ue=1<<22,de=1<<23,fe=Symbol(`$state`),pe=Symbol(`legacy props`),me=Symbol(``),he=Symbol(`proxy path`),ge=Symbol(`attributes`),_e=Symbol(`class`),ve=Symbol(`style`),ye=Symbol(`text`),be=Symbol(`form reset`),xe=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Se=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function Ce(e){throw Error(`https://svelte.dev/e/experimental_async_required`)}function we(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function Te(){throw Error(`https://svelte.dev/e/missing_context`)}function Ee(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function De(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function Oe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function ke(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ae(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function je(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Me(){throw Error(`https://svelte.dev/e/fork_discarded`)}function Ne(){throw Error(`https://svelte.dev/e/fork_timing`)}function Pe(){throw Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`)}function Fe(){throw Error(`https://svelte.dev/e/hydration_failed`)}function Ie(e){throw Error(`https://svelte.dev/e/lifecycle_legacy_only`)}function Le(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Re(){throw Error(`https://svelte.dev/e/set_context_after_init`)}function ze(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Be(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Ve(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function He(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ue={},C=Symbol(`uninitialized`),We=`http://www.w3.org/1999/xhtml`,Ge=`http://www.w3.org/2000/svg`,Ke=`@attach`;function qe(){console.warn(`https://svelte.dev/e/derived_inert`)}function Je(e){console.warn(`https://svelte.dev/e/hydratable_missing_but_expected`)}function Ye(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Xe(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Ze(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var w=!1;function T(e){w=e}var E;function D(e){if(e===null)throw Ye(),Ue;return E=e}function Qe(){return D(z(E))}function $e(e){if(w){if(z(E)!==null)throw Ye(),Ue;E=e}}function et(e=1){if(w){for(var t=e,n=E;t--;)n=z(n);E=n}}function tt(e=!0){for(var t=0,n=E;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=z(n);e&&n.remove(),n=i}}function nt(e){if(!e||e.nodeType!==8)throw Ye(),Ue;return e.data}function rt(e){return e===this.v}function it(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function at(e){return!it(e,this.v)}var O=!1,ot=!1;function st(e,t){return e.label=t,ct(e.v,t),e}function ct(e,t){return e?.[he]?.(t),e}function lt(e){return typeof e==`symbol`?`Symbol(${e.description})`:typeof e==`function`?`<function>`:typeof e==`object`&&e?`<object>`:String(e)}var k=null;function ut(e){k=e}function dt(){let e={};return[()=>(mt(e)||Te(),ft(e)),t=>pt(e,t)]}function ft(e){return yt(`getContext`).get(e)}function pt(e,t){let n=yt(`setContext`);if(O){var r=K.f;!U&&r&32&&!k.i||Re()}return n.set(e,t),t}function mt(e){return yt(`hasContext`).has(e)}function ht(){return yt(`getAllContexts`)}function gt(e,t=!1,n){k={p:k,i:!1,c:null,e:null,s:e,x:null,r:K,l:ot&&!t?{s:null,u:null,$:[]}:null}}function _t(e){var t=k,n=t.e;if(n!==null){t.e=null;for(var r of n)nr(r)}return e!==void 0&&(t.x=e),t.i=!0,k=t.p,e??{}}function vt(){return!ot||k!==null&&k.l===null}function yt(e){return k===null&&we(e),k.c??=new Map(bt(k)||void 0)}function bt(e){let t=e.p;for(;t!==null;){let e=t.c;if(e!==null)return e;t=t.p}return null}var xt=[];function St(){var e=xt;xt=[],h(e)}function A(e){if(xt.length===0&&!zt){var t=xt;queueMicrotask(()=>{t===xt&&St()})}xt.push(e)}function Ct(){for(;xt.length>0;)St()}function wt(e){var t=K;if(t===null)return U.f|=de,e;if(!(t.f&32768)&&!(t.f&4))throw e;Tt(e,t)}function Tt(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var Et=~(b|x|y);function j(e,t){e.f=e.f&Et|t}function Dt(e){e.f&512||e.deps===null?j(e,y):j(e,x)}function Ot(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ce,Ot(t.deps))}function kt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Ot(e.deps),j(e,y)}var At=[];function jt(e,t=m){let n=null,r=new Set;function i(t){if(it(e,t)&&(e=t,n)){let t=!At.length;for(let t of r)t[1](),At.push(t,e);if(t){for(let e=0;e<At.length;e+=2)At[e][0](At[e+1]);At.length=0}}}function a(t){i(t(e))}function o(o,s=m){let c=[o,s];return r.add(c),r.size===1&&(n=t(i,a)||m),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:a,subscribe:o}}var Mt=!1,Nt=!1;function Pt(e){var t=Nt;try{return Nt=!1,[e(),Nt]}finally{Nt=t}}var Ft=null,It=null,M=null,Lt=null,N=null,Rt=null,zt=!1,Bt=!1,Vt=null,Ht=null,Ut=0,Wt=1,Gt=class e{id=Wt++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;unblocked=new Set;#r=new Set;#i=new Set;#a=new Set;#o=0;#s=new Map;#c=null;#l=[];#u=[];#d=new Set;#f=new Set;#p=new Map;#m=new Set;is_fork=!1;#h=!1;#g(){if(this.is_fork)return!0;for(let n of this.#s.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#p.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#p.has(e)||this.#p.set(e,{d:[],m:[]}),this.#m.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#p.get(e);if(n){this.#p.delete(e);for(var r of n.d)j(r,b),t(r);for(r of n.m)j(r,x),t(r)}this.#m.add(e)}#_(){if(this.#e=!0,Ut++>1e3&&(this.#w(),qt()),!this.#g()){for(let e of this.#d)this.#f.delete(e),j(e,b),this.schedule(e);for(let e of this.#f)j(e,x),this.schedule(e)}let t=this.#l;this.#l=[],this.apply();var n=Vt=[],r=[],i=Ht=[];for(let e of t)try{this.#v(e,n,r)}catch(t){throw en(e),t}if(M=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Vt=null,Ht=null,this.#g()){this.#x(r),this.#x(n);for(let[e,t]of this.#p)$t(e,t);i.length>0&&M.#_();return}let o=this.#y();if(o){o.#b(this);return}this.#d.clear(),this.#f.clear();for(let e of this.#r)e(this);this.#r.clear(),Lt=this,Jt(r),Jt(n),Lt=null,this.#c?.resolve();var s=M;if(this.linked&&this.#o===0&&this.#w(),O&&!this.linked&&(this.#S(),M=s),this.#l.length>0){s===null&&(s=this,this.#C());let e=s;e.#l.push(...this.#l.filter(t=>!e.#l.includes(t)))}s!==null&&s.#_()}#v(e,t,n){e.f^=y;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#p.has(r))&&r.fn!==null){a?r.f^=y:i&4?t.push(r):O&&i&16777224?n.push(r):Nr(r)&&(i&16&&this.#f.add(r),Rr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve)}let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#f.delete(i),j(i,b),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#w(),M=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)kt(e[t],this.#d,this.#f)}capture(e,t,n=!1){e.v!==C&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),N?.set(e,t)),this.is_fork||(e.v=t)}activate(){M=this}deactivate(){M=null,N=null}flush(){try{Bt=!0,M=this,this.#_()}finally{Ut=0,Rt=null,Vt=null,Ht=null,Bt=!1,M=null,N=null,Sn.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear(),this.#a.clear(),this.#w()}register_created_effect(e){this.#u.push(e)}#S(){this.#w();for(let l=Ft;l!==null;l=l.#n){var e=l.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(l.current.has(r)){var n=l.current.get(r)[0];if(e&&i!==n)l.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=l.async_deriveds.get(e);n&&t.promise.then(n.resolve)}if(l.#e){var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&l.discard();else if(t.length>0){if(e)for(let e of this.#m)l.unskip_effect(e,e=>{e.f&4194320?l.schedule(e):l.#x([e])});l.activate();var i=new Set,a=new Map;for(var o of t)Yt(o,r,i,a);a=new Map;var s=[...l.current.keys()].filter(e=>this.current.has(e)?this.current.get(e)[0]!==e.v:!0);if(s.length>0)for(let e of this.#u)!(e.f&155648)&&Zt(e,s,a)&&(e.f&4194320?(j(e,b),l.schedule(e)):l.#d.add(e));if(l.#l.length>0&&!l.#h){l.apply();for(var c of l.#l)l.#v(c,[],[]);l.#l=[]}l.deactivate()}}}}increment(e,t){if(this.#o+=1,e){let e=this.#s.get(t)??0;this.#s.set(t,e+1)}}decrement(e,t){if(--this.#o,e){let e=this.#s.get(t)??0;e===1?this.#s.delete(t):this.#s.set(t,e-1)}this.#h||(this.#h=!0,A(()=>{this.#h=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#d.add(t);for(let e of t)this.#f.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}on_fork_commit(e){this.#a.add(e)}run_fork_commit_callbacks(){for(let e of this.#a)e(this);this.#a.clear()}settled(){return(this.#c??=g()).promise}static ensure(){if(M===null){let t=M=new e;t.#C(),!Bt&&!zt&&A(()=>{t.#e||t.flush()})}return M}apply(){if(!O||!this.is_fork&&this.#t===null&&this.#n===null){N=null;return}N=new Map;for(let[e,[t]]of this.current)N.set(e,t);for(let t=Ft;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)N.has(e)||N.set(e,n)}}schedule(e){if(Rt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Vt!==null&&t===K&&(O||(U===null||!(U.f&2))&&!Mt))return;if(n&96){if(!(n&1024))return;t.f^=y}}this.#l.push(t)}#C(){It===null?Ft=It=this:(It.#n=this,this.#t=It),It=this}#w(){var e=this.#t,t=this.#n;e===null?Ft=t:e.#n=t,t===null?It=e:t.#t=e,this.linked=!1}};function Kt(e){var t=zt;zt=!0;try{var n;for(e&&(M!==null&&!M.is_fork&&M.flush(),n=e());;){if(Ct(),M===null)return n;M.flush()}}finally{zt=t}}function qt(){try{je()}catch(e){Tt(e,Rt)}}var P=null;function Jt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Nr(r)&&(P=new Set,Rr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&gr(r),P?.size>0)){Sn.clear();for(let e of P){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)P.has(n)&&(P.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Rr(n)}}P.clear()}}P=null}}function Yt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Yt(i,t,n,r):e&4194320&&!(e&2048)&&Zt(i,t,r)&&(j(i,b),Qt(i))}}function Xt(e,t){if(e.reactions!==null)for(let n of e.reactions){let e=n.f;e&2?Xt(n,t):e&131072&&(j(n,b),t.add(n))}}function Zt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(i.call(t,r))return!0;if(r.f&2&&Zt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function Qt(e){M.schedule(e)}function $t(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),j(e,y);for(var n=e.first;n!==null;)$t(n,t),n=n.next}}function en(e){j(e,y);for(var t=e.first;t!==null;)en(t),t=t.next}function tn(e){O||Ce(`fork`),M!==null&&Ne();var t=Gt.ensure();t.is_fork=!0,N=new Map;var n=!1,r=t.settled();return Kt(e),{commit:async()=>{if(n){await r;return}t.linked||Me(),n=!0,t.is_fork=!1;for(var[e,[i]]of t.current)e.v=i,e.wv=Mr();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),Kt(()=>{var e=new Set;for(var n of t.current.keys())Xt(n,e);Cn(e),On()}),t.flush(),await r},discard:()=>{for(var e of t.current.keys())e.wv=Mr();!n&&t.linked&&t.discard()}}}function nn(e){let t=0,n=Tn(0),r;return()=>{$n()&&(Q(n),cr(()=>(t===0&&(r=Ur(()=>e(()=>kn(n)))),t+=1,()=>{A(()=>{--t,t===0&&(r?.(),r=void 0,kn(n))})})))}}var rn=re|ae;function an(e,t,n,r){new on(e,t,n,r)}var on=class{parent;is_pending=!1;transform_error;#e;#t=w?E:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=nn(()=>(this.#m=Tn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=ur(()=>{if(w){let e=this.#t;Qe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},rn),w&&(this.#e=E)}#g(){try{this.#a=V(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=V(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=V(()=>e(this.#e)),A(()=>{var e=this.#c=document.createDocumentFragment(),t=L();e.append(t),this.#a=this.#x(()=>V(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,_r(this.#o,()=>{this.#o=null}),this.#b(M))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=V(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();xr(this.#a,e);let t=this.#n.pending;this.#o=V(()=>t(this.#e))}else this.#b(M)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){kt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=K,n=U,r=k;q(this.#i),G(this.#i),ut(this.#i.ctx);try{return Gt.ensure(),e()}catch(e){return wt(e),null}finally{q(t),G(n),ut(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&_r(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,A(()=>{this.#d=!1,this.#m&&Dn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Q(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;M?.is_fork?(this.#a&&M.skip_effect(this.#a),this.#o&&M.skip_effect(this.#o),this.#s&&M.skip_effect(this.#s),M.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(H(this.#a),null),this.#o&&=(H(this.#o),null),this.#s&&=(H(this.#s),null),w&&(D(this.#t),et(),D(tt()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Ze();return}r=!0,i&&He(),this.#s!==null&&_r(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){Tt(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return V(()=>{var t=K;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return Tt(e,this.#i.parent),null}}))};A(()=>{var t;try{t=this.transform_error(e)}catch(e){Tt(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>Tt(e,this.#i&&this.#i.parent)):o(t)})}};function sn(e,t,n,r){let i=vt()?dn:hn;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=K,s=cn(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){if(!(o.f&16384)){s();try{r(e)}catch(e){Tt(e,o)}ln()}}var u=un();if(n.length===0){c.then(()=>l(t.map(i))).finally(u);return}function d(){Promise.all(n.map(e=>pn(e))).then(e=>l([...t.map(i),...e])).catch(e=>Tt(e,o)).finally(u)}c?c.then(()=>{s(),d(),ln()}):d()}function cn(){var e=K,t=U,n=k,r=M;return function(i=!0){q(e),G(t),ut(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function ln(e=!0){q(null),G(null),ut(null),e&&M?.deactivate()}function un(){var e=K,t=e.b,n=M,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}function dn(e){var t=2|b;return K!==null&&(K.f|=ae),{ctx:k,deps:null,effects:null,equals:rt,f:t,fn:e,reactions:null,rv:0,v:C,wv:0,parent:K,ac:null}}var fn=Symbol(`obsolete`);function pn(e,t,n){let r=K;r===null&&Ee();var i=void 0,a=Tn(C),o=!U,s=new Set;return sr(()=>{var t=K,n=g();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==xe&&n.reject(e)}).finally(ln)}catch(e){n.reject(e),ln()}var c=M;if(o){if(t.f&32768)var l=un();if(r.b.is_rendered())c.async_deriveds.get(t)?.reject(fn);else for(let e of s.values())e.reject(fn);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==fn&&(c.activate(),t?(a.f|=de,Dn(a,t)):(a.f&8388608&&(a.f^=de),Dn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),er(()=>{for(let e of s)e.reject(fn)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function mn(e){let t=dn(e);return O||Er(t),t}function hn(e){let t=dn(e);return t.equals=at,t}function gn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)H(t[n])}}function _n(e){var t,n=K,r=e.parent;if(!wr&&r!==null&&e.v!==C&&r.f&24576)return qe(),e.v;q(r);try{e.f&=~ce,gn(e),t=Fr(e)}finally{q(n)}return t}function vn(e){var t=_n(e);if(!e.equals(t)&&(e.wv=Mr(),(!M?.is_fork||e.deps===null)&&(M===null?e.v=t:(M.capture(e,t,!0),Lt?.capture(e,t,!0)),e.deps===null))){j(e,y);return}wr||(N===null?Dt(e):($n()||M?.is_fork)&&N.set(e,t))}function yn(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(xe),t.fn!==null&&(t.teardown=m),t.ac=null,Lr(t,0),pr(t))}function bn(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Rr(t)}var xn=new Set,Sn=new Map;function Cn(e){xn=e}var wn=!1;function Tn(e,t){return{f:0,v:e,reactions:null,equals:rt,rv:0,wv:0}}function F(e,t){let n=Tn(e,t);return Er(n),n}function En(e,t=!1,n=!0){let r=Tn(e);return t||(r.equals=at),ot&&n&&k!==null&&k.l!==null&&(k.l.s??=[]).push(r),r}function I(e,t,n=!1){return U!==null&&(!W||U.f&131072)&&vt()&&U.f&4325394&&(J===null||!i.call(J,e))&&Ve(),Dn(e,n?jn(t):t,Ht)}function Dn(e,t,n=null){if(!e.equals(t)){Sn.set(e,wr?t:e.v);var r=Gt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&_n(t),N===null&&Dt(t)}e.wv=Mr(),An(e,b,n),vt()&&K!==null&&K.f&1024&&!(K.f&96)&&(Z===null?Dr([e]):Z.push(e)),!r.is_fork&&xn.size>0&&!wn&&On()}return t}function On(){wn=!1;for(let e of xn){e.f&1024&&j(e,x);let t;try{t=Nr(e)}catch{t=!0}t&&Rr(e)}xn.clear()}function kn(e){I(e,e.v+1)}function An(e,t,n){var r=e.reactions;if(r!==null)for(var i=vt(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&b)===0;if(l&&j(s,t),c&131072)xn.add(s);else if(c&2){var u=s;N?.delete(u),c&65536||(c&512&&(K===null||!(K.f&2097152))&&(s.f|=ce),An(u,x,n))}else if(l){var d=s;c&16&&P!==null&&P.add(d),n===null?Qt(d):n.push(d)}}}}function jn(e){if(typeof e!=`object`||!e||fe in e)return e;let t=d(e);if(t!==l&&t!==u)return e;var r=new Map,i=n(e),a=F(0),o=null,c=Ar,f=e=>{if(Ar===c)return e();var t=U,n=Ar;G(null),jr(c);var r=e();return G(t),jr(n),r};return i&&r.set(`length`,F(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&ze();var i=r.get(t);return i===void 0?f(()=>{var e=F(n.value,o);return r.set(t,e),e}):I(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>F(C,o));r.set(t,e),kn(a)}}else I(n,C),kn(a);return!0},get(t,n,i){if(n===fe)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>F(jn(c?t[n]:C),o)),r.set(n,a)),a!==void 0){var l=Q(a);return l===C?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=Q(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==C)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===fe)return!0;var n=r.get(t),i=n!==void 0&&n.v!==C||Reflect.has(e,t);return(n!==void 0||K!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>F(i?jn(e[t]):C,o)),r.set(t,n)),Q(n)===C)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;d<l.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>F(C,o)),r.set(d+``,p)):I(p,C)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>F(void 0,o)),I(l,jn(n)),r.set(t,l));else{u=l.v!==C;var m=f(()=>jn(n));I(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&I(g,_+1)}kn(a)}return!0},ownKeys(e){Q(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==C});for(var[n,i]of r)i.v!==C&&!(n in e)&&t.push(n);return t},setPrototypeOf(){Be()}})}function Mn(e){try{if(typeof e==`object`&&e&&fe in e)return e[fe]}catch{}return e}function Nn(e,t){return Object.is(Mn(e),Mn(t))}new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);var Pn,Fn,In,Ln;function Rn(){if(Pn===void 0){Pn=window,Fn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;In=s(t,`firstChild`).get,Ln=s(t,`nextSibling`).get,f(e)&&(e[_e]=void 0,e[ge]=null,e[ve]=void 0,e.__e=void 0),f(n)&&(n[ye]=void 0)}}function L(e=``){return document.createTextNode(e)}function R(e){return In.call(e)}function z(e){return Ln.call(e)}function zn(e,t){if(!w)return R(e);var n=R(E);if(n===null)n=E.appendChild(L());else if(t&&n.nodeType!==3){var r=L();return n?.before(r),D(r),r}return t&&Gn(n),D(n),n}function Bn(e,t=!1){if(!w){var n=R(e);return n instanceof Comment&&n.data===``?z(n):n}if(t){if(E?.nodeType!==3){var r=L();return E?.before(r),D(r),r}Gn(E)}return E}function Vn(e,t=1,n=!1){let r=w?E:e;for(var i;t--;)i=r,r=z(r);if(!w)return r;if(n){if(r?.nodeType!==3){var a=L();return r===null?i?.after(a):r.before(a),D(a),a}Gn(r)}return D(r),r}function Hn(e){e.textContent=``}function Un(){return!O||P!==null?!1:(K.f&te)!==0}function Wn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function Gn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Kn(e,t){if(t){let t=document.body;e.autofocus=!0,A(()=>{document.activeElement===t&&e.focus()})}}var qn=!1;function Jn(){qn||(qn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[be]?.()})},{capture:!0}))}function Yn(e){var t=U,n=K;G(null),q(null);try{return e()}finally{G(t),q(n)}}function Xn(e,t,n,r=n){e.addEventListener(t,()=>Yn(n));let i=e[be];i?e[be]=()=>{i(),r(!0)}:e[be]=()=>r(!0),Jn()}function Zn(e){K===null&&(U===null&&Ae(e),ke()),wr&&Oe(e)}function Qn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function B(e,t){var n=K;n!==null&&n.f&8192&&(e|=S);var r={ctx:k,deps:null,nodes:null,f:e|b|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};M?.register_created_effect(r);var i=r;if(e&4)Vt===null?Gt.ensure().schedule(r):Vt.push(r);else if(t!==null){try{Rr(r)}catch(e){throw H(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=re))}if(i!==null&&(i.parent=n,n!==null&&Qn(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function $n(){return U!==null&&!W}function er(e){let t=B(8,null);return j(t,y),t.teardown=e,t}function tr(e){Zn(`$effect`);var t=K.f;if(!U&&t&32&&!(t&32768)){var n=k;(n.e??=[]).push(e)}else return nr(e)}function nr(e){return B(4|oe,e)}function rr(e){return Zn(`$effect.pre`),B(8|oe,e)}function ir(e){Gt.ensure();let t=B(64|ae,e);return()=>{H(t)}}function ar(e){Gt.ensure();let t=B(64|ae,e);return(e={})=>new Promise(n=>{e.outro?_r(t,()=>{H(t),n(void 0)}):(H(t),n(void 0))})}function or(e){return B(4,e)}function sr(e){return B(ue|ae,e)}function cr(e,t=0){return B(8|t,e)}function lr(e,t=[],n=[],r=[]){sn(r,t,n,t=>{B(8,()=>e(...t.map(Q)))})}function ur(e,t=0){return B(16|t,e)}function dr(e,t=0){return B(v|t,e)}function V(e){return B(32|ae,e)}function fr(e){var t=e.teardown;if(t!==null){let e=wr,n=U;Tr(!0),G(null);try{t.call(null)}finally{Tr(e),G(n)}}}function pr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Yn(()=>{e.abort(xe)});var r=n.next;n.f&64?n.parent=null:H(n,t),n=r}}function mr(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||H(t),t=n}}function H(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(hr(e.nodes.start,e.nodes.end),n=!0),j(e,ne),pr(e,t&&!n),Lr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();fr(e),e.f^=ne,e.f|=ee;var i=e.parent;i!==null&&i.first!==null&&gr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function hr(e,t){for(;e!==null;){var n=e===t?null:z(e);e.remove(),e=n}}function gr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function _r(e,t,n=!0){var r=[];vr(e,r,!0);var i=()=>{n&&H(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function vr(e,t,n){if(!(e.f&8192)){e.f^=S;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;vr(i,t,o?n:!1)}i=a}}}function yr(e){br(e,!0)}function br(e,t){if(e.f&8192){e.f^=S,e.f&1024||(j(e,b),Gt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;br(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function xr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:z(n);t.append(n),n=i}}var Sr=null,Cr=!1,wr=!1;function Tr(e){wr=e}var U=null,W=!1;function G(e){U=e}var K=null;function q(e){K=e}var J=null;function Er(e){U!==null&&(!O||U.f&2)&&(J===null?J=[e]:J.push(e))}var Y=null,X=0,Z=null;function Dr(e){Z=e}var Or=1,kr=0,Ar=kr;function jr(e){Ar=e}function Mr(){return++Or}function Nr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ce),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Nr(a)&&vn(a),a.wv>e.wv)return!0}t&512&&N===null&&j(e,y)}return!1}function Pr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!O&&J!==null&&i.call(J,e)))for(var a=0;a<r.length;a++){var o=r[a];o.f&2?Pr(o,t,!1):t===o&&(n?j(o,b):o.f&1024&&j(o,x),Qt(o))}}function Fr(e){var t=Y,n=X,r=Z,i=U,a=J,o=k,s=W,c=Ar,l=e.f;Y=null,X=0,Z=null,U=l&96?null:e,J=null,ut(e.ctx),W=!1,Ar=++kr,e.ac!==null&&(Yn(()=>{e.ac.abort(xe)}),e.ac=null);try{e.f|=le;var u=e.fn,d=u();e.f|=te;var f=e.deps,p=M?.is_fork;if(Y!==null){var m;if(p||Lr(e,X),f!==null&&X>0)for(f.length=X+Y.length,m=0;m<Y.length;m++)f[X+m]=Y[m];else e.deps=f=Y;if($n()&&e.f&512)for(m=X;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&X<f.length&&(Lr(e,X),f.length=X);if(vt()&&Z!==null&&!W&&f!==null&&!(e.f&6146))for(m=0;m<Z.length;m++)Pr(Z[m],e);if(i!==null&&i!==e){if(kr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=kr;if(t!==null)for(let e of t)e.rv=kr;Z!==null&&(r===null?r=Z:r.push(...Z))}return e.f&8388608&&(e.f^=de),d}catch(e){return wt(e)}finally{e.f^=le,Y=t,X=n,Z=r,U=i,J=a,ut(o),W=s,Ar=c}}function Ir(e,t){let n=t.reactions;if(n!==null){var a=r.call(n,e);if(a!==-1){var o=n.length-1;o===0?n=t.reactions=null:(n[a]=n[o],n.pop())}}if(n===null&&t.f&2&&(Y===null||!i.call(Y,t))){var s=t;s.f&512&&(s.f^=512,s.f&=~ce),s.v!==C&&Dt(s),yn(s),Lr(s,0)}}function Lr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Ir(e,n[r])}function Rr(e){var t=e.f;if(!(t&16384)){j(e,y);var n=K,r=Cr;K=e,Cr=!0;try{t&16777232?mr(e):pr(e),fr(e);var i=Fr(e);e.teardown=typeof i==`function`?i:null,e.wv=Or}finally{Cr=r,K=n}}}async function zr(){if(O)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),Kt()}function Br(){return Gt.ensure().settled()}function Q(e){var t=(e.f&2)!=0;if(Sr?.add(e),U!==null&&!W&&!(K!==null&&K.f&16384)&&(J===null||!i.call(J,e))){var n=U.deps;if(U.f&2097152)e.rv<kr&&(e.rv=kr,Y===null&&n!==null&&n[X]===e?X++:Y===null?Y=[e]:Y.push(e));else{U.deps??=[],i.call(U.deps,e)||U.deps.push(e);var r=e.reactions;r===null?e.reactions=[U]:i.call(r,U)||r.push(U)}}if(wr&&Sn.has(e))return Sn.get(e);if(t){var a=e;if(wr){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Hr(a))&&(o=_n(a)),Sn.set(a,o),o}var s=(a.f&512)==0&&!W&&U!==null&&(Cr||(U.f&512)!=0),c=(a.f&te)===0;Nr(a)&&(s&&(a.f|=512),vn(a)),s&&!c&&(bn(a),Vr(a))}if(N?.has(e))return N.get(e);if(e.f&8388608)throw e.v;return e.v}function Vr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(bn(t),Vr(t))}function Hr(e){if(e.v===C)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Sn.has(t)||t.f&2&&Hr(t))return!0;return!1}function Ur(e){var t=W;try{return W=!0,e()}finally{W=t}}function Wr(){return Symbol(Ke)}function Gr(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var Kr=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function qr(e){return Kr.includes(e)}var Jr=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),Yr={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function Xr(e){return e=e.toLowerCase(),Yr[e]??e}[...Jr];var Zr=[`touchstart`,`touchmove`];function Qr(e){return Zr.includes(e)}var $r=[`textarea`,`script`,`style`,`title`];function ei(e){return $r.includes(e)}var ti=Symbol(`events`),ni=new Set,ri=new Set;function ii(e,t,n,r={}){function i(e){if(r.capture||ui.call(t,e),!e.cancelBubble)return Yn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?A(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function ai(e,t,n,r={}){var i=ii(t,e,n,r);return()=>{e.removeEventListener(t,i,r)}}function oi(e,t,n,r,i){var a={capture:r,passive:i},o=ii(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&er(()=>{t.removeEventListener(e,o,a)})}function si(e,t,n){(t[ti]??={})[e]=n}function ci(e){for(var t=0;t<e.length;t++)ni.add(e[t]);for(var n of ri)n(e)}var li=null;function ui(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;li=e;var s=0,c=li===e&&e[ti];if(c){var l=i.indexOf(c);if(l!==-1&&(t===document||t===window)){e[ti]=t;return}var u=i.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(a=i[s]||e.target,a!==t){o(e,`currentTarget`,{configurable:!0,get(){return a||n}});var d=U,f=K;G(null),q(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[ti]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[ti]=t,delete e.currentTarget,G(d),q(f)}}}var di=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function fi(e){return di?.createHTML(e)??e}function pi(e){var t=Wn(`template`);return t.innerHTML=fi(e.replaceAll(`<!>`,`<!---->`)),t.content}function $(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function mi(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(w)return $(E,null),E;i===void 0&&(i=pi(a?e:`<!>`+e),n||(i=R(i)));var t=r||Fn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=R(t),s=t.lastChild;$(o,s)}else $(t,t);return t}}function hi(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=(t&1)!=0,a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(w)return $(E,null),E;if(!o){var e=R(pi(a));if(i)for(o=document.createDocumentFragment();R(e);)o.appendChild(R(e));else o=R(e)}var t=o.cloneNode(!0);if(i){var n=R(t),r=t.lastChild;$(n,r)}else $(t,t);return t}}function gi(e,t){return hi(e,t,`svg`)}function _i(e=``){if(!w){var t=L(e+``);return $(t,t),t}var n=E;return n.nodeType===3?Gn(n):(n.before(n=L()),D(n)),$(n,n),n}function vi(){if(w)return $(E,null),E;var e=document.createDocumentFragment(),t=document.createComment(``),n=L();return e.append(t,n),$(t,n),e}function yi(e,t){if(w){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=E),Qe();return}e!==null&&e.before(t)}function bi(){if(w&&E&&E.nodeType===8&&E.textContent?.startsWith(`$`)){let e=E.textContent.substring(1);return Qe(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}function xi(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[ye]??=e.nodeValue)&&(e[ye]=n,e.nodeValue=`${n}`)}function Si(e,t){return Ti(e,t)}function Ci(e,t){Rn(),t.intro=t.intro??!1;let n=t.target,r=w,i=E;try{for(var a=R(n);a&&(a.nodeType!==8||a.data!==`[`);)a=z(a);if(!a)throw Ue;T(!0),D(a);let r=Ti(e,{...t,anchor:a});return T(!1),r}catch(r){if(r instanceof Error&&r.message.split(`
2
+ `).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==Ue&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&Fe(),Rn(),Hn(n),T(!1),Si(e,t)}finally{T(r),D(i)}}var wi=new Map;function Ti(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){Rn();var l=void 0,u=ar(()=>{var s=n??t.appendChild(L());an(s,{pending:()=>{}},t=>{gt({});var n=k;if(o&&(n.c=o),i&&(r.$$events=i),w&&$(t,null),l=e(t,r)||{},w&&(K.nodes.end=E,E===null||E.nodeType!==8||E.data!==`]`))throw Ye(),Ue;_t()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Qr(r);for(let e of[t,document]){var a=wi.get(e);a===void 0&&(a=new Map,wi.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,ui,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(a(ni)),ri.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=wi.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,ui),r.delete(e),r.size===0&&wi.delete(n)):r.set(e,i)}ri.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Ei.set(l,u),l}var Ei=new WeakMap;function Di(e,t){let n=Ei.get(e);return n?(Ei.delete(e),n(t)):Promise.resolve()}var Oi=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)yr(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(H(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();xr(r,t),t.append(L()),this.#n.set(e,{effect:r,fragment:t})}else H(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),_r(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(H(n.effect),this.#n.delete(e))};ensure(e,t){var n=M,r=Un();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=L();i.append(a),this.#n.set(e,{effect:V(()=>t(a)),fragment:i})}else this.#t.set(e,V(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else w&&(this.anchor=E),this.#a(n)}};function ki(e,t,n=!1){var r;w&&(r=E,Qe());var i=new Oi(e),a=n?re:0;function o(e,t){if(w){var n=nt(r);if(e!==parseInt(n.substring(1))){var a=tt();D(a),i.anchor=a,T(!1),i.ensure(e,t),T(!0);return}}i.ensure(e,t)}ur(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Ai(e,t){return t}function ji(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c<i;c++){let n=t[c];_r(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;Mi(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else --s},!1)}if(s===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;Hn(d),d.append(u),e.items.clear()}Mi(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function Mi(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=se,xr(a,document.createDocumentFragment())):H(t[i],n)}}var Ni;function Pi(e,t,r,i,o,s=null){var c=e,l=new Map;if(t&4){var u=e;c=w?D(R(u)):u.appendChild(L())}w&&Qe();var d=null,f=hn(()=>{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Ii(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=se,Ri(d,null,c)):yr(d):_r(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:ur(()=>{p=Q(f);var e=p.length;let n=!1;w&&nt(c)===`[!`!=(e===0)&&(c=tt(),D(c),T(!1),n=!0);for(var a=new Set,u=M,v=Un(),y=0;y<e;y+=1){w&&E.nodeType===8&&E.data===`]`&&(c=E,n=!0,T(!1));var b=p[y],x=i(b,y),S=h?null:l.get(x);S?(S.v&&Dn(S.v,b),S.i&&Dn(S.i,y),v&&u.unskip_effect(S.e)):(S=Li(l,h?c:Ni??=L(),b,x,y,o,t,r),h||(S.e.f|=se),l.set(x,S)),a.add(x)}if(e===0&&s&&!d&&(h?d=V(()=>s(c)):(d=V(()=>s(Ni??=L())),d.f|=se)),e>a.size&&De(``,``,``),w&&e>0&&D(tt()),!h)if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);n&&T(!0),Q(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,w&&(c=E)}function Fi(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Ii(e,t,n,r,i){var o=(r&8)!=0,s=t.length,c=e.items,l=Fi(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=i(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=i(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(yr(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=se,_===l)Ri(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),zi(e,d,_),zi(e,_,y),Ri(_,y,n),d=_,p=[],m=[],l=Fi(d.next);continue}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],ee=p[p.length-1];for(x=0;x<p.length;x+=1)Ri(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);zi(e,S.prev,ee.next),zi(e,d,S),zi(e,ee,b),l=b,d=ee,--v,p=[],m=[]}else u.delete(_),Ri(_,l,n),zi(e,_.prev,_.next),zi(e,_,d===null?e.effect.first:d.next),zi(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Fi(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Fi(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Mi(e,a(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var te=[];if(u!==void 0)for(_ of u)_.f&8192||te.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&te.push(l),l=Fi(l.next);var ne=te.length;if(ne>0){var re=r&4&&s===0?n:null;if(o){for(v=0;v<ne;v+=1)te[v].nodes?.a?.measure();for(v=0;v<ne;v+=1)te[v].nodes?.a?.fix()}ji(e,te,re)}}o&&A(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Li(e,t,n,r,i,a,o,s){var c=o&1?o&16?Tn(n):En(n,!1,!1):null,l=o&2?Tn(i):null;return{v:c,i:l,e:V(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Ri(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=z(r);if(a.before(r),r===i)return;r=o}}function zi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Bi(e,t,...n){var r=new Oi(e);ur(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},re)}function Vi(e){return(t,...n)=>{var r=e(...n),i;w?(i=E,Qe()):(i=R(pi(r.render().trim())),t.before(i));let a=r.setup?.(i);$(i,i),typeof a==`function`&&er(a)}}function Hi(e,t,n){var r;w&&(r=E,Qe());var i=new Oi(e);ur(()=>{var e=t()??null;if(w&&nt(r)===`[`!=(e!==null)){var a=tt();D(a),i.anchor=a,T(!1),i.ensure(e,e&&(t=>n(t,e))),T(!0);return}i.ensure(e,e&&(t=>n(t,e)))},re)}function Ui(e,t,n,r,i,a){let o=w;w&&Qe();var s=null;w&&E.nodeType===1&&(s=E,Qe());var c=w?E:e,l=new Oi(c,!1);ur(()=>{let e=t()||null;var a=i?i():n||e===`svg`?Ge:void 0;if(e===null){l.ensure(null,null);return}return l.ensure(e,t=>{if(e){if(s=w?s:Wn(e,a),$(s,s),r){w&&ei(e)&&s.append(document.createComment(``));var n=w?R(s):s.appendChild(L());w&&(n===null?T(!1):D(n)),r(s,n)}K.nodes.end=s,t.before(s)}w&&D(t)}),()=>{}},re),er(()=>{}),o&&(T(!0),D(c))}function Wi(e,t){let n=null,r=w;var i;if(w){n=E;for(var a=R(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=z(a);if(a===null)T(!1);else{var o=z(a);a.remove(),D(o)}}w||(i=document.head.appendChild(L()));try{ur(()=>{var e=V(()=>t(i));e.f|=ie})}finally{r&&(T(!0),D(n))}}function Gi(e,t){var n=void 0,r;dr(()=>{n!==(n=t())&&(r&&=(H(r),null),n&&(r=V(()=>{or(()=>n(e))})))})}function Ki(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ki(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function qi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ki(e))&&(r&&(r+=` `),r+=t);return r}function Ji(e){return typeof e==`object`?qi(e):e??``}var Yi=[...`
3
+ \r\f\xA0\v`];function Xi(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Yi.includes(r[o-1]))&&(s===r.length||Yi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Zi(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Qi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function $i(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Qi)),i&&c.push(...Object.keys(i).map(Qi));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Qi(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Zi(r)),i&&(n+=Zi(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function ea(e,t,n,r,i,a){var o=e[_e];if(w||o!==n||o===void 0){var s=Xi(n,r,a);(!w||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[_e]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function ta(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function na(e,t,n,r){var i=e[ve];if(w||i!==t){var a=$i(t,r);(!w||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[ve]=t}else r&&(Array.isArray(r)?(ta(e,n?.[0],r[0]),ta(e,n?.[1],r[1],`important`)):ta(e,n,r));return r}function ra(e,t,r=!1){if(e.multiple){if(t==null)return;if(!n(t))return Xe();for(var i of e.options)i.selected=t.includes(aa(i));return}for(i of e.options)if(Nn(aa(i),t)){i.selected=!0;return}(!r||t!==void 0)&&(e.selectedIndex=-1)}function ia(e){var t=new MutationObserver(()=>{ra(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),er(()=>{t.disconnect()})}function aa(e){return`__value`in e?e.__value:e.value}var oa=Symbol(`class`),sa=Symbol(`style`),ca=Symbol(`is custom element`),la=Symbol(`is html`),ua=Se?`link`:`LINK`,da=Se?`input`:`INPUT`,fa=Se?`option`:`OPTION`,pa=Se?`select`:`SELECT`,ma=Se?`progress`:`PROGRESS`;function ha(e){if(w){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;va(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;va(e,`checked`,null),e.checked=r}}};e[be]=n,A(n),Jn()}}function ga(e,t){var n=xa(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==ma)||(e.value=t??``)}function _a(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function va(e,t,n,r){var i=xa(e);w&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===ua)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[me]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Ca(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ya(e,t,n,r,i=!1,a=!1){if(w&&i&&e.nodeName===da){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||ha(o)}var s=xa(e),c=s[ca],l=!s[la];let u=w&&c;u&&T(!1);var d=t||{},f=e.nodeName===fa;for(var p in t)p in n||(n[p]=null);n.class?n.class=Ji(n.class):(r||n[oa])&&(n.class=null),n[sa]&&(n.style??=null);var m=Ca(e);for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){ea(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[oa],n[oa]),d[i]=o,d[oa]=n[oa];continue}if(i===`style`){na(e,o,t?.[sa],n[sa]),d[i]=o,d[sa]=n[sa];continue}var h=d[i];if(!(o===h&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var g=i[0]+i[1];if(g!==`$$`)if(g===`on`){let t={},n=`$$`+i,r=i.slice(2);var _=qr(r);if(Gr(r)&&(r=r.slice(0,-7),t.capture=!0),!_&&h){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(_)si(r,e,o),ci([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=ii(r,e,a,t)}}else if(i===`style`)va(e,i,o);else if(i===`autofocus`)Kn(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)_a(e,o);else{var v=i;l||(v=Xr(v));var y=v===`defaultValue`||v===`defaultChecked`;if(o==null&&!c&&!y)if(s[i]=null,v===`value`||v===`checked`){let n=e,r=t===void 0;if(v===`value`){let e=n.defaultValue;n.removeAttribute(v),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(v),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else y||m.includes(v)&&(c||typeof o!=`string`)?(e[v]=o,v in s&&(s[v]=C)):typeof o!=`function`&&va(e,v,o,a)}}}return u&&T(!0),d}function ba(e,t,n=[],r=[],i=[],a,o=!1,s=!1){sn(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===pa,l=!1;if(dr(()=>{var u=t(...n.map(Q)),d=ya(e,r,u,a,o,s);l&&c&&`value`in u&&ra(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||H(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&H(i[t]),i[t]=V(()=>Gi(e,()=>f))),d[t]=f}r=d}),c){var u=e;or(()=>{ra(u,r.value,!0),ia(u)})}l=!0})}function xa(e){return e[ge]??={[ca]:e.nodeName.includes(`-`),[la]:e.namespaceURI===We}}var Sa=new Map;function Ca(e){var t=e.getAttribute(`is`)||e.nodeName,n=Sa.get(t);if(n)return n;Sa.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function wa(e,t,n=t){var r=new WeakSet;Xn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=Ta(e)?Ea(a):a,n(a),M!==null&&r.add(M),await zr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(w&&e.defaultValue!==e.value||Ur(t)==null&&e.value)&&(n(Ta(e)?Ea(e.value):e.value),M!==null&&r.add(M)),cr(()=>{var n=t();if(e===document.activeElement){var i=O?Lt:M;if(r.has(i))return}Ta(e)&&n===Ea(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function Ta(e){var t=e.type;return t===`number`||t===`range`}function Ea(e){return e===``?null:+e}function Da(e,t,n=t){Xn(e,`change`,()=>{n(e.files)}),w&&e.files&&n(e.files),cr(()=>{e.files=t()})}function Oa(e,t){return e===t||e?.[fe]===t}function ka(e={},t,n,r){var i=k.r,a=K;return or(()=>{var o,s;return cr(()=>{o=s,s=r?.()||[],Ur(()=>{Oa(n(...s),e)||(t(e,...s),o&&Oa(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Oa(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var Aa={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function ja(e,t,n){return new Proxy({props:e,exclude:t},Aa)}var Ma={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(p(r)&&(r=r()),typeof r==`object`&&r&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let i=e.props[r];p(i)&&(i=i());let a=s(i,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(p(r)&&(r=r()),typeof r==`object`&&r&&t in r){let e=s(r,t);return e&&!e.configurable&&(e.configurable=!0),e}}},has(e,t){if(t===fe||t===pe)return!1;for(let n of e.props)if(p(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){let t=[];for(let n of e.props)if(p(n)&&(n=n()),n){for(let e in n)t.includes(e)||t.push(e);for(let e of Object.getOwnPropertySymbols(n))t.includes(e)||t.push(e)}return t}};function Na(...e){return new Proxy({props:e},Ma)}function Pa(e,t,n,r){var i=!ot||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>o&&i?(u??=dn(r),Q(u)):(l&&(l=!1,c=o?Ur(r):r),c);let f;if(a){var p=fe in e||pe in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=Pt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Le(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?dn:hn)(()=>(v=!1,g()));a&&Q(y);var b=K;return(function(e,t){if(arguments.length>0){let n=t?Q(y):i&&a?jn(e):e;return I(y,n),v=!0,c!==void 0&&(c=n),e}return wr&&v||b.f&16384?y.v:Q(y)})}function Fa(e){return class extends Ia{constructor(t){super({component:e,...t})}}}var Ia=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=En(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Q(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===pe?!0:(Q(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return I(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?Ci:Si)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),!O&&(!e?.props?.$$host||e.sync===!1)&&Kt(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e===`$set`||e===`$destroy`||e===`$on`||o(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Di(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}};function La(e,t){if(O||Ce(`hydratable`),w){let t=window.__svelte?.h;if(t?.has(e))return t.get(e);Je(e)}return t()}var Ra=t({afterUpdate:()=>Ga,beforeUpdate:()=>Wa,createContext:()=>dt,createEventDispatcher:()=>Ua,createRawSnippet:()=>Vi,flushSync:()=>Kt,fork:()=>tn,getAbortSignal:()=>za,getAllContexts:()=>ht,getContext:()=>ft,hasContext:()=>mt,hydratable:()=>La,hydrate:()=>Ci,mount:()=>Si,onDestroy:()=>Va,onMount:()=>Ba,setContext:()=>pt,settled:()=>Br,tick:()=>zr,unmount:()=>Di,untrack:()=>Ur});function za(){return U===null&&Pe(),(U.ac??=new AbortController).signal}function Ba(e){k===null&&we(`onMount`),ot&&k.l!==null?Ka(k).m.push(e):tr(()=>{let t=Ur(e);if(typeof t==`function`)return t})}function Va(e){k===null&&we(`onDestroy`),Ba(()=>()=>Ur(e))}function Ha(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function Ua(){let e=k;return e===null&&we(`createEventDispatcher`),(t,r,i)=>{let a=e.s.$$events?.[t];if(a){let o=n(a)?a.slice():[a],s=Ha(t,r,i);for(let t of o)t.call(e.x,s);return!s.defaultPrevented}return!0}}function Wa(e){k===null&&we(`beforeUpdate`),k.l===null&&Ie(`beforeUpdate`),Ka(k).b.push(e)}function Ga(e){k===null&&we(`afterUpdate`),k.l===null&&Ie(`afterUpdate`),Ka(k).a.push(e)}function Ka(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}export{Tn as $,gi as A,zr as B,Pi as C,yi as D,xi as E,oi as F,tr as G,Ar as H,ai as I,Bn as J,rr as K,Wr as L,_i as M,ci as N,vi as O,si as P,I as Q,Q as R,Bi as S,ki as T,ir as U,Ur as V,lr as W,jn as X,Vn as Y,kn as Z,Ji as _,Pa as a,mt as at,Ui as b,ka as c,pt as ct,ba as d,et as dt,F as et,ha as f,$e as ft,ea as g,na as h,Fa as i,ft as it,bi as j,mi as k,Da as l,lt,ga as m,_ as mt,Va as n,nn as nt,ja as o,_t as ot,va as p,m as pt,zn as q,Ba as r,jt as rt,Na as s,gt as st,Ra as t,mn as tt,wa as u,st as ut,qi as v,Ai as w,Hi as x,Wi as y,Br as z};
frontend/client/_app/immutable/chunks/Bw-0QipA.js.br ADDED
Binary file (18.7 kB). View file
 
frontend/client/_app/immutable/chunks/Bw-0QipA.js.gz ADDED
Binary file (20.6 kB). View file
 
frontend/client/_app/immutable/chunks/H_O4PGe5.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{B as e,Q as t,R as n,et as r,r as i,rt as a,t as o,z as s}from"./Bw-0QipA.js";var c=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(){}function g(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function _(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var v=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&y.delete(x(e)),v(e,t));var y=new Map;function ee(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&y.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=_(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function b(e,t,n){if(y.size>0){let t=x(e,n),r=y.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);y.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${g(...e)}"]`}return n}var te=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,ne=/^\/\((?:[^)]+)\)$/;function re(e){let t=[];return{pattern:e===`/`||ne.test(e)?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=te.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function ce({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=re(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function le(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ue(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_eb6xtf?.base??``,de=globalThis.__sveltekit_eb6xtf?.assets??S??``,fe=`1780234183272`,pe=`sveltekit:snapshot`,me=`sveltekit:scroll`,he=`sveltekit:states`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ge=location.origin;function _e(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var ve={...T,"":T.hover};function ye(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function be(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ye(e)}}function xe(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||k(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===ge&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function O(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=ye(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:ve[r??`off`],preload_data:ve[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Se(e){let t=a(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:o}}var Ce={v:h};function we(){let{set:e,subscribe:t}=a(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${de}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==fe;return n&&(e(!0),Ce.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function k(e,t,n){return e.origin!==ge||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Te(e){}var Ee=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Ee,`entries`]);var De=new Set([...Ee]);new Set([...De,`actions`,`entries`]),new Set([`GET`,`POST`,`PATCH`,`PUT`,`DELETE`,`OPTIONS`,`HEAD`,`fallback`,`prerender`,`trailingSlash`,`config`,`entries`]);function Oe(e){return e.filter(e=>e!=null)}function A(e,t){return e+`/`+t}function ke(e){return e instanceof c||e instanceof u?e.status:500}function Ae(e){return e instanceof u?e.text:`Internal Error`}var j,M,N,je=i.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(i.toString()),Me=`a:`;je?(j={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Me)},M={current:null},N={current:!1}):(j=new class{#e=r({});get data(){return n(this.#e)}set data(e){t(this.#e,e)}#t=r(null);get form(){return n(this.#t)}set form(e){t(this.#t,e)}#n=r(null);get error(){return n(this.#n)}set error(e){t(this.#n,e)}#r=r({});get params(){return n(this.#r)}set params(e){t(this.#r,e)}#i=r({id:null});get route(){return n(this.#i)}set route(e){t(this.#i,e)}#a=r({});get state(){return n(this.#a)}set state(e){t(this.#a,e)}#o=r(-1);get status(){return n(this.#o)}set status(e){t(this.#o,e)}#s=r(new URL(Me));get url(){return n(this.#s)}set url(e){t(this.#s,e)}},M=new class{#e=r(null);get current(){return n(this.#e)}set current(e){t(this.#e,e)}},N=new class{#e=r(!1);get current(){return n(this.#e)}set current(e){t(this.#e,e)}},Ce.v=()=>N.current=!0);function Ne(e){Object.assign(j,e)}var{onMount:Pe,tick:Fe}=o,Ie=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),P=null,F=le(`sveltekit:scroll`)??{},I=le(`sveltekit:snapshot`)??{},L={url:Se({}),page:Se({}),navigating:a(null),updated:we()};function Le(e){F[e]=E()}function Re(e,t){let n=e+1;for(;F[n];)delete F[n],n+=1;for(n=t+1;I[n];)delete I[n],n+=1}function R(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(h)}async function ze(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(S||`/`);e&&await e.update()}}var Be,Ve,z,B,He,V,H=[],U=[],W=null;function Ue(){W?.fork?.then(e=>e?.discard()),W=null}var We=new Map,Ge=new Set,Ke=new Set,G=new Set,K={branch:[],error:null,url:null,nav:null},qe=!1,Je=!1,Ye=!0,q=!1,J=!1,Xe=!1,Ze=!1,Qe,Y,X,Z,$e=new Set,et=new Map,tt=new Map;async function nt(e,t,n){globalThis.__sveltekit_eb6xtf&&(globalThis.__sveltekit_eb6xtf.query,globalThis.__sveltekit_eb6xtf.prerender),document.URL!==location.href&&(location.href=location.href),V=e,await e.hooks.init?.(),Be=ce(e),B=document.documentElement,He=t,Ve=e.nodes[0],z=e.nodes[1],Ve(),z(),Y=history.state?.[C],X=history.state?.[w],Y||(Y=X=Date.now(),history.replaceState({...history.state,[C]:Y,[w]:X},``));let r=F[Y];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await At(He,n)):(await Q({type:`enter`,url:_e(V.hash?It(new URL(location.href)):location.href),replace_state:!0}),i()),kt()}function rt(){H.length=0,Ze=!1}function it(e){U.some(e=>e?.snapshot)&&(I[e]=U.map(e=>e?.snapshot?.capture()))}function at(e){I[e]?.forEach((e,t)=>{U[t]?.snapshot?.restore(e)})}function ot(){Le(Y),ue(me,F),it(X),ue(pe,I)}async function st(t,n,r,i){let a,o;n.invalidateAll&&Ue(),await Q({type:`goto`,url:_e(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){Ze=!0,a=new Set;for(let[e,t]of et)for(let n of t.keys())a.add(A(e,n));o=new Set;for(let[e,t]of tt)for(let n of t.keys())o.add(A(e,n))}n.invalidate&&n.invalidate.forEach(Ot)}}),n.invalidateAll&&e().then(e).then(()=>{for(let[e,t]of et)for(let[n,{resource:r}]of t)a?.has(A(e,n))&&r.refresh();for(let[e,t]of tt)for(let[n,{resource:r}]of t)o?.has(A(e,n))&&r.reconnect()})}async function ct(e){if(e.id!==W?.id){Ue();let t={};$e.add(t),W={id:e.id,token:t,promise:vt({...e,preload:t}).then(e=>($e.delete(t),e.type===`loaded`&&e.state.error&&Ue(),e)),fork:null}}return W.promise}async function lt(e){let t=(await St(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function ut(e,t,n){let r={params:K.params,route:{id:K.route?.id??null},url:new URL(location.href)};if(K={...e.state,nav:r},Ne(e.props.page),Qe=new V.root({target:t,props:{...e.props,stores:L,components:U},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),at(X),n){let e={from:null,to:{...r,scroll:F[Y]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};G.forEach(t=>t(e))}Je=!0}async function dt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(S&&(e.pathname===S||e.pathname===S+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=d(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Oe(n).map(e=>e.node.component),page:Ft(j)}};s!==void 0&&(l.props.form=s);let u={},f=!j,p=0;for(let e=0;e<Math.max(n.length,K.branch.length);e+=1){let t=n[e],r=K.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!K.url||e.href!==K.url.href||K.error!==a||s!==void 0&&s!==j.form||f)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:f?u:j.data}),l}async function ft({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function pt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:Je?b(r,i.href,t):ee(r,t)}}function mt(e,t,n,r,i,a){if(Ze)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==K.params[e])return!0;for(let e of i.dependencies)if(H.some(t=>t(new URL(e))))return!0;return!1}function ht(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function gt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function _t({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Ft(j),constructors:[]}}}async function vt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(W?.id===e)return $e.delete(W.token),W.promise;let{errors:o,layouts:s,leaf:u}=i,d=[...s,u];o.forEach(e=>e?.().catch(h)),d.forEach(e=>e?.[1]().catch(h));let f=K.url?e!==wt(K.url):!1,p=K.route?i.id!==K.route.id:!1,m=gt(K.url,n),g=!1,_=d.map(async(e,t)=>{if(!e)return;let a=K.branch[t];return e[1]===a?.loader&&!mt(g,p,f,m,a.universal?.uses,r)?a:(g=!0,ft({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await _[n])?.data);return e},server_data_node:ht(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of _)e.catch(h);let v=[];for(let e=0;e<d.length;e+=1)if(d[e])try{v.push(await _[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if($e.has(a))return _t({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=ke(t),u;if(t instanceof c)u=t.body;else{if(await L.updated.check())return await ze(),await R(n);u=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await yt(e,v,o);return d?dt({url:n,params:r,branch:v.slice(0,d.idx).concat(d.node),errors:o,status:s,error:u,route:i}):await Et(n,{id:i.id},u,s)}else v.push(void 0);return dt({url:n,params:r,branch:v,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function yt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function bt({status:e,error:t,url:n,route:r}){let i={};try{return dt({url:n,params:i,branch:[await ft({loader:Ve,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:ht(null)}),{node:await z(),loader:z,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof l)return st(new URL(e.location,location.href),{},0);throw e}}async function xt(e){let t=e.href;if(We.has(t))return We.get(t);let n;try{let r=(async()=>{let t=await V.hooks.reroute({url:new URL(e),fetch:async(t,n)=>pt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);V.hash?n.hash=t:n.pathname=t,t=n}return t})();We.set(t,r),n=await r}catch{We.delete(t);return}return n}async function St(e,t){if(e&&!k(e,S,V.hash)){let n=await xt(e);if(!n)return;let r=Ct(n);for(let n of Be){let i=n.exec(r);if(i)return{id:wt(e),invalidating:t,route:n,params:p(i),url:e}}}}function Ct(e){return f(V.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(S.length))||`/`}function wt(e){return(V.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Tt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Pt(K,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return q||Ge.forEach(e=>e(c)),o?null:s}async function Q({type:t,url:n,popped:r,keepfocus:i,noscroll:a,replace_state:o,state:c={},redirect_count:l=0,nav_token:d={},accept:f=h,block:p=h,event:m}){let g=Z;Z=d;let _=await St(n,!1),v=t===`enter`?Pt(K,_,n,t):Tt({url:n,type:t,delta:r?.delta,intent:_,scroll:r?.scroll,event:m});if(!v){p(),Z===d&&(Z=g);return}let y=Y,ee=X;f(),q=!0,Je&&v.navigation.type!==`enter`&&L.navigating.set(M.current=v.navigation);let b=_&&await vt(_);if(!b){if(k(n,S,V.hash))return await R(n,o);b=await Et(n,{id:null},await $(new u(404,`Not Found`,`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404,o)}if(n=_?.url||n,Z!==d)return v.reject(Error(`navigation aborted`)),!1;if(b.type===`redirect`){if(l<20){await Q({type:t,url:new URL(b.location,n),popped:r,keepfocus:i,noscroll:a,replace_state:o,state:c,redirect_count:l+1,nav_token:d}),v.fulfil(void 0);return}b=await bt({status:500,error:await $(Error(`Redirect loop`),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}})}else b.props.page.status>=400&&await L.updated.check()&&(await ze(),await R(n,o));if(rt(),Le(y),it(ee),b.props.page.url.pathname!==n.pathname&&(n.pathname=b.props.page.url.pathname),c=r?r.state:c,!r){let e=+!o,t={[C]:Y+=e,[w]:X+=e,[he]:c};(o?history.replaceState:history.pushState).call(history,t,``,n),o||Re(Y,X)}let x=_&&W?.id===_.id?W.fork:null;W?.fork&&!x&&Ue(),W=null,b.props.page.state=c;let te;if(Je){let e=(await Promise.all(Array.from(Ke,e=>e(v.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{G.delete(e)})}e.push(t),e.forEach(e=>{G.add(e)})}let t=v.navigation.to;K={...b.state,nav:{params:t.params,route:t.route,url:t.url}},b.props.page&&(b.props.page.url=n);let r=x&&await x;r?te=r.commit():(P=null,Qe.$set(b.props),P&&Object.assign(b.props.page,P),Ne(b.props.page),te=s?.()),Xe=!0}else await ut(b,He,!1);let{activeElement:ne}=document;if(await te,await e(),await e(),Z!==d)return v.reject(Error(`navigation aborted`)),!1;b.props.page&&P&&Object.assign(b.props.page,P);let re=null;if(Ye){let e=r?r.scroll:a?E():null;e?scrollTo(e.x,e.y):(re=n.hash&&document.getElementById(Lt(n)))?re.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==ne&&document.activeElement!==document.body;!i&&!ie&&Nt(n,!re),Ye=!0,q=!1,t===`popstate`&&at(X),v.fulfil(void 0),v.navigation.to&&(v.navigation.to.scroll=E()),G.forEach(e=>e(v.navigation)),L.navigating.set(M.current=null)}async function Et(e,t,n,r,i){return e.origin===ge&&e.pathname===location.pathname&&!qe?await bt({status:r,error:n,url:e,route:t}):await R(e,i)}function Dt(){let e,t={element:void 0,href:void 0},n;B.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,T.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],T.tap)}B.addEventListener(`mousedown`,r),B.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(lt(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=be(e,B),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=xe(i,S,V.hash);if(s||c)return;let l=O(i),u=o&&wt(K.url)===wt(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=T.tap;let e=await St(o,!1);if(!e)return;ct(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,lt(o))}function o(){i.disconnect();for(let e of B.querySelectorAll(`a`)){let{url:t,external:n,download:r}=xe(e,S,V.hash);if(n||r)continue;let a=O(e);a.reload||(a.preload_code===T.viewport&&i.observe(e),a.preload_code===T.eager&&lt(t))}}G.add(o),o()}function $(e,t){if(e instanceof c)return e.body;let n=ke(e),r=Ae(e);return V.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Ot(e){if(typeof e==`function`)H.push(e);else{let{href:t}=new URL(e,location.href);H.push(e=>e.href===t)}}function kt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(ot(),!q){let e=Pt(K,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};Ge.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&ot()}),!navigator.connection?.saveData&&!/2g/.test(navigator.connection?.effectiveType)&&Dt(),B.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=be(t.composedPath()[0],B);if(!n)return;let{url:r,external:i,target:a,download:o}=xe(n,S,V.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=O(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(V.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Tt({url:r,type:`link`,event:t})?q=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=K.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(J=!0,Le(Y),e(r),!s.replace_state)return;J=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),B.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(k(r,S,!1))return;let i=e.target,a=O(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Mt)if(t.state?.[`sveltekit:history`]){let n=t.state[C];if(Z={},n===Y)return;let r=F[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[w],s=K.url?m(location)===m(K.url):!1;if(o===X&&(Xe||s)){i!==j.state&&(j.state=i),e(a),F[Y]=E(),r&&scrollTo(r.x,r.y),Y=n;return}let c=n-Y;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{Y=n,X=o},block:()=>{history.go(-c)},nav_token:Z,event:t})}else J||(e(new URL(location.href)),V.hash&&location.reload())}),addEventListener(`hashchange`,()=>{J&&(J=!1,history.replaceState({...history.state,[C]:++Y,[w]:X},``,location.href))});for(let e of document.querySelectorAll(`link`))Ie.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&L.navigating.set(M.current=null)});function e(e){K.url=j.url=e,L.page.set(Ft(j)),L.page.notify()}}async function At(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){qe=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await St(u,!1)||{}),d=Be.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=jt(r.uses)),ft({loader:V.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:ht(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await dt({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l){await R(new URL(t.location,location.href));return}f=await bt({status:ke(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await ut(f,e,p)}function jt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Mt=!1;function Nt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Lt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Mt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Mt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Pt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(h),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Ft(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}}function It(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Lt(e){let t;if(V.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{N as a,j as i,L as n,Te as o,M as r,nt as t};
frontend/client/_app/immutable/chunks/H_O4PGe5.js.br ADDED
Binary file (9.15 kB). View file
 
frontend/client/_app/immutable/chunks/H_O4PGe5.js.gz ADDED
Binary file (10.1 kB). View file
 
frontend/client/_app/immutable/chunks/kNaey6uv.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var e=`modulepreload`,t=function(e,t){return new URL(e,t).href},n={},r=function(r,i,a){let o=Promise.resolve();if(i&&i.length>0){let r=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}o=l(i.map(i=>{if(i=t(i,a),i in n)return;n[i]=!0;let o=i.endsWith(`.css`),s=o?`[rel="stylesheet"]`:``;if(a)for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.href===i&&(!o||t.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${i}"]${s}`))return;let l=document.createElement(`link`);if(l.rel=o?`stylesheet`:e,o||(l.as=`script`),l.crossOrigin=``,l.href=i,c&&l.setAttribute(`nonce`,c),document.head.appendChild(l),o)return new Promise((e,t)=>{l.addEventListener(`load`,e),l.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${i}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(e=>{for(let t of e||[])t.status===`rejected`&&s(t.reason);return r().catch(s)})};export{r as t};
frontend/client/_app/immutable/chunks/kNaey6uv.js.br ADDED
Binary file (570 Bytes). View file
 
frontend/client/_app/immutable/chunks/kNaey6uv.js.gz ADDED
Binary file (688 Bytes). View file
 
frontend/client/_app/immutable/chunks/xihTtKlq.js ADDED
@@ -0,0 +1 @@
 
 
1
+ typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);
frontend/client/_app/immutable/chunks/xihTtKlq.js.br ADDED
@@ -0,0 +1 @@
 
 
1
+ �typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);
frontend/client/_app/immutable/chunks/xihTtKlq.js.gz ADDED
Binary file (80 Bytes). View file
 
frontend/client/_app/immutable/entry/app.BHLFJpHZ.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Df0rgt8-.js","../chunks/Bw-0QipA.js","../chunks/xihTtKlq.js","../assets/0.DpcAwFkV.css","../nodes/1.Cp2o0XAs.js","../chunks/H_O4PGe5.js","../nodes/2.BTNl2Bsv.js","../assets/2.BIbYdWBv.css"])))=>i.map(i=>d[i]);
2
+ import{B as e,D as t,E as n,G as r,J as i,K as a,M as o,O as s,Q as c,R as l,T as u,W as d,Y as f,a as p,c as m,et as h,ft as g,i as _,k as v,ot as y,q as b,r as x,st as S,tt as C,x as w}from"../chunks/Bw-0QipA.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=v(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=v(`<!> <!>`,1);function k(_,v){S(v,!0);let T=p(v,`components`,23,()=>[]),E=p(v,`data_0`,3,null),k=p(v,`data_1`,3,null);a(()=>v.stores.page.set(v.page)),r(()=>{v.stores,v.page,v.constructors,T(),v.form,E(),k(),v.stores.page.notify()});let A=h(!1),j=h(!1),M=h(null);x(()=>{let t=v.stores.page.subscribe(()=>{l(A)&&(c(j,!0),e().then(()=>{c(M,document.title||`untitled page`,!0)}))});return c(A,!0),t});let N=C(()=>v.constructors[1]);var P=O(),F=i(P),I=e=>{let n=C(()=>v.constructors[0]);var r=s();w(i(r),()=>l(n),(e,n)=>{m(n(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params},children:(e,n)=>{var r=s();w(i(r),()=>l(N),(e,t)=>{m(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),t(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,r)},L=e=>{let n=C(()=>v.constructors[0]);var r=s();w(i(r),()=>l(n),(e,t)=>{m(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,r)};u(F,e=>{v.constructors[1]?e(I):e(L,-1)});var R=f(F,2),z=e=>{var r=D(),i=b(r),a=e=>{var r=o();d(()=>n(r,l(M))),t(e,r)};u(i,e=>{l(j)&&e(a)}),g(r),t(e,r)};u(R,e=>{l(A)&&e(z)}),t(_,P),y()}var A=_(k),j=[()=>T(()=>import(`../nodes/0.Df0rgt8-.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),()=>T(()=>import(`../nodes/1.Cp2o0XAs.js`),__vite__mapDeps([4,1,5,2]),import.meta.url),()=>T(()=>import(`../nodes/2.BTNl2Bsv.js`),__vite__mapDeps([6,1,2,7]),import.meta.url)],M=[],N={"/":[2]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
frontend/client/_app/immutable/entry/app.BHLFJpHZ.js.br ADDED
Binary file (1.1 kB). View file
 
frontend/client/_app/immutable/entry/app.BHLFJpHZ.js.gz ADDED
Binary file (1.25 kB). View file
 
frontend/client/_app/immutable/entry/start.Bbjycs44.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{o as e,t}from"../chunks/H_O4PGe5.js";export{e as load_css,t as start};
frontend/client/_app/immutable/entry/start.Bbjycs44.js.br ADDED
@@ -0,0 +1 @@
 
 
1
+ &�import{o as e,t}from"../chunks/H_O4PGe5.js";export{e as load_css,t as start};
frontend/client/_app/immutable/entry/start.Bbjycs44.js.gz ADDED
Binary file (89 Bytes). View file
 
frontend/client/_app/immutable/nodes/0.Df0rgt8-.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{D as e,J as t,O as n,S as r,W as i,k as a,p as o,y as s}from"../chunks/Bw-0QipA.js";import"../chunks/xihTtKlq.js";var c=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='107'%20height='128'%20viewBox='0%200%20107%20128'%3e%3ctitle%3esvelte-logo%3c/title%3e%3cpath%20d='M94.157%2022.819c-10.4-14.885-30.94-19.297-45.792-9.835L22.282%2029.608A29.92%2029.92%200%200%200%208.764%2049.65a31.5%2031.5%200%200%200%203.108%2020.231%2030%2030%200%200%200-4.477%2011.183%2031.9%2031.9%200%200%200%205.448%2024.116c10.402%2014.887%2030.942%2019.297%2045.791%209.835l26.083-16.624A29.92%2029.92%200%200%200%2098.235%2078.35a31.53%2031.53%200%200%200-3.105-20.232%2030%2030%200%200%200%204.474-11.182%2031.88%2031.88%200%200%200-5.447-24.116'%20style='fill:%23ff3e00'/%3e%3cpath%20d='M45.817%20106.582a20.72%2020.72%200%200%201-22.237-8.243%2019.17%2019.17%200%200%201-3.277-14.503%2018%2018%200%200%201%20.624-2.435l.49-1.498%201.337.981a33.6%2033.6%200%200%200%2010.203%205.098l.97.294-.09.968a5.85%205.85%200%200%200%201.052%203.878%206.24%206.24%200%200%200%206.695%202.485%205.8%205.8%200%200%200%201.603-.704L69.27%2076.28a5.43%205.43%200%200%200%202.45-3.631%205.8%205.8%200%200%200-.987-4.371%206.24%206.24%200%200%200-6.698-2.487%205.7%205.7%200%200%200-1.6.704l-9.953%206.345a19%2019%200%200%201-5.296%202.326%2020.72%2020.72%200%200%201-22.237-8.243%2019.17%2019.17%200%200%201-3.277-14.502%2017.99%2017.99%200%200%201%208.13-12.052l26.081-16.623a19%2019%200%200%201%205.3-2.329%2020.72%2020.72%200%200%201%2022.237%208.243%2019.17%2019.17%200%200%201%203.277%2014.503%2018%2018%200%200%201-.624%202.435l-.49%201.498-1.337-.98a33.6%2033.6%200%200%200-10.203-5.1l-.97-.294.09-.968a5.86%205.86%200%200%200-1.052-3.878%206.24%206.24%200%200%200-6.696-2.485%205.8%205.8%200%200%200-1.602.704L37.73%2051.72a5.42%205.42%200%200%200-2.449%203.63%205.79%205.79%200%200%200%20.986%204.372%206.24%206.24%200%200%200%206.698%202.486%205.8%205.8%200%200%200%201.602-.704l9.952-6.342a19%2019%200%200%201%205.295-2.328%2020.72%2020.72%200%200%201%2022.237%208.242%2019.17%2019.17%200%200%201%203.277%2014.503%2018%2018%200%200%201-8.13%2012.053l-26.081%2016.622a19%2019%200%200%201-5.3%202.328'%20style='fill:%23fff'/%3e%3c/svg%3e`,l=a(`<link rel="icon"/>`);function u(a,u){var d=n();s(`12qhfyh`,t=>{var n=l();i(()=>o(n,`href`,c)),e(t,n)}),r(t(d),()=>u.children),e(a,d)}export{u as component};
frontend/client/_app/immutable/nodes/0.Df0rgt8-.js.br ADDED
Binary file (856 Bytes). View file
 
frontend/client/_app/immutable/nodes/0.Df0rgt8-.js.gz ADDED
Binary file (991 Bytes). View file
 
frontend/client/_app/immutable/nodes/1.Cp2o0XAs.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{D as e,E as t,J as n,W as r,Y as i,ft as a,k as o,ot as s,q as c,st as l}from"../chunks/Bw-0QipA.js";import{i as u,n as d,r as f}from"../chunks/H_O4PGe5.js";import"../chunks/xihTtKlq.js";var p={get data(){return u.data},get error(){return u.error},get form(){return u.form},get params(){return u.params},get route(){return u.route},get state(){return u.state},get status(){return u.status},get url(){return u.url}};Object.defineProperty({get from(){return f.current?f.current.from:null},get to(){return f.current?f.current.to:null},get type(){return f.current?f.current.type:null},get willUnload(){return f.current?f.current.willUnload:null},get delta(){return f.current?f.current.delta:null},get complete(){return f.current?f.current.complete:null}},"current",{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),d.updated.check;var m=p,h=o(`<h1> </h1> <p> </p>`,1);function g(o,u){l(u,!0);var d=h(),f=n(d),p=c(f,!0);a(f);var g=i(f,2),_=c(g,!0);a(g),r(()=>{t(p,m.status),t(_,m.error?.message)}),e(o,d),s()}export{g as component};
frontend/client/_app/immutable/nodes/1.Cp2o0XAs.js.br ADDED
Binary file (428 Bytes). View file
 
frontend/client/_app/immutable/nodes/1.Cp2o0XAs.js.gz ADDED
Binary file (501 Bytes). View file
 
frontend/client/_app/immutable/nodes/2.BTNl2Bsv.js ADDED
The diff for this file is too large to render. See raw diff
 
frontend/client/_app/immutable/nodes/2.BTNl2Bsv.js.br ADDED
Binary file (33.4 kB). View file
 
frontend/client/_app/immutable/nodes/2.BTNl2Bsv.js.gz ADDED
Binary file (39.1 kB). View file
 
frontend/client/_app/version.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":"1780234183272"}
frontend/client/_app/version.json.br ADDED
Binary file (29 Bytes). View file
 
frontend/client/_app/version.json.gz ADDED
Binary file (47 Bytes). View file
 
frontend/client/robots.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ User-agent: *
2
+ Disallow: /
frontend/client/robots.txt.br ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ � �User-agent: *
2
+ Disallow: /
3
+ 
frontend/client/robots.txt.gz ADDED
Binary file (46 Bytes). View file
 
frontend/env.js ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import process from 'node:process';
2
+
3
+ /* global "" */
4
+
5
+ const expected = new Set([
6
+ 'SOCKET_PATH',
7
+ 'HOST',
8
+ 'PORT',
9
+ 'ORIGIN',
10
+ 'XFF_DEPTH',
11
+ 'ADDRESS_HEADER',
12
+ 'PROTOCOL_HEADER',
13
+ 'HOST_HEADER',
14
+ 'PORT_HEADER',
15
+ 'BODY_SIZE_LIMIT',
16
+ 'SHUTDOWN_TIMEOUT',
17
+ 'IDLE_TIMEOUT',
18
+ 'KEEP_ALIVE_TIMEOUT',
19
+ 'HEADERS_TIMEOUT'
20
+ ]);
21
+
22
+ const expected_unprefixed = new Set(['LISTEN_PID', 'LISTEN_FDS']);
23
+
24
+ if ("") {
25
+ for (const name in process.env) {
26
+ if (name.startsWith("")) {
27
+ const unprefixed = name.slice("".length);
28
+ if (!expected.has(unprefixed)) {
29
+ throw new Error(
30
+ `You should change envPrefix (${""}) to avoid conflicts with existing environment variables — unexpectedly saw ${name}`
31
+ );
32
+ }
33
+ }
34
+ }
35
+ }
36
+
37
+ /**
38
+ * @param {string} name
39
+ * @param {any} fallback
40
+ */
41
+ function env(name, fallback) {
42
+ const prefix = expected_unprefixed.has(name) ? '' : "";
43
+ const prefixed = prefix + name;
44
+ return prefixed in process.env ? process.env[prefixed] : fallback;
45
+ }
46
+
47
+ const integer_regexp = /^\d+$/;
48
+
49
+ /**
50
+ * Throw a consistently-structured parsing error for environment variables.
51
+ * @param {string} name
52
+ * @param {any} value
53
+ * @param {string} description
54
+ * @returns {never}
55
+ */
56
+ function parsing_error(name, value, description) {
57
+ throw new Error(
58
+ `Invalid value for environment variable ${name}: ${JSON.stringify(value)} (${description})`
59
+ );
60
+ }
61
+
62
+ /**
63
+ * Check the environment for a timeout value (non-negative integer) in seconds.
64
+ * @param {string} name
65
+ * @param {number} [fallback]
66
+ * @returns {number | undefined}
67
+ */
68
+ function timeout_env(name, fallback) {
69
+ const raw = env(name, fallback);
70
+ if (!raw) {
71
+ return fallback;
72
+ }
73
+
74
+ if (!integer_regexp.test(raw)) {
75
+ parsing_error(name, raw, 'should be a non-negative integer');
76
+ }
77
+
78
+ const parsed = Number.parseInt(raw, 10);
79
+
80
+ // We don't technically need to check `Number.isNaN` because the value already passed the regexp test.
81
+ // However, just in case there's some new codepath introduced somewhere down the line, it's probably good
82
+ // to stick this in here.
83
+ if (Number.isNaN(parsed)) {
84
+ parsing_error(name, raw, 'should be a non-negative integer');
85
+ }
86
+
87
+ if (parsed < 0) {
88
+ parsing_error(name, raw, 'should be a non-negative integer');
89
+ }
90
+
91
+ return parsed;
92
+ }
93
+
94
+ export { env, timeout_env };
frontend/handler.js ADDED
@@ -0,0 +1,1494 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import './shims.js';
2
+ import * as fs from 'node:fs';
3
+ import fs__default, { readdirSync, statSync, createReadStream } from 'node:fs';
4
+ import path, { resolve, join, sep, normalize } from 'node:path';
5
+ import process from 'node:process';
6
+ import * as qs from 'node:querystring';
7
+ import { fileURLToPath } from 'node:url';
8
+ import { Readable } from 'node:stream';
9
+ import { Server } from './server/index.js';
10
+ import { manifest, prerendered, base } from './server/manifest.js';
11
+ import { env } from './env.js';
12
+
13
+ function totalist(dir, callback, pre='') {
14
+ dir = resolve('.', dir);
15
+ let arr = readdirSync(dir);
16
+ let i=0, abs, stats;
17
+ for (; i < arr.length; i++) {
18
+ abs = join(dir, arr[i]);
19
+ stats = statSync(abs);
20
+ stats.isDirectory()
21
+ ? totalist(abs, callback, join(pre, arr[i]))
22
+ : callback(join(pre, arr[i]), abs, stats);
23
+ }
24
+ }
25
+
26
+ /**
27
+ * @typedef ParsedURL
28
+ * @type {import('.').ParsedURL}
29
+ */
30
+
31
+ /**
32
+ * @typedef Request
33
+ * @property {string} url
34
+ * @property {ParsedURL} _parsedUrl
35
+ */
36
+
37
+ /**
38
+ * @param {Request} req
39
+ * @returns {ParsedURL|void}
40
+ */
41
+ function parse(req) {
42
+ let raw = req.url;
43
+ if (raw == null) return;
44
+
45
+ let prev = req._parsedUrl;
46
+ if (prev && prev.raw === raw) return prev;
47
+
48
+ let pathname=raw, search='', query;
49
+
50
+ if (raw.length > 1) {
51
+ let idx = raw.indexOf('?', 1);
52
+
53
+ if (idx !== -1) {
54
+ search = raw.substring(idx);
55
+ pathname = raw.substring(0, idx);
56
+ if (search.length > 1) {
57
+ query = qs.parse(search.substring(1));
58
+ }
59
+ }
60
+ }
61
+
62
+ return req._parsedUrl = { pathname, search, query, raw };
63
+ }
64
+
65
+ const mimes = {
66
+ "3g2": "video/3gpp2",
67
+ "3gp": "video/3gpp",
68
+ "3gpp": "video/3gpp",
69
+ "3mf": "model/3mf",
70
+ "aac": "audio/aac",
71
+ "ac": "application/pkix-attr-cert",
72
+ "adp": "audio/adpcm",
73
+ "adts": "audio/aac",
74
+ "ai": "application/postscript",
75
+ "aml": "application/automationml-aml+xml",
76
+ "amlx": "application/automationml-amlx+zip",
77
+ "amr": "audio/amr",
78
+ "apng": "image/apng",
79
+ "appcache": "text/cache-manifest",
80
+ "appinstaller": "application/appinstaller",
81
+ "appx": "application/appx",
82
+ "appxbundle": "application/appxbundle",
83
+ "asc": "application/pgp-keys",
84
+ "atom": "application/atom+xml",
85
+ "atomcat": "application/atomcat+xml",
86
+ "atomdeleted": "application/atomdeleted+xml",
87
+ "atomsvc": "application/atomsvc+xml",
88
+ "au": "audio/basic",
89
+ "avci": "image/avci",
90
+ "avcs": "image/avcs",
91
+ "avif": "image/avif",
92
+ "aw": "application/applixware",
93
+ "bdoc": "application/bdoc",
94
+ "bin": "application/octet-stream",
95
+ "bmp": "image/bmp",
96
+ "bpk": "application/octet-stream",
97
+ "btf": "image/prs.btif",
98
+ "btif": "image/prs.btif",
99
+ "buffer": "application/octet-stream",
100
+ "ccxml": "application/ccxml+xml",
101
+ "cdfx": "application/cdfx+xml",
102
+ "cdmia": "application/cdmi-capability",
103
+ "cdmic": "application/cdmi-container",
104
+ "cdmid": "application/cdmi-domain",
105
+ "cdmio": "application/cdmi-object",
106
+ "cdmiq": "application/cdmi-queue",
107
+ "cer": "application/pkix-cert",
108
+ "cgm": "image/cgm",
109
+ "cjs": "application/node",
110
+ "class": "application/java-vm",
111
+ "coffee": "text/coffeescript",
112
+ "conf": "text/plain",
113
+ "cpl": "application/cpl+xml",
114
+ "cpt": "application/mac-compactpro",
115
+ "crl": "application/pkix-crl",
116
+ "css": "text/css",
117
+ "csv": "text/csv",
118
+ "cu": "application/cu-seeme",
119
+ "cwl": "application/cwl",
120
+ "cww": "application/prs.cww",
121
+ "davmount": "application/davmount+xml",
122
+ "dbk": "application/docbook+xml",
123
+ "deb": "application/octet-stream",
124
+ "def": "text/plain",
125
+ "deploy": "application/octet-stream",
126
+ "dib": "image/bmp",
127
+ "disposition-notification": "message/disposition-notification",
128
+ "dist": "application/octet-stream",
129
+ "distz": "application/octet-stream",
130
+ "dll": "application/octet-stream",
131
+ "dmg": "application/octet-stream",
132
+ "dms": "application/octet-stream",
133
+ "doc": "application/msword",
134
+ "dot": "application/msword",
135
+ "dpx": "image/dpx",
136
+ "drle": "image/dicom-rle",
137
+ "dsc": "text/prs.lines.tag",
138
+ "dssc": "application/dssc+der",
139
+ "dtd": "application/xml-dtd",
140
+ "dump": "application/octet-stream",
141
+ "dwd": "application/atsc-dwd+xml",
142
+ "ear": "application/java-archive",
143
+ "ecma": "application/ecmascript",
144
+ "elc": "application/octet-stream",
145
+ "emf": "image/emf",
146
+ "eml": "message/rfc822",
147
+ "emma": "application/emma+xml",
148
+ "emotionml": "application/emotionml+xml",
149
+ "eps": "application/postscript",
150
+ "epub": "application/epub+zip",
151
+ "exe": "application/octet-stream",
152
+ "exi": "application/exi",
153
+ "exp": "application/express",
154
+ "exr": "image/aces",
155
+ "ez": "application/andrew-inset",
156
+ "fdf": "application/fdf",
157
+ "fdt": "application/fdt+xml",
158
+ "fits": "image/fits",
159
+ "g3": "image/g3fax",
160
+ "gbr": "application/rpki-ghostbusters",
161
+ "geojson": "application/geo+json",
162
+ "gif": "image/gif",
163
+ "glb": "model/gltf-binary",
164
+ "gltf": "model/gltf+json",
165
+ "gml": "application/gml+xml",
166
+ "gpx": "application/gpx+xml",
167
+ "gram": "application/srgs",
168
+ "grxml": "application/srgs+xml",
169
+ "gxf": "application/gxf",
170
+ "gz": "application/gzip",
171
+ "h261": "video/h261",
172
+ "h263": "video/h263",
173
+ "h264": "video/h264",
174
+ "heic": "image/heic",
175
+ "heics": "image/heic-sequence",
176
+ "heif": "image/heif",
177
+ "heifs": "image/heif-sequence",
178
+ "hej2": "image/hej2k",
179
+ "held": "application/atsc-held+xml",
180
+ "hjson": "application/hjson",
181
+ "hlp": "application/winhlp",
182
+ "hqx": "application/mac-binhex40",
183
+ "hsj2": "image/hsj2",
184
+ "htm": "text/html",
185
+ "html": "text/html",
186
+ "ics": "text/calendar",
187
+ "ief": "image/ief",
188
+ "ifb": "text/calendar",
189
+ "iges": "model/iges",
190
+ "igs": "model/iges",
191
+ "img": "application/octet-stream",
192
+ "in": "text/plain",
193
+ "ini": "text/plain",
194
+ "ink": "application/inkml+xml",
195
+ "inkml": "application/inkml+xml",
196
+ "ipfix": "application/ipfix",
197
+ "iso": "application/octet-stream",
198
+ "its": "application/its+xml",
199
+ "jade": "text/jade",
200
+ "jar": "application/java-archive",
201
+ "jhc": "image/jphc",
202
+ "jls": "image/jls",
203
+ "jp2": "image/jp2",
204
+ "jpe": "image/jpeg",
205
+ "jpeg": "image/jpeg",
206
+ "jpf": "image/jpx",
207
+ "jpg": "image/jpeg",
208
+ "jpg2": "image/jp2",
209
+ "jpgm": "image/jpm",
210
+ "jpgv": "video/jpeg",
211
+ "jph": "image/jph",
212
+ "jpm": "image/jpm",
213
+ "jpx": "image/jpx",
214
+ "js": "text/javascript",
215
+ "json": "application/json",
216
+ "json5": "application/json5",
217
+ "jsonld": "application/ld+json",
218
+ "jsonml": "application/jsonml+json",
219
+ "jsx": "text/jsx",
220
+ "jt": "model/jt",
221
+ "jxr": "image/jxr",
222
+ "jxra": "image/jxra",
223
+ "jxrs": "image/jxrs",
224
+ "jxs": "image/jxs",
225
+ "jxsc": "image/jxsc",
226
+ "jxsi": "image/jxsi",
227
+ "jxss": "image/jxss",
228
+ "kar": "audio/midi",
229
+ "ktx": "image/ktx",
230
+ "ktx2": "image/ktx2",
231
+ "less": "text/less",
232
+ "lgr": "application/lgr+xml",
233
+ "list": "text/plain",
234
+ "litcoffee": "text/coffeescript",
235
+ "log": "text/plain",
236
+ "lostxml": "application/lost+xml",
237
+ "lrf": "application/octet-stream",
238
+ "m1v": "video/mpeg",
239
+ "m21": "application/mp21",
240
+ "m2a": "audio/mpeg",
241
+ "m2v": "video/mpeg",
242
+ "m3a": "audio/mpeg",
243
+ "m4a": "audio/mp4",
244
+ "m4p": "application/mp4",
245
+ "m4s": "video/iso.segment",
246
+ "ma": "application/mathematica",
247
+ "mads": "application/mads+xml",
248
+ "maei": "application/mmt-aei+xml",
249
+ "man": "text/troff",
250
+ "manifest": "text/cache-manifest",
251
+ "map": "application/json",
252
+ "mar": "application/octet-stream",
253
+ "markdown": "text/markdown",
254
+ "mathml": "application/mathml+xml",
255
+ "mb": "application/mathematica",
256
+ "mbox": "application/mbox",
257
+ "md": "text/markdown",
258
+ "mdx": "text/mdx",
259
+ "me": "text/troff",
260
+ "mesh": "model/mesh",
261
+ "meta4": "application/metalink4+xml",
262
+ "metalink": "application/metalink+xml",
263
+ "mets": "application/mets+xml",
264
+ "mft": "application/rpki-manifest",
265
+ "mid": "audio/midi",
266
+ "midi": "audio/midi",
267
+ "mime": "message/rfc822",
268
+ "mj2": "video/mj2",
269
+ "mjp2": "video/mj2",
270
+ "mjs": "text/javascript",
271
+ "mml": "text/mathml",
272
+ "mods": "application/mods+xml",
273
+ "mov": "video/quicktime",
274
+ "mp2": "audio/mpeg",
275
+ "mp21": "application/mp21",
276
+ "mp2a": "audio/mpeg",
277
+ "mp3": "audio/mpeg",
278
+ "mp4": "video/mp4",
279
+ "mp4a": "audio/mp4",
280
+ "mp4s": "application/mp4",
281
+ "mp4v": "video/mp4",
282
+ "mpd": "application/dash+xml",
283
+ "mpe": "video/mpeg",
284
+ "mpeg": "video/mpeg",
285
+ "mpf": "application/media-policy-dataset+xml",
286
+ "mpg": "video/mpeg",
287
+ "mpg4": "video/mp4",
288
+ "mpga": "audio/mpeg",
289
+ "mpp": "application/dash-patch+xml",
290
+ "mrc": "application/marc",
291
+ "mrcx": "application/marcxml+xml",
292
+ "ms": "text/troff",
293
+ "mscml": "application/mediaservercontrol+xml",
294
+ "msh": "model/mesh",
295
+ "msi": "application/octet-stream",
296
+ "msix": "application/msix",
297
+ "msixbundle": "application/msixbundle",
298
+ "msm": "application/octet-stream",
299
+ "msp": "application/octet-stream",
300
+ "mtl": "model/mtl",
301
+ "musd": "application/mmt-usd+xml",
302
+ "mxf": "application/mxf",
303
+ "mxmf": "audio/mobile-xmf",
304
+ "mxml": "application/xv+xml",
305
+ "n3": "text/n3",
306
+ "nb": "application/mathematica",
307
+ "nq": "application/n-quads",
308
+ "nt": "application/n-triples",
309
+ "obj": "model/obj",
310
+ "oda": "application/oda",
311
+ "oga": "audio/ogg",
312
+ "ogg": "audio/ogg",
313
+ "ogv": "video/ogg",
314
+ "ogx": "application/ogg",
315
+ "omdoc": "application/omdoc+xml",
316
+ "onepkg": "application/onenote",
317
+ "onetmp": "application/onenote",
318
+ "onetoc": "application/onenote",
319
+ "onetoc2": "application/onenote",
320
+ "opf": "application/oebps-package+xml",
321
+ "opus": "audio/ogg",
322
+ "otf": "font/otf",
323
+ "owl": "application/rdf+xml",
324
+ "oxps": "application/oxps",
325
+ "p10": "application/pkcs10",
326
+ "p7c": "application/pkcs7-mime",
327
+ "p7m": "application/pkcs7-mime",
328
+ "p7s": "application/pkcs7-signature",
329
+ "p8": "application/pkcs8",
330
+ "pdf": "application/pdf",
331
+ "pfr": "application/font-tdpfr",
332
+ "pgp": "application/pgp-encrypted",
333
+ "pkg": "application/octet-stream",
334
+ "pki": "application/pkixcmp",
335
+ "pkipath": "application/pkix-pkipath",
336
+ "pls": "application/pls+xml",
337
+ "png": "image/png",
338
+ "prc": "model/prc",
339
+ "prf": "application/pics-rules",
340
+ "provx": "application/provenance+xml",
341
+ "ps": "application/postscript",
342
+ "pskcxml": "application/pskc+xml",
343
+ "pti": "image/prs.pti",
344
+ "qt": "video/quicktime",
345
+ "raml": "application/raml+yaml",
346
+ "rapd": "application/route-apd+xml",
347
+ "rdf": "application/rdf+xml",
348
+ "relo": "application/p2p-overlay+xml",
349
+ "rif": "application/reginfo+xml",
350
+ "rl": "application/resource-lists+xml",
351
+ "rld": "application/resource-lists-diff+xml",
352
+ "rmi": "audio/midi",
353
+ "rnc": "application/relax-ng-compact-syntax",
354
+ "rng": "application/xml",
355
+ "roa": "application/rpki-roa",
356
+ "roff": "text/troff",
357
+ "rq": "application/sparql-query",
358
+ "rs": "application/rls-services+xml",
359
+ "rsat": "application/atsc-rsat+xml",
360
+ "rsd": "application/rsd+xml",
361
+ "rsheet": "application/urc-ressheet+xml",
362
+ "rss": "application/rss+xml",
363
+ "rtf": "text/rtf",
364
+ "rtx": "text/richtext",
365
+ "rusd": "application/route-usd+xml",
366
+ "s3m": "audio/s3m",
367
+ "sbml": "application/sbml+xml",
368
+ "scq": "application/scvp-cv-request",
369
+ "scs": "application/scvp-cv-response",
370
+ "sdp": "application/sdp",
371
+ "senmlx": "application/senml+xml",
372
+ "sensmlx": "application/sensml+xml",
373
+ "ser": "application/java-serialized-object",
374
+ "setpay": "application/set-payment-initiation",
375
+ "setreg": "application/set-registration-initiation",
376
+ "sgi": "image/sgi",
377
+ "sgm": "text/sgml",
378
+ "sgml": "text/sgml",
379
+ "shex": "text/shex",
380
+ "shf": "application/shf+xml",
381
+ "shtml": "text/html",
382
+ "sieve": "application/sieve",
383
+ "sig": "application/pgp-signature",
384
+ "sil": "audio/silk",
385
+ "silo": "model/mesh",
386
+ "siv": "application/sieve",
387
+ "slim": "text/slim",
388
+ "slm": "text/slim",
389
+ "sls": "application/route-s-tsid+xml",
390
+ "smi": "application/smil+xml",
391
+ "smil": "application/smil+xml",
392
+ "snd": "audio/basic",
393
+ "so": "application/octet-stream",
394
+ "spdx": "text/spdx",
395
+ "spp": "application/scvp-vp-response",
396
+ "spq": "application/scvp-vp-request",
397
+ "spx": "audio/ogg",
398
+ "sql": "application/sql",
399
+ "sru": "application/sru+xml",
400
+ "srx": "application/sparql-results+xml",
401
+ "ssdl": "application/ssdl+xml",
402
+ "ssml": "application/ssml+xml",
403
+ "stk": "application/hyperstudio",
404
+ "stl": "model/stl",
405
+ "stpx": "model/step+xml",
406
+ "stpxz": "model/step-xml+zip",
407
+ "stpz": "model/step+zip",
408
+ "styl": "text/stylus",
409
+ "stylus": "text/stylus",
410
+ "svg": "image/svg+xml",
411
+ "svgz": "image/svg+xml",
412
+ "swidtag": "application/swid+xml",
413
+ "t": "text/troff",
414
+ "t38": "image/t38",
415
+ "td": "application/urc-targetdesc+xml",
416
+ "tei": "application/tei+xml",
417
+ "teicorpus": "application/tei+xml",
418
+ "text": "text/plain",
419
+ "tfi": "application/thraud+xml",
420
+ "tfx": "image/tiff-fx",
421
+ "tif": "image/tiff",
422
+ "tiff": "image/tiff",
423
+ "toml": "application/toml",
424
+ "tr": "text/troff",
425
+ "trig": "application/trig",
426
+ "ts": "video/mp2t",
427
+ "tsd": "application/timestamped-data",
428
+ "tsv": "text/tab-separated-values",
429
+ "ttc": "font/collection",
430
+ "ttf": "font/ttf",
431
+ "ttl": "text/turtle",
432
+ "ttml": "application/ttml+xml",
433
+ "txt": "text/plain",
434
+ "u3d": "model/u3d",
435
+ "u8dsn": "message/global-delivery-status",
436
+ "u8hdr": "message/global-headers",
437
+ "u8mdn": "message/global-disposition-notification",
438
+ "u8msg": "message/global",
439
+ "ubj": "application/ubjson",
440
+ "uri": "text/uri-list",
441
+ "uris": "text/uri-list",
442
+ "urls": "text/uri-list",
443
+ "vcard": "text/vcard",
444
+ "vrml": "model/vrml",
445
+ "vtt": "text/vtt",
446
+ "vxml": "application/voicexml+xml",
447
+ "war": "application/java-archive",
448
+ "wasm": "application/wasm",
449
+ "wav": "audio/wav",
450
+ "weba": "audio/webm",
451
+ "webm": "video/webm",
452
+ "webmanifest": "application/manifest+json",
453
+ "webp": "image/webp",
454
+ "wgsl": "text/wgsl",
455
+ "wgt": "application/widget",
456
+ "wif": "application/watcherinfo+xml",
457
+ "wmf": "image/wmf",
458
+ "woff": "font/woff",
459
+ "woff2": "font/woff2",
460
+ "wrl": "model/vrml",
461
+ "wsdl": "application/wsdl+xml",
462
+ "wspolicy": "application/wspolicy+xml",
463
+ "x3d": "model/x3d+xml",
464
+ "x3db": "model/x3d+fastinfoset",
465
+ "x3dbz": "model/x3d+binary",
466
+ "x3dv": "model/x3d-vrml",
467
+ "x3dvz": "model/x3d+vrml",
468
+ "x3dz": "model/x3d+xml",
469
+ "xaml": "application/xaml+xml",
470
+ "xav": "application/xcap-att+xml",
471
+ "xca": "application/xcap-caps+xml",
472
+ "xcs": "application/calendar+xml",
473
+ "xdf": "application/xcap-diff+xml",
474
+ "xdssc": "application/dssc+xml",
475
+ "xel": "application/xcap-el+xml",
476
+ "xenc": "application/xenc+xml",
477
+ "xer": "application/patch-ops-error+xml",
478
+ "xfdf": "application/xfdf",
479
+ "xht": "application/xhtml+xml",
480
+ "xhtml": "application/xhtml+xml",
481
+ "xhvml": "application/xv+xml",
482
+ "xlf": "application/xliff+xml",
483
+ "xm": "audio/xm",
484
+ "xml": "text/xml",
485
+ "xns": "application/xcap-ns+xml",
486
+ "xop": "application/xop+xml",
487
+ "xpl": "application/xproc+xml",
488
+ "xsd": "application/xml",
489
+ "xsf": "application/prs.xsf+xml",
490
+ "xsl": "application/xml",
491
+ "xslt": "application/xml",
492
+ "xspf": "application/xspf+xml",
493
+ "xvm": "application/xv+xml",
494
+ "xvml": "application/xv+xml",
495
+ "yaml": "text/yaml",
496
+ "yang": "application/yang",
497
+ "yin": "application/yin+xml",
498
+ "yml": "text/yaml",
499
+ "zip": "application/zip"
500
+ };
501
+
502
+ function lookup(extn) {
503
+ let tmp = ('' + extn).trim().toLowerCase();
504
+ let idx = tmp.lastIndexOf('.');
505
+ return mimes[!~idx ? tmp : tmp.substring(++idx)];
506
+ }
507
+
508
+ const noop = () => {};
509
+
510
+ function isMatch(uri, arr) {
511
+ for (let i=0; i < arr.length; i++) {
512
+ if (arr[i].test(uri)) return true;
513
+ }
514
+ }
515
+
516
+ function toAssume(uri, extns) {
517
+ let i=0, x, len=uri.length - 1;
518
+ if (uri.charCodeAt(len) === 47) {
519
+ uri = uri.substring(0, len);
520
+ }
521
+
522
+ let arr=[], tmp=`${uri}/index`;
523
+ for (; i < extns.length; i++) {
524
+ x = extns[i] ? `.${extns[i]}` : '';
525
+ if (uri) arr.push(uri + x);
526
+ arr.push(tmp + x);
527
+ }
528
+
529
+ return arr;
530
+ }
531
+
532
+ function viaCache(cache, uri, extns) {
533
+ let i=0, data, arr=toAssume(uri, extns);
534
+ for (; i < arr.length; i++) {
535
+ if (data = cache[arr[i]]) return data;
536
+ }
537
+ }
538
+
539
+ function viaLocal(dir, isEtag, uri, extns) {
540
+ let i=0, arr=toAssume(uri, extns);
541
+ let abs, stats, name, headers;
542
+ for (; i < arr.length; i++) {
543
+ abs = normalize(
544
+ join(dir, name=arr[i])
545
+ );
546
+
547
+ if (abs.startsWith(dir) && fs.existsSync(abs)) {
548
+ stats = fs.statSync(abs);
549
+ if (stats.isDirectory()) continue;
550
+ headers = toHeaders(name, stats, isEtag);
551
+ headers['Cache-Control'] = isEtag ? 'no-cache' : 'no-store';
552
+ return { abs, stats, headers };
553
+ }
554
+ }
555
+ }
556
+
557
+ function is404(req, res) {
558
+ return (res.statusCode=404,res.end());
559
+ }
560
+
561
+ function send(req, res, file, stats, headers) {
562
+ let code=200, tmp, opts={};
563
+ headers = { ...headers };
564
+
565
+ for (let key in headers) {
566
+ tmp = res.getHeader(key);
567
+ if (tmp) headers[key] = tmp;
568
+ }
569
+
570
+ if (tmp = res.getHeader('content-type')) {
571
+ headers['Content-Type'] = tmp;
572
+ }
573
+
574
+ if (req.headers.range) {
575
+ code = 206;
576
+ let [x, y] = req.headers.range.replace('bytes=', '').split('-');
577
+ let end = opts.end = parseInt(y, 10) || stats.size - 1;
578
+ let start = opts.start = parseInt(x, 10) || 0;
579
+
580
+ if (end >= stats.size) {
581
+ end = stats.size - 1;
582
+ }
583
+
584
+ if (start >= stats.size) {
585
+ res.setHeader('Content-Range', `bytes */${stats.size}`);
586
+ res.statusCode = 416;
587
+ return res.end();
588
+ }
589
+
590
+ headers['Content-Range'] = `bytes ${start}-${end}/${stats.size}`;
591
+ headers['Content-Length'] = (end - start + 1);
592
+ headers['Accept-Ranges'] = 'bytes';
593
+ }
594
+
595
+ res.writeHead(code, headers);
596
+ fs.createReadStream(file, opts).pipe(res);
597
+ }
598
+
599
+ const ENCODING = {
600
+ '.br': 'br',
601
+ '.gz': 'gzip',
602
+ };
603
+
604
+ function toHeaders(name, stats, isEtag) {
605
+ let enc = ENCODING[name.slice(-3)];
606
+
607
+ let ctype = lookup(name.slice(0, enc && -3)) || '';
608
+ if (ctype === 'text/html') ctype += ';charset=utf-8';
609
+
610
+ let headers = {
611
+ 'Content-Length': stats.size,
612
+ 'Content-Type': ctype,
613
+ 'Last-Modified': stats.mtime.toUTCString(),
614
+ };
615
+
616
+ if (enc) headers['Content-Encoding'] = enc;
617
+ if (isEtag) headers['ETag'] = `W/"${stats.size}-${stats.mtime.getTime()}"`;
618
+
619
+ return headers;
620
+ }
621
+
622
+ function sirv (dir, opts={}) {
623
+ dir = resolve(dir || '.');
624
+
625
+ let isNotFound = opts.onNoMatch || is404;
626
+ let setHeaders = opts.setHeaders || noop;
627
+
628
+ let extensions = opts.extensions || ['html', 'htm'];
629
+ let gzips = opts.gzip && extensions.map(x => `${x}.gz`).concat('gz');
630
+ let brots = opts.brotli && extensions.map(x => `${x}.br`).concat('br');
631
+
632
+ const FILES = {};
633
+
634
+ let fallback = '/';
635
+ let isEtag = !!opts.etag;
636
+ let isSPA = !!opts.single;
637
+ if (typeof opts.single === 'string') {
638
+ let idx = opts.single.lastIndexOf('.');
639
+ fallback += !!~idx ? opts.single.substring(0, idx) : opts.single;
640
+ }
641
+
642
+ let ignores = [];
643
+ if (opts.ignores !== false) {
644
+ ignores.push(/[/]([A-Za-z\s\d~$._-]+\.\w+){1,}$/); // any extn
645
+ if (opts.dotfiles) ignores.push(/\/\.\w/);
646
+ else ignores.push(/\/\.well-known/);
647
+ [].concat(opts.ignores || []).forEach(x => {
648
+ ignores.push(new RegExp(x, 'i'));
649
+ });
650
+ }
651
+
652
+ let cc = opts.maxAge != null && `public,max-age=${opts.maxAge}`;
653
+ if (cc && opts.immutable) cc += ',immutable';
654
+ else if (cc && opts.maxAge === 0) cc += ',must-revalidate';
655
+
656
+ if (!opts.dev) {
657
+ totalist(dir, (name, abs, stats) => {
658
+ if (/\.well-known[\\+\/]/.test(name)) ; // keep
659
+ else if (!opts.dotfiles && /(^\.|[\\+|\/+]\.)/.test(name)) return;
660
+
661
+ let headers = toHeaders(name, stats, isEtag);
662
+ if (cc) headers['Cache-Control'] = cc;
663
+
664
+ FILES['/' + name.normalize().replace(/\\+/g, '/')] = { abs, stats, headers };
665
+ });
666
+ }
667
+
668
+ let lookup = opts.dev ? viaLocal.bind(0, dir + sep, isEtag) : viaCache.bind(0, FILES);
669
+
670
+ return function (req, res, next) {
671
+ let extns = [''];
672
+ let pathname = parse(req).pathname;
673
+ let val = req.headers['accept-encoding'] || '';
674
+ if (gzips && val.includes('gzip')) extns.unshift(...gzips);
675
+ if (brots && /(br|brotli)/i.test(val)) extns.unshift(...brots);
676
+ extns.push(...extensions); // [...br, ...gz, orig, ...exts]
677
+
678
+ if (pathname.indexOf('%') !== -1) {
679
+ try { pathname = decodeURI(pathname); }
680
+ catch (err) { /* malform uri */ }
681
+ }
682
+
683
+ let data = lookup(pathname, extns) || isSPA && !isMatch(pathname, ignores) && lookup(fallback, extns);
684
+ if (!data) return next ? next() : isNotFound(req, res);
685
+
686
+ if (isEtag && req.headers['if-none-match'] === data.headers['ETag']) {
687
+ res.writeHead(304);
688
+ return res.end();
689
+ }
690
+
691
+ if (gzips || brots) {
692
+ res.setHeader('Vary', 'Accept-Encoding');
693
+ }
694
+
695
+ setHeaders(res, pathname, data.stats);
696
+ send(req, res, data.abs, data.stats, data.headers);
697
+ };
698
+ }
699
+
700
+ var defaultParseOptions = {
701
+ decodeValues: true,
702
+ map: false,
703
+ silent: false,
704
+ split: "auto", // auto = split strings but not arrays
705
+ };
706
+
707
+ function isForbiddenKey(key) {
708
+ return typeof key !== "string" || key in {};
709
+ }
710
+
711
+ function createNullObj() {
712
+ return Object.create(null);
713
+ }
714
+
715
+ function isNonEmptyString(str) {
716
+ return typeof str === "string" && !!str.trim();
717
+ }
718
+
719
+ function parseString(setCookieValue, options) {
720
+ var parts = setCookieValue.split(";").filter(isNonEmptyString);
721
+
722
+ var nameValuePairStr = parts.shift();
723
+ var parsed = parseNameValuePair(nameValuePairStr);
724
+ var name = parsed.name;
725
+ var value = parsed.value;
726
+
727
+ options = options
728
+ ? Object.assign({}, defaultParseOptions, options)
729
+ : defaultParseOptions;
730
+
731
+ if (isForbiddenKey(name)) {
732
+ return null;
733
+ }
734
+
735
+ try {
736
+ value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value
737
+ } catch (e) {
738
+ console.error(
739
+ "set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",
740
+ e
741
+ );
742
+ }
743
+
744
+ var cookie = createNullObj();
745
+ cookie.name = name;
746
+ cookie.value = value;
747
+
748
+ parts.forEach(function (part) {
749
+ var sides = part.split("=");
750
+ var key = sides.shift().trimLeft().toLowerCase();
751
+ if (isForbiddenKey(key)) {
752
+ return;
753
+ }
754
+ var value = sides.join("=");
755
+ if (key === "expires") {
756
+ cookie.expires = new Date(value);
757
+ } else if (key === "max-age") {
758
+ var n = parseInt(value, 10);
759
+ if (!Number.isNaN(n)) cookie.maxAge = n;
760
+ } else if (key === "secure") {
761
+ cookie.secure = true;
762
+ } else if (key === "httponly") {
763
+ cookie.httpOnly = true;
764
+ } else if (key === "samesite") {
765
+ cookie.sameSite = value;
766
+ } else if (key === "partitioned") {
767
+ cookie.partitioned = true;
768
+ } else if (key) {
769
+ cookie[key] = value;
770
+ }
771
+ });
772
+
773
+ return cookie;
774
+ }
775
+
776
+ function parseNameValuePair(nameValuePairStr) {
777
+ // Parses name-value-pair according to rfc6265bis draft
778
+
779
+ var name = "";
780
+ var value = "";
781
+ var nameValueArr = nameValuePairStr.split("=");
782
+ if (nameValueArr.length > 1) {
783
+ name = nameValueArr.shift();
784
+ value = nameValueArr.join("="); // everything after the first =, joined by a "=" if there was more than one part
785
+ } else {
786
+ value = nameValuePairStr;
787
+ }
788
+
789
+ return { name: name, value: value };
790
+ }
791
+
792
+ function parseSetCookie(input, options) {
793
+ options = options
794
+ ? Object.assign({}, defaultParseOptions, options)
795
+ : defaultParseOptions;
796
+
797
+ if (!input) {
798
+ if (!options.map) {
799
+ return [];
800
+ } else {
801
+ return createNullObj();
802
+ }
803
+ }
804
+
805
+ if (input.headers) {
806
+ if (typeof input.headers.getSetCookie === "function") {
807
+ // for fetch responses - they combine headers of the same type in the headers array,
808
+ // but getSetCookie returns an uncombined array
809
+ input = input.headers.getSetCookie();
810
+ } else if (input.headers["set-cookie"]) {
811
+ // fast-path for node.js (which automatically normalizes header names to lower-case)
812
+ input = input.headers["set-cookie"];
813
+ } else {
814
+ // slow-path for other environments - see #25
815
+ var sch =
816
+ input.headers[
817
+ Object.keys(input.headers).find(function (key) {
818
+ return key.toLowerCase() === "set-cookie";
819
+ })
820
+ ];
821
+ // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36
822
+ if (!sch && input.headers.cookie && !options.silent) {
823
+ console.warn(
824
+ "Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."
825
+ );
826
+ }
827
+ input = sch;
828
+ }
829
+ }
830
+
831
+ var split = options.split;
832
+ var isArray = Array.isArray(input);
833
+
834
+ if (split === "auto") {
835
+ split = !isArray;
836
+ }
837
+
838
+ if (!isArray) {
839
+ input = [input];
840
+ }
841
+
842
+ input = input.filter(isNonEmptyString);
843
+
844
+ if (split) {
845
+ input = input.map(splitCookiesString).flat();
846
+ }
847
+
848
+ if (!options.map) {
849
+ return input
850
+ .map(function (str) {
851
+ return parseString(str, options);
852
+ })
853
+ .filter(Boolean);
854
+ } else {
855
+ var cookies = createNullObj();
856
+ return input.reduce(function (cookies, str) {
857
+ var cookie = parseString(str, options);
858
+ if (cookie && !isForbiddenKey(cookie.name)) {
859
+ cookies[cookie.name] = cookie;
860
+ }
861
+ return cookies;
862
+ }, cookies);
863
+ }
864
+ }
865
+
866
+ /*
867
+ Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas
868
+ that are within a single set-cookie field-value, such as in the Expires portion.
869
+
870
+ This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2
871
+ Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128
872
+ React Native's fetch does this for *every* header, including set-cookie.
873
+
874
+ Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25
875
+ Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation
876
+ */
877
+ function splitCookiesString(cookiesString) {
878
+ if (Array.isArray(cookiesString)) {
879
+ return cookiesString;
880
+ }
881
+ if (typeof cookiesString !== "string") {
882
+ return [];
883
+ }
884
+
885
+ var cookiesStrings = [];
886
+ var pos = 0;
887
+ var start;
888
+ var ch;
889
+ var lastComma;
890
+ var nextStart;
891
+ var cookiesSeparatorFound;
892
+
893
+ function skipWhitespace() {
894
+ while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) {
895
+ pos += 1;
896
+ }
897
+ return pos < cookiesString.length;
898
+ }
899
+
900
+ function notSpecialChar() {
901
+ ch = cookiesString.charAt(pos);
902
+
903
+ return ch !== "=" && ch !== ";" && ch !== ",";
904
+ }
905
+
906
+ while (pos < cookiesString.length) {
907
+ start = pos;
908
+ cookiesSeparatorFound = false;
909
+
910
+ while (skipWhitespace()) {
911
+ ch = cookiesString.charAt(pos);
912
+ if (ch === ",") {
913
+ // ',' is a cookie separator if we have later first '=', not ';' or ','
914
+ lastComma = pos;
915
+ pos += 1;
916
+
917
+ skipWhitespace();
918
+ nextStart = pos;
919
+
920
+ while (pos < cookiesString.length && notSpecialChar()) {
921
+ pos += 1;
922
+ }
923
+
924
+ // currently special character
925
+ if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
926
+ // we found cookies separator
927
+ cookiesSeparatorFound = true;
928
+ // pos is inside the next cookie, so back up and return it.
929
+ pos = nextStart;
930
+ cookiesStrings.push(cookiesString.substring(start, lastComma));
931
+ start = pos;
932
+ } else {
933
+ // in param ',' or param separator ';',
934
+ // we continue from that comma
935
+ pos = lastComma + 1;
936
+ }
937
+ } else {
938
+ pos += 1;
939
+ }
940
+ }
941
+
942
+ if (!cookiesSeparatorFound || pos >= cookiesString.length) {
943
+ cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
944
+ }
945
+ }
946
+
947
+ return cookiesStrings;
948
+ }
949
+
950
+ // named export for CJS
951
+ parseSetCookie.parseSetCookie = parseSetCookie;
952
+ // for backwards compatibility
953
+ parseSetCookie.parse = parseSetCookie;
954
+ parseSetCookie.parseString = parseString;
955
+ parseSetCookie.splitCookiesString = splitCookiesString;
956
+
957
+ /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
958
+
959
+
960
+ /**
961
+ * An error that was thrown from within the SvelteKit runtime that is not fatal and doesn't result in a 500, such as a 404.
962
+ * `SvelteKitError` goes through `handleError`.
963
+ * @extends Error
964
+ */
965
+ class SvelteKitError extends Error {
966
+ /**
967
+ * @param {number} status
968
+ * @param {string} text
969
+ * @param {string} message
970
+ */
971
+ constructor(status, text, message) {
972
+ super(message);
973
+ this.status = status;
974
+ this.text = text;
975
+ }
976
+ }
977
+
978
+ /**
979
+ * @param {import('http').IncomingMessage} req
980
+ * @param {number} [body_size_limit]
981
+ */
982
+ function get_raw_body(req, body_size_limit) {
983
+ const h = req.headers;
984
+
985
+ if (!h['content-type']) {
986
+ return null;
987
+ }
988
+
989
+ const content_length = Number(h['content-length']);
990
+
991
+ // check if no request body
992
+ if (
993
+ (req.httpVersionMajor === 1 && isNaN(content_length) && h['transfer-encoding'] == null) ||
994
+ content_length === 0
995
+ ) {
996
+ return null;
997
+ }
998
+
999
+ if (req.destroyed) {
1000
+ const readable = new ReadableStream();
1001
+ void readable.cancel();
1002
+ return readable;
1003
+ }
1004
+
1005
+ let size = 0;
1006
+ let cancelled = false;
1007
+
1008
+ return new ReadableStream({
1009
+ start(controller) {
1010
+ if (body_size_limit !== undefined && content_length > body_size_limit) {
1011
+ let message = `Content-length of ${content_length} exceeds limit of ${body_size_limit} bytes.`;
1012
+
1013
+ if (body_size_limit === 0) {
1014
+ // https://github.com/sveltejs/kit/pull/11589
1015
+ // TODO this exists to aid migration — remove in a future version
1016
+ message += ' To disable body size limits, specify Infinity rather than 0.';
1017
+ }
1018
+
1019
+ const error = new SvelteKitError(413, 'Payload Too Large', message);
1020
+
1021
+ controller.error(error);
1022
+ return;
1023
+ }
1024
+
1025
+ req.on('error', (error) => {
1026
+ cancelled = true;
1027
+ controller.error(error);
1028
+ });
1029
+
1030
+ req.on('end', () => {
1031
+ if (cancelled) return;
1032
+ controller.close();
1033
+ });
1034
+
1035
+ req.on('data', (chunk) => {
1036
+ if (cancelled) return;
1037
+
1038
+ size += chunk.length;
1039
+ if (size > content_length) {
1040
+ cancelled = true;
1041
+
1042
+ const constraint = content_length ? 'content-length' : 'BODY_SIZE_LIMIT';
1043
+ const message = `request body size exceeded ${constraint} of ${content_length}`;
1044
+
1045
+ const error = new SvelteKitError(413, 'Payload Too Large', message);
1046
+ controller.error(error);
1047
+
1048
+ return;
1049
+ }
1050
+
1051
+ controller.enqueue(chunk);
1052
+
1053
+ if (controller.desiredSize === null || controller.desiredSize <= 0) {
1054
+ req.pause();
1055
+ }
1056
+ });
1057
+ },
1058
+
1059
+ pull() {
1060
+ req.resume();
1061
+ },
1062
+
1063
+ cancel(reason) {
1064
+ cancelled = true;
1065
+ req.destroy(reason);
1066
+ }
1067
+ });
1068
+ }
1069
+
1070
+ /**
1071
+ * @param {{
1072
+ * request: import('http').IncomingMessage;
1073
+ * base: string;
1074
+ * bodySizeLimit?: number;
1075
+ * }} options
1076
+ * @returns {Promise<Request>}
1077
+ */
1078
+ // TODO 3.0 make the signature synchronous?
1079
+ // eslint-disable-next-line @typescript-eslint/require-await
1080
+ async function getRequest({ request, base, bodySizeLimit }) {
1081
+ let headers = /** @type {Record<string, string>} */ (request.headers);
1082
+ if (request.httpVersionMajor >= 2) {
1083
+ // the Request constructor rejects headers with ':' in the name
1084
+ headers = Object.assign({}, headers);
1085
+ // https://www.rfc-editor.org/rfc/rfc9113.html#section-8.3.1-2.3.5
1086
+ if (headers[':authority']) {
1087
+ headers.host = headers[':authority'];
1088
+ }
1089
+ delete headers[':authority'];
1090
+ delete headers[':method'];
1091
+ delete headers[':path'];
1092
+ delete headers[':scheme'];
1093
+ }
1094
+
1095
+ // TODO: Whenever Node >=22 is minimum supported version, we can use `request.readableAborted`
1096
+ // @see https://github.com/nodejs/node/blob/5cf3c3e24c7257a0c6192ed8ef71efec8ddac22b/lib/internal/streams/readable.js#L1443-L1453
1097
+ const controller = new AbortController();
1098
+ let errored = false;
1099
+ let end_emitted = false;
1100
+ request.once('error', () => (errored = true));
1101
+ request.once('end', () => (end_emitted = true));
1102
+ request.once('close', () => {
1103
+ if ((errored || request.destroyed) && !end_emitted) {
1104
+ controller.abort();
1105
+ }
1106
+ });
1107
+
1108
+ return new Request(base + request.url, {
1109
+ // @ts-expect-error
1110
+ duplex: 'half',
1111
+ method: request.method,
1112
+ headers: Object.entries(headers),
1113
+ signal: controller.signal,
1114
+ body:
1115
+ request.method === 'GET' || request.method === 'HEAD'
1116
+ ? undefined
1117
+ : get_raw_body(request, bodySizeLimit)
1118
+ });
1119
+ }
1120
+
1121
+ /**
1122
+ * @param {import('http').ServerResponse} res
1123
+ * @param {Response} response
1124
+ * @returns {Promise<void>}
1125
+ */
1126
+ // TODO 3.0 make the signature synchronous?
1127
+ // eslint-disable-next-line @typescript-eslint/require-await
1128
+ async function setResponse(res, response) {
1129
+ for (const [key, value] of response.headers) {
1130
+ try {
1131
+ res.setHeader(
1132
+ key,
1133
+ key === 'set-cookie'
1134
+ ? splitCookiesString(
1135
+ // This is absurd but necessary, TODO: investigate why
1136
+ /** @type {string}*/ (response.headers.get(key))
1137
+ )
1138
+ : value
1139
+ );
1140
+ } catch (error) {
1141
+ res.getHeaderNames().forEach((name) => res.removeHeader(name));
1142
+ res.writeHead(500).end(String(error));
1143
+ return;
1144
+ }
1145
+ }
1146
+
1147
+ res.writeHead(response.status);
1148
+
1149
+ if (!response.body) {
1150
+ res.end();
1151
+ return;
1152
+ }
1153
+
1154
+ if (response.body.locked) {
1155
+ res.end(
1156
+ 'Fatal error: Response body is locked. ' +
1157
+ "This can happen when the response was already read (for example through 'response.json()' or 'response.text()')."
1158
+ );
1159
+ return;
1160
+ }
1161
+
1162
+ const reader = response.body.getReader();
1163
+
1164
+ if (res.destroyed) {
1165
+ void reader.cancel();
1166
+ return;
1167
+ }
1168
+
1169
+ const cancel = (/** @type {Error|undefined} */ error) => {
1170
+ res.off('close', cancel);
1171
+ res.off('error', cancel);
1172
+
1173
+ // If the reader has already been interrupted with an error earlier,
1174
+ // then it will appear here, it is useless, but it needs to be catch.
1175
+ reader.cancel(error).catch(() => {});
1176
+ if (error) res.destroy(error);
1177
+ };
1178
+
1179
+ res.on('close', cancel);
1180
+ res.on('error', cancel);
1181
+
1182
+ void next();
1183
+ async function next() {
1184
+ try {
1185
+ for (;;) {
1186
+ const { done, value } = await reader.read();
1187
+
1188
+ if (done) break;
1189
+
1190
+ if (!res.write(value)) {
1191
+ res.once('drain', next);
1192
+ return;
1193
+ }
1194
+ }
1195
+ res.end();
1196
+ } catch (error) {
1197
+ cancel(error instanceof Error ? error : new Error(String(error)));
1198
+ }
1199
+ }
1200
+ }
1201
+
1202
+ /**
1203
+ * Converts a file on disk to a readable stream
1204
+ * @param {string} file
1205
+ * @returns {ReadableStream}
1206
+ * @since 2.4.0
1207
+ */
1208
+ function createReadableStream(file) {
1209
+ return /** @type {ReadableStream} */ (Readable.toWeb(createReadStream(file)));
1210
+ }
1211
+
1212
+ /**
1213
+ * Parses the given value into number of bytes.
1214
+ *
1215
+ * @param {string} value - Size in bytes. Can also be specified with a unit suffix kilobytes (K), megabytes (M), or gigabytes (G).
1216
+ * @returns {number}
1217
+ */
1218
+ function parse_as_bytes(value) {
1219
+ const multiplier =
1220
+ {
1221
+ K: 1024,
1222
+ M: 1024 * 1024,
1223
+ G: 1024 * 1024 * 1024
1224
+ }[value[value.length - 1]?.toUpperCase()] ?? 1;
1225
+ return Number(multiplier != 1 ? value.substring(0, value.length - 1) : value) * multiplier;
1226
+ }
1227
+
1228
+ /**
1229
+ * Parses and validates an origin URL.
1230
+ *
1231
+ * @param {string | undefined} value - Origin URL with http:// or https:// protocol
1232
+ * @returns {string | undefined} The validated origin, or undefined if value is undefined
1233
+ * @throws {Error} If value is provided but invalid
1234
+ */
1235
+ function parse_origin(value) {
1236
+ if (value === undefined) {
1237
+ return undefined;
1238
+ }
1239
+
1240
+ const trimmed = value.trim();
1241
+
1242
+ let url;
1243
+ try {
1244
+ url = new URL(trimmed);
1245
+ } catch (error) {
1246
+ throw new Error(
1247
+ `Invalid ORIGIN: '${trimmed}'. ` +
1248
+ `ORIGIN must be a valid URL with http:// or https:// protocol. ` +
1249
+ `For example: 'http://localhost:3000' or 'https://my.site'`,
1250
+ { cause: error }
1251
+ );
1252
+ }
1253
+
1254
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
1255
+ throw new Error(
1256
+ `Invalid ORIGIN: '${trimmed}'. ` +
1257
+ `Only http:// and https:// protocols are supported. ` +
1258
+ `Received protocol: ${url.protocol}`
1259
+ );
1260
+ }
1261
+
1262
+ return url.origin;
1263
+ }
1264
+
1265
+ /* global "" */
1266
+ /* global true */
1267
+
1268
+ const server = new Server(manifest);
1269
+
1270
+ // parse_origin validates ORIGIN and throws descriptive errors for invalid values
1271
+ const origin = parse_origin(env('ORIGIN', undefined));
1272
+
1273
+ const xff_depth = parseInt(env('XFF_DEPTH', '1'));
1274
+ const address_header = env('ADDRESS_HEADER', '').toLowerCase();
1275
+ const protocol_header = env('PROTOCOL_HEADER', '').toLowerCase();
1276
+ const host_header = env('HOST_HEADER', '').toLowerCase();
1277
+ const port_header = env('PORT_HEADER', '').toLowerCase();
1278
+
1279
+ const body_size_limit = parse_as_bytes(env('BODY_SIZE_LIMIT', '512K'));
1280
+
1281
+ if (isNaN(body_size_limit)) {
1282
+ throw new Error(
1283
+ `Invalid BODY_SIZE_LIMIT: '${env('BODY_SIZE_LIMIT')}'. Please provide a numeric value.`
1284
+ );
1285
+ }
1286
+
1287
+ const dir = path.dirname(fileURLToPath(import.meta.url));
1288
+
1289
+ const asset_dir = `${dir}/client${base}`;
1290
+
1291
+ await server.init({
1292
+ env: /** @type {Record<string, string>} */ (process.env),
1293
+ read: (file) => createReadableStream(`${asset_dir}/${file}`)
1294
+ });
1295
+
1296
+ /**
1297
+ * @param {string} path
1298
+ * @param {boolean} client
1299
+ */
1300
+ function serve(path, client = false) {
1301
+ return fs__default.existsSync(path)
1302
+ ? sirv(path, {
1303
+ etag: true,
1304
+ gzip: true,
1305
+ brotli: true,
1306
+ setHeaders: client
1307
+ ? (res, pathname) => {
1308
+ // only apply to build directory, not e.g. version.json
1309
+ if (
1310
+ pathname.startsWith(`/${manifest.appPath}/immutable/`) &&
1311
+ res.statusCode === 200
1312
+ ) {
1313
+ res.setHeader('cache-control', 'public,max-age=31536000,immutable');
1314
+ }
1315
+ }
1316
+ : undefined
1317
+ })
1318
+ : undefined;
1319
+ }
1320
+
1321
+ // required because the static file server ignores trailing slashes
1322
+ /** @returns {import('polka').Middleware} */
1323
+ function serve_prerendered() {
1324
+ const handler = serve(path.join(dir, 'prerendered'));
1325
+
1326
+ return (req, res, next) => {
1327
+ let { pathname, search, query } = parse(req);
1328
+
1329
+ try {
1330
+ pathname = decodeURIComponent(pathname);
1331
+ } catch {
1332
+ // ignore invalid URI
1333
+ }
1334
+
1335
+ if (prerendered.has(pathname)) {
1336
+ return handler?.(req, res, next);
1337
+ }
1338
+
1339
+ // remove or add trailing slash as appropriate
1340
+ let location = pathname.at(-1) === '/' ? pathname.slice(0, -1) : pathname + '/';
1341
+ if (prerendered.has(location)) {
1342
+ if (query) location += search;
1343
+ res.writeHead(308, { location }).end();
1344
+ } else {
1345
+ void next();
1346
+ }
1347
+ };
1348
+ }
1349
+
1350
+ /** @type {import('polka').Middleware} */
1351
+ const ssr = async (req, res) => {
1352
+ /** @type {Request} */
1353
+ let request;
1354
+
1355
+ try {
1356
+ request = await getRequest({
1357
+ base: origin || get_origin(req.headers),
1358
+ request: req,
1359
+ bodySizeLimit: body_size_limit
1360
+ });
1361
+ } catch {
1362
+ res.statusCode = 400;
1363
+ res.end('Bad Request');
1364
+ return;
1365
+ }
1366
+
1367
+ await setResponse(
1368
+ res,
1369
+ await server.respond(request, {
1370
+ platform: { req },
1371
+ getClientAddress: () => {
1372
+ if (address_header) {
1373
+ if (!(address_header in req.headers)) {
1374
+ throw new Error(
1375
+ `Address header was specified with ${
1376
+ "" + 'ADDRESS_HEADER'
1377
+ }=${address_header} but is absent from request`
1378
+ );
1379
+ }
1380
+
1381
+ const value = /** @type {string} */ (req.headers[address_header]) || '';
1382
+
1383
+ if (address_header === 'x-forwarded-for') {
1384
+ const addresses = value.split(',');
1385
+
1386
+ if (xff_depth < 1) {
1387
+ throw new Error(`${"" + 'XFF_DEPTH'} must be a positive integer`);
1388
+ }
1389
+
1390
+ if (xff_depth > addresses.length) {
1391
+ throw new Error(
1392
+ `${"" + 'XFF_DEPTH'} is ${xff_depth}, but only found ${
1393
+ addresses.length
1394
+ } addresses`
1395
+ );
1396
+ }
1397
+ return addresses[addresses.length - xff_depth].trim();
1398
+ }
1399
+
1400
+ return value;
1401
+ }
1402
+
1403
+ return (
1404
+ req.connection?.remoteAddress ||
1405
+ // @ts-expect-error
1406
+ req.connection?.socket?.remoteAddress ||
1407
+ req.socket?.remoteAddress ||
1408
+ // @ts-expect-error
1409
+ req.info?.remoteAddress
1410
+ );
1411
+ }
1412
+ })
1413
+ );
1414
+ };
1415
+
1416
+ /** @param {import('polka').Middleware[]} handlers */
1417
+ function sequence(handlers) {
1418
+ /** @type {import('polka').Middleware} */
1419
+ return (req, res, next) => {
1420
+ /**
1421
+ * @param {number} i
1422
+ * @returns {ReturnType<import('polka').Middleware>}
1423
+ */
1424
+ function handle(i) {
1425
+ if (i < handlers.length) {
1426
+ return handlers[i](req, res, () => handle(i + 1));
1427
+ } else {
1428
+ return next();
1429
+ }
1430
+ }
1431
+
1432
+ return handle(0);
1433
+ };
1434
+ }
1435
+
1436
+ /**
1437
+ * @param {string} name
1438
+ * @param {string | string[] | undefined} value
1439
+ * @returns {string | undefined}
1440
+ */
1441
+ function normalise_header(name, value) {
1442
+ if (!name) return undefined;
1443
+ if (Array.isArray(value)) {
1444
+ if (value.length === 0) return undefined;
1445
+ if (value.length === 1) return value[0];
1446
+ throw new Error(
1447
+ `Multiple values provided for ${name} header where only one expected: ${value}`
1448
+ );
1449
+ }
1450
+ return value;
1451
+ }
1452
+
1453
+ /**
1454
+ * @param {import('http').IncomingHttpHeaders} headers
1455
+ * @returns {string}
1456
+ */
1457
+ function get_origin(headers) {
1458
+ const protocol = decodeURIComponent(
1459
+ normalise_header(protocol_header, headers[protocol_header]) || 'https'
1460
+ );
1461
+
1462
+ // this helps us avoid host injections through the protocol header
1463
+ if (protocol.includes(':')) {
1464
+ throw new Error(
1465
+ `The ${protocol_header} header specified ${protocol} which is an invalid because it includes \`:\`. It should only contain the protocol scheme (e.g. \`https\`)`
1466
+ );
1467
+ }
1468
+
1469
+ const host =
1470
+ normalise_header(host_header, headers[host_header]) ||
1471
+ normalise_header('host', headers['host']);
1472
+ if (!host) {
1473
+ const header_names = host_header ? `${host_header} or host headers` : 'host header';
1474
+ throw new Error(
1475
+ `Could not determine host. The request must have a value provided by the ${header_names}`
1476
+ );
1477
+ }
1478
+
1479
+ const port = normalise_header(port_header, headers[port_header]);
1480
+ if (port && isNaN(+port)) {
1481
+ throw new Error(
1482
+ `The ${port_header} header specified ${port} which is an invalid port because it is not a number. The value should only contain the port number (e.g. 443)`
1483
+ );
1484
+ }
1485
+
1486
+ return port ? `${protocol}://${host}:${port}` : `${protocol}://${host}`;
1487
+ }
1488
+
1489
+ const handler = sequence(
1490
+ /** @type {(import('sirv').RequestHandler | import('polka').Middleware)[]} */
1491
+ ([serve(path.join(dir, 'client'), true), serve_prerendered(), ssr].filter(Boolean))
1492
+ );
1493
+
1494
+ export { handler };