From c3f36e864f326dcbc08f92cae23ef469def0aa58 Mon Sep 17 00:00:00 2001 From: Snow Lee Date: Sun, 2 Aug 2026 20:21:41 -0700 Subject: [PATCH 1/2] feat(webapp): history can be narrowed by path, author and date (BEA-67) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The project History view was a flat scroll with no controls but per-row restore/open/download. Fine at eleven rows; unreadable after a month of agent writes, and agents write far more than people do. Four reader filters on GET /api/p//history — q= (case-insensitive substring of the path), user= (exact account), since=/until= (UTC bounds, inclusive at both ends, RFC3339 or a bare YYYY-MM-DD). They compose with each other and with the existing path=/prefix= scoping, and they are applied in the same walk as path/prefix — BEFORE the sort and the cursor skip — so next_cursor keeps meaning "the next matching entry" and paging under a filter needed no new machinery. kinds[] is still computed over every op, so a filtered view classifies edits the same as the full feed. A malformed since/until is a 400, not a silently unfiltered feed. The filter bar drives those params through the URL rather than component state: a narrowed feed is a link you can send, it survives reload, and Back undoes it. The author list accumulates across fetches — rebuilding it from the current feed would strand a reader who filtered by one author with only their own name to pick from. Zero matches gets its own empty state with a Clear. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 8 +- architecture/webapp-frontend.md | 7 +- internal/webapp/e2e_serve_test.go | 3 + .../frontend/e2e/history-filters.spec.ts | 107 +++++++++++++ internal/webapp/frontend/src/apps/Browser.tsx | 3 + .../src/components/HistoryFilters.tsx | 108 +++++++++++++ .../frontend/src/components/HistoryView.tsx | 47 +++++- internal/webapp/frontend/src/router.test.ts | 30 +++- internal/webapp/frontend/src/router.ts | 46 +++++- internal/webapp/frontend/src/style.css | 22 +++ internal/webapp/history.go | 56 +++++++ internal/webapp/history_test.go | 149 ++++++++++++++++++ .../webapp/static/assets/index-5wHD5Q1S.css | 1 + .../webapp/static/assets/index-B-zSoeQX.css | 1 - .../webapp/static/assets/index-COxpF7T6.js | 120 ++++++++++++++ .../webapp/static/assets/index-MK6uEuUN.js | 120 -------------- internal/webapp/static/index.html | 4 +- web/docs/src/content/docs/index.md | 2 +- web/docs/src/content/docs/reference/cli.md | 7 + 19 files changed, 702 insertions(+), 139 deletions(-) create mode 100644 internal/webapp/frontend/e2e/history-filters.spec.ts create mode 100644 internal/webapp/frontend/src/components/HistoryFilters.tsx create mode 100644 internal/webapp/static/assets/index-5wHD5Q1S.css delete mode 100644 internal/webapp/static/assets/index-B-zSoeQX.css create mode 100644 internal/webapp/static/assets/index-COxpF7T6.js delete mode 100644 internal/webapp/static/assets/index-MK6uEuUN.js diff --git a/README.md b/README.md index 99942a3..0d8889d 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,8 @@ actually read (and which hot ones nobody maintains). - **Change tracking** — `bdrive log` and the web UI's History view show which account changed which file, when, from which device (name, OS). Content is stored content-addressed, so every version is retained — view - or download any point in a file's history. + or download any point in a file's history. The feed can be narrowed by + path, author and date range, and the narrowed view has its own URL. - **Cloud-provider agnostic** — a hub can store on Amazon S3 (`s3://`), Google Cloud Storage (`gs://`), any S3-compatible store (MinIO, Cloudflare R2 via `AWS_ENDPOINT_URL`), or a plain shared directory (`file://`, e.g. a @@ -493,7 +494,10 @@ IP), with view/download of any past version (content is content-addressed and retained forever; reverting to a version is the next phase and the API is already shaped for it). Folder rows have a history shortcut for a subtree feed; the topbar button shows the current file's -versions or the whole project feed. +versions or the whole project feed. A filter bar above the feed narrows it +by path substring, author and date range (UTC) — the filters ride in the +URL, so a narrowed feed is a link you can send, and they are applied +server-side, so paging through a filtered feed stays correct. Hubs also track **read heat**: viewer opens and downloads count as human reads, share-link hits as share reads, and agent tool reads (reported by diff --git a/architecture/webapp-frontend.md b/architecture/webapp-frontend.md index 7bd0bd2..b1b6b4a 100644 --- a/architecture/webapp-frontend.md +++ b/architecture/webapp-frontend.md @@ -33,8 +33,10 @@ classDiagram +parseRoute(url, mode) Route +Route.version ?v= sha, one past version +Route.trailingSlash notes/ resolves, then replaces to notes + +Route.filters q user since until, history feed + +historyFilterQuery(filters) / hasHistoryFilters +urlForPath(path, projectId, version) - +urlForView / encodePath / decodePath + +urlForView(view, projectId, target, filters) / encodePath / decodePath } class nav { +navigate(url) @@ -68,13 +70,14 @@ classDiagram class components { FileView FolderListing FileTree - HistoryView HistoryRow DiffView VersionBanner + HistoryView HistoryRow HistoryFilters DiffView VersionBanner Insights ShareDialog NewProjectDialog ShareBanner SharesTable AdminTable OrgAdmin HubSettings ProjectSettings Palette shell AccountBar ... } note for components "NewProjectDialog replaced ProjectNav's name-only modalPrompt: name + starting point, POSTing {name, template}. Its options come from useConfig()'s `templates`, never a hardcoded list, so a hub shipping another template needs no frontend change; \"Empty project\" (value \"\") stays preselected so an unpicked create behaves exactly as it did before templates. modal.tsx keeps its one-field API — teaching it about choices would tax every other caller" + note for components "HistoryFilters drives the SERVER (?q=/?user=/?since=/?until= on the history API), never the loaded page — filtering what is on screen would lie about everything below the fold and break next_cursor. Its state is Route.filters, so a narrowed feed is linkable, survives reload, and Back undoes it; the author list accumulates across fetches, because filtering by one author leaves only their rows loaded" note for components "components/ui — shadcn/ui primitives (Radix, copied in), themed from BearDrive tokens in tw.css; rendered markdown is transformed as a string before mounting, link clicks delegated on the container — never patch the dangerouslySetInnerHTML subtree" class lib { diff --git a/internal/webapp/e2e_serve_test.go b/internal/webapp/e2e_serve_test.go index 146c12e..ca1de97 100644 --- a/internal/webapp/e2e_serve_test.go +++ b/internal/webapp/e2e_serve_test.go @@ -232,6 +232,9 @@ func seedE2E(t *testing.T, state, prefix, projectID string) { "\x00\x00\x00\nIDATx\x9cc\x00\x01\x00\x00\x05\x00\x01\r\n-\xb4\x00\x00\x00\x00IEND\xaeB`\x82" put("assets/logo.png", png, 24*time.Hour) ops[2].Note = "expanded the guide — https://claude.ai/session/e2e" // the one row with a note expander + // A second account, so the history filter bar has more than one name to + // offer — and something to exclude when a reader picks one. + ops[4].User, ops[4].UserName, ops[4].Author = "bob@x.io", "Bob", "bob@x.io" // One agent run that touched two files — the history feed groups it into // a single card. One file it edited and one it created (whose undo is a // removal, since restore cannot un-create). Both of these ops are the head diff --git a/internal/webapp/frontend/e2e/history-filters.spec.ts b/internal/webapp/frontend/e2e/history-filters.spec.ts new file mode 100644 index 0000000..ad58daf --- /dev/null +++ b/internal/webapp/frontend/e2e/history-filters.spec.ts @@ -0,0 +1,107 @@ +import { test, expect } from "@playwright/test"; +import { login, wikiId } from "./helpers"; + +// BEA-67: History was a flat scroll with no way to narrow it. The filter bar +// drives the API (not the loaded page) and lives in the URL, so a narrowed +// feed is linkable, survives reload, and Back undoes it. + +// Every row currently on screen, run cards included. +const rows = ".history .hentry"; + +test("the path filter narrows the feed and lands in the URL", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + await page.goto(`/${pid}/history`); + await expect(page.locator(rows).first()).toBeVisible(); + const before = await page.locator(rows).count(); + expect(before).toBeGreaterThan(3); + + await page.fill(".hfilters input[type=search]", "runbook"); + await page.waitForURL(`/${pid}/history?q=runbook`); + // Every row matches, and there are strictly fewer of them. (Exact counts + // would be a lie: the suite shares one mutable hub, and earlier specs + // upload and restore into this feed.) + await expect(page.locator(`${rows} .hpath`).first()).toBeVisible(); + const paths = await page.locator(`${rows} .hpath`).allTextContents(); + expect(paths.length).toBeLessThan(before); + for (const p of paths) expect(p.toLowerCase()).toContain("runbook"); + + // A reload gets the same narrowed feed — the filter is not component state. + await page.reload(); + await expect(page.locator(".hfilters input[type=search]")).toHaveValue("runbook"); + await expect(page.locator(rows)).toHaveCount(paths.length); + + // Back undoes the filter like any other navigation. + await page.goBack(); + await expect(page).toHaveURL(`/${pid}/history`); + await expect(page.locator(rows)).toHaveCount(before); +}); + +test("the author filter offers the accounts in the feed and narrows to one", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + await page.goto(`/${pid}/history`); + const sel = page.locator(".hfilters select.hf-user"); + await expect(sel.locator("option")).toContainText(["Anyone", "alice@x.io", "bob@x.io"]); + + await sel.selectOption("bob@x.io"); + await page.waitForURL(`/${pid}/history?user=bob%40x.io`); + // the seed gives bob exactly one change, and nothing else in the suite + // ever writes as him + await expect(page.locator(rows)).toHaveCount(1); + await expect(page.locator(`${rows} .hpath`)).toHaveText("notes/deep/topic.md"); + // and the other author is still selectable — filtering by one must not + // strand the reader with a list rebuilt from their rows alone + await expect(sel.locator("option")).toContainText(["Anyone", "alice@x.io", "bob@x.io"]); +}); + +test("the date range filters server-side, and filters compose", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + // Everything the seed writes is within the last few days, so a window that + // ends long ago must empty the feed rather than quietly return all of it. + await page.goto(`/${pid}/history?since=2020-01-01&until=2020-01-02`); + await expect(page.locator(rows)).toHaveCount(0); + await expect(page.locator(".history .empty")).toContainText("No changes match these filters."); + + // Compose: an author who did write, plus a window that excludes everyone. + await page.goto(`/${pid}/history?user=alice%40x.io&until=2020-01-02`); + await expect(page.locator(rows)).toHaveCount(0); + await expect(page.locator(".hfilters select.hf-user")).toHaveValue("alice@x.io"); + await expect(page.locator(".hf-date").nth(1)).toHaveValue("2020-01-02"); +}); + +test("no match offers a way out, and Clear empties the query string", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + await page.goto(`/${pid}/history?q=no-such-file`); + await expect(page.locator(rows)).toHaveCount(0); + const empty = page.locator(".history .empty"); + await expect(empty).toContainText("No changes match these filters."); + await empty.getByRole("button", { name: "Clear filters" }).click(); + await page.waitForURL(`/${pid}/history`); + await expect(page.locator(rows).first()).toBeVisible(); + + // The bar's own Clear does the same, and only shows while something is set. + await expect(page.locator(".hf-clear")).toHaveCount(0); + await page.goto(`/${pid}/history?q=runbook`); + await page.locator(".hf-clear").click(); + await page.waitForURL(`/${pid}/history`); +}); + +test("the folder feed and the per-file version list filter too", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + // folder subtree: the filter composes with the prefix scoping + await page.goto(`/${pid}/history/notes?q=readme`); + await expect(page.locator(".hfilters")).toBeVisible(); + for (const p of await page.locator(`${rows} .hpath`).allTextContents()) { + expect(p).toContain("notes/readme.md"); + } + // per-file version list: guide.md has two versions, one of them Alice's + await page.goto(`/${pid}/history/guide.md`); + await expect(page.locator(rows).first()).toBeVisible(); + expect(await page.locator(rows).count()).toBeGreaterThanOrEqual(2); + await page.goto(`/${pid}/history/guide.md?user=bob%40x.io`); + await expect(page.locator(rows)).toHaveCount(0); +}); diff --git a/internal/webapp/frontend/src/apps/Browser.tsx b/internal/webapp/frontend/src/apps/Browser.tsx index fbcb1bd..e4fcabf 100644 --- a/internal/webapp/frontend/src/apps/Browser.tsx +++ b/internal/webapp/frontend/src/apps/Browser.tsx @@ -368,6 +368,9 @@ export default function Browser(props: { onRendered={onRendered} restore={canRestore ? { onRestore, busy: restoring } : undefined} remove={canRestore ? { onRemove, busy: removing } : undefined} + filters={route.filters} + /* push, not replace: a filter is a navigation, and Back undoes it */ + onFilters={(f) => navigate(urlForView("history", project?.id, route.viewTarget || "", f))} /> ); } else if (path) { diff --git a/internal/webapp/frontend/src/components/HistoryFilters.tsx b/internal/webapp/frontend/src/components/HistoryFilters.tsx new file mode 100644 index 0000000..66d6ce3 --- /dev/null +++ b/internal/webapp/frontend/src/components/HistoryFilters.tsx @@ -0,0 +1,108 @@ +import { useEffect, useRef, useState } from "react"; +import { Input } from "@/components/ui/input"; +import { Icon } from "./shell"; +import { hasHistoryFilters, type HistoryFilters as Filters } from "../router"; + +/* ---- history filters ---- + The whole feed is one flat scroll, and agents write far more than people + do — so a month-old project is unreadable without a way to narrow it. + Every filter is applied SERVER-side (?q=/?user=/?since=/?until=), never + over the loaded page: filtering what happens to be on screen would lie + about everything below the fold and break paging. State lives in the URL, + so a narrowed feed is linkable and Back undoes a filter like any other + navigation. + + Dates are bare YYYY-MM-DD and the server reads them as UTC days — the + label says so, because a native date input speaks the reader's local + calendar and a silent conversion would quietly drop an evening's changes + for anyone east of UTC. */ +export function HistoryFilters(props: { + filters?: Filters; + authors: string[]; // accounts seen in the loaded window + onChange: (f: Filters) => void; +}) { + const { filters, authors, onChange } = props; + const set = (k: keyof Filters, v: string) => onChange({ ...filters, [k]: v || undefined }); + + // The path box is typed into, so it keeps its own state and pushes a URL + // only once typing pauses — a navigation per keystroke would stack a + // history entry per letter and refetch on each one. + const [q, setQ] = useState(filters?.q ?? ""); + const typed = useRef(false); + useEffect(() => { + if (!typed.current) setQ(filters?.q ?? ""); // external change (Back, Clear, deep link) + }, [filters?.q]); + useEffect(() => { + if (!typed.current) return; + const t = setTimeout(() => { + typed.current = false; + if (q !== (filters?.q ?? "")) set("q", q); + }, 250); + return () => clearTimeout(t); + }, [q]); // eslint-disable-line react-hooks/exhaustive-deps + + // The URL is authoritative: an author filtered from a page that is no + // longer loaded still has to show as the current selection. + const options = filters?.user && !authors.includes(filters.user) ? [filters.user, ...authors] : authors; + const active = hasHistoryFilters(filters); + return ( +
+ + + + UTC + set("since", e.target.value)} + /> + + set("until", e.target.value)} + /> + + {active && ( + + )} +
+ ); +} + +// The accounts present in a loaded feed, in first-seen order. +export function authorsOf(entries: { user?: string }[]): string[] { + const seen = new Set(); + for (const e of entries) if (e.user) seen.add(e.user); + return [...seen].sort(); +} diff --git a/internal/webapp/frontend/src/components/HistoryView.tsx b/internal/webapp/frontend/src/components/HistoryView.tsx index d280c9a..3c55606 100644 --- a/internal/webapp/frontend/src/components/HistoryView.tsx +++ b/internal/webapp/frontend/src/components/HistoryView.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import { useInfiniteQuery } from "@tanstack/react-query"; import { getJSON } from "../api/http"; import type { HistoryEntry } from "../api/types"; @@ -6,6 +6,8 @@ import { HistoryRow, NoteText, type RemoveAction, type RestoreAction } from "./H import { Icon } from "./shell"; import { whoChanged } from "../util"; import { groupRuns, runFileCount, type Run } from "../lib/runs"; +import { HistoryFilters, authorsOf } from "./HistoryFilters"; +import { historyFilterQuery, hasHistoryFilters, type HistoryFilters as Filters } from "../router"; /* ---- history ---- Every change ever made, straight from the journals: who (account), when, @@ -28,17 +30,22 @@ export function HistoryView(props: { onRendered?: () => void; restore?: RestoreAction; remove?: RemoveAction; + // Reader filters, straight from the URL. Applied server-side, so they + // narrow the whole feed and not just the loaded page. + filters?: Filters; + onFilters?: (f: Filters) => void; }) { - const { apiBase, target, isFolder, onMeta, onRendered, restore, remove } = props; + const { apiBase, target, isFolder, onMeta, onRendered, restore, remove, filters } = props; const q = !target ? { prefix: "" } : isFolder(target) ? { prefix: target + "/" } : { path: target }; const qs = - "path" in q && q.path !== undefined + ("path" in q && q.path !== undefined ? "path=" + encodeURIComponent(q.path) - : "prefix=" + encodeURIComponent(q.prefix ?? ""); + : "prefix=" + encodeURIComponent(q.prefix ?? "")) + + historyFilterQuery(filters).replace("?", "&"); // Paged: the server hands back a cursor while entries remain, so a project // with thousands of changes is reachable to its first one. Pages accumulate // into one array — groupRuns and prevBlob both work over the whole window, @@ -59,6 +66,8 @@ export function HistoryView(props: { staleTime: 15_000, }); + const seenAuthors = useRef(new Set()); + useEffect(() => { if (error) onMeta("History unavailable: " + (error as Error).message); }, [error, onMeta]); @@ -66,8 +75,20 @@ export function HistoryView(props: { if (data) onRendered?.(); }, [data, onRendered]); - if (!data) return null; - const entries = data.pages.flatMap((p) => p.entries || []); + const entries = data ? data.pages.flatMap((p) => p.entries || []) : []; + // The author list accumulates and never shrinks: filtering BY an author + // leaves only their rows loaded, so a list rebuilt from the current feed + // would drop every other name and strand the reader on "Anyone" as the + // only way out. + for (const a of authorsOf(entries)) seenAuthors.current.add(a); + const bar = props.onFilters && ( + + ); + if (!data) return bar ?
{bar}
: null; // Diffs are a per-file affair: the subtree feed mixes paths, and each row // there would need its own predecessor lookup for no review benefit. const perFile = !!target && !isFolder(target); @@ -103,7 +124,19 @@ export function HistoryView(props: { }; return (
- {entries.length === 0 &&
No history yet.
} + {bar} + {entries.length === 0 && + (hasHistoryFilters(filters) ? ( +
+ No changes match these filters. +
+ +
+ ) : ( +
No history yet.
+ ))} {groupRuns(entries).map((item, n) => item.run ? ( { assert.equal(r.path, "notes/a b"); assert.equal(r.trailingSlash, true); }); + +// History filters live in the URL, so a narrowed feed is linkable and comes +// back on reload and Back. Round-trip: parse → build → same URL. +test("history filters round-trip through the URL", () => { + const r = parseRoute("/p-1/history/notes?q=runbook&user=mira@acme.io&since=2026-07-01&until=2026-07-31", "hub"); + assert.equal(r.view, "history"); + assert.equal(r.viewTarget, "notes"); + assert.deepEqual(r.filters, { + q: "runbook", + user: "mira@acme.io", + since: "2026-07-01", + until: "2026-07-31", + }); + assert.equal( + urlForView("history", "p-1", "notes", r.filters), + "/p-1/history/notes?q=runbook&user=mira%40acme.io&since=2026-07-01&until=2026-07-31", + ); +}); + +// An unfiltered feed keeps the bare URL it has always had — no empty ?q=. +test("no filters means no query string", () => { + assert.equal(parseRoute("/p-1/history", "hub").filters, undefined); + assert.equal(historyFilterQuery(undefined), ""); + assert.equal(historyFilterQuery({ q: "" }), ""); + assert.equal(urlForView("history", "p-1"), "/p-1/history"); + // other views ignore them entirely + assert.equal(urlForView("dashboard", "p-1", "", { q: "x" }), "/p-1/dashboard"); +}); diff --git a/internal/webapp/frontend/src/router.ts b/internal/webapp/frontend/src/router.ts index 673bb8d..170538d 100644 --- a/internal/webapp/frontend/src/router.ts +++ b/internal/webapp/frontend/src/router.ts @@ -32,6 +32,31 @@ const LEGACY_VIEWS: Record = { insights: "dashboard" }; export type ViewName = "dashboard" | "history" | "install" | "settings"; +// How a reader has narrowed the history feed. Server-side filters, so they +// ride to the API verbatim — and they live in the URL rather than component +// state so a filtered feed is linkable, survives reload, and comes back on +// Back like any other page (see CLAUDE.md: every surface owns a URL). +export interface HistoryFilters { + q?: string; // substring of the path + user?: string; // exact account + since?: string; // YYYY-MM-DD (UTC), inclusive + until?: string; // YYYY-MM-DD (UTC), inclusive +} +export const HISTORY_FILTER_KEYS = ["q", "user", "since", "until"] as const; + +export function hasHistoryFilters(f?: HistoryFilters): boolean { + return !!f && HISTORY_FILTER_KEYS.some((k) => !!f[k]); +} + +// The query string for a filter set — "" when nothing is set, so an +// unfiltered view keeps the bare URL it has always had. +export function historyFilterQuery(f?: HistoryFilters): string { + const p = new URLSearchParams(); + for (const k of HISTORY_FILTER_KEYS) if (f?.[k]) p.set(k, f[k]!); + const s = p.toString(); + return s ? "?" + s : ""; +} + export interface Route { // Org administration is not project-scoped, so it is a top-level route // rather than a view under a project. The server hands out this URL (see @@ -63,6 +88,9 @@ export interface Route { // not a property of the project — a teammate connecting next week has their // own answer, and would be told the wrong thing by a persisted flag. connect?: string; + // History feed filters (?q=&user=&since=&until=). Only ever set on the + // history view; absent when nothing is filtered. + filters?: HistoryFilters; } // `url` is pathname + search (what useLocationPath hands back). @@ -74,6 +102,12 @@ export function parseRoute(url: string, mode: "volume" | "hub"): Route { const r = parsePath(qi === -1 ? url : url.slice(0, qi), mode); if (version) r.version = version; if (connect) r.connect = connect; + const filters: HistoryFilters = {}; + for (const k of HISTORY_FILTER_KEYS) { + const v = q?.get(k); + if (v) filters[k] = v; + } + if (hasHistoryFilters(filters)) r.filters = filters; return r; } @@ -120,9 +154,15 @@ export function urlForPath(path: string, projectId?: string, version?: string): return "/" + enc + q; } -// The URL for a special view of a project. -export function urlForView(view: ViewName, projectId?: string, target?: string): string { +// The URL for a special view of a project, optionally carrying the history +// filter set (ignored by every other view). +export function urlForView( + view: ViewName, + projectId?: string, + target?: string, + filters?: HistoryFilters, +): string { let s = (projectId ? "/" + projectId : "") + "/" + view; if (target) s += "/" + encodePath(target.replace(/\/+$/, "")); - return s; + return s + (view === "history" ? historyFilterQuery(filters) : ""); } diff --git a/internal/webapp/frontend/src/style.css b/internal/webapp/frontend/src/style.css index b7c5e10..97242cd 100644 --- a/internal/webapp/frontend/src/style.css +++ b/internal/webapp/frontend/src/style.css @@ -661,6 +661,23 @@ a.ai-main:hover { color: var(--accent); } .in-matrix rect:hover { opacity: .85; } /* ---- history ---- */ +/* The filter bar. Wraps rather than scrolls: every control has to stay + reachable on a phone, and a horizontally scrolled toolbar hides the + Clear that gets you back out. */ +.hfilters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 0 12px; border-bottom: 1px solid var(--border); margin-bottom: 4px; } +.hf-search { position: relative; display: flex; align-items: center; flex: 1 1 200px; min-width: 160px; } +.hf-search .ico { position: absolute; left: 9px; width: 14px; height: 14px; color: var(--text-ghost); pointer-events: none; } +.hf-search input { height: 30px; padding-left: 29px; font-size: 12.5px; border-radius: var(--r-ctl); background: var(--surface); } +.hf-search input::-webkit-search-cancel-button { filter: invert(.6); } +.hf-user { height: 30px; max-width: 190px; padding: 0 8px; border-radius: var(--r-ctl); border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-size: 12.5px; cursor: pointer; } +.hf-dates { display: flex; align-items: center; gap: 6px; } +.hf-lbl { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-ghost); } +.hf-date { width: 140px; height: 30px; font-size: 12.5px; border-radius: var(--r-ctl); background: var(--surface); } +.hf-date::-webkit-calendar-picker-indicator { filter: invert(.6); cursor: pointer; } +.hf-dash { color: var(--text-ghost); } +.hf-clear { height: 30px; padding: 0 10px; border: none; border-radius: var(--r-ctl); background: none; color: var(--text-dim); font: inherit; font-size: 12.5px; cursor: pointer; } +.hf-clear:hover { color: var(--text); background: var(--hover); } +.hf-clear-empty { margin-top: 12px; } /* .history width comes from .page (app) */ .hentry { padding: 11px 12px; border-bottom: 1px solid var(--border); --hindent: 72px; } .hentry:hover { background: rgba(255,255,255,.015); } @@ -851,6 +868,11 @@ a.ai-main:hover { color: var(--accent); } wrap so the controls keep room next to long names/URLs. */ .admin-item { flex-wrap: wrap; row-gap: 8px; padding: 12px 14px; } .admin-item select { height: 44px; } + /* 30px controls are too small to tap; the bar already wraps, so growing + them costs nothing but a second row. */ + .hf-search input, .hf-user, .hf-date, .hf-clear { height: 44px; } + .hf-dates { flex: 1 1 100%; } + .hf-date { flex: 1; width: auto; min-width: 0; } .ai-btn, .ai-del { height: auto; min-height: 44px; padding: 0 12px; } /* react-table renders rows as `display: table-row`, which makes every flex rule above inert and lets the last column (Remove) fall outside diff --git a/internal/webapp/history.go b/internal/webapp/history.go index 1251297..93f1341 100644 --- a/internal/webapp/history.go +++ b/internal/webapp/history.go @@ -96,10 +96,38 @@ func decodeCursor(s string) (journal.Op, error) { return journal.Op{Time: time.Unix(0, c.T).UTC(), Lamport: c.L, Seq: c.S, Device: c.D}, nil } +// parseHistTime accepts RFC3339 or a bare YYYY-MM-DD (UTC). A bare date is +// the start of that day; `end` bumps it by 24h so ?until= includes the +// whole day — the bound is then exclusive on both parses, which is what an +// inclusive "until this date" means once you stop thinking in instants. +func parseHistTime(s string, end bool) (time.Time, bool) { + if t, err := time.Parse(time.RFC3339, s); err == nil { + if end { + t = t.Add(time.Nanosecond) // RFC3339 bound is inclusive to the second + } + return t.UTC(), true + } + t, err := time.Parse("2006-01-02", s) + if err != nil { + return time.Time{}, false + } + if end { + t = t.AddDate(0, 0, 1) + } + return t.UTC(), true +} + // handleHistory serves ?path= (one file's versions) or // ?prefix= (everything underneath, "" = the whole project), // newest first by wall-clock time, at most ?n= entries (default 100). // +// Reader filters — ?q= (case-insensitive substring of the path), ?user= +// (exact account), ?since=/?until= (UTC bounds, inclusive at both ends) — +// compose with each other and with path/prefix. They are applied in the same +// walk as path/prefix, i.e. BEFORE the sort and the cursor skip, so +// next_cursor keeps meaning "the next matching entry" and paging under a +// filter needs no new machinery. +// // Paging: the response carries next_cursor when more entries exist, and // ?cursor= resumes just past the entry it was minted from — so history older // than one page is reachable, and the UI can tell whether it is hiding @@ -129,6 +157,26 @@ func (s *Server) handleHistory(v *volume, w http.ResponseWriter, r *http.Request return } } + needle := strings.ToLower(q.Get("q")) // lowered once, not per op + user := q.Get("user") + var since, until time.Time + // since > until is not an error: it means "nothing", which is what it returns. + for _, b := range []struct { + name string + end bool + into *time.Time + }{{"since", false, &since}, {"until", true, &until}} { + raw := q.Get(b.name) + if raw == "" { + continue + } + t, ok := parseHistTime(raw, b.end) + if !ok { + http.Error(w, "invalid "+b.name, http.StatusBadRequest) + return + } + *b.into = t + } all, err := rs.loadOps(r.Context()) if err != nil { http.Error(w, err.Error(), http.StatusBadGateway) @@ -164,6 +212,14 @@ func (s *Server) handleHistory(v *volume, w http.ResponseWriter, r *http.Request continue case path == "" && prefix != "" && !strings.HasPrefix(op.Path, strings.TrimSuffix(prefix, "/")+"/"): continue + case needle != "" && !strings.Contains(strings.ToLower(op.Path), needle): + continue + case user != "" && op.User != user: + continue + case !since.IsZero() && op.Time.Before(since): + continue + case !until.IsZero() && !op.Time.Before(until): + continue } // Unregistered device (or volume mode, where Devices is nil): fall back // to the op's own id + self-reported name. diff --git a/internal/webapp/history_test.go b/internal/webapp/history_test.go index eab87f1..ba024b8 100644 --- a/internal/webapp/history_test.go +++ b/internal/webapp/history_test.go @@ -54,6 +54,24 @@ func (f *fakeRemote) putAt(dev, path, content string, at time.Time) { writeFileT(f.t, p, data) } +// putFull writes a put carrying both an account and a wall-clock time — what +// the filter tests need to slice a feed by author and by day at once. +func (f *fakeRemote) putFull(dev, user, path, content string, at time.Time) { + f.t.Helper() + f.putAs(dev, user, strings.ToUpper(user[:1])+user[1:], path, content) + p := filepath.Join(f.dir, "journal", dev+".jsonl") + ops, err := journal.ReadFile(p) + if err != nil || len(ops) == 0 { + f.t.Fatal(err) + } + ops[len(ops)-1].Time = at + data, err := journal.Marshal(ops) + if err != nil { + f.t.Fatal(err) + } + writeFileT(f.t, p, data) +} + func writeFileT(t *testing.T, path string, data []byte) { t.Helper() if err := os.WriteFile(path, data, 0o644); err != nil { @@ -400,6 +418,137 @@ func TestHistoryPagingAcrossLamportAndTime(t *testing.T) { } } +// seedFiltered builds a feed with two authors, three days and paths that +// differ in case, so every filter has something to include and something to +// leave out. +func seedFiltered(t *testing.T) (http.Handler, string) { + t.Helper() + srv, p, root := newHub(t, false, nil) + f := newFakeRemoteAt(t, filepath.Join(root, p.ID)) + day := func(d, h int) time.Time { return time.Date(2026, 7, d, h, 30, 0, 0, time.UTC) } + f.putFull("dev1", "mira@acme.io", "docs/Runbook.md", "v1", day(1, 9)) + f.putFull("dev1", "mira@acme.io", "docs/runbook-old.md", "v1", day(15, 12)) + f.putFull("dev2", "ken@acme.io", "docs/plan.md", "p1", day(31, 23)) + f.putFull("dev2", "ken@acme.io", "notes/runbook.md", "n1", day(15, 0)) + return srv.Handler(), "/api/p/" + p.ID + "/" +} + +// histPaths runs one history request and returns the paths it yielded, in +// order, plus the next cursor. +func histPaths(t *testing.T, h http.Handler, u string) ([]string, string) { + t.Helper() + rec := do(t, h, "GET", u, nil) + if rec.Code != 200 { + t.Fatalf("history %s: %d %s", u, rec.Code, rec.Body) + } + var out struct { + Entries []HistoryEntry `json:"entries"` + Next string `json:"next_cursor"` + } + if err := json.Unmarshal(rec.Body.Bytes(), &out); err != nil { + t.Fatal(err) + } + got := []string{} + for _, e := range out.Entries { + got = append(got, e.Path) + } + return got, out.Next +} + +// The reader filters: substring, author, date window, and every combination +// of them — including with the existing prefix scoping. +func TestHistoryFilters(t *testing.T) { + h, base := seedFiltered(t) + for _, c := range []struct { + q string + want []string + }{ + // substring, case-insensitive, matching a path the prefix scoping couldn't express + {"q=runbook", []string{"docs/runbook-old.md", "notes/runbook.md", "docs/Runbook.md"}}, + {"q=RUNBOOK", []string{"docs/runbook-old.md", "notes/runbook.md", "docs/Runbook.md"}}, + {"q=.md", []string{"docs/plan.md", "docs/runbook-old.md", "notes/runbook.md", "docs/Runbook.md"}}, + {"q=nothing-here", []string{}}, + // author, exact + {"user=mira@acme.io", []string{"docs/runbook-old.md", "docs/Runbook.md"}}, + {"user=ken@acme.io", []string{"docs/plan.md", "notes/runbook.md"}}, + {"user=nobody@acme.io", []string{}}, + // bare dates are UTC days, inclusive at BOTH ends: the 1st 09:30 and + // the 31st 23:30 both survive a 07-01..07-31 window. + {"since=2026-07-01&until=2026-07-31", []string{"docs/plan.md", "docs/runbook-old.md", "notes/runbook.md", "docs/Runbook.md"}}, + {"since=2026-07-02", []string{"docs/plan.md", "docs/runbook-old.md", "notes/runbook.md"}}, + {"until=2026-07-15", []string{"docs/runbook-old.md", "notes/runbook.md", "docs/Runbook.md"}}, + {"since=2026-07-15&until=2026-07-15", []string{"docs/runbook-old.md", "notes/runbook.md"}}, + // an RFC3339 bound is inclusive to the second it names + {"since=2026-07-31T23:30:00Z", []string{"docs/plan.md"}}, + {"until=2026-07-01T09:30:00Z", []string{"docs/Runbook.md"}}, + // since > until means nothing, not an error + {"since=2026-07-31&until=2026-07-01", []string{}}, + // composed with each other… + {"q=runbook&user=mira@acme.io", []string{"docs/runbook-old.md", "docs/Runbook.md"}}, + {"q=runbook&user=mira@acme.io&since=2026-07-10&until=2026-07-20", []string{"docs/runbook-old.md"}}, + // …and with the existing prefix/path scoping + {"prefix=docs/&q=runbook", []string{"docs/runbook-old.md", "docs/Runbook.md"}}, + {"prefix=notes/&user=mira@acme.io", []string{}}, + {"path=docs/Runbook.md&q=runbook", []string{"docs/Runbook.md"}}, + {"path=docs/Runbook.md&user=ken@acme.io", []string{}}, + } { + if got, _ := histPaths(t, h, base+"history?"+c.q); !slices.Equal(got, c.want) { + t.Errorf("?%s = %v, want %v", c.q, got, c.want) + } + } +} + +// Filtering happens before the cursor skip, so paging a filtered feed walks +// exactly the unpaged filtered set — no repeats, no gaps, same order. Filter +// after the skip and this test loses entries. +func TestHistoryFilterPaging(t *testing.T) { + h, base := seedFiltered(t) + filter := "q=runbook" + want, next := histPaths(t, h, base+"history?"+filter) + if len(want) != 3 || next != "" { + t.Fatalf("unpaged filtered feed = %v (next %q)", want, next) + } + var got []string + cursor := "" + for pages := 0; ; pages++ { + if pages > len(want) { + t.Fatalf("paging did not terminate: %v", got) + } + page, next := histPaths(t, h, base+"history?"+filter+"&n=2"+cursorArg(cursor)) + if len(page) == 0 { + t.Fatalf("empty page %d", pages) + } + got = append(got, page...) + if next == "" { + break + } + cursor = next + } + if !slices.Equal(got, want) { + t.Fatalf("paged filtered = %v, want %v", got, want) + } +} + +// A date we can't parse is a 400, not a silently unfiltered feed. +func TestHistoryBadDateRange(t *testing.T) { + h, base := seedFiltered(t) + for _, q := range []string{"since=yesterday", "until=2026-13-45", "since=2026-07-01&until=soon", "since="} { + rec := do(t, h, "GET", base+"history?"+q, nil) + if q == "since=" { // an empty value is "no filter", like every other param + if rec.Code != 200 { + t.Errorf("?%s = %d, want 200", q, rec.Code) + } + continue + } + if rec.Code != http.StatusBadRequest { + t.Errorf("?%s = %d, want 400", q, rec.Code) + } + if strings.Contains(rec.Body.String(), "\"entries\"") { + t.Errorf("?%s returned a feed body: %s", q, rec.Body) + } + } +} + // BenchmarkHistoryPage measures what a deep page costs: every request // re-lists and re-parses every journal (loadOps), so page 20 should cost // about what page 1 costs — the ceiling is gone, the per-page work is not. diff --git a/internal/webapp/static/assets/index-5wHD5Q1S.css b/internal/webapp/static/assets/index-5wHD5Q1S.css new file mode 100644 index 0000000..90636f7 --- /dev/null +++ b/internal/webapp/static/assets/index-5wHD5Q1S.css @@ -0,0 +1 @@ +@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--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{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-card:#15171b;--color-card-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#f5a623;--radius-ctl:7px}}@layer base,components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.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-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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))}.leading-none{--tw-leading:1;line-height:1}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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-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-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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;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}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.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] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.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(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.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:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#f5a62380}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_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)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@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}@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}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-tracking{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:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{color-scheme:dark;--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px;--page-read: 768px;--page-app: 768px;--page-wide: 1200px;--hero-top: clamp(32px, 8vh, 88px)}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-COnnvJff.woff2) format("woff2")}@font-face{font-family:Logo Fallback;src:local("Helvetica Neue"),local("Arial"),local("Segoe UI"),local("Roboto");size-adjust:73%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}:focus-visible{outline-color:var(--accent)}.admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{flex:none;display:grid;place-items:center;color:var(--accent)}#vault-name{font-family:"Jersey 10","Logo Fallback",var(--ui);font-size:18px;font-weight:400;font-synthesis:none;letter-spacing:.01em;line-height:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}.proj-mark svg{width:11px;height:11px}.proj-menu [data-slot=select-item]{display:flex;align-items:center;gap:8px}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}.tguide{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}#tree .row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree .row:hover{background:var(--hover);color:var(--text)}#tree .row.active{background:var(--glow);color:var(--accent-bright)}#tree .row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree .row:hover .ticon,#tree .row:hover .chev{color:var(--text-faint)}#tree .row.active .ticon,#tree .row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree .row.collapsed .chev{transform:rotate(-90deg)}.field-err{color:var(--del);font-size:12px;margin:6px 2px 0}.modal,#palette{translate:none}.admin-card-table{padding:0}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{width:186px;text-align:right}.admin-table tr:last-child td{border-bottom:none}.admin-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.admin-table td{padding:0;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.admin-table tr.admin-item{display:table-row}.admin-table tr.admin-item td{padding:8px 10px}.admin-card-table{overflow-x:auto}.shares-table .admin-table th:last-child,.shares-table .admin-table td:last-child{width:110px}.share-banner{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-ctl);background:var(--surface)}.share-banner .sb-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.share-banner .sb-head .ico,.share-banner .sb-head svg{width:15px;height:15px;flex:none;color:var(--accent)}.share-banner .sb-count{color:var(--text-faint);font-size:12px}.share-banner .sb-note{margin:6px 0 10px;font-size:12.5px;line-height:1.55;color:var(--text-faint);max-width:64ch}.share-banner .sb-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.share-banner .sb-link+.sb-link{margin-top:8px}.share-banner .sb-url{flex:1 1 260px;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner .sb-meta{font-size:11.5px;color:var(--text-faint)}.share-banner .sb-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}#project-select{flex:1;min-width:0;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;outline:none}#project-select>span:last-of-type{overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#project-select svg{color:var(--text-ghost)}.proj-menu{z-index:80;min-width:var(--radix-select-trigger-width, 200px);border:1px solid var(--border-2);border-radius:9px;padding:4px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059}.proj-menu [role=option]{font-size:12.5px;color:var(--text-dim);border-radius:6px;outline:none}.proj-menu [role=option][data-highlighted]{background:var(--hover);color:var(--text)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}.gh-star{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:2px;border-radius:7px;color:var(--text-faint);font-size:11px;text-decoration:none}.gh-star:hover{background:var(--hover);color:var(--text)}.gh-star .gh-mark{width:12px;height:12px;flex:none}.gh-star .ext{margin-left:auto;font-size:9px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu .plan-chip{margin-left:auto;color:var(--accent);border-color:var(--border-2)}#account-menu #signout{color:var(--del)}#account-menu #signout:hover{color:var(--del);background:var(--hover)}#billing-view .plan-chip{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.plan-grid{grid-template-columns:1fr}}.usage-bar{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.plan-price{font-size:20px;font-weight:700;margin:0 0 10px}.plan-price small{font-size:12px;color:var(--text-dim);font-weight:500}.muted-note{color:var(--text-dim);font-size:13px}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth}.page{width:100%;max-width:var(--page-app);margin-inline:auto;min-width:0}.page.read{max-width:var(--page-read)}.page.wide{max-width:var(--page-wide)}.empty{color:var(--text-faint);text-align:center;margin-top:var(--hero-top)}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.onboard{max-width:560px;margin:var(--hero-top) auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-card.ob-start{border-color:var(--border-2);box-shadow:inset 2px 0 0 var(--accent)}.ob-card.ob-start .pbtn{margin-top:2px}.ob-alt{margin:12px 0 0}.ob-alt a{color:var(--text-faint);font-size:12.5px;font-weight:600;text-decoration:none}.ob-alt a:hover{color:var(--text)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}[data-slot=input],[data-slot=textarea]{font:inherit;color:var(--text)}[data-slot=input][aria-invalid=true]:focus-visible,[data-slot=textarea][aria-invalid=true]:focus-visible{border-color:var(--del)}[data-slot=card],[data-slot=dropdown-menu-content]{border-color:var(--border)}.project-settings{display:flex;flex-direction:column;gap:14px}.project-settings>h2{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.ps-form{display:flex;flex-direction:column;gap:18px}.ps-field{display:flex;flex-direction:column;gap:7px}.ps-field label{font-size:12.5px;color:var(--text-dim)}.ps-opt{color:var(--text-ghost);font-weight:400}.ps-icon-row{display:flex;align-items:center;gap:10px}.ps-icon-row .proj-mark{width:26px;height:26px;border-radius:7px}.ps-icon-row .proj-mark svg{width:15px;height:15px}.ps-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-meta .field-err{flex:0 1 auto;margin:0}.ps-count{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ps-actions{display:flex;justify-content:flex-end}.ps-icon-grid{display:grid;grid-template-columns:repeat(6,30px);gap:4px;padding:8px}.ps-icon-cell{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.ps-icon-cell svg{width:16px;height:16px}.ps-icon-cell:hover{background:var(--hover);color:var(--text)}.ps-icon-cell.active{border-color:var(--accent);color:var(--accent-bright)}.ps-danger [data-slot=card-title]{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#d2695e;font-weight:600}.ps-chip{margin-left:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.ps-people h4{font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0}.ps-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin:0 0 10px}.ps-people select{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}.ps-people select:disabled{opacity:.6;cursor:default}.ps-note{color:var(--text-faint);font-size:12.5px;margin:0 0 12px;max-width:56ch;line-height:1.55}.ps-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}.ps-danger p{color:var(--text-dim);font-size:13px;margin:0 0 14px;max-width:52ch;line-height:1.55}.ps-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px}.ps-facts dt{color:var(--text-faint)}.ps-facts dd{margin:0;color:var(--text-dim)}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:30px 0 10px}.admin-lbl{flex:1 1 100%;margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:-2px 0 16px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-list.admin-card-table{overflow-x:auto;overflow-y:hidden}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.modal-actions .ai-btn{height:32px}.empty a{color:var(--accent);text-decoration:none;display:inline-block;padding:6px 10px}.empty a:hover{text-decoration:underline}.empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ai-copy{text-align:left;background:none;border:0;padding:6px 0;cursor:pointer}.ai-copy:hover{color:var(--text)}a.ai-main{color:var(--text-dim);text-decoration:none;padding:6px 0}a.ai-main:hover{color:var(--accent)}.th-sort{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-dim)}.proj-trigger>[data-slot=select-value]{display:block;flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-cell{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;justify-items:start}.admin-table td .role-static{text-align:left}.role-chip-row{margin:-6px 0 12px}.role-chip{margin-left:0;padding:2px 8px;border:1px solid var(--border-2);border-radius:99px;vertical-align:middle}.ext{margin-left:4px;color:var(--text-faint);font-size:11px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:var(--hover)}.field-err{flex:1 1 100%;margin:6px 0 0}.admin-row{flex-wrap:wrap}.admin-row input[aria-invalid=true]{border-color:var(--del)}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.admin-item>.ai-main{flex:1 1 55%;min-width:22ch}.admin-item>.ai-tag{flex:0 0 auto;min-width:0;max-width:45%}@media(max-width:1000px){.admin-item{flex-wrap:wrap}.admin-item>.ai-tag{flex:1 1 100%;max-width:100%}}.admin-table td .ai-main{min-width:0}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-del{color:var(--del);border-color:#f26d6d47}.ai-del:hover{background:#f26d6d1f;border-color:var(--del);color:#ff8b8b}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{margin-top:2px;flex:none}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}#account-btn.active{background:var(--glow)}#account-btn.active .acct b{color:var(--accent-bright)}.gd-body{margin-top:18px}.gd-desc{margin:2px 0 8px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-list{margin:4px 0 8px;padding-left:18px;display:grid;gap:6px}.gd-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:6px 0 10px;padding:10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text)}.gd-code>code{display:block;min-width:0;overflow-x:auto;white-space:pre}.gd-copy{align-self:start;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-manual{margin:10px 0 0}.gd-manual>summary{display:inline-block;font-size:12.5px;font-weight:600;color:var(--text-faint);cursor:pointer;padding:4px 0}.gd-manual>summary:before{content:"▸ ";color:var(--text-ghost)}.gd-manual[open]>summary:before{content:"▾ "}.gd-manual>summary:hover{color:var(--text)}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.gd-head{display:flex;align-items:center;gap:9px}.gd-head .proj-mark{width:22px;height:22px;border-radius:6px}.gd-head .proj-mark svg{width:13px;height:13px}.in-desc{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0 0 10px;max-width:62ch}.in-blank{display:grid;justify-items:center;gap:10px;padding:40px 18px;margin-top:14px;max-width:760px}.in-blank p{margin:0;max-width:52ch;line-height:1.55}.in-blank p:first-child{color:var(--text);font-size:14.5px;font-weight:600}.in-blank .pbtn{margin-top:6px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-share{background:#b478e8}.in-hp-gone{flex:none;font-size:11.5px;color:var(--text-ghost);white-space:nowrap}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-sw.share{background:#b478e8}.in-sw-age{width:84px;margin:0 5px}.in-tm-range{margin-left:14px;color:var(--text-ghost)}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.hfilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.hf-search{position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:160px}.hf-search .ico{position:absolute;left:9px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}.hf-search input{height:30px;padding-left:29px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-search input::-webkit-search-cancel-button{filter:invert(.6)}.hf-user{height:30px;max-width:190px;padding:0 8px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.hf-dates{display:flex;align-items:center;gap:6px}.hf-lbl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-ghost)}.hf-date{width:140px;height:30px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-date::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.hf-dash{color:var(--text-ghost)}.hf-clear{height:30px;padding:0 10px;border:none;border-radius:var(--r-ctl);background:none;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer}.hf-clear:hover{color:var(--text);background:var(--hover)}.hf-clear-empty{margin-top:12px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border);--hindent: 72px}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{flex:none;width:62px;white-space:nowrap;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 6px;border-radius:4px;color:var(--add);background:#4cc38a1f}.hentry.edit .hkind{color:var(--accent-bright);background:var(--glow)}.hentry.delete .hkind{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmore{display:flex;margin:14px auto}.hmore:disabled{opacity:.6;cursor:default}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"›";display:inline-block;margin-right:5px;color:var(--text-ghost);transition:transform .12s}.hnote.open:before{transform:rotate(90deg)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}.hrun{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin:10px 0;overflow:hidden}.hrun-head{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;color:var(--text);font-size:12.5px}.hrun-toggle{display:flex;flex:none;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-faint);cursor:pointer}.hrun-toggle:hover{color:var(--text);background:var(--hover)}.hrun-toggle .ico{width:13px;height:13px}.hrun-note{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.hrun-note a{color:var(--accent-bright);text-decoration:none}.hrun-note a:hover{text-decoration:underline}.hrun-meta{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrun-time{margin-left:auto;flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.hrun-body{border-top:1px solid var(--border)}.hrun-body .hentry:last-child{border-bottom:none}.hrestore-btn,.hremove-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px 2px 5px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer}.hrestore-btn:hover{color:var(--accent-bright);border-color:var(--border-2);background:var(--hover)}.hremove-btn:hover{color:var(--del);border-color:#f26d6d61;background:var(--hover)}.hrestore-btn:disabled,.hremove-btn:disabled{opacity:.5;cursor:default}.hrestore-btn .ico,.hremove-btn .ico{width:12px;height:12px}.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 23px}.hdiff-btn,.hver-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.hdiff-btn:hover,.hver-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--hover)}.hdiff-btn .ico,.hver-btn .ico{width:12px;height:12px}.hdiff-none{flex-basis:100%;font-size:12px;color:var(--text-ghost)}.dv{margin:8px 0 2px 23px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.dv-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;font-size:12px;color:var(--text-faint)}.dv-dl{display:flex;gap:12px}.dv-msg a{color:var(--accent-bright);text-decoration:none}.dv-msg a:hover{text-decoration:underline}.dv-head{display:flex;align-items:center;gap:10px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.dv-add{color:var(--add);font-weight:600}.dv-del{color:var(--del);font-weight:600}.dv-same{color:var(--text-ghost)}.dv-body{overflow-x:auto;padding:4px 0}.dv-line{display:flex;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre}.dv-n{flex:none;width:34px;padding-right:8px;text-align:right;color:var(--text-ghost);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dv-mark{flex:none;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.dv-text{padding-right:12px}.dv-ins{background:#4cc38a1a;color:var(--add)}.dv-rm{background:#f26d6d1a;color:#ff8b8b}.dv-ctx{color:var(--text-dim)}#palette{position:fixed;top:12vh;left:50%;transform:translate(-50%);z-index:151;display:block;width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden;outline:none;padding:0}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap [data-slot=command-input-wrapper]{flex:1;display:flex;border-bottom:0;padding:0;height:auto}#palette-inputwrap [data-slot=command-input-wrapper]>svg:not(.ico){display:none}#palette input,#palette input:focus{flex:1;width:100%;border:none;background:transparent;box-shadow:none;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette input::placeholder{color:var(--text-ghost)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette [cmdk-list]{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette [cmdk-item]{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette [cmdk-item][data-selected=true]{background:var(--glow)}#palette [cmdk-item][data-selected=true] .picon{color:var(--accent)}#palette [cmdk-item][data-selected=true] .plabel,#palette [cmdk-item][data-selected=true] .plabel b{color:var(--accent-bright)}#palette [cmdk-item] .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette [cmdk-item] .picon .ico{width:15px;height:15px}#palette [cmdk-item] .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette [cmdk-item] .plabel b{color:var(--accent-bright);font-weight:600}#palette [cmdk-item] .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette [cmdk-list] .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}[data-slot=dialog-overlay]{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:151;display:block;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,calc(100vw - 40px));box-shadow:0 24px 70px -18px #000c;outline:none}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-expiry{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;color:var(--text-dim)}.modal-expiry select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.modal-expiry select:disabled{opacity:.6;cursor:default}.modal-expiry-note{margin-left:auto;color:var(--text-dim)}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}.start-points{border:0;margin:0 0 18px;padding:0}.start-points legend{padding:0}.start-point{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;margin-bottom:6px}.start-point:hover{background:var(--hover)}.start-point.on{border-color:var(--accent);background:var(--hover)}.start-point input{accent-color:var(--accent);margin:2px 0 0;flex:none}.sp-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-title{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px}.sp-rec{font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;line-height:15px}.sp-blurb{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}.start-point.sp-rule{margin-top:16px}.modal{max-height:calc(100vh - 32px);overflow-y:auto}.gd-note{margin:-4px 0 16px;font-size:13px;color:var(--text-dim);border-left:2px solid var(--accent);padding-left:11px;line-height:1.55}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn,#search-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#meta{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree .row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select,.hf-search input,.hf-user,.hf-date,.hf-clear{height:44px}.hf-dates{flex:1 1 100%}.hf-date{flex:1;width:auto;min-width:0}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td{display:block;width:auto}.admin-table tr.admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-table tr.admin-item td{padding:0;border-bottom:none}.admin-table tr.admin-item td:first-child{flex:1 1 100%;width:auto}.admin-table tr.admin-item td:last-child{width:auto;text-align:left}[data-slot=dropdown-menu-item]{min-height:44px}#projects{flex:0 1 auto;max-height:none}.admin-row{flex-wrap:wrap}.admin-row input{flex:1 1 100%;min-height:44px}.admin-row button{flex:0 0 auto;align-self:flex-start;min-height:44px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.admin-table td{white-space:normal}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{white-space:normal;overflow-wrap:anywhere}.admin-item .ai-tag{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ai-copy{min-height:44px;display:block;padding:12px 0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}a.ai-main{min-height:44px;display:flex;align-items:center}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button{height:auto;min-height:44px}.modal-expiry select{height:44px}.pbtn,#palette [cmdk-item]{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-row{flex-wrap:wrap;row-gap:2px}.dl-meta{flex:1 1 100%;padding-left:27px}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.hentry{--hindent: 0px}.modal-actions .ai-del{flex:0 0 100%;justify-content:center;text-align:center}}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown .admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin input[aria-invalid=true]:focus-visible{outline-color:var(--del)}[role=dialog] input[aria-invalid=true]{border-color:var(--del)}[role=dialog] input[aria-invalid=true]:focus-visible{outline-color:var(--del)}button:disabled,.btn:disabled{cursor:default}input[type=checkbox]{accent-color:var(--accent)}.htmlview,.pdfview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}.vbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;border:1px solid var(--accent-dim);border-radius:var(--r-card);background:var(--glow)}.vbanner .vb-icon{flex:none;display:flex;color:var(--accent-bright)}.vbanner .vb-text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.45}.vbanner .vb-text b{color:var(--accent-bright);font-weight:600}.vbanner .vb-text span{color:var(--text-dim)}.vbanner .vb-actions{flex:none;display:flex;gap:8px}.vbanner .vb-actions .ai-btn{display:inline-flex;align-items:center;text-decoration:none}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere}.filecard{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/assets/index-B-zSoeQX.css b/internal/webapp/static/assets/index-B-zSoeQX.css deleted file mode 100644 index dc6291f..0000000 --- a/internal/webapp/static/assets/index-B-zSoeQX.css +++ /dev/null @@ -1 +0,0 @@ -@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--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{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-card:#15171b;--color-card-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#f5a623;--radius-ctl:7px}}@layer base,components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.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-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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))}.leading-none{--tw-leading:1;line-height:1}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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-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-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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;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}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.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] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.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(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.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:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#f5a62380}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_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)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@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}@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}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-tracking{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:"";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:"";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:"";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-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{color-scheme:dark;--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px;--page-read: 768px;--page-app: 768px;--page-wide: 1200px;--hero-top: clamp(32px, 8vh, 88px)}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-COnnvJff.woff2) format("woff2")}@font-face{font-family:Logo Fallback;src:local("Helvetica Neue"),local("Arial"),local("Segoe UI"),local("Roboto");size-adjust:73%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}:focus-visible{outline-color:var(--accent)}.admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{flex:none;display:grid;place-items:center;color:var(--accent)}#vault-name{font-family:"Jersey 10","Logo Fallback",var(--ui);font-size:18px;font-weight:400;font-synthesis:none;letter-spacing:.01em;line-height:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}.proj-mark svg{width:11px;height:11px}.proj-menu [data-slot=select-item]{display:flex;align-items:center;gap:8px}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}.tguide{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}#tree .row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree .row:hover{background:var(--hover);color:var(--text)}#tree .row.active{background:var(--glow);color:var(--accent-bright)}#tree .row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree .row:hover .ticon,#tree .row:hover .chev{color:var(--text-faint)}#tree .row.active .ticon,#tree .row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree .row.collapsed .chev{transform:rotate(-90deg)}.field-err{color:var(--del);font-size:12px;margin:6px 2px 0}.modal,#palette{translate:none}.admin-card-table{padding:0}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{width:186px;text-align:right}.admin-table tr:last-child td{border-bottom:none}.admin-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.admin-table td{padding:0;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.admin-table tr.admin-item{display:table-row}.admin-table tr.admin-item td{padding:8px 10px}.admin-card-table{overflow-x:auto}.shares-table .admin-table th:last-child,.shares-table .admin-table td:last-child{width:110px}.share-banner{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-ctl);background:var(--surface)}.share-banner .sb-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.share-banner .sb-head .ico,.share-banner .sb-head svg{width:15px;height:15px;flex:none;color:var(--accent)}.share-banner .sb-count{color:var(--text-faint);font-size:12px}.share-banner .sb-note{margin:6px 0 10px;font-size:12.5px;line-height:1.55;color:var(--text-faint);max-width:64ch}.share-banner .sb-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.share-banner .sb-link+.sb-link{margin-top:8px}.share-banner .sb-url{flex:1 1 260px;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner .sb-meta{font-size:11.5px;color:var(--text-faint)}.share-banner .sb-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}#project-select{flex:1;min-width:0;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;outline:none}#project-select>span:last-of-type{overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#project-select svg{color:var(--text-ghost)}.proj-menu{z-index:80;min-width:var(--radix-select-trigger-width, 200px);border:1px solid var(--border-2);border-radius:9px;padding:4px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059}.proj-menu [role=option]{font-size:12.5px;color:var(--text-dim);border-radius:6px;outline:none}.proj-menu [role=option][data-highlighted]{background:var(--hover);color:var(--text)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}.gh-star{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:2px;border-radius:7px;color:var(--text-faint);font-size:11px;text-decoration:none}.gh-star:hover{background:var(--hover);color:var(--text)}.gh-star .gh-mark{width:12px;height:12px;flex:none}.gh-star .ext{margin-left:auto;font-size:9px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu .plan-chip{margin-left:auto;color:var(--accent);border-color:var(--border-2)}#account-menu #signout{color:var(--del)}#account-menu #signout:hover{color:var(--del);background:var(--hover)}#billing-view .plan-chip{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.plan-grid{grid-template-columns:1fr}}.usage-bar{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.plan-price{font-size:20px;font-weight:700;margin:0 0 10px}.plan-price small{font-size:12px;color:var(--text-dim);font-weight:500}.muted-note{color:var(--text-dim);font-size:13px}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth}.page{width:100%;max-width:var(--page-app);margin-inline:auto;min-width:0}.page.read{max-width:var(--page-read)}.page.wide{max-width:var(--page-wide)}.empty{color:var(--text-faint);text-align:center;margin-top:var(--hero-top)}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.onboard{max-width:560px;margin:var(--hero-top) auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-card.ob-start{border-color:var(--border-2);box-shadow:inset 2px 0 0 var(--accent)}.ob-card.ob-start .pbtn{margin-top:2px}.ob-alt{margin:12px 0 0}.ob-alt a{color:var(--text-faint);font-size:12.5px;font-weight:600;text-decoration:none}.ob-alt a:hover{color:var(--text)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}[data-slot=input],[data-slot=textarea]{font:inherit;color:var(--text)}[data-slot=input][aria-invalid=true]:focus-visible,[data-slot=textarea][aria-invalid=true]:focus-visible{border-color:var(--del)}[data-slot=card],[data-slot=dropdown-menu-content]{border-color:var(--border)}.project-settings{display:flex;flex-direction:column;gap:14px}.project-settings>h2{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.ps-form{display:flex;flex-direction:column;gap:18px}.ps-field{display:flex;flex-direction:column;gap:7px}.ps-field label{font-size:12.5px;color:var(--text-dim)}.ps-opt{color:var(--text-ghost);font-weight:400}.ps-icon-row{display:flex;align-items:center;gap:10px}.ps-icon-row .proj-mark{width:26px;height:26px;border-radius:7px}.ps-icon-row .proj-mark svg{width:15px;height:15px}.ps-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-meta .field-err{flex:0 1 auto;margin:0}.ps-count{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ps-actions{display:flex;justify-content:flex-end}.ps-icon-grid{display:grid;grid-template-columns:repeat(6,30px);gap:4px;padding:8px}.ps-icon-cell{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.ps-icon-cell svg{width:16px;height:16px}.ps-icon-cell:hover{background:var(--hover);color:var(--text)}.ps-icon-cell.active{border-color:var(--accent);color:var(--accent-bright)}.ps-danger [data-slot=card-title]{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#d2695e;font-weight:600}.ps-chip{margin-left:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.ps-people h4{font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0}.ps-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin:0 0 10px}.ps-people select{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}.ps-people select:disabled{opacity:.6;cursor:default}.ps-note{color:var(--text-faint);font-size:12.5px;margin:0 0 12px;max-width:56ch;line-height:1.55}.ps-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}.ps-danger p{color:var(--text-dim);font-size:13px;margin:0 0 14px;max-width:52ch;line-height:1.55}.ps-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px}.ps-facts dt{color:var(--text-faint)}.ps-facts dd{margin:0;color:var(--text-dim)}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:30px 0 10px}.admin-lbl{flex:1 1 100%;margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:-2px 0 16px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-list.admin-card-table{overflow-x:auto;overflow-y:hidden}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.modal-actions .ai-btn{height:32px}.empty a{color:var(--accent);text-decoration:none;display:inline-block;padding:6px 10px}.empty a:hover{text-decoration:underline}.empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ai-copy{text-align:left;background:none;border:0;padding:6px 0;cursor:pointer}.ai-copy:hover{color:var(--text)}a.ai-main{color:var(--text-dim);text-decoration:none;padding:6px 0}a.ai-main:hover{color:var(--accent)}.th-sort{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-dim)}.proj-trigger>[data-slot=select-value]{display:block;flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-cell{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;justify-items:start}.admin-table td .role-static{text-align:left}.role-chip-row{margin:-6px 0 12px}.role-chip{margin-left:0;padding:2px 8px;border:1px solid var(--border-2);border-radius:99px;vertical-align:middle}.ext{margin-left:4px;color:var(--text-faint);font-size:11px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:var(--hover)}.field-err{flex:1 1 100%;margin:6px 0 0}.admin-row{flex-wrap:wrap}.admin-row input[aria-invalid=true]{border-color:var(--del)}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.admin-item>.ai-main{flex:1 1 55%;min-width:22ch}.admin-item>.ai-tag{flex:0 0 auto;min-width:0;max-width:45%}@media(max-width:1000px){.admin-item{flex-wrap:wrap}.admin-item>.ai-tag{flex:1 1 100%;max-width:100%}}.admin-table td .ai-main{min-width:0}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-del{color:var(--del);border-color:#f26d6d47}.ai-del:hover{background:#f26d6d1f;border-color:var(--del);color:#ff8b8b}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{margin-top:2px;flex:none}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}#account-btn.active{background:var(--glow)}#account-btn.active .acct b{color:var(--accent-bright)}.gd-body{margin-top:18px}.gd-desc{margin:2px 0 8px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-list{margin:4px 0 8px;padding-left:18px;display:grid;gap:6px}.gd-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:6px 0 10px;padding:10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text)}.gd-code>code{display:block;min-width:0;overflow-x:auto;white-space:pre}.gd-copy{align-self:start;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-manual{margin:10px 0 0}.gd-manual>summary{display:inline-block;font-size:12.5px;font-weight:600;color:var(--text-faint);cursor:pointer;padding:4px 0}.gd-manual>summary:before{content:"▸ ";color:var(--text-ghost)}.gd-manual[open]>summary:before{content:"▾ "}.gd-manual>summary:hover{color:var(--text)}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.gd-head{display:flex;align-items:center;gap:9px}.gd-head .proj-mark{width:22px;height:22px;border-radius:6px}.gd-head .proj-mark svg{width:13px;height:13px}.in-desc{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0 0 10px;max-width:62ch}.in-blank{display:grid;justify-items:center;gap:10px;padding:40px 18px;margin-top:14px;max-width:760px}.in-blank p{margin:0;max-width:52ch;line-height:1.55}.in-blank p:first-child{color:var(--text);font-size:14.5px;font-weight:600}.in-blank .pbtn{margin-top:6px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-share{background:#b478e8}.in-hp-gone{flex:none;font-size:11.5px;color:var(--text-ghost);white-space:nowrap}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-sw.share{background:#b478e8}.in-sw-age{width:84px;margin:0 5px}.in-tm-range{margin-left:14px;color:var(--text-ghost)}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.hentry{padding:11px 12px;border-bottom:1px solid var(--border);--hindent: 72px}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{flex:none;width:62px;white-space:nowrap;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 6px;border-radius:4px;color:var(--add);background:#4cc38a1f}.hentry.edit .hkind{color:var(--accent-bright);background:var(--glow)}.hentry.delete .hkind{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmore{display:flex;margin:14px auto}.hmore:disabled{opacity:.6;cursor:default}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"›";display:inline-block;margin-right:5px;color:var(--text-ghost);transition:transform .12s}.hnote.open:before{transform:rotate(90deg)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}.hrun{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin:10px 0;overflow:hidden}.hrun-head{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;color:var(--text);font-size:12.5px}.hrun-toggle{display:flex;flex:none;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-faint);cursor:pointer}.hrun-toggle:hover{color:var(--text);background:var(--hover)}.hrun-toggle .ico{width:13px;height:13px}.hrun-note{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.hrun-note a{color:var(--accent-bright);text-decoration:none}.hrun-note a:hover{text-decoration:underline}.hrun-meta{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrun-time{margin-left:auto;flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.hrun-body{border-top:1px solid var(--border)}.hrun-body .hentry:last-child{border-bottom:none}.hrestore-btn,.hremove-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px 2px 5px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer}.hrestore-btn:hover{color:var(--accent-bright);border-color:var(--border-2);background:var(--hover)}.hremove-btn:hover{color:var(--del);border-color:#f26d6d61;background:var(--hover)}.hrestore-btn:disabled,.hremove-btn:disabled{opacity:.5;cursor:default}.hrestore-btn .ico,.hremove-btn .ico{width:12px;height:12px}.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 23px}.hdiff-btn,.hver-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.hdiff-btn:hover,.hver-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--hover)}.hdiff-btn .ico,.hver-btn .ico{width:12px;height:12px}.hdiff-none{flex-basis:100%;font-size:12px;color:var(--text-ghost)}.dv{margin:8px 0 2px 23px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.dv-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;font-size:12px;color:var(--text-faint)}.dv-dl{display:flex;gap:12px}.dv-msg a{color:var(--accent-bright);text-decoration:none}.dv-msg a:hover{text-decoration:underline}.dv-head{display:flex;align-items:center;gap:10px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.dv-add{color:var(--add);font-weight:600}.dv-del{color:var(--del);font-weight:600}.dv-same{color:var(--text-ghost)}.dv-body{overflow-x:auto;padding:4px 0}.dv-line{display:flex;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre}.dv-n{flex:none;width:34px;padding-right:8px;text-align:right;color:var(--text-ghost);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dv-mark{flex:none;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.dv-text{padding-right:12px}.dv-ins{background:#4cc38a1a;color:var(--add)}.dv-rm{background:#f26d6d1a;color:#ff8b8b}.dv-ctx{color:var(--text-dim)}#palette{position:fixed;top:12vh;left:50%;transform:translate(-50%);z-index:151;display:block;width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden;outline:none;padding:0}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap [data-slot=command-input-wrapper]{flex:1;display:flex;border-bottom:0;padding:0;height:auto}#palette-inputwrap [data-slot=command-input-wrapper]>svg:not(.ico){display:none}#palette input,#palette input:focus{flex:1;width:100%;border:none;background:transparent;box-shadow:none;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette input::placeholder{color:var(--text-ghost)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette [cmdk-list]{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette [cmdk-item]{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette [cmdk-item][data-selected=true]{background:var(--glow)}#palette [cmdk-item][data-selected=true] .picon{color:var(--accent)}#palette [cmdk-item][data-selected=true] .plabel,#palette [cmdk-item][data-selected=true] .plabel b{color:var(--accent-bright)}#palette [cmdk-item] .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette [cmdk-item] .picon .ico{width:15px;height:15px}#palette [cmdk-item] .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette [cmdk-item] .plabel b{color:var(--accent-bright);font-weight:600}#palette [cmdk-item] .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette [cmdk-list] .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}[data-slot=dialog-overlay]{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:151;display:block;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,calc(100vw - 40px));box-shadow:0 24px 70px -18px #000c;outline:none}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-expiry{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;color:var(--text-dim)}.modal-expiry select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.modal-expiry select:disabled{opacity:.6;cursor:default}.modal-expiry-note{margin-left:auto;color:var(--text-dim)}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}.start-points{border:0;margin:0 0 18px;padding:0}.start-points legend{padding:0}.start-point{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;margin-bottom:6px}.start-point:hover{background:var(--hover)}.start-point.on{border-color:var(--accent);background:var(--hover)}.start-point input{accent-color:var(--accent);margin:2px 0 0;flex:none}.sp-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-title{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px}.sp-rec{font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;line-height:15px}.sp-blurb{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}.start-point.sp-rule{margin-top:16px}.modal{max-height:calc(100vh - 32px);overflow-y:auto}.gd-note{margin:-4px 0 16px;font-size:13px;color:var(--text-dim);border-left:2px solid var(--accent);padding-left:11px;line-height:1.55}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn,#search-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#meta{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree .row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select{height:44px}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td{display:block;width:auto}.admin-table tr.admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-table tr.admin-item td{padding:0;border-bottom:none}.admin-table tr.admin-item td:first-child{flex:1 1 100%;width:auto}.admin-table tr.admin-item td:last-child{width:auto;text-align:left}[data-slot=dropdown-menu-item]{min-height:44px}#projects{flex:0 1 auto;max-height:none}.admin-row{flex-wrap:wrap}.admin-row input{flex:1 1 100%;min-height:44px}.admin-row button{flex:0 0 auto;align-self:flex-start;min-height:44px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.admin-table td{white-space:normal}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{white-space:normal;overflow-wrap:anywhere}.admin-item .ai-tag{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ai-copy{min-height:44px;display:block;padding:12px 0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}a.ai-main{min-height:44px;display:flex;align-items:center}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button{height:auto;min-height:44px}.modal-expiry select{height:44px}.pbtn,#palette [cmdk-item]{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-row{flex-wrap:wrap;row-gap:2px}.dl-meta{flex:1 1 100%;padding-left:27px}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.hentry{--hindent: 0px}.modal-actions .ai-del{flex:0 0 100%;justify-content:center;text-align:center}}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown .admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin input[aria-invalid=true]:focus-visible{outline-color:var(--del)}[role=dialog] input[aria-invalid=true]{border-color:var(--del)}[role=dialog] input[aria-invalid=true]:focus-visible{outline-color:var(--del)}button:disabled,.btn:disabled{cursor:default}input[type=checkbox]{accent-color:var(--accent)}.htmlview,.pdfview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}.vbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;border:1px solid var(--accent-dim);border-radius:var(--r-card);background:var(--glow)}.vbanner .vb-icon{flex:none;display:flex;color:var(--accent-bright)}.vbanner .vb-text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.45}.vbanner .vb-text b{color:var(--accent-bright);font-weight:600}.vbanner .vb-text span{color:var(--text-dim)}.vbanner .vb-actions{flex:none;display:flex;gap:8px}.vbanner .vb-actions .ai-btn{display:inline-flex;align-items:center;text-decoration:none}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere}.filecard{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/assets/index-COxpF7T6.js b/internal/webapp/static/assets/index-COxpF7T6.js new file mode 100644 index 0000000..635d688 --- /dev/null +++ b/internal/webapp/static/assets/index-COxpF7T6.js @@ -0,0 +1,120 @@ +function f2(e,n){for(var r=0;ri[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function r(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=r(s);fetch(s.href,l)}})();function gw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Rh={exports:{}},Is={};var sb;function h2(){if(sb)return Is;sb=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(i,s,l){var u=null;if(l!==void 0&&(u=""+l),s.key!==void 0&&(u=""+s.key),"key"in s){l={};for(var d in s)d!=="key"&&(l[d]=s[d])}else l=s;return s=l.ref,{$$typeof:e,type:i,key:u,ref:s!==void 0?s:null,props:l}}return Is.Fragment=n,Is.jsx=r,Is.jsxs=r,Is}var lb;function m2(){return lb||(lb=1,Rh.exports=h2()),Rh.exports}var f=m2(),jh={exports:{}},Pe={};var cb;function p2(){if(cb)return Pe;cb=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),b=Symbol.iterator;function x(k){return k===null||typeof k!="object"?null:(k=b&&k[b]||k["@@iterator"],typeof k=="function"?k:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,E={};function R(k,M,H){this.props=k,this.context=M,this.refs=E,this.updater=H||_}R.prototype.isReactComponent={},R.prototype.setState=function(k,M){if(typeof k!="object"&&typeof k!="function"&&k!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,k,M,"setState")},R.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function O(){}O.prototype=R.prototype;function T(k,M,H){this.props=k,this.context=M,this.refs=E,this.updater=H||_}var z=T.prototype=new O;z.constructor=T,C(z,R.prototype),z.isPureReactComponent=!0;var $=Array.isArray;function B(){}var F={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function pe(k,M,H){var X=H.ref;return{$$typeof:e,type:k,key:M,ref:X!==void 0?X:null,props:H}}function ge(k,M){return pe(k.type,M,k.props)}function fe(k){return typeof k=="object"&&k!==null&&k.$$typeof===e}function Q(k){var M={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(H){return M[H]})}var le=/\/+/g;function ue(k,M){return typeof k=="object"&&k!==null&&k.key!=null?Q(""+k.key):M.toString(36)}function xe(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(B,B):(k.status="pending",k.then(function(M){k.status==="pending"&&(k.status="fulfilled",k.value=M)},function(M){k.status==="pending"&&(k.status="rejected",k.reason=M)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function N(k,M,H,X,K){var se=typeof k;(se==="undefined"||se==="boolean")&&(k=null);var ee=!1;if(k===null)ee=!0;else switch(se){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(k.$$typeof){case e:case n:ee=!0;break;case y:return ee=k._init,N(ee(k._payload),M,H,X,K)}}if(ee)return K=K(k),ee=X===""?"."+ue(k,0):X,$(K)?(H="",ee!=null&&(H=ee.replace(le,"$&/")+"/"),N(K,M,H,"",function(Ne){return Ne})):K!=null&&(fe(K)&&(K=ge(K,H+(K.key==null||k&&k.key===K.key?"":(""+K.key).replace(le,"$&/")+"/")+ee)),M.push(K)),1;ee=0;var ve=X===""?".":X+":";if($(k))for(var ye=0;ye>>1,ne=N[te];if(0>>1;tes(H,ae))Xs(K,H)?(N[te]=K,N[X]=ae,te=X):(N[te]=H,N[M]=ae,te=M);else if(Xs(K,ae))N[te]=K,N[X]=ae,te=X;else break e}}return q}function s(N,q){var ae=N.sortIndex-q.sortIndex;return ae!==0?ae:N.id-q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var p=[],m=[],y=1,v=null,b=3,x=!1,_=!1,C=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function z(N){for(var q=r(m);q!==null;){if(q.callback===null)i(m);else if(q.startTime<=N)i(m),q.sortIndex=q.expirationTime,n(p,q);else break;q=r(m)}}function $(N){if(C=!1,z(N),!_)if(r(p)!==null)_=!0,B||(B=!0,Q());else{var q=r(m);q!==null&&xe($,q.startTime-N)}}var B=!1,F=-1,V=5,pe=-1;function ge(){return E?!0:!(e.unstable_now()-peN&&ge());){var te=v.callback;if(typeof te=="function"){v.callback=null,b=v.priorityLevel;var ne=te(v.expirationTime<=N);if(N=e.unstable_now(),typeof ne=="function"){v.callback=ne,z(N),q=!0;break t}v===r(p)&&i(p),z(N)}else i(p);v=r(p)}if(v!==null)q=!0;else{var k=r(m);k!==null&&xe($,k.startTime-N),q=!1}}break e}finally{v=null,b=ae,x=!1}q=void 0}}finally{q?Q():B=!1}}}var Q;if(typeof T=="function")Q=function(){T(fe)};else if(typeof MessageChannel<"u"){var le=new MessageChannel,ue=le.port2;le.port1.onmessage=fe,Q=function(){ue.postMessage(null)}}else Q=function(){R(fe,0)};function xe(N,q){F=R(function(){N(e.unstable_now())},q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(N){N.callback=null},e.unstable_forceFrameRate=function(N){0>N||125te?(N.sortIndex=ae,n(m,N),r(p)===null&&N===r(m)&&(C?(O(F),F=-1):C=!0,xe($,ae-te))):(N.sortIndex=ne,n(p,N),_||x||(_=!0,B||(B=!0,Q()))),N},e.unstable_shouldYield=ge,e.unstable_wrapCallback=function(N){var q=b;return function(){var ae=b;b=q;try{return N.apply(this,arguments)}finally{b=ae}}}})(Ah)),Ah}var fb;function v2(){return fb||(fb=1,Oh.exports=g2()),Oh.exports}var Mh={exports:{}},dn={};var hb;function y2(){if(hb)return dn;hb=1;var e=tp();function n(p){var m="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Mh.exports=y2(),Mh.exports}var pb;function b2(){if(pb)return Ps;pb=1;var e=v2(),n=tp(),r=vw();function i(t){var a="https://react.dev/errors/"+t;if(1ne||(t.current=te[ne],te[ne]=null,ne--)}function H(t,a){ne++,te[ne]=t.current,t.current=a}var X=k(null),K=k(null),se=k(null),ee=k(null);function ve(t,a){switch(H(se,a),H(K,t),H(X,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?A0(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=A0(a),t=M0(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}M(X),H(X,t)}function ye(){M(X),M(K),M(se)}function Ne(t){t.memoizedState!==null&&H(ee,t);var a=X.current,o=M0(a,t.type);a!==o&&(H(K,t),H(X,o))}function Ie(t){K.current===t&&(M(X),M(K)),ee.current===t&&(M(ee),zs._currentValue=ae)}var Fe,ft;function Qe(t){if(Fe===void 0)try{throw Error()}catch(o){var a=o.stack.trim().match(/\n( *(at )?)/);Fe=a&&a[1]||"",ft=-1)":-1h||L[c]!==Z[h]){var re=` +`+L[c].replace(" at new "," at ");return t.displayName&&re.includes("")&&(re=re.replace("",t.displayName)),re}while(1<=c&&0<=h);break}}}finally{vn=!1,Error.prepareStackTrace=o}return(o=t?t.displayName||t.name:"")?Qe(o):""}function Kt(t,a){switch(t.tag){case 26:case 27:case 5:return Qe(t.type);case 16:return Qe("Lazy");case 13:return t.child!==a&&a!==null?Qe("Suspense Fallback"):Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 15:return un(t.type,!1);case 11:return un(t.type.render,!1);case 1:return un(t.type,!0);case 31:return Qe("Activity");default:return""}}function ir(t){try{var a="",o=null;do a+=Kt(t,o),o=t,t=t.return;while(t);return a}catch(c){return` +Error generating stack: `+c.message+` +`+c.stack}}var Dt=Object.prototype.hasOwnProperty,or=e.unstable_scheduleCallback,Dr=e.unstable_cancelCallback,Tt=e.unstable_shouldYield,Un=e.unstable_requestPaint,wt=e.unstable_now,oa=e.unstable_getCurrentPriorityLevel,yn=e.unstable_ImmediatePriority,zr=e.unstable_UserBlockingPriority,sr=e.unstable_NormalPriority,Yt=e.unstable_LowPriority,bn=e.unstable_IdlePriority,A=e.log,D=e.unstable_setDisableYieldValue,I=null,J=null;function ce(t){if(typeof A=="function"&&D(t),J&&typeof J.setStrictMode=="function")try{J.setStrictMode(I,t)}catch{}}var me=Math.clz32?Math.clz32:je,be=Math.log,we=Math.LN2;function je(t){return t>>>=0,t===0?32:31-(be(t)/we|0)|0}var et=256,St=262144,Qt=4194304;function zt(t){var a=t&42;if(a!==0)return a;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Me(t,a,o){var c=t.pendingLanes;if(c===0)return 0;var h=0,g=t.suspendedLanes,S=t.pingedLanes;t=t.warmLanes;var j=c&134217727;return j!==0?(c=j&~g,c!==0?h=zt(c):(S&=j,S!==0?h=zt(S):o||(o=j&~t,o!==0&&(h=zt(o))))):(j=c&~g,j!==0?h=zt(j):S!==0?h=zt(S):o||(o=c&~t,o!==0&&(h=zt(o)))),h===0?0:a!==0&&a!==h&&(a&g)===0&&(g=h&-h,o=a&-a,g>=o||g===32&&(o&4194048)!==0)?a:h}function ht(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function yt(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ht(){var t=Qt;return Qt<<=1,(Qt&62914560)===0&&(Qt=4194304),t}function lr(t){for(var a=[],o=0;31>o;o++)a.push(t);return a}function _t(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function xn(t,a,o,c,h,g){var S=t.pendingLanes;t.pendingLanes=o,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=o,t.entangledLanes&=o,t.errorRecoveryDisabledLanes&=o,t.shellSuspendCounter=0;var j=t.entanglements,L=t.expirationTimes,Z=t.hiddenUpdates;for(o=S&~o;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var oE=/[\n"\\]/g;function Bn(t){return t.replace(oE,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function bd(t,a,o,c,h,g,S,j){t.name="",S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?t.type=S:t.removeAttribute("type"),a!=null?S==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+Hn(a)):t.value!==""+Hn(a)&&(t.value=""+Hn(a)):S!=="submit"&&S!=="reset"||t.removeAttribute("value"),a!=null?xd(t,S,Hn(a)):o!=null?xd(t,S,Hn(o)):c!=null&&t.removeAttribute("value"),h==null&&g!=null&&(t.defaultChecked=!!g),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+Hn(j):t.removeAttribute("name")}function Cg(t,a,o,c,h,g,S,j){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),a!=null||o!=null){if(!(g!=="submit"&&g!=="reset"||a!=null)){yd(t);return}o=o!=null?""+Hn(o):"",a=a!=null?""+Hn(a):o,j||a===t.value||(t.value=a),t.defaultValue=a}c=c??h,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=j?t.checked:!!c,t.defaultChecked=!!c,S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(t.name=S),yd(t)}function xd(t,a,o){a==="number"&&Tl(t.ownerDocument)===t||t.defaultValue===""+o||(t.defaultValue=""+o)}function Hi(t,a,o,c){if(t=t.options,a){a={};for(var h=0;h"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ed=!1;if($r)try{var Jo={};Object.defineProperty(Jo,"passive",{get:function(){Ed=!0}}),window.addEventListener("test",Jo,Jo),window.removeEventListener("test",Jo,Jo)}catch{Ed=!1}var la=null,Rd=null,Al=null;function Mg(){if(Al)return Al;var t,a=Rd,o=a.length,c,h="value"in la?la.value:la.textContent,g=h.length;for(t=0;t=ts),$g=" ",Ig=!1;function Pg(t,a){switch(t){case"keyup":return zE.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Zi=!1;function LE(t,a){switch(t){case"compositionend":return Fg(a);case"keypress":return a.which!==32?null:(Ig=!0,$g);case"textInput":return t=a.data,t===$g&&Ig?null:t;default:return null}}function $E(t,a){if(Zi)return t==="compositionend"||!Md&&Pg(t,a)?(t=Mg(),Al=Rd=la=null,Zi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:o,offset:a-t};t=c}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Kg(o)}}function Qg(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?Qg(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function Xg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Tl(t.document);a instanceof t.HTMLIFrameElement;){try{var o=typeof a.contentWindow.location.href=="string"}catch{o=!1}if(o)t=a.contentWindow;else break;a=Tl(t.document)}return a}function zd(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var qE=$r&&"documentMode"in document&&11>=document.documentMode,Ki=null,kd=null,is=null,Ld=!1;function Jg(t,a,o){var c=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Ld||Ki==null||Ki!==Tl(c)||(c=Ki,"selectionStart"in c&&zd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),is&&as(is,c)||(is=c,c=_c(kd,"onSelect"),0>=S,h-=S,xr=1<<32-me(a)+h|o<Ue?(Ze=Te,Te=null):Ze=Te.sibling;var We=Y(U,Te,G[Ue],ie);if(We===null){Te===null&&(Te=Ze);break}t&&Te&&We.alternate===null&&a(U,Te),P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We,Te=Ze}if(Ue===G.length)return o(U,Te),Ye&&Pr(U,Ue),Oe;if(Te===null){for(;UeUe?(Ze=Te,Te=null):Ze=Te.sibling;var Aa=Y(U,Te,We.value,ie);if(Aa===null){Te===null&&(Te=Ze);break}t&&Te&&Aa.alternate===null&&a(U,Te),P=g(Aa,P,Ue),Je===null?Oe=Aa:Je.sibling=Aa,Je=Aa,Te=Ze}if(We.done)return o(U,Te),Ye&&Pr(U,Ue),Oe;if(Te===null){for(;!We.done;Ue++,We=G.next())We=oe(U,We.value,ie),We!==null&&(P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We);return Ye&&Pr(U,Ue),Oe}for(Te=c(Te);!We.done;Ue++,We=G.next())We=W(Te,U,Ue,We.value,ie),We!==null&&(t&&We.alternate!==null&&Te.delete(We.key===null?Ue:We.key),P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We);return t&&Te.forEach(function(d2){return a(U,d2)}),Ye&&Pr(U,Ue),Oe}function st(U,P,G,ie){if(typeof G=="object"&&G!==null&&G.type===C&&G.key===null&&(G=G.props.children),typeof G=="object"&&G!==null){switch(G.$$typeof){case x:e:{for(var Oe=G.key;P!==null;){if(P.key===Oe){if(Oe=G.type,Oe===C){if(P.tag===7){o(U,P.sibling),ie=h(P,G.props.children),ie.return=U,U=ie;break e}}else if(P.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===V&&ui(Oe)===P.type){o(U,P.sibling),ie=h(P,G.props),ds(ie,G),ie.return=U,U=ie;break e}o(U,P);break}else a(U,P);P=P.sibling}G.type===C?(ie=ii(G.props.children,U.mode,ie,G.key),ie.return=U,U=ie):(ie=Fl(G.type,G.key,G.props,null,U.mode,ie),ds(ie,G),ie.return=U,U=ie)}return S(U);case _:e:{for(Oe=G.key;P!==null;){if(P.key===Oe)if(P.tag===4&&P.stateNode.containerInfo===G.containerInfo&&P.stateNode.implementation===G.implementation){o(U,P.sibling),ie=h(P,G.children||[]),ie.return=U,U=ie;break e}else{o(U,P);break}else a(U,P);P=P.sibling}ie=Hd(G,U.mode,ie),ie.return=U,U=ie}return S(U);case V:return G=ui(G),st(U,P,G,ie)}if(xe(G))return Ee(U,P,G,ie);if(Q(G)){if(Oe=Q(G),typeof Oe!="function")throw Error(i(150));return G=Oe.call(G),De(U,P,G,ie)}if(typeof G.then=="function")return st(U,P,Zl(G),ie);if(G.$$typeof===T)return st(U,P,Hl(U,G),ie);Kl(U,G)}return typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint"?(G=""+G,P!==null&&P.tag===6?(o(U,P.sibling),ie=h(P,G),ie.return=U,U=ie):(o(U,P),ie=Ud(G,U.mode,ie),ie.return=U,U=ie),S(U)):o(U,P)}return function(U,P,G,ie){try{us=0;var Oe=st(U,P,G,ie);return io=null,Oe}catch(Te){if(Te===ao||Te===ql)throw Te;var Je=zn(29,Te,null,U.mode);return Je.lanes=ie,Je.return=U,Je}}}var fi=wv(!0),Sv=wv(!1),ha=!1;function tf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function nf(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ma(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function pa(t,a,o){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(tt&2)!==0){var h=c.pending;return h===null?a.next=a:(a.next=h.next,h.next=a),c.pending=a,a=Pl(t),iv(t,null,o),a}return Il(t,c,a,o),Pl(t)}function fs(t,a,o){if(a=a.updateQueue,a!==null&&(a=a.shared,(o&4194048)!==0)){var c=a.lanes;c&=t.pendingLanes,o|=c,a.lanes=o,wn(t,o)}}function rf(t,a){var o=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,o===c)){var h=null,g=null;if(o=o.firstBaseUpdate,o!==null){do{var S={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};g===null?h=g=S:g=g.next=S,o=o.next}while(o!==null);g===null?h=g=a:g=g.next=a}else h=g=a;o={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=o;return}t=o.lastBaseUpdate,t===null?o.firstBaseUpdate=a:t.next=a,o.lastBaseUpdate=a}var af=!1;function hs(){if(af){var t=ro;if(t!==null)throw t}}function ms(t,a,o,c){af=!1;var h=t.updateQueue;ha=!1;var g=h.firstBaseUpdate,S=h.lastBaseUpdate,j=h.shared.pending;if(j!==null){h.shared.pending=null;var L=j,Z=L.next;L.next=null,S===null?g=Z:S.next=Z,S=L;var re=t.alternate;re!==null&&(re=re.updateQueue,j=re.lastBaseUpdate,j!==S&&(j===null?re.firstBaseUpdate=Z:j.next=Z,re.lastBaseUpdate=L))}if(g!==null){var oe=h.baseState;S=0,re=Z=L=null,j=g;do{var Y=j.lane&-536870913,W=Y!==j.lane;if(W?(Ge&Y)===Y:(c&Y)===Y){Y!==0&&Y===no&&(af=!0),re!==null&&(re=re.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Ee=t,De=j;Y=a;var st=o;switch(De.tag){case 1:if(Ee=De.payload,typeof Ee=="function"){oe=Ee.call(st,oe,Y);break e}oe=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=De.payload,Y=typeof Ee=="function"?Ee.call(st,oe,Y):Ee,Y==null)break e;oe=v({},oe,Y);break e;case 2:ha=!0}}Y=j.callback,Y!==null&&(t.flags|=64,W&&(t.flags|=8192),W=h.callbacks,W===null?h.callbacks=[Y]:W.push(Y))}else W={lane:Y,tag:j.tag,payload:j.payload,callback:j.callback,next:null},re===null?(Z=re=W,L=oe):re=re.next=W,S|=Y;if(j=j.next,j===null){if(j=h.shared.pending,j===null)break;W=j,j=W.next,W.next=null,h.lastBaseUpdate=W,h.shared.pending=null}}while(!0);re===null&&(L=oe),h.baseState=L,h.firstBaseUpdate=Z,h.lastBaseUpdate=re,g===null&&(h.shared.lanes=0),xa|=S,t.lanes=S,t.memoizedState=oe}}function _v(t,a){if(typeof t!="function")throw Error(i(191,t));t.call(a)}function Cv(t,a){var o=t.callbacks;if(o!==null)for(t.callbacks=null,t=0;tg?g:8;var S=N.T,j={};N.T=j,Cf(t,!1,a,o);try{var L=h(),Z=N.S;if(Z!==null&&Z(j,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var re=eR(L,c);vs(t,a,re,Pn(t))}else vs(t,a,c,Pn(t))}catch(oe){vs(t,a,{then:function(){},status:"rejected",reason:oe},Pn())}finally{q.p=g,S!==null&&j.types!==null&&(S.types=j.types),N.T=S}}function oR(){}function Sf(t,a,o,c){if(t.tag!==5)throw Error(i(476));var h=ny(t).queue;ty(t,h,a,ae,o===null?oR:function(){return ry(t),o(c)})}function ny(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hr,lastRenderedState:ae},next:null};var o={};return a.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hr,lastRenderedState:o},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function ry(t){var a=ny(t);a.next===null&&(a=t.alternate.memoizedState),vs(t,a.next.queue,{},Pn())}function _f(){return Wt(zs)}function ay(){return At().memoizedState}function iy(){return At().memoizedState}function sR(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var o=Pn();t=ma(o);var c=pa(a,t,o);c!==null&&(On(c,a,o),fs(c,a,o)),a={cache:Xd()},t.payload=a;return}a=a.return}}function lR(t,a,o){var c=Pn();o={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},ac(t)?sy(a,o):(o=Fd(t,a,o,c),o!==null&&(On(o,t,c),ly(o,a,c)))}function oy(t,a,o){var c=Pn();vs(t,a,o,c)}function vs(t,a,o,c){var h={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(ac(t))sy(a,h);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var S=a.lastRenderedState,j=g(S,o);if(h.hasEagerState=!0,h.eagerState=j,Dn(j,S))return Il(t,a,h,0),ut===null&&$l(),!1}catch{}if(o=Fd(t,a,h,c),o!==null)return On(o,t,c),ly(o,a,c),!0}return!1}function Cf(t,a,o,c){if(c={lane:2,revertLane:nh(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},ac(t)){if(a)throw Error(i(479))}else a=Fd(t,o,c,2),a!==null&&On(a,t,2)}function ac(t){var a=t.alternate;return t===Ve||a!==null&&a===Ve}function sy(t,a){so=Xl=!0;var o=t.pending;o===null?a.next=a:(a.next=o.next,o.next=a),t.pending=a}function ly(t,a,o){if((o&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,o|=c,a.lanes=o,wn(t,o)}}var ys={readContext:Wt,use:ec,useCallback:Et,useContext:Et,useEffect:Et,useImperativeHandle:Et,useLayoutEffect:Et,useInsertionEffect:Et,useMemo:Et,useReducer:Et,useRef:Et,useState:Et,useDebugValue:Et,useDeferredValue:Et,useTransition:Et,useSyncExternalStore:Et,useId:Et,useHostTransitionStatus:Et,useFormState:Et,useActionState:Et,useOptimistic:Et,useMemoCache:Et,useCacheRefresh:Et};ys.useEffectEvent=Et;var cy={readContext:Wt,use:ec,useCallback:function(t,a){return mn().memoizedState=[t,a===void 0?null:a],t},useContext:Wt,useEffect:Gv,useImperativeHandle:function(t,a,o){o=o!=null?o.concat([t]):null,nc(4194308,4,Qv.bind(null,a,t),o)},useLayoutEffect:function(t,a){return nc(4194308,4,t,a)},useInsertionEffect:function(t,a){nc(4,2,t,a)},useMemo:function(t,a){var o=mn();a=a===void 0?null:a;var c=t();if(hi){ce(!0);try{t()}finally{ce(!1)}}return o.memoizedState=[c,a],c},useReducer:function(t,a,o){var c=mn();if(o!==void 0){var h=o(a);if(hi){ce(!0);try{o(a)}finally{ce(!1)}}}else h=a;return c.memoizedState=c.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},c.queue=t,t=t.dispatch=lR.bind(null,Ve,t),[c.memoizedState,t]},useRef:function(t){var a=mn();return t={current:t},a.memoizedState=t},useState:function(t){t=vf(t);var a=t.queue,o=oy.bind(null,Ve,a);return a.dispatch=o,[t.memoizedState,o]},useDebugValue:xf,useDeferredValue:function(t,a){var o=mn();return wf(o,t,a)},useTransition:function(){var t=vf(!1);return t=ty.bind(null,Ve,t.queue,!0,!1),mn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,o){var c=Ve,h=mn();if(Ye){if(o===void 0)throw Error(i(407));o=o()}else{if(o=a(),ut===null)throw Error(i(349));(Ge&127)!==0||Av(c,a,o)}h.memoizedState=o;var g={value:o,getSnapshot:a};return h.queue=g,Gv(Nv.bind(null,c,g,t),[t]),c.flags|=2048,co(9,{destroy:void 0},Mv.bind(null,c,g,o,a),null),o},useId:function(){var t=mn(),a=ut.identifierPrefix;if(Ye){var o=wr,c=xr;o=(c&~(1<<32-me(c)-1)).toString(32)+o,a="_"+a+"R_"+o,o=Jl++,0<\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?S.createElement("select",{is:c.is}):S.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?S.createElement(h,{is:c.is}):S.createElement(h)}}g[Xt]=a,g[_n]=c;e:for(S=a.child;S!==null;){if(S.tag===5||S.tag===6)g.appendChild(S.stateNode);else if(S.tag!==4&&S.tag!==27&&S.child!==null){S.child.return=S,S=S.child;continue}if(S===a)break e;for(;S.sibling===null;){if(S.return===null||S.return===a)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}a.stateNode=g;e:switch(tn(g,h,c),h){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&qr(a)}}return pt(a),If(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,o),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&qr(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(i(166));if(t=se.current,eo(a)){if(t=a.stateNode,o=a.memoizedProps,c=null,h=Jt,h!==null)switch(h.tag){case 27:case 5:c=h.memoizedProps}t[Xt]=a,t=!!(t.nodeValue===o||c!==null&&c.suppressHydrationWarning===!0||T0(t.nodeValue,o)),t||da(a,!0)}else t=Cc(t).createTextNode(c),t[Xt]=a,a.stateNode=t}return pt(a),null;case 31:if(o=a.memoizedState,t===null||t.memoizedState!==null){if(c=eo(a),o!==null){if(t===null){if(!c)throw Error(i(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(i(557));t[Xt]=a}else oi(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;pt(a),t=!1}else o=Zd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=o),t=!0;if(!t)return a.flags&256?(Ln(a),a):(Ln(a),null);if((a.flags&128)!==0)throw Error(i(558))}return pt(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=eo(a),c!==null&&c.dehydrated!==null){if(t===null){if(!h)throw Error(i(318));if(h=a.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));h[Xt]=a}else oi(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;pt(a),h=!1}else h=Zd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return a.flags&256?(Ln(a),a):(Ln(a),null)}return Ln(a),(a.flags&128)!==0?(a.lanes=o,a):(o=c!==null,t=t!==null&&t.memoizedState!==null,o&&(c=a.child,h=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(h=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==h&&(c.flags|=2048)),o!==t&&o&&(a.child.flags|=8192),cc(a,a.updateQueue),pt(a),null);case 4:return ye(),t===null&&oh(a.stateNode.containerInfo),pt(a),null;case 10:return Vr(a.type),pt(a),null;case 19:if(M(Ot),c=a.memoizedState,c===null)return pt(a),null;if(h=(a.flags&128)!==0,g=c.rendering,g===null)if(h)xs(c,!1);else{if(Rt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=Ql(t),g!==null){for(a.flags|=128,xs(c,!1),t=g.updateQueue,a.updateQueue=t,cc(a,t),a.subtreeFlags=0,t=o,o=a.child;o!==null;)ov(o,t),o=o.sibling;return H(Ot,Ot.current&1|2),Ye&&Pr(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&wt()>mc&&(a.flags|=128,h=!0,xs(c,!1),a.lanes=4194304)}else{if(!h)if(t=Ql(g),t!==null){if(a.flags|=128,h=!0,t=t.updateQueue,a.updateQueue=t,cc(a,t),xs(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!Ye)return pt(a),null}else 2*wt()-c.renderingStartTime>mc&&o!==536870912&&(a.flags|=128,h=!0,xs(c,!1),a.lanes=4194304);c.isBackwards?(g.sibling=a.child,a.child=g):(t=c.last,t!==null?t.sibling=g:a.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=wt(),t.sibling=null,o=Ot.current,H(Ot,h?o&1|2:o&1),Ye&&Pr(a,c.treeForkCount),t):(pt(a),null);case 22:case 23:return Ln(a),sf(),c=a.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(o&536870912)!==0&&(a.flags&128)===0&&(pt(a),a.subtreeFlags&6&&(a.flags|=8192)):pt(a),o=a.updateQueue,o!==null&&cc(a,o.retryQueue),o=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==o&&(a.flags|=2048),t!==null&&M(ci),null;case 24:return o=null,t!==null&&(o=t.memoizedState.cache),a.memoizedState.cache!==o&&(a.flags|=2048),Vr(kt),pt(a),null;case 25:return null;case 30:return null}throw Error(i(156,a.tag))}function hR(t,a){switch(qd(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return Vr(kt),ye(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ie(a),null;case 31:if(a.memoizedState!==null){if(Ln(a),a.alternate===null)throw Error(i(340));oi()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(Ln(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(i(340));oi()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return M(Ot),null;case 4:return ye(),null;case 10:return Vr(a.type),null;case 22:case 23:return Ln(a),sf(),t!==null&&M(ci),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return Vr(kt),null;case 25:return null;default:return null}}function Dy(t,a){switch(qd(a),a.tag){case 3:Vr(kt),ye();break;case 26:case 27:case 5:Ie(a);break;case 4:ye();break;case 31:a.memoizedState!==null&&Ln(a);break;case 13:Ln(a);break;case 19:M(Ot);break;case 10:Vr(a.type);break;case 22:case 23:Ln(a),sf(),t!==null&&M(ci);break;case 24:Vr(kt)}}function ws(t,a){try{var o=a.updateQueue,c=o!==null?o.lastEffect:null;if(c!==null){var h=c.next;o=h;do{if((o.tag&t)===t){c=void 0;var g=o.create,S=o.inst;c=g(),S.destroy=c}o=o.next}while(o!==h)}}catch(j){at(a,a.return,j)}}function ya(t,a,o){try{var c=a.updateQueue,h=c!==null?c.lastEffect:null;if(h!==null){var g=h.next;c=g;do{if((c.tag&t)===t){var S=c.inst,j=S.destroy;if(j!==void 0){S.destroy=void 0,h=a;var L=o,Z=j;try{Z()}catch(re){at(h,L,re)}}}c=c.next}while(c!==g)}}catch(re){at(a,a.return,re)}}function zy(t){var a=t.updateQueue;if(a!==null){var o=t.stateNode;try{Cv(a,o)}catch(c){at(t,t.return,c)}}}function ky(t,a,o){o.props=mi(t.type,t.memoizedProps),o.state=t.memoizedState;try{o.componentWillUnmount()}catch(c){at(t,a,c)}}function Ss(t,a){try{var o=t.ref;if(o!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof o=="function"?t.refCleanup=o(c):o.current=c}}catch(h){at(t,a,h)}}function Sr(t,a){var o=t.ref,c=t.refCleanup;if(o!==null)if(typeof c=="function")try{c()}catch(h){at(t,a,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(h){at(t,a,h)}else o.current=null}function Ly(t){var a=t.type,o=t.memoizedProps,c=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":o.autoFocus&&c.focus();break e;case"img":o.src?c.src=o.src:o.srcSet&&(c.srcset=o.srcSet)}}catch(h){at(t,t.return,h)}}function Pf(t,a,o){try{var c=t.stateNode;kR(c,t.type,o,a),c[_n]=a}catch(h){at(t,t.return,h)}}function $y(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ea(t.type)||t.tag===4}function Ff(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||$y(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ea(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Vf(t,a,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(t,a):(a=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,a.appendChild(t),o=o._reactRootContainer,o!=null||a.onclick!==null||(a.onclick=Lr));else if(c!==4&&(c===27&&Ea(t.type)&&(o=t.stateNode,a=null),t=t.child,t!==null))for(Vf(t,a,o),t=t.sibling;t!==null;)Vf(t,a,o),t=t.sibling}function uc(t,a,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?o.insertBefore(t,a):o.appendChild(t);else if(c!==4&&(c===27&&Ea(t.type)&&(o=t.stateNode),t=t.child,t!==null))for(uc(t,a,o),t=t.sibling;t!==null;)uc(t,a,o),t=t.sibling}function Iy(t){var a=t.stateNode,o=t.memoizedProps;try{for(var c=t.type,h=a.attributes;h.length;)a.removeAttributeNode(h[0]);tn(a,c,o),a[Xt]=t,a[_n]=o}catch(g){at(t,t.return,g)}}var Gr=!1,It=!1,Uf=!1,Py=typeof WeakSet=="function"?WeakSet:Set,qt=null;function mR(t,a){if(t=t.containerInfo,ch=Mc,t=Xg(t),zd(t)){if("selectionStart"in t)var o={start:t.selectionStart,end:t.selectionEnd};else e:{o=(o=t.ownerDocument)&&o.defaultView||window;var c=o.getSelection&&o.getSelection();if(c&&c.rangeCount!==0){o=c.anchorNode;var h=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{o.nodeType,g.nodeType}catch{o=null;break e}var S=0,j=-1,L=-1,Z=0,re=0,oe=t,Y=null;t:for(;;){for(var W;oe!==o||h!==0&&oe.nodeType!==3||(j=S+h),oe!==g||c!==0&&oe.nodeType!==3||(L=S+c),oe.nodeType===3&&(S+=oe.nodeValue.length),(W=oe.firstChild)!==null;)Y=oe,oe=W;for(;;){if(oe===t)break t;if(Y===o&&++Z===h&&(j=S),Y===g&&++re===c&&(L=S),(W=oe.nextSibling)!==null)break;oe=Y,Y=oe.parentNode}oe=W}o=j===-1||L===-1?null:{start:j,end:L}}else o=null}o=o||{start:0,end:0}}else o=null;for(uh={focusedElem:t,selectionRange:o},Mc=!1,qt=a;qt!==null;)if(a=qt,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,qt=t;else for(;qt!==null;){switch(a=qt,g=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(o=0;o title"))),tn(g,c,o),g[Xt]=t,Bt(g),c=g;break e;case"link":var S=q0("link","href",h).get(c+(o.href||""));if(S){for(var j=0;jst&&(S=st,st=De,De=S);var U=Yg(j,De),P=Yg(j,st);if(U&&P&&(W.rangeCount!==1||W.anchorNode!==U.node||W.anchorOffset!==U.offset||W.focusNode!==P.node||W.focusOffset!==P.offset)){var G=oe.createRange();G.setStart(U.node,U.offset),W.removeAllRanges(),De>st?(W.addRange(G),W.extend(P.node,P.offset)):(G.setEnd(P.node,P.offset),W.addRange(G))}}}}for(oe=[],W=j;W=W.parentNode;)W.nodeType===1&&oe.push({element:W,left:W.scrollLeft,top:W.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;jo?32:o,N.T=null,o=Yf,Yf=null;var g=Sa,S=Xr;if(Vt=0,po=Sa=null,Xr=0,(tt&6)!==0)throw Error(i(331));var j=tt;if(tt|=4,Qy(g.current),Zy(g,g.current,S,o),tt=j,Ts(0,!1),J&&typeof J.onPostCommitFiberRoot=="function")try{J.onPostCommitFiberRoot(I,g)}catch{}return!0}finally{q.p=h,N.T=c,m0(t,a)}}function g0(t,a,o){a=Gn(o,a),a=Tf(t.stateNode,a,2),t=pa(t,a,2),t!==null&&(_t(t,2),_r(t))}function at(t,a,o){if(t.tag===3)g0(t,t,o);else for(;a!==null;){if(a.tag===3){g0(a,t,o);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(wa===null||!wa.has(c))){t=Gn(o,t),o=vy(2),c=pa(a,o,2),c!==null&&(yy(o,c,a,t),_t(c,2),_r(c));break}}a=a.return}}function Wf(t,a,o){var c=t.pingCache;if(c===null){c=t.pingCache=new vR;var h=new Set;c.set(a,h)}else h=c.get(a),h===void 0&&(h=new Set,c.set(a,h));h.has(o)||(qf=!0,h.add(o),t=SR.bind(null,t,a,o),a.then(t,t))}function SR(t,a,o){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&o,t.warmLanes&=~o,ut===t&&(Ge&o)===o&&(Rt===4||Rt===3&&(Ge&62914560)===Ge&&300>wt()-hc?(tt&2)===0&&go(t,0):Gf|=o,mo===Ge&&(mo=0)),_r(t)}function v0(t,a){a===0&&(a=Ht()),t=ai(t,a),t!==null&&(_t(t,a),_r(t))}function _R(t){var a=t.memoizedState,o=0;a!==null&&(o=a.retryLane),v0(t,o)}function CR(t,a){var o=0;switch(t.tag){case 31:case 13:var c=t.stateNode,h=t.memoizedState;h!==null&&(o=h.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(i(314))}c!==null&&c.delete(a),v0(t,o)}function ER(t,a){return or(t,a)}var xc=null,yo=null,eh=!1,wc=!1,th=!1,Ca=0;function _r(t){t!==yo&&t.next===null&&(yo===null?xc=yo=t:yo=yo.next=t),wc=!0,eh||(eh=!0,jR())}function Ts(t,a){if(!th&&wc){th=!0;do for(var o=!1,c=xc;c!==null;){if(t!==0){var h=c.pendingLanes;if(h===0)var g=0;else{var S=c.suspendedLanes,j=c.pingedLanes;g=(1<<31-me(42|t)+1)-1,g&=h&~(S&~j),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(o=!0,w0(c,g))}else g=Ge,g=Me(c,c===ut?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||ht(c,g)||(o=!0,w0(c,g));c=c.next}while(o);th=!1}}function RR(){y0()}function y0(){wc=eh=!1;var t=0;Ca!==0&&$R()&&(t=Ca);for(var a=wt(),o=null,c=xc;c!==null;){var h=c.next,g=b0(c,a);g===0?(c.next=null,o===null?xc=h:o.next=h,h===null&&(yo=o)):(o=c,(t!==0||(g&3)!==0)&&(wc=!0)),c=h}Vt!==0&&Vt!==5||Ts(t),Ca!==0&&(Ca=0)}function b0(t,a){for(var o=t.suspendedLanes,c=t.pingedLanes,h=t.expirationTimes,g=t.pendingLanes&-62914561;0j)break;var re=L.transferSize,oe=L.initiatorType;re&&O0(oe)&&(L=L.responseEnd,S+=re*(L"u"?null:document;function V0(t,a,o){var c=bo;if(c&&typeof a=="string"&&a){var h=Bn(a);h='link[rel="'+t+'"][href="'+h+'"]',typeof o=="string"&&(h+='[crossorigin="'+o+'"]'),F0.has(h)||(F0.add(h),t={rel:t,crossOrigin:o,href:a},c.querySelector(h)===null&&(a=c.createElement("link"),tn(a,"link",t),Bt(a),c.head.appendChild(a)))}}function GR(t){Jr.D(t),V0("dns-prefetch",t,null)}function ZR(t,a){Jr.C(t,a),V0("preconnect",t,a)}function KR(t,a,o){Jr.L(t,a,o);var c=bo;if(c&&t&&a){var h='link[rel="preload"][as="'+Bn(a)+'"]';a==="image"&&o&&o.imageSrcSet?(h+='[imagesrcset="'+Bn(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(h+='[imagesizes="'+Bn(o.imageSizes)+'"]')):h+='[href="'+Bn(t)+'"]';var g=h;switch(a){case"style":g=xo(t);break;case"script":g=wo(t)}Jn.has(g)||(t=v({rel:"preload",href:a==="image"&&o&&o.imageSrcSet?void 0:t,as:a},o),Jn.set(g,t),c.querySelector(h)!==null||a==="style"&&c.querySelector(Ns(g))||a==="script"&&c.querySelector(Ds(g))||(a=c.createElement("link"),tn(a,"link",t),Bt(a),c.head.appendChild(a)))}}function YR(t,a){Jr.m(t,a);var o=bo;if(o&&t){var c=a&&typeof a.as=="string"?a.as:"script",h='link[rel="modulepreload"][as="'+Bn(c)+'"][href="'+Bn(t)+'"]',g=h;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=wo(t)}if(!Jn.has(g)&&(t=v({rel:"modulepreload",href:t},a),Jn.set(g,t),o.querySelector(h)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(Ds(g)))return}c=o.createElement("link"),tn(c,"link",t),Bt(c),o.head.appendChild(c)}}}function QR(t,a,o){Jr.S(t,a,o);var c=bo;if(c&&t){var h=Vi(c).hoistableStyles,g=xo(t);a=a||"default";var S=h.get(g);if(!S){var j={loading:0,preload:null};if(S=c.querySelector(Ns(g)))j.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":a},o),(o=Jn.get(g))&&vh(t,o);var L=S=c.createElement("link");Bt(L),tn(L,"link",t),L._p=new Promise(function(Z,re){L.onload=Z,L.onerror=re}),L.addEventListener("load",function(){j.loading|=1}),L.addEventListener("error",function(){j.loading|=2}),j.loading|=4,Rc(S,a,c)}S={type:"stylesheet",instance:S,count:1,state:j},h.set(g,S)}}}function XR(t,a){Jr.X(t,a);var o=bo;if(o&&t){var c=Vi(o).hoistableScripts,h=wo(t),g=c.get(h);g||(g=o.querySelector(Ds(h)),g||(t=v({src:t,async:!0},a),(a=Jn.get(h))&&yh(t,a),g=o.createElement("script"),Bt(g),tn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(h,g))}}function JR(t,a){Jr.M(t,a);var o=bo;if(o&&t){var c=Vi(o).hoistableScripts,h=wo(t),g=c.get(h);g||(g=o.querySelector(Ds(h)),g||(t=v({src:t,async:!0,type:"module"},a),(a=Jn.get(h))&&yh(t,a),g=o.createElement("script"),Bt(g),tn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(h,g))}}function U0(t,a,o,c){var h=(h=se.current)?Ec(h):null;if(!h)throw Error(i(446));switch(t){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(a=xo(o.href),o=Vi(h).hoistableStyles,c=o.get(a),c||(c={type:"style",instance:null,count:0,state:null},o.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){t=xo(o.href);var g=Vi(h).hoistableStyles,S=g.get(t);if(S||(h=h.ownerDocument||h,S={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,S),(g=h.querySelector(Ns(t)))&&!g._p&&(S.instance=g,S.state.loading=5),Jn.has(t)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},Jn.set(t,o),g||WR(h,t,o,S.state))),a&&c===null)throw Error(i(528,""));return S}if(a&&c!==null)throw Error(i(529,""));return null;case"script":return a=o.async,o=o.src,typeof o=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=wo(o),o=Vi(h).hoistableScripts,c=o.get(a),c||(c={type:"script",instance:null,count:0,state:null},o.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,t))}}function xo(t){return'href="'+Bn(t)+'"'}function Ns(t){return'link[rel="stylesheet"]['+t+"]"}function H0(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function WR(t,a,o,c){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=t.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),tn(a,"link",o),Bt(a),t.head.appendChild(a))}function wo(t){return'[src="'+Bn(t)+'"]'}function Ds(t){return"script[async]"+t}function B0(t,a,o){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+Bn(o.href)+'"]');if(c)return a.instance=c,Bt(c),c;var h=v({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),Bt(c),tn(c,"style",h),Rc(c,o.precedence,t),a.instance=c;case"stylesheet":h=xo(o.href);var g=t.querySelector(Ns(h));if(g)return a.state.loading|=4,a.instance=g,Bt(g),g;c=H0(o),(h=Jn.get(h))&&vh(c,h),g=(t.ownerDocument||t).createElement("link"),Bt(g);var S=g;return S._p=new Promise(function(j,L){S.onload=j,S.onerror=L}),tn(g,"link",c),a.state.loading|=4,Rc(g,o.precedence,t),a.instance=g;case"script":return g=wo(o.src),(h=t.querySelector(Ds(g)))?(a.instance=h,Bt(h),h):(c=o,(h=Jn.get(g))&&(c=v({},o),yh(c,h)),t=t.ownerDocument||t,h=t.createElement("script"),Bt(h),tn(h,"link",c),t.head.appendChild(h),a.instance=h);case"void":return null;default:throw Error(i(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(c=a.instance,a.state.loading|=4,Rc(c,o.precedence,t));return a.instance}function Rc(t,a,o){for(var c=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=c.length?c[c.length-1]:null,g=h,S=0;S title"):null)}function e2(t,a,o){if(o===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Z0(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function t2(t,a,o,c){if(o.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var h=xo(c.href),g=a.querySelector(Ns(h));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Tc.bind(t),a.then(t,t)),o.state.loading|=4,o.instance=g,Bt(g);return}g=a.ownerDocument||a,c=H0(c),(h=Jn.get(h))&&vh(c,h),g=g.createElement("link"),Bt(g);var S=g;S._p=new Promise(function(j,L){S.onload=j,S.onerror=L}),tn(g,"link",c),o.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(o,a),(a=o.state.preload)&&(o.state.loading&3)===0&&(t.count++,o=Tc.bind(t),a.addEventListener("load",o),a.addEventListener("error",o))}}var bh=0;function n2(t,a){return t.stylesheets&&t.count===0&&Ac(t,t.stylesheets),0bh?50:800)+a);return t.unsuspend=o,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(h)}}:null}function Tc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ac(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Oc=null;function Ac(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Oc=new Map,a.forEach(r2,t),Oc=null,Tc.call(t))}function r2(t,a){if(!(a.state.loading&4)){var o=Oc.get(t);if(o)var c=o.get(null);else{o=new Map,Oc.set(t,o);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Th.exports=b2(),Th.exports}var w2=x2(),hl=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},S2=class extends hl{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},np=new S2,_2={setTimeout:(e,n)=>setTimeout(e,n),clearTimeout:e=>clearTimeout(e),setInterval:(e,n)=>setInterval(e,n),clearInterval:e=>clearInterval(e)},C2=class{#e=_2;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,n){return this.#e.setTimeout(e,n)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,n){return this.#e.setInterval(e,n)}clearInterval(e){this.#e.clearInterval(e)}},xi=new C2;function E2(e){setTimeout(e,0)}var R2=typeof window>"u"||"Deno"in globalThis;function Mn(){}function j2(e,n){return typeof e=="function"?e(n):e}function um(e){return typeof e=="number"&&e>=0&&e!==1/0}function yw(e,n){return Math.max(e+(n||0)-Date.now(),0)}function La(e,n){return typeof e=="function"?e(n):e}function Fn(e,n){return typeof e=="function"?e(n):e}function vb(e,n){const{type:r="all",exact:i,fetchStatus:s,predicate:l,queryKey:u,stale:d}=e;if(u){if(i){if(n.queryHash!==rp(u,n.options))return!1}else if(!el(n.queryKey,u))return!1}if(r!=="all"){const p=n.isActive();if(r==="active"&&!p||r==="inactive"&&p)return!1}return!(typeof d=="boolean"&&n.isStale()!==d||s&&s!==n.state.fetchStatus||l&&!l(n))}function yb(e,n){const{exact:r,status:i,predicate:s,mutationKey:l}=e;if(l){if(!n.options.mutationKey)return!1;if(r){if(Ws(n.options.mutationKey)!==Ws(l))return!1}else if(!el(n.options.mutationKey,l))return!1}return!(i&&n.state.status!==i||s&&!s(n))}function rp(e,n){return(n?.queryKeyHashFn||Ws)(e)}function Ws(e){return JSON.stringify(e,(n,r)=>fm(r)?Object.keys(r).sort().reduce((i,s)=>(i[s]=r[s],i),{}):r)}function el(e,n){return e===n?!0:typeof e!=typeof n?!1:e&&n&&typeof e=="object"&&typeof n=="object"?Object.keys(n).every(r=>el(e[r],n[r])):!1}var T2=Object.prototype.hasOwnProperty;function bw(e,n,r=0){if(e===n)return e;if(r>500)return n;const i=bb(e)&&bb(n);if(!i&&!(fm(e)&&fm(n)))return n;const l=(i?e:Object.keys(e)).length,u=i?n:Object.keys(n),d=u.length,p=i?new Array(d):{};let m=0;for(let y=0;y{xi.setTimeout(n,e)})}function hm(e,n,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,n):r.structuralSharing!==!1?bw(e,n):n}function A2(e,n,r=0){const i=[...e,n];return r&&i.length>r?i.slice(1):i}function M2(e,n,r=0){const i=[n,...e];return r&&i.length>r?i.slice(0,-1):i}var ap=Symbol();function xw(e,n){return!e.queryFn&&n?.initialPromise?()=>n.initialPromise:!e.queryFn||e.queryFn===ap?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function ww(e,n){return typeof e=="function"?e(...n):!!e}function N2(e,n,r){let i=!1,s;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(s??=n(),i||(i=!0,s.aborted?r():s.addEventListener("abort",r,{once:!0})),s)}),e}var tl=(()=>{let e=()=>R2;return{isServer(){return e()},setIsServer(n){e=n}}})();function mm(){let e,n;const r=new Promise((s,l)=>{e=s,n=l});r.status="pending",r.catch(()=>{});function i(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{i({status:"fulfilled",value:s}),e(s)},r.reject=s=>{i({status:"rejected",reason:s}),n(s)},r}var D2=E2;function z2(){let e=[],n=0,r=d=>{d()},i=d=>{d()},s=D2;const l=d=>{n?e.push(d):s(()=>{r(d)})},u=()=>{const d=e;e=[],d.length&&s(()=>{i(()=>{d.forEach(p=>{r(p)})})})};return{batch:d=>{let p;n++;try{p=d()}finally{n--,n||u()}return p},batchCalls:d=>(...p)=>{l(()=>{d(...p)})},schedule:l,setNotifyFunction:d=>{r=d},setBatchNotifyFunction:d=>{i=d},setScheduler:d=>{s=d}}}var on=z2(),k2=class extends hl{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},du=new k2;function L2(e){return Math.min(1e3*2**e,3e4)}function Sw(e){return(e??"online")==="online"?du.isOnline():!0}var pm=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function _w(e){let n=!1,r=0,i;const s=mm(),l=()=>s.status!=="pending",u=C=>{if(!l()){const E=new pm(C);b(E),e.onCancel?.(E)}},d=()=>{n=!0},p=()=>{n=!1},m=()=>np.isFocused()&&(e.networkMode==="always"||du.isOnline())&&e.canRun(),y=()=>Sw(e.networkMode)&&e.canRun(),v=C=>{l()||(i?.(),s.resolve(C))},b=C=>{l()||(i?.(),s.reject(C))},x=()=>new Promise(C=>{i=E=>{(l()||m())&&C(E)},e.onPause?.()}).then(()=>{i=void 0,l()||e.onContinue?.()}),_=()=>{if(l())return;let C;const E=r===0?e.initialPromise:void 0;try{C=E??e.fn()}catch(R){C=Promise.reject(R)}Promise.resolve(C).then(v).catch(R=>{if(l())return;const O=e.retry??(tl.isServer()?0:3),T=e.retryDelay??L2,z=typeof T=="function"?T(r,R):T,$=O===!0||typeof O=="number"&&rm()?void 0:x()).then(()=>{n?b(R):_()})})};return{promise:s,status:()=>s.status,cancel:u,continue:()=>(i?.(),s),cancelRetry:d,continueRetry:p,canStart:y,start:()=>(y()?_():x().then(_),s)}}var Cw=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),um(this.gcTime)&&(this.#e=xi.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(tl.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(xi.clearTimeout(this.#e),this.#e=void 0)}};function $2(e){return{onFetch:(n,r)=>{const i=n.options,s=n.fetchOptions?.meta?.fetchMore?.direction,l=n.state.data?.pages||[],u=n.state.data?.pageParams||[];let d={pages:[],pageParams:[]},p=0;const m=async()=>{let y=!1;const v=_=>{N2(_,()=>n.signal,()=>y=!0)},b=xw(n.options,n.fetchOptions),x=async(_,C,E)=>{if(y)return Promise.reject(n.signal.reason);if(C==null&&_.pages.length)return Promise.resolve(_);const O=(()=>{const B={client:n.client,queryKey:n.queryKey,pageParam:C,direction:E?"backward":"forward",meta:n.options.meta};return v(B),B})(),T=await b(O),{maxPages:z}=n.options,$=E?M2:A2;return{pages:$(_.pages,T,z),pageParams:$(_.pageParams,C,z)}};if(s&&l.length){const _=s==="backward",C=_?Ew:gm,E={pages:l,pageParams:u},R=C(i,E);d=await x(E,R,_)}else{const _=e??l.length;do{const C=p===0?u[0]??i.initialPageParam:gm(i,d);if(p>0&&C==null)break;d=await x(d,C),p++}while(p<_)}return d};n.options.persister?n.fetchFn=()=>n.options.persister?.(m,{client:n.client,queryKey:n.queryKey,meta:n.options.meta,signal:n.signal},r):n.fetchFn=m}}}function gm(e,{pages:n,pageParams:r}){const i=n.length-1;return n.length>0?e.getNextPageParam(n[i],n,r[i],r):void 0}function Ew(e,{pages:n,pageParams:r}){return n.length>0?e.getPreviousPageParam?.(n[0],n,r[0],r):void 0}function I2(e,n){return n?gm(e,n)!=null:!1}function P2(e,n){return!n||!e.getPreviousPageParam?!1:Ew(e,n)!=null}var F2=class extends Cw{#e;#t;#n;#r;#i;#a;#s;#o;constructor(e){super(),this.#o=!1,this.#s=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Sb(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#s,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=Sb(this.options);n.data!==void 0&&(this.setState(wb(n.data,n.dataUpdatedAt)),this.#t=n)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,n){const r=hm(this.state.data,e,this.options);return this.#l({data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(e){this.#l({type:"setState",state:e})}cancel(e){const n=this.#a?.promise;return this.#a?.cancel(e),n?n.then(Mn).catch(Mn):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Fn(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ap||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>La(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!yw(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(this.#a&&(this.#o||this.#u()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#l({type:"invalidate"})}async fetch(e,n){if(this.state.fetchStatus!=="idle"&&this.#a?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){const p=this.observers.find(m=>m.options.queryFn);p&&this.setOptions(p.options)}const r=new AbortController,i=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},s=()=>{const p=xw(this.options,n),y=(()=>{const v={client:this.#i,queryKey:this.queryKey,meta:this.meta};return i(v),v})();return this.#o=!1,this.options.persister?this.options.persister(p,y,this):p(y)},u=(()=>{const p={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:s};return i(p),p})();(this.#e==="infinite"?$2(this.options.pages):this.options.behavior)?.onFetch(u,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#l({type:"fetch",meta:u.fetchOptions?.meta}),this.#a=_w({initialPromise:n?.initialPromise,fn:u.fetchFn,onCancel:p=>{p instanceof pm&&p.revert&&this.setState({...this.#n,fetchStatus:"idle"}),r.abort()},onFail:(p,m)=>{this.#l({type:"failed",failureCount:p,error:m})},onPause:()=>{this.#l({type:"pause"})},onContinue:()=>{this.#l({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0});try{const p=await this.#a.start();if(p===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(p),this.#r.config.onSuccess?.(p,this),this.#r.config.onSettled?.(p,this.state.error,this),p}catch(p){if(p instanceof pm){if(p.silent)return this.#a.promise;if(p.revert){if(this.state.data===void 0)throw p;return this.state.data}}throw this.#l({type:"error",error:p}),this.#r.config.onError?.(p,this),this.#r.config.onSettled?.(this.state.data,p,this),p}finally{this.scheduleGc()}}#l(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Rw(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...wb(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?i:void 0,i;case"error":const s=e.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),on.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function Rw(e,n){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Sw(n.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function wb(e,n){return{data:e,dataUpdatedAt:n??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Sb(e){const n=typeof e.initialData=="function"?e.initialData():e.initialData,r=n!==void 0,i=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:n,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var jw=class extends hl{constructor(e,n){super(),this.options=n,this.#e=e,this.#o=null,this.#s=mm(),this.bindMethods(),this.setOptions(n)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#s;#o;#u;#l;#m;#d;#f;#c;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),_b(this.#t,this.options)?this.#h():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return vm(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return vm(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#w(),this.#t.removeObserver(this)}setOptions(e){const n=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Fn(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#S(),this.#t.setOptions(this.options),n._defaulted&&!dm(this.options,n)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&Cb(this.#t,r,this.options,n)&&this.#h(),this.updateResult(),i&&(this.#t!==r||Fn(this.options.enabled,this.#t)!==Fn(n.enabled,this.#t)||La(this.options.staleTime,this.#t)!==La(n.staleTime,this.#t))&&this.#g();const s=this.#v();i&&(this.#t!==r||Fn(this.options.enabled,this.#t)!==Fn(n.enabled,this.#t)||s!==this.#c)&&this.#y(s)}getOptimisticResult(e){const n=this.#e.getQueryCache().build(this.#e,e),r=this.createResult(n,e);return U2(this,r)&&(this.#r=r,this.#a=this.options,this.#i=this.#t.state),r}getCurrentResult(){return this.#r}trackResult(e,n){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),n?.(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#s.status==="pending"&&this.#s.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let n=this.#t.fetch(this.options,e);return e?.throwOnError||(n=n.catch(Mn)),n}#g(){this.#x();const e=La(this.options.staleTime,this.#t);if(tl.isServer()||this.#r.isStale||!um(e))return;const r=yw(this.#r.dataUpdatedAt,e)+1;this.#d=xi.setTimeout(()=>{this.#r.isStale||this.updateResult()},r)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#y(e){this.#w(),this.#c=e,!(tl.isServer()||Fn(this.options.enabled,this.#t)===!1||!um(this.#c)||this.#c===0)&&(this.#f=xi.setInterval(()=>{(this.options.refetchIntervalInBackground||np.isFocused())&&this.#h()},this.#c))}#b(){this.#g(),this.#y(this.#v())}#x(){this.#d!==void 0&&(xi.clearTimeout(this.#d),this.#d=void 0)}#w(){this.#f!==void 0&&(xi.clearInterval(this.#f),this.#f=void 0)}createResult(e,n){const r=this.#t,i=this.options,s=this.#r,l=this.#i,u=this.#a,p=e!==r?e.state:this.#n,{state:m}=e;let y={...m},v=!1,b;if(n._optimisticResults){const V=this.hasListeners(),pe=!V&&_b(e,n),ge=V&&Cb(e,r,n,i);(pe||ge)&&(y={...y,...Rw(m.data,e.options)}),n._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:x,errorUpdatedAt:_,status:C}=y;b=y.data;let E=!1;if(n.placeholderData!==void 0&&b===void 0&&C==="pending"){let V;s?.isPlaceholderData&&n.placeholderData===u?.placeholderData?(V=s.data,E=!0):V=typeof n.placeholderData=="function"?n.placeholderData(this.#m?.state.data,this.#m):n.placeholderData,V!==void 0&&(C="success",b=hm(s?.data,V,n),v=!0)}if(n.select&&b!==void 0&&!E)if(s&&b===l?.data&&n.select===this.#u)b=this.#l;else try{this.#u=n.select,b=n.select(b),b=hm(s?.data,b,n),this.#l=b,this.#o=null}catch(V){this.#o=V}this.#o&&(x=this.#o,b=this.#l,_=Date.now(),C="error");const R=y.fetchStatus==="fetching",O=C==="pending",T=C==="error",z=O&&R,$=b!==void 0,F={status:C,fetchStatus:y.fetchStatus,isPending:O,isSuccess:C==="success",isError:T,isInitialLoading:z,isLoading:z,data:b,dataUpdatedAt:y.dataUpdatedAt,error:x,errorUpdatedAt:_,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:R,isRefetching:R&&!O,isLoadingError:T&&!$,isPaused:y.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:T&&$,isStale:ip(e,n),refetch:this.refetch,promise:this.#s,isEnabled:Fn(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const V=F.data!==void 0,pe=F.status==="error"&&!V,ge=le=>{pe?le.reject(F.error):V&&le.resolve(F.data)},fe=()=>{const le=this.#s=F.promise=mm();ge(le)},Q=this.#s;switch(Q.status){case"pending":e.queryHash===r.queryHash&&ge(Q);break;case"fulfilled":(pe||F.data!==Q.value)&&fe();break;case"rejected":(!pe||F.error!==Q.reason)&&fe();break}}return F}updateResult(){const e=this.#r,n=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#m=this.#t),dm(n,e))return;this.#r=n;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!this.#p.size)return!0;const l=new Set(s??this.#p);return this.options.throwOnError&&l.add("error"),Object.keys(this.#r).some(u=>{const d=u;return this.#r[d]!==e[d]&&l.has(d)})};this.#_({listeners:r()})}#S(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const n=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(n?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#_(e){on.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function V2(e,n){return Fn(n.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Fn(n.retryOnMount,e)===!1)}function _b(e,n){return V2(e,n)||e.state.data!==void 0&&vm(e,n,n.refetchOnMount)}function vm(e,n,r){if(Fn(n.enabled,e)!==!1&&La(n.staleTime,e)!=="static"){const i=typeof r=="function"?r(e):r;return i==="always"||i!==!1&&ip(e,n)}return!1}function Cb(e,n,r,i){return(e!==n||Fn(i.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&ip(e,r)}function ip(e,n){return Fn(n.enabled,e)!==!1&&e.isStaleByTime(La(n.staleTime,e))}function U2(e,n){return!dm(e.getCurrentResult(),n)}var H2=class extends jw{constructor(e,n){super(e,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,n){const{state:r}=e,i=super.createResult(e,n),{isFetching:s,isRefetching:l,isError:u,isRefetchError:d}=i,p=r.fetchMeta?.fetchMore?.direction,m=u&&p==="forward",y=s&&p==="forward",v=u&&p==="backward",b=s&&p==="backward";return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:I2(n,r.data),hasPreviousPage:P2(n,r.data),isFetchNextPageError:m,isFetchingNextPage:y,isFetchPreviousPageError:v,isFetchingPreviousPage:b,isRefetchError:d&&!m&&!v,isRefetching:l&&!y&&!b}}},B2=class extends Cw{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||q2(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(n=>n!==e),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){const n=()=>{this.#i({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=_w({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(l,u)=>{this.#i({type:"failed",failureCount:l,error:u})},onPause:()=>{this.#i({type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const i=this.state.status==="pending",s=!this.#r.canStart();try{if(i)n();else{this.#i({type:"pending",variables:e,isPaused:s}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,r);const u=await this.options.onMutate?.(e,r);u!==this.state.context&&this.#i({type:"pending",context:u,variables:e,isPaused:s})}const l=await this.#r.start();return await this.#n.config.onSuccess?.(l,e,this.state.context,this,r),await this.options.onSuccess?.(l,e,this.state.context,r),await this.#n.config.onSettled?.(l,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(l,null,e,this.state.context,r),this.#i({type:"success",data:l}),l}catch(l){try{await this.#n.config.onError?.(l,e,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onError?.(l,e,this.state.context,r)}catch(u){Promise.reject(u)}try{await this.#n.config.onSettled?.(void 0,l,this.state.variables,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onSettled?.(void 0,l,e,this.state.context,r)}catch(u){Promise.reject(u)}throw this.#i({type:"error",error:l}),l}finally{this.#n.runNext(this)}}#i(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),on.batch(()=>{this.#t.forEach(r=>{r.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:"updated",action:e})})}};function q2(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var G2=class extends hl{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,n,r){const i=new B2({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(n),state:r});return this.add(i),i}add(e){this.#e.add(e);const n=Ic(e);if(typeof n=="string"){const r=this.#t.get(n);r?r.push(e):this.#t.set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const n=Ic(e);if(typeof n=="string"){const r=this.#t.get(n);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&this.#t.delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=Ic(e);if(typeof n=="string"){const i=this.#t.get(n)?.find(s=>s.state.status==="pending");return!i||i===e}else return!0}runNext(e){const n=Ic(e);return typeof n=="string"?this.#t.get(n)?.find(i=>i!==e&&i.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){on.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const n={exact:!0,...e};return this.getAll().find(r=>yb(n,r))}findAll(e={}){return this.getAll().filter(n=>yb(e,n))}notify(e){on.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return on.batch(()=>Promise.all(e.map(n=>n.continue().catch(Mn))))}};function Ic(e){return e.options.scope?.id}var Z2=class extends hl{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,n,r){const i=n.queryKey,s=n.queryHash??rp(i,n);let l=this.get(s);return l||(l=new F2({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(l)),l}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=this.#e.get(e.queryHash);n&&(e.destroy(),n===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){on.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const n={exact:!0,...e};return this.getAll().find(r=>vb(n,r))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(r=>vb(e,r)):n}notify(e){on.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){on.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){on.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},K2=class{#e;#t;#n;#r;#i;#a;#s;#o;constructor(e={}){this.#e=e.queryCache||new Z2,this.#t=e.mutationCache||new G2,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#s=np.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=du.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#s?.(),this.#s=void 0,this.#o?.(),this.#o=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state.data}ensureQueryData(e){const n=this.defaultQueryOptions(e),r=this.#e.build(this,n),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(La(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(i))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(e,n,r){const i=this.defaultQueryOptions({queryKey:e}),l=this.#e.get(i.queryHash)?.state.data,u=j2(n,l);if(u!==void 0)return this.#e.build(this,i).setData(u,{...r,manual:!0})}setQueriesData(e,n,r){return on.batch(()=>this.#e.findAll(e).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state}removeQueries(e){const n=this.#e;on.batch(()=>{n.findAll(e).forEach(r=>{n.remove(r)})})}resetQueries(e,n){const r=this.#e;return on.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries({type:"active",...e},n)))}cancelQueries(e,n={}){const r={revert:!0,...n},i=on.batch(()=>this.#e.findAll(e).map(s=>s.cancel(r)));return Promise.all(i).then(Mn).catch(Mn)}invalidateQueries(e,n={}){return on.batch(()=>(this.#e.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},n)))}refetchQueries(e,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},i=on.batch(()=>this.#e.findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let l=s.fetch(void 0,r);return r.throwOnError||(l=l.catch(Mn)),s.state.fetchStatus==="paused"?Promise.resolve():l}));return Promise.all(i).then(Mn)}fetchQuery(e){const n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);const r=this.#e.build(this,n);return r.isStaleByTime(La(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Mn).catch(Mn)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Mn).catch(Mn)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return du.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,n){this.#r.set(Ws(e),{queryKey:e,defaultOptions:n})}getQueryDefaults(e){const n=[...this.#r.values()],r={};return n.forEach(i=>{el(e,i.queryKey)&&Object.assign(r,i.defaultOptions)}),r}setMutationDefaults(e,n){this.#i.set(Ws(e),{mutationKey:e,defaultOptions:n})}getMutationDefaults(e){const n=[...this.#i.values()],r={};return n.forEach(i=>{el(e,i.mutationKey)&&Object.assign(r,i.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const n={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||(n.queryHash=rp(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===ap&&(n.enabled=!1),n}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Tw=w.createContext(void 0),Ai=e=>{const n=w.useContext(Tw);if(!n)throw new Error("No QueryClient set, use QueryClientProvider to set one");return n},Y2=({client:e,children:n})=>(w.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),f.jsx(Tw.Provider,{value:e,children:n})),Ow=w.createContext(!1),Q2=()=>w.useContext(Ow);Ow.Provider;function X2(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var J2=w.createContext(X2()),W2=()=>w.useContext(J2),ej=(e,n,r)=>{const i=r?.state.error&&typeof e.throwOnError=="function"?ww(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||i)&&(n.isReset()||(e.retryOnMount=!1))},tj=e=>{w.useEffect(()=>{e.clearReset()},[e])},nj=({result:e,errorResetBoundary:n,throwOnError:r,query:i,suspense:s})=>e.isError&&!n.isReset()&&!e.isFetching&&i&&(s&&e.data===void 0||ww(r,[e.error,i])),rj=e=>{if(e.suspense){const r=s=>s==="static"?s:Math.max(s??1e3,1e3),i=e.staleTime;e.staleTime=typeof i=="function"?(...s)=>r(i(...s)):r(i),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},aj=(e,n)=>e.isLoading&&e.isFetching&&!n,ij=(e,n)=>e?.suspense&&n.isPending,Eb=(e,n,r)=>n.fetchOptimistic(e).catch(()=>{r.clearReset()});function Aw(e,n,r){const i=Q2(),s=W2(),l=Ai(),u=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(u);const d=l.getQueryCache().get(u.queryHash),p=e.subscribed!==!1;u._optimisticResults=i?"isRestoring":p?"optimistic":void 0,rj(u),ej(u,s,d),tj(s);const m=!l.getQueryCache().get(u.queryHash),[y]=w.useState(()=>new n(l,u)),v=y.getOptimisticResult(u),b=!i&&p;if(w.useSyncExternalStore(w.useCallback(x=>{const _=b?y.subscribe(on.batchCalls(x)):Mn;return y.updateResult(),_},[y,b]),()=>y.getCurrentResult(),()=>y.getCurrentResult()),w.useEffect(()=>{y.setOptions(u)},[u,y]),ij(u,v))throw Eb(u,y,s);if(nj({result:v,errorResetBoundary:s,throwOnError:u.throwOnError,query:d,suspense:u.suspense}))throw v.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(u,v),u.experimental_prefetchInRender&&!tl.isServer()&&aj(v,i)&&(m?Eb(u,y,s):d?.promise)?.catch(Mn).finally(()=>{y.updateResult()}),u.notifyOnChangeProps?v:y.trackResult(v)}function Zt(e,n){return Aw(e,jw)}function oj(e,n){return Aw(e,H2)}let Rb=!1;function sj(e){const n=e.analytics;if(!n?.key||Rb)return;Rb=!0;const r=document.createElement("script");r.src=n.host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",r.async=!0,r.onload=()=>{const i=window.posthog;i&&(i.init(n.key,{api_host:n.host,defaults:"2026-05-30",capture_pageview:"history_change",session_recording:{maskAllInputs:!0,maskTextSelector:"*"}}),e.me&&i.identify(e.me.email,{email:e.me.email,name:e.me.name,...e.billing?{plan:e.billing.plan}:{}}))},document.head.appendChild(r)}function Mw(e,n){window.posthog?.capture(e,n)}const lj=[[/^POST \/api\/projects$/,"project_created"],[/^DELETE \/api\/projects\//,"project_deleted"],[/^POST \/api\/p\/[^/]+\/restore$/,"file_restored"],[/^DELETE \/api\/shares\//,"share_revoked"],[/^PATCH \/api\/shares\//,"share_expiry_changed"],[/^POST \/api\/orgs\/[^/]+\/invites$/,"invite_created"],[/^DELETE \/api\/orgs\/[^/]+\/invites\//,"invite_revoked"],[/^POST \/api\/invites\//,"invite_accepted"],[/^PUT \/api\/p\/[^/]+\/permissions\/./,"project_access_granted"],[/^DELETE \/api\/p\/[^/]+\/permissions\/./,"project_access_revoked"]];function Nw(e,n){const r=e+" "+n.split("?")[0],i=lj.find(([s])=>s.test(r));i&&Mw(i[1])}function op(){throw location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),new Error("signing in…")}function cj(e,n){const r=n.trim();switch(e){case 403:return r.includes("seat")?"This plan is out of seats. Upgrade to add more people.":r.includes("owner")?"Only owners can do that.":"You don't have access to that.";case 409:return r?r[0].toUpperCase()+r.slice(1):"That is managed outside this hub.";case 404:return"That is gone — it may have been removed already.";case 413:return"This project is over its plan limit.";case 429:return"Too many requests. Give it a moment.";default:return e>=500?"The server had a problem. Try again.":r?r[0].toUpperCase()+r.slice(1):"Something went wrong."}}async function Au(e){throw new Error(cj(e.status,await e.text()))}async function ln(e){const n=await fetch(e,{headers:{Accept:"application/json"}});return n.status===401&&op(),n.ok||await Au(n),n.json()}async function uj(e){const n=await fetch(e);return n.status===401&&op(),n.ok||await Au(n),n}async function tr(e,n,r){const i={method:e};r!==void 0&&(i.headers={"Content-Type":"application/json"},i.body=JSON.stringify(r));const s=await fetch(n,i);return s.ok||await Au(s),Nw(e,n),s.status===204?{}:s.json()}async function Si(e,n){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n||{})});return r.status===401&&op(),r.ok||await Au(r),Nw("POST",e),r.json()}function dj(){return Zt({queryKey:["config"],queryFn:async()=>{const e=await ln("/api/config");return e.auth.enabled&&!e.me&&(location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),await new Promise(()=>{})),sj(e),e},staleTime:1/0})}var Mi=vw();const fj=gw(Mi);function jb(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Fo(...e){return n=>{let r=!1;const i=e.map(s=>{const l=jb(s,n);return!r&&typeof l=="function"&&(r=!0),l});if(r)return()=>{for(let s=0;s{let{children:s,...l}=r,u=null,d=!1;const p=[];Tb(s)&&typeof Pc=="function"&&(s=Pc(s._payload)),w.Children.forEach(s,b=>{if(yj(b)){d=!0;const x=b;let _="child"in x.props?x.props.child:x.props.children;Tb(_)&&typeof Pc=="function"&&(_=Pc(_._payload)),u=pj(x,_),p.push(u?.props?.children)}else p.push(b)}),u?u=w.cloneElement(u,void 0,p):!d&&w.Children.count(s)===1&&w.isValidElement(s)&&(u=s);const m=u?vj(u):void 0,y=nt(i,m);if(!u){if(s||s===0)throw new Error(d?Sj(e):wj(e));return s}const v=gj(l,u.props??{});return u.type!==w.Fragment&&(v.ref=i?y:m),w.cloneElement(u,v)});return n.displayName=`${e}.Slot`,n}var hj=_i("Slot"),Dw=Symbol.for("radix.slottable");function mj(e){const n=r=>"child"in r?r.children(r.child):r.children;return n.displayName=`${e}.Slottable`,n.__radixId=Dw,n}var pj=(e,n)=>{if("child"in e.props){const r=e.props.child;return w.isValidElement(r)?w.cloneElement(r,void 0,e.props.children(r.props.children)):null}return w.isValidElement(n)?n:null};function gj(e,n){const r={...n};for(const i in n){const s=e[i],l=n[i];/^on[A-Z]/.test(i)?s&&l?r[i]=(...d)=>{const p=l(...d);return s(...d),p}:s&&(r[i]=s):i==="style"?r[i]={...s,...l}:i==="className"&&(r[i]=[s,l].filter(Boolean).join(" "))}return{...e,...r}}function vj(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function yj(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Dw}var bj=Symbol.for("react.lazy");function Tb(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===bj&&"_payload"in e&&xj(e._payload)}function xj(e){return typeof e=="object"&&e!==null&&"then"in e}var wj=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Sj=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Pc=Ou[" use ".trim().toString()],_j=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=_j.reduce((e,n)=>{const r=_i(`Primitive.${n}`),i=w.forwardRef((s,l)=>{const{asChild:u,...d}=s,p=u?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(p,{...d,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function zw(e,n){e&&Mi.flushSync(()=>e.dispatchEvent(n))}var kw=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Cj="VisuallyHidden",Lw=w.forwardRef((e,n)=>f.jsx($e.span,{...e,ref:n,style:{...kw,...e.style}}));Lw.displayName=Cj;var Ej=Lw;function Ga(e,n=[]){let r=[];function i(l,u){const d=w.createContext(u);d.displayName=l+"Context";const p=r.length;r=[...r,u];const m=v=>{const{scope:b,children:x,..._}=v,C=b?.[e]?.[p]||d,E=w.useMemo(()=>_,Object.values(_));return f.jsx(C.Provider,{value:E,children:x})};m.displayName=l+"Provider";function y(v,b,x={}){const{optional:_=!1}=x,C=b?.[e]?.[p]||d,E=w.useContext(C);if(E)return E;if(u!==void 0)return u;if(!_)throw new Error(`\`${v}\` must be used within \`${l}\``)}return[m,y]}const s=()=>{const l=r.map(u=>w.createContext(u));return function(d){const p=d?.[e]||l;return w.useMemo(()=>({[`__scope${e}`]:{...d,[e]:p}}),[d,p])}};return s.scopeName=e,[i,Rj(s,...n)]}function Rj(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const i=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const u=i.reduce((d,{useScope:p,scopeName:m})=>{const v=p(l)[`__scope${m}`];return{...d,...v}},{});return w.useMemo(()=>({[`__scope${n.scopeName}`]:u}),[u])}};return r.scopeName=n.scopeName,r}function sp(e){const n=e+"CollectionProvider",[r,i]=Ga(n),[s,l]=r(n,{collectionRef:{current:null},itemMap:new Map}),u=C=>{const{scope:E,children:R}=C,O=w.useRef(null),T=w.useRef(new Map).current;return f.jsx(s,{scope:E,itemMap:T,collectionRef:O,children:R})};u.displayName=n;const d=e+"CollectionSlot",p=_i(d),m=w.forwardRef((C,E)=>{const{scope:R,children:O}=C,T=l(d,R),z=nt(E,T.collectionRef);return f.jsx(p,{ref:z,children:O})});m.displayName=d;const y=e+"CollectionItemSlot",v="data-radix-collection-item",b=_i(y),x=w.forwardRef((C,E)=>{const{scope:R,children:O,...T}=C,z=w.useRef(null),$=nt(E,z),B=l(y,R);return w.useEffect(()=>(B.itemMap.set(z,{ref:z,...T}),()=>{B.itemMap.delete(z)})),f.jsx(b,{[v]:"",ref:$,children:O})});x.displayName=y;function _(C){const E=l(e+"CollectionConsumer",C);return w.useCallback(()=>{const O=E.collectionRef.current;if(!O)return[];const T=Array.from(O.querySelectorAll(`[${v}]`));return Array.from(E.itemMap.values()).sort((B,F)=>T.indexOf(B.ref.current)-T.indexOf(F.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:u,Slot:m,ItemSlot:x},_,i]}function Re(e,n,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e?.(s),r===!1||!s||!s.defaultPrevented)return n?.(s)}}var Gt=globalThis?.document?w.useLayoutEffect:()=>{},jj=Ou[" useInsertionEffect ".trim().toString()]||Gt;function Vo({prop:e,defaultProp:n,onChange:r=()=>{},caller:i}){const[s,l,u]=Tj({defaultProp:n,onChange:r}),d=e!==void 0,p=d?e:s;{const y=w.useRef(e!==void 0);w.useEffect(()=>{const v=y.current;v!==d&&console.warn(`${i} is changing from ${v?"controlled":"uncontrolled"} to ${d?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=d},[d,i])}const m=w.useCallback(y=>{if(d){const v=Oj(y)?y(e):y;v!==e&&u.current?.(v)}else l(y)},[d,e,l,u]);return[p,m]}function Tj({defaultProp:e,onChange:n}){const[r,i]=w.useState(e),s=w.useRef(r),l=w.useRef(n);return jj(()=>{l.current=n},[n]),w.useEffect(()=>{s.current!==r&&(l.current?.(r),s.current=r)},[r,s]),[r,i,l]}function Oj(e){return typeof e=="function"}function Aj(e,n){return w.useReducer((r,i)=>n[r][i]??r,e)}var yr=e=>{const{present:n,children:r}=e,i=Mj(n),s=typeof r=="function"?r({present:i.isPresent}):w.Children.only(r),l=Nj(i.ref,Dj(s));return typeof r=="function"||i.isPresent?w.cloneElement(s,{ref:l}):null};yr.displayName="Presence";function Mj(e){const[n,r]=w.useState(),i=w.useRef(null),s=w.useRef(e),l=w.useRef("none"),u=w.useRef(void 0),d=e?"mounted":"unmounted",[p,m]=Aj(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{p==="mounted"?(l.current=u.current??Fs(i.current),u.current=void 0):l.current="none"},[p]),Gt(()=>{const y=i.current,v=s.current;if(v!==e){const x=l.current,_=Fs(y);e?(u.current=_,m("MOUNT")):_==="none"||y?.display==="none"?m("UNMOUNT"):m(v&&x!==_?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,m]),Gt(()=>{if(n){let y;const v=n.ownerDocument.defaultView??window,b=_=>{const E=Fs(i.current).includes(CSS.escape(_.animationName));if(_.target===n&&E&&(m("ANIMATION_END"),!s.current)){const R=n.style.animationFillMode;n.style.animationFillMode="forwards",y=v.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=R)})}},x=_=>{_.target===n&&(l.current=Fs(i.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",b),n.addEventListener("animationend",b),()=>{v.clearTimeout(y),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",b),n.removeEventListener("animationend",b)}}else m("ANIMATION_END")},[n,m]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:w.useCallback(y=>{if(y){const v=getComputedStyle(y);i.current=v,u.current=Fs(v)}else i.current=null;r(y)},[])}}function Ob(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Nj(...e){const n=w.useRef(e);return n.current=e,w.useCallback(r=>{const i=n.current;let s=!1;const l=i.map(u=>{const d=Ob(u,r);return!s&&typeof d=="function"&&(s=!0),d});if(s)return()=>{for(let u=0;u{}),kj=0;function hn(e){const[n,r]=w.useState(zj());return Gt(()=>{r(i=>i??String(kj++))},[e]),n?`radix-${n}`:""}var Lj=w.createContext(void 0);function lp(e){const n=w.useContext(Lj);return e||n||"ltr"}function rr(e){const n=w.useRef(e);return w.useEffect(()=>{n.current=e}),w.useMemo(()=>((...r)=>n.current?.(...r)),[])}var $j="DismissableLayer",ym="dismissableLayer.update",Ij="dismissableLayer.pointerDownOutside",Pj="dismissableLayer.focusOutside",Ab,cp=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ml=w.forwardRef((e,n)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,onDismiss:p,...m}=e,y=w.useContext(cp),[v,b]=w.useState(null),x=v?.ownerDocument??globalThis?.document,[,_]=w.useState({}),C=nt(n,b),E=Array.from(y.layers),[R]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),O=R?E.indexOf(R):-1,T=v?E.indexOf(v):-1,z=y.layersWithOutsidePointerEventsDisabled.size>0,$=T>=O,B=w.useRef(!1),F=Bj(fe=>{l?.(fe),d?.(fe),fe.defaultPrevented||p?.()},{ownerDocument:x,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:B,dismissableSurfaces:y.dismissableSurfaces,shouldHandlePointerDownOutside:w.useCallback(fe=>{if(!(fe instanceof Node))return!1;const Q=[...y.branches].some(le=>le.contains(fe));return $&&!Q},[y.branches,$])}),V=qj(fe=>{if(i&&B.current)return;const Q=fe.target;[...y.branches].some(ue=>ue.contains(Q))||(u?.(fe),d?.(fe),fe.defaultPrevented||p?.())},x),pe=v?T===E.length-1:!1,ge=rr(fe=>{fe.key==="Escape"&&(s?.(fe),!fe.defaultPrevented&&p&&(fe.preventDefault(),p()))});return w.useEffect(()=>{if(pe)return x.addEventListener("keydown",ge,{capture:!0}),()=>x.removeEventListener("keydown",ge,{capture:!0})},[x,pe,ge]),w.useEffect(()=>{if(v)return r&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Ab=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(v)),y.layers.add(v),Mb(),()=>{r&&(y.layersWithOutsidePointerEventsDisabled.delete(v),y.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=Ab))}},[v,x,r,y]),w.useEffect(()=>()=>{v&&(y.layers.delete(v),y.layersWithOutsidePointerEventsDisabled.delete(v),Mb())},[v,y]),w.useEffect(()=>{const fe=()=>_({});return document.addEventListener(ym,fe),()=>document.removeEventListener(ym,fe)},[]),f.jsx($e.div,{...m,ref:C,style:{pointerEvents:z?$?"auto":"none":void 0,...e.style},onFocusCapture:Re(e.onFocusCapture,V.onFocusCapture),onBlurCapture:Re(e.onBlurCapture,V.onBlurCapture),onPointerDownCapture:Re(e.onPointerDownCapture,F.onPointerDownCapture)})});ml.displayName=$j;var Fj="DismissableLayerBranch",Vj=w.forwardRef((e,n)=>{const r=w.useContext(cp),i=w.useRef(null),s=nt(n,i);return w.useEffect(()=>{const l=i.current;if(l)return r.branches.add(l),()=>{r.branches.delete(l)}},[r.branches]),f.jsx($e.div,{...e,ref:s})});Vj.displayName=Fj;function Uj(){const e=w.useContext(cp),[n,r]=w.useState(null);return w.useEffect(()=>{if(n)return e.dismissableSurfaces.add(n),()=>{e.dismissableSurfaces.delete(n)}},[n,e.dismissableSurfaces]),r}var Hj=()=>!0;function Bj(e,n){const{ownerDocument:r=globalThis?.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:l,shouldHandlePointerDownOutside:u=Hj}=n,d=rr(e),p=w.useRef(!1),m=w.useRef(!1),y=w.useRef(new Map),v=w.useRef(()=>{});return w.useEffect(()=>{function b(){m.current=!1,s.current=!1,y.current.clear()}function x(){return Array.from(y.current.values()).some(Boolean)}function _(T){if(!m.current)return;const z=T.target;z instanceof Node&&[...l].some(B=>B.contains(z))||y.current.set(T.type,!0),T.type==="click"&&window.setTimeout(()=>{m.current&&v.current()},0)}function C(T){m.current&&y.current.set(T.type,!1)}const E=T=>{if(T.target&&!p.current){let z=function(){r.removeEventListener("click",v.current);const B=x();b(),B||$w(Ij,d,$,{discrete:!0})};if(!u(T.target)){r.removeEventListener("click",v.current),b(),p.current=!1;return}const $={originalEvent:T};m.current=!0,s.current=i&&T.button===0,y.current.clear(),!i||T.button!==0?z():(r.removeEventListener("click",v.current),v.current=z,r.addEventListener("click",v.current,{once:!0}))}else r.removeEventListener("click",v.current),b();p.current=!1},R=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const T of R)r.addEventListener(T,_,!0),r.addEventListener(T,C);const O=window.setTimeout(()=>{r.addEventListener("pointerdown",E)},0);return()=>{window.clearTimeout(O),r.removeEventListener("pointerdown",E),r.removeEventListener("click",v.current);for(const T of R)r.removeEventListener(T,_,!0),r.removeEventListener(T,C)}},[r,d,i,s,l,u]),{onPointerDownCapture:()=>p.current=!0}}function qj(e,n=globalThis?.document){const r=rr(e),i=w.useRef(!1);return w.useEffect(()=>{const s=l=>{l.target&&!i.current&&$w(Pj,r,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",s),()=>n.removeEventListener("focusin",s)},[n,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Mb(){const e=new CustomEvent(ym);document.dispatchEvent(e)}function $w(e,n,r,{discrete:i}){const s=r.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});n&&s.addEventListener(e,n,{once:!0}),i?zw(s,l):s.dispatchEvent(l)}var Nh="focusScope.autoFocusOnMount",Dh="focusScope.autoFocusOnUnmount",Nb={bubbles:!1,cancelable:!0},Gj="FocusScope",Mu=w.forwardRef((e,n)=>{const{loop:r=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...u}=e,[d,p]=w.useState(null),m=rr(s),y=rr(l),v=w.useRef(null),b=nt(n,p),x=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(i){let C=function(T){if(x.paused||!d)return;const z=T.target;d.contains(z)?v.current=z:Na(v.current,{select:!0})},E=function(T){if(x.paused||!d)return;const z=T.relatedTarget;z!==null&&(d.contains(z)||Na(v.current,{select:!0}))},R=function(T){if(document.activeElement===document.body)for(const $ of T)$.removedNodes.length>0&&Na(d)};document.addEventListener("focusin",C),document.addEventListener("focusout",E);const O=new MutationObserver(R);return d&&O.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",E),O.disconnect()}}},[i,d,x.paused]),w.useEffect(()=>{if(d){zb.add(x);const C=document.activeElement;if(!d.contains(C)){const R=new CustomEvent(Nh,Nb);d.addEventListener(Nh,m),d.dispatchEvent(R),R.defaultPrevented||(Zj(Jj(Iw(d)),{select:!0}),document.activeElement===C&&Na(d))}return()=>{d.removeEventListener(Nh,m),setTimeout(()=>{const R=new CustomEvent(Dh,Nb);d.addEventListener(Dh,y),d.dispatchEvent(R),R.defaultPrevented||Na(C??document.body,{select:!0}),d.removeEventListener(Dh,y),zb.remove(x)},0)}}},[d,m,y,x]);const _=w.useCallback(C=>{if(!r&&!i||x.paused)return;const E=C.key==="Tab"&&!C.altKey&&!C.ctrlKey&&!C.metaKey,R=document.activeElement;if(E&&R){const O=C.currentTarget,[T,z]=Kj(O);T&&z?!C.shiftKey&&R===z?(C.preventDefault(),r&&Na(T,{select:!0})):C.shiftKey&&R===T&&(C.preventDefault(),r&&Na(z,{select:!0})):R===O&&C.preventDefault()}},[r,i,x.paused]);return f.jsx($e.div,{tabIndex:-1,...u,ref:b,onKeyDown:_})});Mu.displayName=Gj;function Zj(e,{select:n=!1}={}){const r=document.activeElement;for(const i of e)if(Na(i,{select:n}),document.activeElement!==r)return}function Kj(e){const n=Iw(e),r=Db(n,e),i=Db(n.reverse(),e);return[r,i]}function Iw(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function Db(e,n){const r=typeof n.checkVisibility=="function"&&n.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(r?!i.checkVisibility({checkVisibilityCSS:!0}):Yj(i,{upTo:n})))return i}function Yj(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Qj(e){return e instanceof HTMLInputElement&&"select"in e}function Na(e,{select:n=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&Qj(e)&&n&&e.select()}}var zb=Xj();function Xj(){let e=[];return{add(n){const r=e[0];n!==r&&r?.pause(),e=kb(e,n),e.unshift(n)},remove(n){e=kb(e,n),e[0]?.resume()}}}function kb(e,n){const r=[...e],i=r.indexOf(n);return i!==-1&&r.splice(i,1),r}function Jj(e){return e.filter(n=>n.tagName!=="A")}var Wj="Portal",pl=w.forwardRef((e,n)=>{const{container:r,...i}=e,[s,l]=w.useState(!1);Gt(()=>l(!0),[]);const u=r||s&&globalThis?.document?.body;return u?Mi.createPortal(f.jsx($e.div,{...i,ref:n}),u):null});pl.displayName=Wj;var Fc=0,_o=null;function up(){w.useEffect(()=>{_o||(_o={start:Lb(),end:Lb()});const{start:e,end:n}=_o;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==n&&document.body.insertAdjacentElement("beforeend",n),Fc++,()=>{Fc===1&&(_o?.start.remove(),_o?.end.remove(),_o=null),Fc=Math.max(0,Fc-1)}},[])}function Lb(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Tr=function(){return Tr=Object.assign||function(n){for(var r,i=1,s=arguments.length;i"u")return gT;var n=vT(e),r=document.documentElement.clientWidth,i=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,i-r+n[2]-n[0])}},bT=Uw(),ko="data-scroll-locked",xT=function(e,n,r,i){var s=e.left,l=e.top,u=e.right,d=e.gap;return r===void 0&&(r="margin"),` + .`.concat(tT,` { + overflow: hidden `).concat(i,`; + padding-right: `).concat(d,"px ").concat(i,`; + } + body[`).concat(ko,`] { + overflow: hidden `).concat(i,`; + overscroll-behavior: contain; + `).concat([n&&"position: relative ".concat(i,";"),r==="margin"&&` + padding-left: `.concat(s,`px; + padding-top: `).concat(l,`px; + padding-right: `).concat(u,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(d,"px ").concat(i,`; + `),r==="padding"&&"padding-right: ".concat(d,"px ").concat(i,";")].filter(Boolean).join(""),` + } + + .`).concat(nu,` { + right: `).concat(d,"px ").concat(i,`; + } + + .`).concat(ru,` { + margin-right: `).concat(d,"px ").concat(i,`; + } + + .`).concat(nu," .").concat(nu,` { + right: 0 `).concat(i,`; + } + + .`).concat(ru," .").concat(ru,` { + margin-right: 0 `).concat(i,`; + } + + body[`).concat(ko,`] { + `).concat(nT,": ").concat(d,`px; + } +`)},Ib=function(){var e=parseInt(document.body.getAttribute(ko)||"0",10);return isFinite(e)?e:0},wT=function(){w.useEffect(function(){return document.body.setAttribute(ko,(Ib()+1).toString()),function(){var e=Ib()-1;e<=0?document.body.removeAttribute(ko):document.body.setAttribute(ko,e.toString())}},[])},ST=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,s=i===void 0?"margin":i;wT();var l=w.useMemo(function(){return yT(s)},[s]);return w.createElement(bT,{styles:xT(l,!n,s,r?"":"!important")})},bm=!1;if(typeof window<"u")try{var Vc=Object.defineProperty({},"passive",{get:function(){return bm=!0,!0}});window.addEventListener("test",Vc,Vc),window.removeEventListener("test",Vc,Vc)}catch{bm=!1}var Co=bm?{passive:!1}:!1,_T=function(e){return e.tagName==="TEXTAREA"},Hw=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!_T(e)&&r[n]==="visible")},CT=function(e){return Hw(e,"overflowY")},ET=function(e){return Hw(e,"overflowX")},Pb=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=Bw(e,i);if(s){var l=qw(e,i),u=l[1],d=l[2];if(u>d)return!0}i=i.parentNode}while(i&&i!==r.body);return!1},RT=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},jT=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},Bw=function(e,n){return e==="v"?CT(n):ET(n)},qw=function(e,n){return e==="v"?RT(n):jT(n)},TT=function(e,n){return e==="h"&&n==="rtl"?-1:1},OT=function(e,n,r,i,s){var l=TT(e,window.getComputedStyle(n).direction),u=l*i,d=r.target,p=n.contains(d),m=!1,y=u>0,v=0,b=0;do{if(!d)break;var x=qw(e,d),_=x[0],C=x[1],E=x[2],R=C-E-l*_;(_||R)&&Bw(e,d)&&(v+=R,b+=_);var O=d.parentNode;d=O&&O.nodeType===Node.DOCUMENT_FRAGMENT_NODE?O.host:O}while(!p&&d!==document.body||p&&(n.contains(d)||n===d));return(y&&Math.abs(v)<1||!y&&Math.abs(b)<1)&&(m=!0),m},Uc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Fb=function(e){return[e.deltaX,e.deltaY]},Vb=function(e){return e&&"current"in e?e.current:e},AT=function(e,n){return e[0]===n[0]&&e[1]===n[1]},MT=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},NT=0,Eo=[];function DT(e){var n=w.useRef([]),r=w.useRef([0,0]),i=w.useRef(),s=w.useState(NT++)[0],l=w.useState(Uw)[0],u=w.useRef(e);w.useEffect(function(){u.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var C=eT([e.lockRef.current],(e.shards||[]).map(Vb),!0).filter(Boolean);return C.forEach(function(E){return E.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),C.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var d=w.useCallback(function(C,E){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!u.current.allowPinchZoom;var R=Uc(C),O=r.current,T="deltaX"in C?C.deltaX:O[0]-R[0],z="deltaY"in C?C.deltaY:O[1]-R[1],$,B=C.target,F=Math.abs(T)>Math.abs(z)?"h":"v";if("touches"in C&&F==="h"&&B.type==="range")return!1;var V=window.getSelection(),pe=V&&V.anchorNode,ge=pe?pe===B||pe.contains(B):!1;if(ge)return!1;var fe=Pb(F,B);if(!fe)return!0;if(fe?$=F:($=F==="v"?"h":"v",fe=Pb(F,B)),!fe)return!1;if(!i.current&&"changedTouches"in C&&(T||z)&&(i.current=$),!$)return!0;var Q=i.current||$;return OT(Q,E,C,Q==="h"?T:z)},[]),p=w.useCallback(function(C){var E=C;if(!(!Eo.length||Eo[Eo.length-1]!==l)){var R="deltaY"in E?Fb(E):Uc(E),O=n.current.filter(function($){return $.name===E.type&&($.target===E.target||E.target===$.shadowParent)&&AT($.delta,R)})[0];if(O&&O.should){E.cancelable&&E.preventDefault();return}if(!O){var T=(u.current.shards||[]).map(Vb).filter(Boolean).filter(function($){return $.contains(E.target)}),z=T.length>0?d(E,T[0]):!u.current.noIsolation;z&&E.cancelable&&E.preventDefault()}}},[]),m=w.useCallback(function(C,E,R,O){var T={name:C,delta:E,target:R,should:O,shadowParent:zT(R)};n.current.push(T),setTimeout(function(){n.current=n.current.filter(function(z){return z!==T})},1)},[]),y=w.useCallback(function(C){r.current=Uc(C),i.current=void 0},[]),v=w.useCallback(function(C){m(C.type,Fb(C),C.target,d(C,e.lockRef.current))},[]),b=w.useCallback(function(C){m(C.type,Uc(C),C.target,d(C,e.lockRef.current))},[]);w.useEffect(function(){return Eo.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",p,Co),document.addEventListener("touchmove",p,Co),document.addEventListener("touchstart",y,Co),function(){Eo=Eo.filter(function(C){return C!==l}),document.removeEventListener("wheel",p,Co),document.removeEventListener("touchmove",p,Co),document.removeEventListener("touchstart",y,Co)}},[]);var x=e.removeScrollBar,_=e.inert;return w.createElement(w.Fragment,null,_?w.createElement(l,{styles:MT(s)}):null,x?w.createElement(ST,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function zT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const kT=cT(Vw,DT);var Du=w.forwardRef(function(e,n){return w.createElement(Nu,Tr({},e,{ref:n,sideCar:kT}))});Du.classNames=Nu.classNames;var LT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Ro=new WeakMap,Hc=new WeakMap,Bc={},$h=0,Gw=function(e){return e&&(e.host||Gw(e.parentNode))},$T=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Gw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},IT=function(e,n,r,i){var s=$T(n,Array.isArray(e)?e:[e]);Bc[r]||(Bc[r]=new WeakMap);var l=Bc[r],u=[],d=new Set,p=new Set(s),m=function(v){!v||d.has(v)||(d.add(v),m(v.parentNode))};s.forEach(m);var y=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),_=x!==null&&x!=="false",C=(Ro.get(b)||0)+1,E=(l.get(b)||0)+1;Ro.set(b,C),l.set(b,E),u.push(b),C===1&&_&&Hc.set(b,!0),E===1&&b.setAttribute(r,"true"),_||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Ro.get(v)-1,x=l.get(v)-1;Ro.set(v,b),l.set(v,x),b||(Hc.has(v)||v.removeAttribute(i),Hc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Ro=new WeakMap,Ro=new WeakMap,Hc=new WeakMap,Bc={})}},dp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),s=LT(e);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),IT(i,s,r,"aria-hidden")):function(){return null}},zu="Dialog",[Zw]=Ga(zu),[PT,br]=Zw(zu),fp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,d=w.useRef(null),p=w.useRef(null),[m,y]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:zu});return f.jsx(PT,{scope:n,triggerRef:d,contentRef:p,contentId:hn(),titleId:hn(),descriptionId:hn(),open:m,onOpenChange:y,onOpenToggle:w.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};fp.displayName=zu;var Kw="DialogTrigger",FT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Kw,r),l=nt(n,s.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":vp(s.open),...i,ref:l,onClick:Re(e.onClick,s.onOpenToggle)})});FT.displayName=Kw;var hp="DialogPortal",[VT,Yw]=Zw(hp,{forceMount:void 0}),mp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:s}=e,l=br(hp,n);return f.jsx(VT,{scope:n,forceMount:r,children:w.Children.map(i,u=>f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:u})}))})};mp.displayName=hp;var fu="DialogOverlay",pp=w.forwardRef((e,n)=>{const r=Yw(fu,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(fu,e.__scopeDialog);return l.modal?f.jsx(yr,{present:i||l.open,children:f.jsx(HT,{...s,ref:n})}):null});pp.displayName=fu;var UT=_i("DialogOverlay.RemoveScroll"),HT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(fu,r),l=Uj(),u=nt(n,l);return f.jsx(Du,{as:UT,allowPinchZoom:!0,shards:[s.contentRef],children:f.jsx($e.div,{"data-state":vp(s.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Uo="DialogContent",gp=w.forwardRef((e,n)=>{const r=Yw(Uo,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(Uo,e.__scopeDialog);return f.jsx(yr,{present:i||l.open,children:l.modal?f.jsx(BT,{...s,ref:n}):f.jsx(qT,{...s,ref:n})})});gp.displayName=Uo;var BT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=w.useRef(null),s=nt(n,r.contentRef,i);return w.useEffect(()=>{const l=i.current;if(l)return dp(l)},[]),f.jsx(Qw,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Re(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Re(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault())})}),qT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=w.useRef(!1),s=w.useRef(!1);return f.jsx(Qw,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),Qw=w.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,...u}=e,d=br(Uo,r);return up(),f.jsx(f.Fragment,{children:f.jsx(Mu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:l,children:f.jsx(ml,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":vp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),Xw="DialogTitle",Jw=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Xw,r);return f.jsx($e.h2,{id:s.titleId,...i,ref:n})});Jw.displayName=Xw;var Ww="DialogDescription",GT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Ww,r);return f.jsx($e.p,{id:s.descriptionId,...i,ref:n})});GT.displayName=Ww;var eS="DialogClose",tS=w.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(eS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:Re(e.onClick,()=>s.onOpenChange(!1))})});tS.displayName=eS;function vp(e){return e?"open":"closed"}function ZT(e){const n=w.useRef({value:e,previous:e});return w.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function KT(e){const[n,r]=w.useState(void 0);return Gt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let u,d;if("borderBoxSize"in l){const p=l.borderBoxSize,m=Array.isArray(p)?p[0]:p;u=m.inlineSize,d=m.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const YT=["top","right","bottom","left"],Va=Math.min,na=Math.max,hu=Math.round,qc=Math.floor,ra=e=>({x:e,y:e}),QT={left:"right",right:"left",bottom:"top",top:"bottom"};function nS(e,n,r){return na(e,Va(n,r))}function aa(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function qo(e){return e.split("-")[1]}function yp(e){return e==="x"?"y":"x"}function bp(e){return e==="y"?"height":"width"}function Or(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function xp(e){return yp(Or(e))}function XT(e,n,r){r===void 0&&(r=!1);const i=qo(e),s=xp(e),l=bp(s);let u=s==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=mu(u)),[u,mu(u)]}function JT(e){const n=mu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Ub=["left","right"],Hb=["right","left"],WT=["top","bottom"],eO=["bottom","top"];function tO(e,n,r){switch(e){case"top":case"bottom":return r?n?Hb:Ub:n?Ub:Hb;case"left":case"right":return n?WT:eO;default:return[]}}function nO(e,n,r,i){const s=qo(e);let l=tO(Ua(e),r==="start",i);return s&&(l=l.map(u=>u+"-"+s),n&&(l=l.concat(l.map(xm)))),l}function mu(e){const n=Ua(e);return QT[n]+e.slice(n.length)}function rO(e){var n,r,i,s;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(s=e.left)!=null?s:0}}function rS(e){return typeof e!="number"?rO(e):{top:e,right:e,bottom:e,left:e}}function pu(e){const{x:n,y:r,width:i,height:s}=e;return{width:i,height:s,top:r,left:n,right:n+i,bottom:r+s,x:n,y:r}}function Bb(e,n,r){let{reference:i,floating:s}=e;const l=Or(n),u=xp(n),d=bp(u),p=Ua(n),m=l==="y",y=i.x+i.width/2-s.width/2,v=i.y+i.height/2-s.height/2,b=i[d]/2-s[d]/2;let x;switch(p){case"top":x={x:y,y:i.y-s.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-s.width,y:v};break;default:x={x:i.x,y:i.y}}const _=qo(n);return _&&(x[u]+=b*(_==="end"?1:-1)*(r&&m?-1:1)),x}async function aO(e,n){var r;n===void 0&&(n={});const{x:i,y:s,platform:l,rects:u,elements:d,strategy:p}=e,{boundary:m="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=aa(n,e),_=rS(x),E=d[b?v==="floating"?"reference":"floating":v],R=pu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:m,rootBoundary:y,strategy:p})),O=v==="floating"?{x:i,y:s,width:u.floating.width,height:u.floating.height}:u.reference,T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),z=await(l.isElement==null?void 0:l.isElement(T))&&await(l.getScale==null?void 0:l.getScale(T))||{x:1,y:1},$=pu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:O,offsetParent:T,strategy:p}):O);return{top:(R.top-$.top+_.top)/z.y,bottom:($.bottom-R.bottom+_.bottom)/z.y,left:(R.left-$.left+_.left)/z.x,right:($.right-R.right+_.right)/z.x}}const iO=50,oO=async(e,n,r)=>{const{placement:i="bottom",strategy:s="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:aO},p=await(u.isRTL==null?void 0:u.isRTL(n));let m=await u.getElementRects({reference:e,floating:n,strategy:s}),{x:y,y:v}=Bb(m,i,p),b=i,x=0;const _={};for(let C=0;C({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:s,rects:l,platform:u,elements:d,middlewareData:p}=n,{element:m,padding:y=0}=aa(e,n)||{};if(m==null)return{};const v=rS(y),b={x:r,y:i},x=xp(s),_=bp(x),C=await u.getDimensions(m),E=x==="y",R=E?"top":"left",O=E?"bottom":"right",T=E?"clientHeight":"clientWidth",z=l.reference[_]+l.reference[x]-b[x]-l.floating[_],$=b[x]-l.reference[x],B=await(u.getOffsetParent==null?void 0:u.getOffsetParent(m));let F=B?B[T]:0;(!F||!await(u.isElement==null?void 0:u.isElement(B)))&&(F=d.floating[T]||l.floating[_]);const V=z/2-$/2,pe=F/2-C[_]/2-1,ge=Va(v[R],pe),fe=Va(v[O],pe),Q=F-C[_]-fe,le=F/2-C[_]/2+V,ue=nS(ge,le,Q),xe=!p.arrow&&qo(s)!=null&&le!==ue&&l.reference[_]/2-(leue<=0)){var fe,Q;const ue=(((fe=l.flip)==null?void 0:fe.index)||0)+1,xe=F[ue];if(xe&&(!(v==="alignment"?O!==Or(xe):!1)||ge.every(ae=>Or(ae.placement)===O?ae.overflows[0]>0:!0)))return{data:{index:ue,overflows:ge},reset:{placement:xe}};let N=(Q=ge.filter(q=>q.overflows[0]<=0).sort((q,ae)=>q.overflows[1]-ae.overflows[1])[0])==null?void 0:Q.placement;if(!N)switch(x){case"bestFit":{var le;const q=(le=ge.filter(ae=>{if(B){const te=Or(ae.placement);return te===O||te==="y"}return!0}).map(ae=>[ae.placement,ae.overflows.filter(te=>te>0).reduce((te,ne)=>te+ne,0)]).sort((ae,te)=>ae[1]-te[1])[0])==null?void 0:le[0];q&&(N=q);break}case"initialPlacement":N=d;break}if(s!==N)return{reset:{placement:N}}}return{}}}};function qb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Gb(e){return YT.some(n=>e[n]>=0)}const cO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:s="referenceHidden",...l}=aa(e,n);switch(s){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=qb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Gb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=qb(u,r.floating);return{data:{escapedOffsets:d,escaped:Gb(d)}}}default:return{}}}}},aS=new Set(["left","top"]);async function uO(e,n){const{placement:r,platform:i,elements:s}=e,l=await(i.isRTL==null?void 0:i.isRTL(s.floating)),u=Ua(r),d=qo(r),p=Or(r)==="y",m=aS.has(u)?-1:1,y=l&&p?-1:1,v=aa(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:_}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof _=="number"&&(x=d==="end"?_*-1:_),p?{x:x*y,y:b*m}:{x:b*m,y:x*y}}const dO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:s,y:l,placement:u,middlewareData:d}=n,p=await uO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:s+p.x,y:l+p.y,data:{...p,placement:u}}}}},fO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:s,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:p={fn:O=>{let{x:T,y:z}=O;return{x:T,y:z}}},...m}=aa(e,n),y={x:r,y:i},v=await l.detectOverflow(n,m),b=Or(s),x=yp(b);let _=y[x],C=y[b];const E=(O,T)=>nS(T+v[O==="y"?"top":"left"],T,T-v[O==="y"?"bottom":"right"]);u&&(_=E(x,_)),d&&(C=E(b,C));const R=p.fn({...n,[x]:_,[b]:C});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},hO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:s,y:l,placement:u,rects:d,middlewareData:p}=n,{offset:m=0,mainAxis:y=!0,crossAxis:v=!0}=aa(e,n),b={x:s,y:l},x=Or(u),_=yp(x);let C=b[_],E=b[x];const R=aa(m,n),O=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const $=_==="y"?"height":"width",B=d.reference[_]-d.floating[$]+O.mainAxis,F=d.reference[_]+d.reference[$]-O.mainAxis;CF&&(C=F)}if(v){var T,z;const $=_==="y"?"width":"height",B=aS.has(Ua(u)),F=d.reference[x]-d.floating[$]+(B&&((T=p.offset)==null?void 0:T[x])||0)+(B?0:O.crossAxis),V=d.reference[x]+d.reference[$]+(B?0:((z=p.offset)==null?void 0:z[x])||0)-(B?O.crossAxis:0);EV&&(E=V)}return{[_]:C,[x]:E}}}},mO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:s,elements:l}=n,{apply:u=()=>{},...d}=aa(e,n),p=await s.detectOverflow(n,d),m=Ua(r),y=qo(r),v=Or(r)==="y",{width:b,height:x}=i.floating;let _,C;m==="top"||m==="bottom"?(_=m,C=y===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(C=m,_=y==="end"?"top":"bottom");const E=x-p.top-p.bottom,R=b-p.left-p.right,O=Va(x-p[_],E),T=Va(b-p[C],R),z=n.middlewareData.shift,$=!z;let B=O,F=T;z!=null&&z.enabled.x&&(F=R),z!=null&&z.enabled.y&&(B=E),$&&!y&&(v?F=b-2*na(p.left,p.right):B=x-2*na(p.top,p.bottom)),await u({...n,availableWidth:F,availableHeight:B});const V=await s.getDimensions(l.floating);return b!==V.width||x!==V.height?{reset:{rects:!0}}:{}}}};function ku(){return typeof window<"u"}function Go(e){return iS(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ia(e){var n;return(n=(iS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function iS(e){return ku()?e instanceof Node||e instanceof Nn(e).Node:!1}function Ar(e){return ku()?e instanceof Element||e instanceof Nn(e).Element:!1}function Za(e){return ku()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Zb(e){return!ku()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function Lu(e){const{overflow:n,overflowX:r,overflowY:i,display:s}=Mr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&s!=="inline"&&s!=="contents"}function pO(e){return/^(table|td|th)$/.test(Go(e))}function $u(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const gO=/transform|translate|scale|rotate|perspective|filter/,vO=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function wp(e){const n=Ar(e)?Mr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!Sp()&&(vi(n.backdropFilter)||vi(n.filter))||gO.test(n.willChange||"")||vO.test(n.contain||"")}function yO(e){let n=Ci(e);for(;Za(n)&&!nl(n);){if(wp(n))return n;if($u(n))return null;n=Ci(n)}return null}function Sp(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function nl(e){return/^(html|body|#document)$/.test(Go(e))}function Mr(e){return Nn(e).getComputedStyle(e)}function Iu(e){return Ar(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ci(e){if(Go(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Zb(e)&&e.host||ia(e);return Zb(n)?n.host:n}function oS(e){const n=Ci(e);return nl(n)?(e.ownerDocument||e).body:Za(n)&&Lu(n)?n:oS(n)}function rl(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=oS(e),l=s===((i=e.ownerDocument)==null?void 0:i.body),u=Nn(s);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],Lu(s)?s:[],d&&r?rl(d):[])}else return n.concat(s,rl(s,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function sS(e){const n=Mr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const s=Za(e),l=s?e.offsetWidth:r,u=s?e.offsetHeight:i,d=hu(r)!==l||hu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function _p(e){return Ar(e)?e:e.contextElement}function Lo(e){const n=_p(e);if(!Za(n))return ra(1);const r=n.getBoundingClientRect(),{width:i,height:s,$:l}=sS(n);let u=(l?hu(r.width):r.width)/i,d=(l?hu(r.height):r.height)/s;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const bO=ra(0);function lS(e){const n=Nn(e);return!Sp()||!n.visualViewport?bO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function xO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===Nn(e)}function Ei(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),l=_p(e);let u=ra(1);n&&(i?Ar(i)&&(u=Lo(i)):u=Lo(e));const d=xO(l,r,i)?lS(l):ra(0);let p=(s.left+d.x)/u.x,m=(s.top+d.y)/u.y,y=s.width/u.x,v=s.height/u.y;if(l&&i){const b=Nn(l),x=Ar(i)?Nn(i):i;let _=b,C=wm(_);for(;C&&x!==_;){const E=Lo(C),R=C.getBoundingClientRect(),O=Mr(C),T=R.left+(C.clientLeft+parseFloat(O.paddingLeft))*E.x,z=R.top+(C.clientTop+parseFloat(O.paddingTop))*E.y;p*=E.x,m*=E.y,y*=E.x,v*=E.y,p+=T,m+=z,_=Nn(C),C=wm(_)}}return pu({width:y,height:v,x:p,y:m})}function Pu(e,n){const r=Iu(e).scrollLeft;return n?n.left+r:Ei(ia(e)).left+r}function cS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Pu(e,r),s=r.top+n.scrollTop;return{x:i,y:s}}function wO(e){let{elements:n,rect:r,offsetParent:i,strategy:s}=e;const l=s==="fixed",u=ia(i),d=n?$u(n.floating):!1;if(i===u||d&&l)return r;let p={scrollLeft:0,scrollTop:0},m=ra(1);const y=ra(0),v=Za(i);if((v||!l)&&((Go(i)!=="body"||Lu(u))&&(p=Iu(i)),v)){const x=Ei(i);m=Lo(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?cS(u,p):ra(0);return{width:r.width*m.x,height:r.height*m.y,x:r.x*m.x-p.scrollLeft*m.x+y.x+b.x,y:r.y*m.y-p.scrollTop*m.y+y.y+b.y}}function SO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function _O(e){const n=Iu(e),r=e.ownerDocument.body,i=na(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=na(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Pu(e);const u=-n.scrollTop;return Mr(r).direction==="rtl"&&(l+=na(e.clientWidth,r.clientWidth)-i),{width:i,height:s,x:l,y:u}}const CO=25;function EO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",s=Nn(e),l=ia(e),u=s.visualViewport;let d=l.clientWidth,p=l.clientHeight,m=0,y=0;if(u){const b=!Sp()||n==="fixed";i?b||(m=-u.offsetLeft,y=-u.offsetTop):(d=u.width,p=u.height,b&&(m=u.offsetLeft,y=u.offsetTop))}if(Pu(l)<=0){const b=l.ownerDocument,x=b.body,_=getComputedStyle(x),C=b.compatMode==="CSS1Compat"&&parseFloat(_.marginLeft)+parseFloat(_.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-C),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=CO&&(d-=R)}return{width:d,height:p,x:m,y}}function RO(e,n){const r=Ei(e,!0,n==="fixed"),i=r.top+e.clientTop,s=r.left+e.clientLeft,l=Lo(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,p=s*l.x,m=i*l.y;return{width:u,height:d,x:p,y:m}}function Kb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=EO(e,r,n);else if(n==="document")i=_O(ia(e));else if(Ar(n))i=RO(n,r);else{const s=lS(e);i={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return pu(i)}function jO(e,n){const r=n.get(e);if(r)return r;let i=rl(e,[],!1).filter(d=>Ar(d)&&Go(d)!=="body"),s=null;const l=Mr(e).position==="fixed";let u=l?Ci(e):e;for(;Ar(u)&&!nl(u);){const d=Mr(u),p=wp(u),m=s?s.position:l?"fixed":"";!p&&(m==="fixed"||m==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):s=d,u=Ci(u)}return n.set(e,i),i}function TO(e){let{element:n,boundary:r,rootBoundary:i,strategy:s}=e;const u=[...r==="clippingAncestors"?$u(n)?[]:jO(n,this._c):[].concat(r),i],d=Kb(n,u[0],s);let p=d.top,m=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}F=!1}try{i=new IntersectionObserver(V,{...B,root:l.ownerDocument})}catch{i=new IntersectionObserver(V,B)}i.observe(e)}const p=Nn(e),m=()=>d(r);return p.addEventListener("resize",m),d(!0),()=>{p.removeEventListener("resize",m),u()}}function kO(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:p=!1}=i,m=_p(e),y=s||l?[...m?rl(m):[],...n?rl(n):[]]:[];y.forEach(R=>{s&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=m&&d?zO(m,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[O]=R;O&&O.target===m&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var T;(T=x)==null||T.observe(n)})),r()}),m&&!p&&x.observe(m),n&&x.observe(n));let _,C=p?Ei(e):null;p&&E();function E(){const R=Ei(e);C&&!dS(C,R)&&r(),C=R,_=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(O=>{s&&O.removeEventListener("scroll",r),l&&O.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,p&&cancelAnimationFrame(_)}}const LO=dO,$O=fO,IO=lO,PO=mO,FO=cO,Qb=sO,VO=hO,UO=(e,n,r)=>{const i=new Map,s=r??{},l={...DO,...s.platform,_c:i};return oO(e,n,{...s,platform:l})};var HO=typeof document<"u",BO=function(){},au=HO?w.useLayoutEffect:BO;function gu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!gu(e[i],n[i]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){const l=s[i];if(!(l==="_owner"&&e.$$typeof)&&!gu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function fS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Xb(e,n){const r=fS(e);return Math.round(n*r)/r}function Fh(e){const n=w.useRef(e);return au(()=>{n.current=e}),n}function qO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:p,open:m}=e,[y,v]=w.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=w.useState(i);gu(b,i)||x(i);const[_,C]=w.useState(null),[E,R]=w.useState(null),O=w.useCallback(ae=>{ae!==B.current&&(B.current=ae,C(ae))},[]),T=w.useCallback(ae=>{ae!==F.current&&(F.current=ae,R(ae))},[]),z=l||_,$=u||E,B=w.useRef(null),F=w.useRef(null),V=w.useRef(y),pe=p!=null,ge=Fh(p),fe=Fh(s),Q=Fh(m),le=w.useCallback(()=>{if(!B.current||!F.current)return;const ae={placement:n,strategy:r,middleware:b};fe.current&&(ae.platform=fe.current),UO(B.current,F.current,ae).then(te=>{const ne={...te,isPositioned:Q.current!==!1};ue.current&&!gu(V.current,ne)&&(V.current=ne,Mi.flushSync(()=>{v(ne)}))})},[b,n,r,fe,Q]);au(()=>{m===!1&&V.current.isPositioned&&(V.current.isPositioned=!1,v(ae=>({...ae,isPositioned:!1})))},[m]);const ue=w.useRef(!1);au(()=>(ue.current=!0,()=>{ue.current=!1}),[]),au(()=>{if(z&&(B.current=z),$&&(F.current=$),z&&$){if(ge.current)return ge.current(z,$,le);le()}},[z,$,le,ge,pe]);const xe=w.useMemo(()=>({reference:B,floating:F,setReference:O,setFloating:T}),[O,T]),N=w.useMemo(()=>({reference:z,floating:$}),[z,$]),q=w.useMemo(()=>{const ae={position:r,left:0,top:0};if(!N.floating)return ae;const te=Xb(N.floating,y.x),ne=Xb(N.floating,y.y);return d?{...ae,transform:"translate("+te+"px, "+ne+"px)",...fS(N.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:te,top:ne}},[r,d,N.floating,y.x,y.y]);return w.useMemo(()=>({...y,update:le,refs:xe,elements:N,floatingStyles:q}),[y,le,xe,N,q])}const GO=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:s}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Qb({element:i.current,padding:s}).fn(r):{}:i?Qb({element:i,padding:s}).fn(r):{}}}},ZO=(e,n)=>{const r=LO(e);return{name:r.name,fn:r.fn,options:[e,n]}},KO=(e,n)=>{const r=$O(e);return{name:r.name,fn:r.fn,options:[e,n]}},YO=(e,n)=>({fn:VO(e).fn,options:[e,n]}),QO=(e,n)=>{const r=IO(e);return{name:r.name,fn:r.fn,options:[e,n]}},XO=(e,n)=>{const r=PO(e);return{name:r.name,fn:r.fn,options:[e,n]}},JO=(e,n)=>{const r=FO(e);return{name:r.name,fn:r.fn,options:[e,n]}},WO=(e,n)=>{const r=GO(e);return{name:r.name,fn:r.fn,options:[e,n]}};var eA="Arrow",hS=w.forwardRef((e,n)=>{const{children:r,width:i=10,height:s=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});hS.displayName=eA;var tA=hS,Cp="Popper",[mS,Zo]=Ga(Cp),[nA,pS]=mS(Cp),gS=e=>{const{__scopePopper:n,children:r}=e,[i,s]=w.useState(null),[l,u]=w.useState(void 0);return f.jsx(nA,{scope:n,anchor:i,onAnchorChange:s,placementState:l,setPlacementState:u,children:r})};gS.displayName=Cp;var vS="PopperAnchor",yS=w.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...s}=e,l=pS(vS,r),u=w.useRef(null),d=l.onAnchorChange,p=w.useCallback(_=>{u.current=_,_&&d(_)},[d]),m=nt(n,p),y=w.useRef(null);w.useEffect(()=>{if(!i)return;const _=y.current;y.current=i.current,_!==y.current&&d(y.current)});const v=l.placementState&&Rp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...s,ref:m})});yS.displayName=vS;var Ep="PopperContent",[rA,aA]=mS(Ep),bS=w.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:p=!0,collisionBoundary:m=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:_,...C}=e,E=pS(Ep,r),[R,O]=w.useState(null),T=nt(n,O),[z,$]=w.useState(null),B=KT(z),F=B?.width??0,V=B?.height??0,pe=i+(l!=="center"?"-"+l:""),ge=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},fe=Array.isArray(m)?m:[m],Q=fe.length>0,le={padding:ge,boundary:fe.filter(oA),altBoundary:Q},{refs:ue,floatingStyles:xe,placement:N,isPositioned:q,middlewareData:ae}=qO({strategy:"fixed",placement:pe,whileElementsMounted:(...ve)=>kO(...ve,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[ZO({mainAxis:s+V,alignmentAxis:u}),p&&KO({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?YO():void 0,...le}),p&&QO({...le}),XO({...le,apply:({elements:ve,rects:ye,availableWidth:Ne,availableHeight:Ie})=>{const{width:Fe,height:ft}=ye.reference,Qe=ve.floating.style;Qe.setProperty("--radix-popper-available-width",`${Ne}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Fe}px`),Qe.setProperty("--radix-popper-anchor-height",`${ft}px`)}}),z&&WO({element:z,padding:d}),sA({arrowWidth:F,arrowHeight:V}),b&&JO({strategy:"referenceHidden",...le,boundary:Q?le.boundary:void 0})]}),te=E.setPlacementState;Gt(()=>(te(N),()=>{te(void 0)}),[N,te]);const[ne,k]=Rp(N),M=rr(_);Gt(()=>{q&&M?.()},[q,M]);const H=ae.arrow?.x,X=ae.arrow?.y,K=ae.arrow?.centerOffset!==0,[se,ee]=w.useState();return Gt(()=>{R&&ee(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:ue.setFloating,"data-radix-popper-content-wrapper":"",style:{...xe,transform:q?xe.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:se,"--radix-popper-transform-origin":[ae.transformOrigin?.x,ae.transformOrigin?.y].join(" "),...ae.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(rA,{scope:r,placedSide:ne,placedAlign:k,onArrowChange:$,arrowX:H,arrowY:X,shouldHideArrow:K,children:f.jsx($e.div,{"data-side":ne,"data-align":k,...C,ref:T,style:{...C.style,animation:q?void 0:"none"}})})})});bS.displayName=Ep;var xS="PopperArrow",iA={top:"bottom",right:"left",bottom:"top",left:"right"},wS=w.forwardRef(function(n,r){const{__scopePopper:i,...s}=n,l=aA(xS,i),u=iA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(tA,{...s,ref:r,style:{...s.style,display:"block"}})})});wS.displayName=xS;function oA(e){return e!==null}var sA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:s}=n,u=s.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,p=u?0:e.arrowHeight,[m,y]=Rp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(s.arrow?.x??0)+d/2,x=(s.arrow?.y??0)+p/2;let _="",C="";return m==="bottom"?(_=u?v:`${b}px`,C=`${-p}px`):m==="top"?(_=u?v:`${b}px`,C=`${i.floating.height+p}px`):m==="right"?(_=`${-p}px`,C=u?v:`${x}px`):m==="left"&&(_=`${i.floating.width+p}px`,C=u?v:`${x}px`),{data:{x:_,y:C}}}});function Rp(e){const[n,r="center"]=e.split("-");return[n,r]}var jp=gS,Tp=yS,Op=bS,Ap=wS,Vh=!1;function lA(){const[e,n]=w.useState(Vh);return w.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var SS=Ou[" useSyncExternalStore ".trim().toString()];function cA(){return()=>{}}function uA(){return SS(cA,()=>!0,()=>!1)}var dA=typeof SS=="function"?uA:lA,Uh="rovingFocusGroup.onEntryFocus",fA={bubbles:!1,cancelable:!0},gl="RovingFocusGroup",[Sm,_S,hA]=sp(gl),[mA,CS]=Ga(gl,[hA]),[pA,gA]=mA(gl),ES=w.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(vA,{...e,ref:n})})}));ES.displayName=gl;var vA=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:s=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:p,onEntryFocus:m,preventScrollOnEntryFocus:y=!1,...v}=e,b=w.useRef(null),x=nt(n,b),_=lp(l),[C,E]=Vo({prop:u,defaultProp:d??null,onChange:p,caller:gl}),[R,O]=w.useState(!1),T=rr(m),z=_S(r),$=w.useRef(!1),[B,F]=w.useState(0);return w.useEffect(()=>{const V=b.current;if(V)return V.addEventListener(Uh,T),()=>V.removeEventListener(Uh,T)},[T]),f.jsx(pA,{scope:r,orientation:i,dir:_,loop:s,currentTabStopId:C,onItemFocus:w.useCallback(V=>E(V),[E]),onItemShiftTab:w.useCallback(()=>O(!0),[]),onFocusableItemAdd:w.useCallback(()=>F(V=>V+1),[]),onFocusableItemRemove:w.useCallback(()=>F(V=>V-1),[]),children:f.jsx($e.div,{tabIndex:R||B===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:Re(e.onMouseDown,()=>{$.current=!0}),onFocus:Re(e.onFocus,V=>{const pe=!$.current;if(V.target===V.currentTarget&&pe&&!R){const ge=new CustomEvent(Uh,fA);if(V.currentTarget.dispatchEvent(ge),!ge.defaultPrevented){const fe=z().filter(N=>N.focusable),Q=fe.find(N=>N.active),le=fe.find(N=>N.id===C),xe=[Q,le,...fe].filter(Boolean).map(N=>N.ref.current);TS(xe,y)}}$.current=!1}),onBlur:Re(e.onBlur,()=>O(!1))})})}),RS="RovingFocusGroupItem",jS=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:s=!1,tabStopId:l,children:u,...d}=e,p=hn(),m=l||p,y=gA(RS,r),v=y.currentTabStopId===m,b=_S(r),{onFocusableItemAdd:x,onFocusableItemRemove:_,currentTabStopId:C}=y,E=dA();return Gt(()=>{if(!(!E||!i))return x(),()=>_()},[E,i,x,_]),w.useEffect(()=>{if(!(E||!i))return x(),()=>_()},[E,i,x,_]),f.jsx(Sm.ItemSlot,{scope:r,id:m,focusable:i,active:s,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:Re(e.onMouseDown,R=>{i?y.onItemFocus(m):R.preventDefault()}),onFocus:Re(e.onFocus,()=>y.onItemFocus(m)),onKeyDown:Re(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const O=xA(R,y.orientation,y.dir);if(O!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let z=b().filter($=>$.focusable).map($=>$.ref.current);if(O==="last")z.reverse();else if(O==="prev"||O==="next"){O==="prev"&&z.reverse();const $=z.indexOf(R.currentTarget);z=y.loop?wA(z,$+1):z.slice($+1)}setTimeout(()=>TS(z))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:C!=null}):u})})});jS.displayName=RS;var yA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function bA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function xA(e,n,r){const i=bA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return yA[i]}function TS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function wA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var SA=ES,_A=jS,_m=["Enter"," "],CA=["ArrowDown","PageUp","Home"],OS=["ArrowUp","PageDown","End"],EA=[...CA,...OS],RA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},jA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},vl="Menu",[al,TA,OA]=sp(vl),[Ni,AS]=Ga(vl,[OA,Zo,CS]),Fu=Zo(),MS=CS(),[AA,Di]=Ni(vl),[MA,yl]=Ni(vl),NS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:s,onOpenChange:l,modal:u=!0}=e,d=Fu(n),[p,m]=w.useState(null),y=w.useRef(!1),v=rr(l),b=lp(s);return w.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",_,{capture:!0,once:!0}),document.addEventListener("pointermove",_,{capture:!0,once:!0})},_=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",_,{capture:!0}),document.removeEventListener("pointermove",_,{capture:!0})}},[]),w.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(jp,{...d,children:f.jsx(AA,{scope:n,open:r,onOpenChange:v,content:p,onContentChange:m,children:f.jsx(MA,{scope:n,onClose:w.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};NS.displayName=vl;var NA="MenuAnchor",Mp=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Tp,{...s,...i,ref:n})});Mp.displayName=NA;var Np="MenuPortal",[DA,DS]=Ni(Np,{forceMount:void 0}),zS=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:s}=e,l=Di(Np,n);return f.jsx(DA,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:i})})})};zS.displayName=Np;var nr="MenuContent",[zA,Dp]=Ni(nr),kS=w.forwardRef((e,n)=>{const r=DS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,...s}=e,l=Di(nr,e.__scopeMenu),u=yl(nr,e.__scopeMenu);return f.jsx(al.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||l.open,children:f.jsx(al.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx(kA,{...s,ref:n}):f.jsx(LA,{...s,ref:n})})})})}),kA=w.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu),i=w.useRef(null),s=nt(n,i);return w.useEffect(()=>{const l=i.current;if(l)return dp(l)},[]),f.jsx(zp,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),LA=w.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu);return f.jsx(zp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),$A=_i("MenuContent.ScrollLock"),zp=w.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:p,onEscapeKeyDown:m,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:_,...C}=e,E=Di(nr,r),R=yl(nr,r),O=Fu(r),T=MS(r),z=TA(r),[$,B]=w.useState(null),F=w.useRef(null),V=nt(n,F,E.onContentChange),pe=w.useRef(0),ge=w.useRef(""),fe=w.useRef(0),Q=w.useRef(null),le=w.useRef("right"),ue=w.useRef(0),xe=_?Du:w.Fragment,N=_?{as:$A,allowPinchZoom:!0}:void 0,q=te=>{const ne=ge.current+te,k=z().filter(ee=>!ee.disabled),M=document.activeElement,H=k.find(ee=>ee.ref.current===M)?.textValue,X=k.map(ee=>ee.textValue),K=YA(X,ne,H),se=k.find(ee=>ee.textValue===K)?.ref.current;(function ee(ve){ge.current=ve,window.clearTimeout(pe.current),ve!==""&&(pe.current=window.setTimeout(()=>ee(""),1e3))})(ne),se&&setTimeout(()=>se.focus())};w.useEffect(()=>()=>window.clearTimeout(pe.current),[]),up();const ae=w.useCallback(te=>le.current===Q.current?.side&&XA(te,Q.current?.area),[]);return f.jsx(zA,{scope:r,searchRef:ge,onItemEnter:w.useCallback(te=>{ae(te)&&te.preventDefault()},[ae]),onItemLeave:w.useCallback(te=>{ae(te)||(F.current?.focus(),B(null))},[ae]),onTriggerLeave:w.useCallback(te=>{ae(te)&&te.preventDefault()},[ae]),pointerGraceTimerRef:fe,onPointerGraceIntentChange:w.useCallback(te=>{Q.current=te},[]),children:f.jsx(xe,{...N,children:f.jsx(Mu,{asChild:!0,trapped:s,onMountAutoFocus:Re(l,te=>{te.preventDefault(),F.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:m,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(SA,{asChild:!0,...T,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:$,onCurrentTabStopIdChange:B,onEntryFocus:Re(p,te=>{R.isUsingKeyboardRef.current||te.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Op,{role:"menu","aria-orientation":"vertical","data-state":XS(E.open),"data-radix-menu-content":"",dir:R.dir,...O,...C,ref:V,style:{outline:"none",...C.style},onKeyDown:Re(C.onKeyDown,te=>{const k=te.target.closest("[data-radix-menu-content]")===te.currentTarget,M=te.ctrlKey||te.altKey||te.metaKey,H=te.key.length===1;k&&(te.key==="Tab"&&te.preventDefault(),!M&&H&&q(te.key));const X=F.current;if(te.target!==X||!EA.includes(te.key))return;te.preventDefault();const se=z().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);OS.includes(te.key)&&se.reverse(),ZA(se)}),onBlur:Re(e.onBlur,te=>{te.currentTarget.contains(te.target)||(window.clearTimeout(pe.current),ge.current="")}),onPointerMove:Re(e.onPointerMove,il(te=>{const ne=te.target,k=ue.current!==te.clientX;if(te.currentTarget.contains(ne)&&k){const M=te.clientX>ue.current?"right":"left";le.current=M,ue.current=te.clientX}}))})})})})})})});kS.displayName=nr;var IA="MenuGroup",kp=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});kp.displayName=IA;var PA="MenuLabel",LS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});LS.displayName=PA;var vu="MenuItem",Jb="menu.itemSelect",Vu=w.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...s}=e,l=w.useRef(null),u=yl(vu,e.__scopeMenu),d=Dp(vu,e.__scopeMenu),p=nt(n,l),m=w.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Jb,{bubbles:!0,cancelable:!0});v.addEventListener(Jb,x=>i?.(x),{once:!0}),zw(v,b),b.defaultPrevented?m.current=!1:u.onClose()}};return f.jsx($S,{...s,ref:p,disabled:r,onClick:Re(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),m.current=!0},onPointerUp:Re(e.onPointerUp,v=>{m.current||v.currentTarget?.click()}),onKeyDown:Re(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Vu.displayName=vu;var $S=w.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:s,...l}=e,u=Dp(vu,r),d=MS(r),p=w.useRef(null),m=nt(n,p),[y,v]=w.useState(!1),[b,x]=w.useState("");return w.useEffect(()=>{const _=p.current;_&&x((_.textContent??"").trim())},[l.children]),f.jsx(al.ItemSlot,{scope:r,disabled:i,textValue:s??b,children:f.jsx(_A,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:m,onPointerMove:Re(e.onPointerMove,il(_=>{i?u.onItemLeave(_):(u.onItemEnter(_),_.defaultPrevented||_.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Re(e.onPointerLeave,il(_=>u.onItemLeave(_))),onFocus:Re(e.onFocus,()=>v(!0)),onBlur:Re(e.onBlur,()=>v(!1))})})})}),FA="MenuCheckboxItem",IS=w.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...s}=e;return f.jsx(HS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Vu,{role:"menuitemcheckbox","aria-checked":yu(r)?"mixed":r,...s,ref:n,"data-state":$p(r),onSelect:Re(s.onSelect,()=>i?.(yu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});IS.displayName=FA;var PS="MenuRadioGroup",[VA,UA]=Ni(PS,{value:void 0,onValueChange:()=>{}}),FS=w.forwardRef((e,n)=>{const{value:r,onValueChange:i,...s}=e,l=rr(i);return f.jsx(VA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(kp,{...s,ref:n})})});FS.displayName=PS;var VS="MenuRadioItem",US=w.forwardRef((e,n)=>{const{value:r,...i}=e,s=UA(VS,e.__scopeMenu),l=r===s.value;return f.jsx(HS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Vu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":$p(l),onSelect:Re(i.onSelect,()=>s.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});US.displayName=VS;var Lp="MenuItemIndicator",[HS,HA]=Ni(Lp,{checked:!1}),BS=w.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...s}=e,l=HA(Lp,r);return f.jsx(yr,{present:i||yu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...s,ref:n,"data-state":$p(l.checked)})})});BS.displayName=Lp;var BA="MenuSeparator",qS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});qS.displayName=BA;var qA="MenuArrow",GS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Ap,{...s,...i,ref:n})});GS.displayName=qA;var GA="MenuSub",[VP,ZS]=Ni(GA),Gs="MenuSubTrigger",KS=w.forwardRef((e,n)=>{const r=Di(Gs,e.__scopeMenu),i=yl(Gs,e.__scopeMenu),s=ZS(Gs,e.__scopeMenu),l=Dp(Gs,e.__scopeMenu),u=w.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:p}=l,m={__scopeMenu:e.__scopeMenu},y=w.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);w.useEffect(()=>y,[y]),w.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),p(null)}},[d,p]);const v=nt(n,s.onTriggerChange);return f.jsx(Mp,{asChild:!0,...m,children:f.jsx($S,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?s.contentId:void 0,"data-state":XS(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Re(e.onPointerMove,il(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:Re(e.onPointerLeave,il(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const _=r.content?.dataset.side,C=_==="right",E=C?-5:5,R=x[C?"left":"right"],O=x[C?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:O,y:x.top},{x:O,y:x.bottom},{x:R,y:x.bottom}],side:_}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:Re(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||RA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});KS.displayName=Gs;var YS="MenuSubContent",QS=w.forwardRef((e,n)=>{const r=DS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,align:s="start",...l}=e,u=Di(nr,e.__scopeMenu),d=yl(nr,e.__scopeMenu),p=ZS(YS,e.__scopeMenu),m=w.useRef(null),y=nt(n,m);return f.jsx(al.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||u.open,children:f.jsx(al.Slot,{scope:e.__scopeMenu,children:f.jsx(zp,{id:p.contentId,"aria-labelledby":p.triggerId,...l,ref:y,align:s,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&m.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:Re(e.onFocusOutside,v=>{v.target!==p.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:Re(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:Re(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=jA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),p.trigger?.focus(),v.preventDefault())})})})})})});QS.displayName=YS;function XS(e){return e?"open":"closed"}function yu(e){return e==="indeterminate"}function $p(e){return yu(e)?"indeterminate":e?"checked":"unchecked"}function ZA(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function KA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function YA(e,n,r){const s=n.length>1&&Array.from(n).every(m=>m===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=KA(e,Math.max(l,0));s.length===1&&(u=u.filter(m=>m!==r));const p=u.find(m=>m.toLowerCase().startsWith(s.toLowerCase()));return p!==r?p:void 0}function QA(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-m)*(i-y)/(b-y)+m&&(s=!s)}return s}function XA(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return QA(r,n)}function il(e){return n=>n.pointerType==="mouse"?e(n):void 0}var JA=NS,WA=Mp,eM=zS,tM=kS,nM=kp,rM=LS,aM=Vu,iM=IS,oM=FS,sM=US,lM=BS,cM=qS,uM=GS,dM=KS,fM=QS,Uu="DropdownMenu",[hM]=Ga(Uu,[AS]),gn=AS(),[mM,JS]=hM(Uu),WS=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:s,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,p=gn(n),m=w.useRef(null),[y,v]=Vo({prop:s,defaultProp:l??!1,onChange:u,caller:Uu});return f.jsx(mM,{scope:n,triggerId:hn(),triggerRef:m,contentId:hn(),open:y,onOpenChange:v,onOpenToggle:w.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(JA,{...p,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};WS.displayName=Uu;var e1="DropdownMenuTrigger",t1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...s}=e,l=JS(e1,r),u=gn(r),d=nt(n,l.triggerRef);return f.jsx(WA,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...s,ref:d,onPointerDown:Re(e.onPointerDown,p=>{!i&&p.button===0&&p.ctrlKey===!1&&(l.onOpenToggle(),l.open||p.preventDefault())}),onKeyDown:Re(e.onKeyDown,p=>{i||(["Enter"," "].includes(p.key)&&l.onOpenToggle(),p.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(p.key)&&p.preventDefault())})})})});t1.displayName=e1;var pM="DropdownMenuPortal",n1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=gn(n);return f.jsx(eM,{...i,...r})};n1.displayName=pM;var r1="DropdownMenuContent",a1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=JS(r1,r),l=gn(r),u=w.useRef(!1);return f.jsx(tM,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...i,ref:n,onCloseAutoFocus:Re(e.onCloseAutoFocus,d=>{u.current||s.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:Re(e.onInteractOutside,d=>{const p=d.detail.originalEvent,m=p.button===0&&p.ctrlKey===!0,y=p.button===2||m;(!s.modal||y)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});a1.displayName=r1;var gM="DropdownMenuGroup",vM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(nM,{...s,...i,ref:n})});vM.displayName=gM;var yM="DropdownMenuLabel",i1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(rM,{...s,...i,ref:n})});i1.displayName=yM;var bM="DropdownMenuItem",o1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(aM,{...s,...i,ref:n})});o1.displayName=bM;var xM="DropdownMenuCheckboxItem",wM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(iM,{...s,...i,ref:n})});wM.displayName=xM;var SM="DropdownMenuRadioGroup",_M=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(oM,{...s,...i,ref:n})});_M.displayName=SM;var CM="DropdownMenuRadioItem",EM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(sM,{...s,...i,ref:n})});EM.displayName=CM;var RM="DropdownMenuItemIndicator",jM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(lM,{...s,...i,ref:n})});jM.displayName=RM;var TM="DropdownMenuSeparator",OM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(cM,{...s,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuArrow",MM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(uM,{...s,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuSubTrigger",DM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(dM,{...s,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuSubContent",kM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(fM,{...s,...i,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});kM.displayName=zM;var LM=WS,$M=t1,IM=n1,PM=a1,FM=i1,VM=o1,UM="Label",s1=w.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));s1.displayName=UM;var HM=s1;function Wb(e,[n,r]){return Math.min(r,Math.max(n,e))}var BM=[" ","Enter","ArrowUp","ArrowDown"],qM=[" ","Enter"],Ri="Select",[Hu,Bu,GM]=sp(Ri),[zi]=Ga(Ri,[GM,Zo]),qu=Zo(),[ZM,Ka]=zi(Ri),[KM,YM]=zi(Ri),QM="SelectProvider";function l1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:s,onOpenChange:l,value:u,defaultValue:d,onValueChange:p,dir:m,name:y,autoComplete:v,disabled:b,required:x,form:_,internal_do_not_use_render:C}=e,E=qu(n),[R,O]=w.useState(null),[T,z]=w.useState(null),[$,B]=w.useState(!1),F=lp(m),[V,pe]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:Ri}),[ge,fe]=Vo({prop:u,defaultProp:d,onChange:p,caller:Ri}),Q=w.useRef(null),le=w.useRef(ge);w.useEffect(()=>{const M=_?R?.ownerDocument.getElementById(_):R?.form;if(M instanceof HTMLFormElement){const H=()=>fe(le.current);return M.addEventListener("reset",H),()=>M.removeEventListener("reset",H)}},[_,R,fe]);const ue=R?!!_||!!R.closest("form"):!0,[xe,N]=w.useState(new Set),q=hn(),ae=Array.from(xe).map(M=>M.props.value).join(";"),te=w.useCallback(M=>{N(H=>new Set(H).add(M))},[]),ne=w.useCallback(M=>{N(H=>{const X=new Set(H);return X.delete(M),X})},[]),k={required:x,trigger:R,onTriggerChange:O,valueNode:T,onValueNodeChange:z,valueNodeHasChildren:$,onValueNodeHasChildrenChange:B,contentId:q,value:ge,onValueChange:fe,open:V,onOpenChange:pe,dir:F,triggerPointerDownPosRef:Q,disabled:b,name:y,autoComplete:v,form:_,nativeOptions:xe,nativeSelectKey:ae,isFormControl:ue};return f.jsx(jp,{...E,children:f.jsx(ZM,{scope:n,...k,children:f.jsx(Hu.Provider,{scope:n,children:f.jsx(KM,{scope:n,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:hN(C)?C(k):r})})})})}l1.displayName=QM;var c1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(l1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:s})=>f.jsxs(f.Fragment,{children:[r,s?f.jsx(k1,{__scopeSelect:n}):null]})})};c1.displayName=Ri;var u1="SelectTrigger",d1=w.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...s}=e,l=qu(r),u=Ka(u1,r),d=u.disabled||i,p=nt(n,u.onTriggerChange),m=Bu(r),y=w.useRef("touch"),[v,b,x]=L1(C=>{const E=m().filter(T=>!T.disabled),R=E.find(T=>T.value===u.value),O=$1(E,C,R);O!==void 0&&u.onValueChange(O.value)}),_=C=>{d||(u.onOpenChange(!0),x()),C&&(u.triggerPointerDownPosRef.current={x:Math.round(C.pageX),y:Math.round(C.pageY)})};return f.jsx(Tp,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Gu(u.value)?"":void 0,...s,ref:p,onClick:Re(s.onClick,C=>{C.currentTarget.focus(),y.current!=="mouse"&&_(C)}),onPointerDown:Re(s.onPointerDown,C=>{y.current=C.pointerType;const E=C.target;E.hasPointerCapture(C.pointerId)&&E.releasePointerCapture(C.pointerId),C.button===0&&C.ctrlKey===!1&&C.pointerType==="mouse"&&(_(C),C.preventDefault())}),onKeyDown:Re(s.onKeyDown,C=>{const E=v.current!=="";!(C.ctrlKey||C.altKey||C.metaKey)&&C.key.length===1&&b(C.key),!(E&&C.key===" ")&&BM.includes(C.key)&&(_(),C.preventDefault())})})})});d1.displayName=u1;var f1="SelectValue",h1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,children:l,placeholder:u="",...d}=e,p=Ka(f1,r),{onValueNodeHasChildrenChange:m}=p,y=l!==void 0,v=nt(n,p.onValueNodeChange);Gt(()=>{m(y)},[m,y]);const b=Gu(p.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(w.Fragment,{children:b?u:l},b?"placeholder":"value")})});h1.displayName=f1;var XM="SelectIcon",m1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...s}=e;return f.jsx($e.span,{"aria-hidden":!0,...s,ref:n,children:i||"▼"})});m1.displayName=XM;var p1="SelectPortal",[JM,WM]=zi(p1,{forceMount:void 0}),g1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(JM,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(pl,{asChild:!0,...i})})};g1.displayName=p1;var Ha="SelectContent",v1=w.forwardRef((e,n)=>{const r=WM(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...s}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=w.useState();return Gt(()=>{d(new DocumentFragment)},[]),f.jsx(yr,{present:i||l.open,children:({present:p})=>p?f.jsx(x1,{...s,ref:n}):f.jsx(y1,{...s,fragment:u})})});v1.displayName=Ha;var y1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:s}=e;return s?Mi.createPortal(f.jsx(b1,{scope:r,children:f.jsx(Hu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),s):null});y1.displayName="SelectContentFragment";var hr=10,[b1,Ya]=zi(Ha),eN="SelectContentImpl",tN=_i("SelectContent.RemoveScroll"),x1=w.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:p,align:m,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:_,hideWhenDetached:C,avoidCollisions:E,...R}=e,O=Ka(Ha,r),[T,z]=w.useState(null),[$,B]=w.useState(null),F=nt(n,z),[V,pe]=w.useState(null),[ge,fe]=w.useState(null),Q=Bu(r),[le,ue]=w.useState(!1),xe=w.useRef(!1);w.useEffect(()=>{if(T)return dp(T)},[T]),up();const N=w.useCallback(ee=>{const[ve,...ye]=Q().map(Fe=>Fe.ref.current),[Ne]=ye.slice(-1),Ie=document.activeElement;for(const Fe of ee)if(Fe===Ie||(Fe?.scrollIntoView({block:"nearest"}),Fe===ve&&$&&($.scrollTop=0),Fe===Ne&&$&&($.scrollTop=$.scrollHeight),Fe?.focus(),document.activeElement!==Ie))return},[Q,$]),q=w.useCallback(()=>N([V,T]),[N,V,T]);w.useEffect(()=>{le&&q()},[le,q]);const{onOpenChange:ae,triggerPointerDownPosRef:te}=O;w.useEffect(()=>{if(T){let ee={x:0,y:0};const ve=Ne=>{ee={x:Math.abs(Math.round(Ne.pageX)-(te.current?.x??0)),y:Math.abs(Math.round(Ne.pageY)-(te.current?.y??0))}},ye=Ne=>{ee.x<=10&&ee.y<=10?Ne.preventDefault():Ne.composedPath().includes(T)||ae(!1),document.removeEventListener("pointermove",ve),te.current=null};return te.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",ye,{capture:!0})}}},[T,ae,te]),w.useEffect(()=>{const ee=()=>ae(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[ae]);const[ne,k]=L1(ee=>{const ve=Q().filter(Ie=>!Ie.disabled),ye=ve.find(Ie=>Ie.ref.current===document.activeElement),Ne=$1(ve,ee,ye);Ne&&setTimeout(()=>Ne.ref.current?.focus())}),M=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&(pe(ee),Ne&&(xe.current=!0))},[O.value]),H=w.useCallback(()=>T?.focus(),[T]),X=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&fe(ee)},[O.value]),K=i==="popper"?Cm:w1,se=K===Cm?{side:d,sideOffset:p,align:m,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:_,hideWhenDetached:C,avoidCollisions:E}:{};return f.jsx(b1,{scope:r,content:T,viewport:$,onViewportChange:B,itemRefCallback:M,selectedItem:V,onItemLeave:H,itemTextRefCallback:X,focusSelectedItem:q,selectedItemText:ge,position:i,isPositioned:le,searchRef:ne,children:f.jsx(Du,{as:tN,allowPinchZoom:!0,children:f.jsx(Mu,{asChild:!0,trapped:O.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:Re(s,ee=>{O.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>O.onOpenChange(!1),children:f.jsx(K,{role:"listbox",id:O.contentId,"data-state":O.open?"open":"closed",dir:O.dir,onContextMenu:ee=>ee.preventDefault(),...R,...se,onPlaced:()=>ue(!0),ref:F,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:Re(R.onKeyDown,ee=>{const ve=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!ve&&ee.key.length===1&&k(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let Ne=Q().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(Ne=Ne.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const Ie=ee.target,Fe=Ne.indexOf(Ie);Ne=Ne.slice(Fe+1)}setTimeout(()=>N(Ne)),ee.preventDefault()}})})})})})})});x1.displayName=eN;var nN="SelectItemAlignedPosition",w1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...s}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,p]=w.useState(null),[m,y]=w.useState(null),v=nt(n,y),b=Bu(r),x=w.useRef(!1),_=w.useRef(!0),{viewport:C,selectedItem:E,selectedItemText:R,focusSelectedItem:O}=u,T=w.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&m&&C&&E&&R){const F=l.trigger.getBoundingClientRect(),V=m.getBoundingClientRect(),pe=l.valueNode.getBoundingClientRect(),ge=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ge.left-V.left,Fe=pe.left-Ie,ft=F.left-Fe,Qe=F.width+ft,vn=Math.max(Qe,V.width),un=window.innerWidth-hr,Kt=Wb(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.left=Kt+"px"}else{const Ie=V.right-ge.right,Fe=window.innerWidth-pe.right-Ie,ft=window.innerWidth-F.right-Fe,Qe=F.width+ft,vn=Math.max(Qe,V.width),un=window.innerWidth-hr,Kt=Wb(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.right=Kt+"px"}const fe=b(),Q=window.innerHeight-hr*2,le=C.scrollHeight,ue=window.getComputedStyle(m),xe=parseInt(ue.borderTopWidth,10),N=parseInt(ue.paddingTop,10),q=parseInt(ue.borderBottomWidth,10),ae=parseInt(ue.paddingBottom,10),te=xe+N+le+ae+q,ne=Math.min(E.offsetHeight*5,te),k=window.getComputedStyle(C),M=parseInt(k.paddingTop,10),H=parseInt(k.paddingBottom,10),X=F.top+F.height/2-hr,K=Q-X,se=E.offsetHeight/2,ee=E.offsetTop+se,ve=xe+N+ee,ye=te-ve;if(ve<=X){const Ie=fe.length>0&&E===fe[fe.length-1].ref.current;d.style.bottom="0px";const Fe=m.clientHeight-C.offsetTop-C.offsetHeight,ft=Math.max(K,se+(Ie?H:0)+Fe+q),Qe=ve+ft;d.style.height=Qe+"px"}else{const Ie=fe.length>0&&E===fe[0].ref.current;d.style.top="0px";const ft=Math.max(X,xe+C.offsetTop+(Ie?M:0)+se)+ye;d.style.height=ft+"px",C.scrollTop=ve-X+C.offsetTop}d.style.margin=`${hr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=Q+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,m,C,E,R,l.dir,i]);Gt(()=>T(),[T]);const[z,$]=w.useState();Gt(()=>{m&&$(window.getComputedStyle(m).zIndex)},[m]);const B=w.useCallback(F=>{F&&_.current===!0&&(T(),O?.(),_.current=!1)},[T,O]);return f.jsx(aN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:B,children:f.jsx("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:z},children:f.jsx($e.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});w1.displayName=nN;var rN="SelectPopperPosition",Cm=w.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:s=hr,...l}=e,u=qu(r);return f.jsx(Op,{...u,...l,ref:n,align:i,collisionPadding:s,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Cm.displayName=rN;var[aN,Ip]=zi(Ha,{}),Em="SelectViewport",S1=w.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...s}=e,l=Ya(Em,r),u=Ip(Em,r),d=nt(n,l.onViewportChange),p=w.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(Hu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Re(s.onScroll,m=>{const y=m.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(p.current-y.scrollTop);if(x>0){const _=window.innerHeight-hr*2,C=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(C,E);if(R<_){const O=R+x,T=Math.min(_,O),z=O-T;v.style.height=T+"px",v.style.bottom==="0px"&&(y.scrollTop=z>0?z:0,v.style.justifyContent="flex-end")}}}p.current=y.scrollTop})})})]})});S1.displayName=Em;var _1="SelectGroup",[iN,oN]=zi(_1),sN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=hn();return f.jsx(iN,{scope:r,id:s,children:f.jsx($e.div,{role:"group","aria-labelledby":s,...i,ref:n})})});sN.displayName=_1;var C1="SelectLabel",lN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=oN(C1,r);return f.jsx($e.div,{id:s.id,...i,ref:n})});lN.displayName=C1;var bu="SelectItem",[cN,E1]=zi(bu),R1=w.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:s=!1,textValue:l,...u}=e,d=Ka(bu,r),p=Ya(bu,r),m=d.value===i,[y,v]=w.useState(l??""),[b,x]=w.useState(!1),_=rr(T=>p.itemRefCallback?.(T,i,s)),C=nt(n,_),E=hn(),R=w.useRef("touch"),O=()=>{s||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(cN,{scope:r,value:i,disabled:s,textId:E,isSelected:m,onItemTextChange:w.useCallback(T=>{v(z=>z||(T?.textContent??"").trim())},[]),children:f.jsx(Hu.ItemSlot,{scope:r,value:i,disabled:s,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":m&&b,"data-state":m?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...u,ref:C,onFocus:Re(u.onFocus,()=>x(!0)),onBlur:Re(u.onBlur,()=>x(!1)),onClick:Re(u.onClick,()=>{R.current!=="mouse"&&O()}),onPointerUp:Re(u.onPointerUp,()=>{R.current==="mouse"&&O()}),onPointerDown:Re(u.onPointerDown,T=>{R.current=T.pointerType}),onPointerMove:Re(u.onPointerMove,T=>{R.current=T.pointerType,s?p.onItemLeave?.():R.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Re(u.onPointerLeave,T=>{T.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:Re(u.onKeyDown,T=>{s||T.target!==T.currentTarget||p.searchRef?.current!==""&&T.key===" "||(qM.includes(T.key)&&O(),T.key===" "&&T.preventDefault())})})})})});R1.displayName=bu;var Zs="SelectItemText",j1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,...l}=e,u=Ka(Zs,r),d=Ya(Zs,r),p=E1(Zs,r),m=YM(Zs,r),[y,v]=w.useState(null),b=rr(O=>d.itemTextRefCallback?.(O,p.value,p.disabled)),x=nt(n,v,p.onItemTextChange,b),_=y?.textContent,C=w.useMemo(()=>f.jsx("option",{value:p.value,disabled:p.disabled,children:_},p.value),[p.disabled,p.value,_]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=m;return Gt(()=>(E(C),()=>R(C)),[E,R,C]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:p.textId,...l,ref:x}),p.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Gu(u.value)?Mi.createPortal(l.children,u.valueNode):null]})});j1.displayName=Zs;var T1="SelectItemIndicator",O1=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return E1(T1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});O1.displayName=T1;var Rm="SelectScrollUpButton",A1=w.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Ip(Rm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const m=p.scrollTop>0;l(m)};const p=r.viewport;return d(),p.addEventListener("scroll",d),()=>p.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(N1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:p}=r;d&&p&&(d.scrollTop=d.scrollTop-p.offsetHeight)}}):null});A1.displayName=Rm;var jm="SelectScrollDownButton",M1=w.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Ip(jm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const m=p.scrollHeight-p.clientHeight,y=Math.ceil(p.scrollTop)p.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(N1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:p}=r;d&&p&&(d.scrollTop=d.scrollTop+p.offsetHeight)}}):null});M1.displayName=jm;var N1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...s}=e,l=Ya("SelectScrollButton",r),u=w.useRef(null),d=Bu(r),p=w.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return w.useEffect(()=>()=>p(),[p]),Gt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:Re(s.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:Re(s.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:Re(s.onPointerLeave,()=>{p()})})}),uN="SelectSeparator",dN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});dN.displayName=uN;var D1="SelectArrow",fN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=qu(r);return Ya(D1,r).position==="popper"?f.jsx(Ap,{...s,...i,ref:n}):null});fN.displayName=D1;var z1="SelectBubbleInput",k1=w.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka(z1,e),{value:s,onValueChange:l,required:u,disabled:d,name:p,autoComplete:m,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=w.useRef(null),_=nt(r,x),C=s??"",E=ZT(C),R=Array.from(v).some(O=>(O.props.value??"")==="");return w.useEffect(()=>{const O=x.current;if(!O)return;const T=window.HTMLSelectElement.prototype,$=Object.getOwnPropertyDescriptor(T,"value").set;if(E!==C&&$){const B=new Event("change",{bubbles:!0});$.call(O,C),O.dispatchEvent(B)}},[E,C]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:p,autoComplete:m,disabled:d,form:y,onChange:O=>l(O.target.value),...n,style:{...kw,...n.style},ref:_,defaultValue:C,children:[Gu(s)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});k1.displayName=z1;function hN(e){return typeof e=="function"}function Gu(e){return e===""||e===void 0}function L1(e){const n=rr(e),r=w.useRef(""),i=w.useRef(0),s=w.useCallback(u=>{const d=r.current+u;n(d),(function p(m){r.current=m,window.clearTimeout(i.current),m!==""&&(i.current=window.setTimeout(()=>p(""),1e3))})(d)},[n]),l=w.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,s,l]}function $1(e,n,r){const s=n.length>1&&Array.from(n).every(m=>m===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=mN(e,Math.max(l,0));s.length===1&&(u=u.filter(m=>m!==r));const p=u.find(m=>m.textValue.toLowerCase().startsWith(s.toLowerCase()));return p!==r?p:void 0}function mN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var pN="Separator",ex="horizontal",gN=["horizontal","vertical"],I1=w.forwardRef((e,n)=>{const{decorative:r,orientation:i=ex,...s}=e,l=vN(i)?i:ex,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...s,ref:n})});I1.displayName=pN;function vN(e){return gN.includes(e)}var yN=I1,[Zu]=Ga("Tooltip",[Zo]),Ku=Zo(),P1="TooltipProvider",bN=700,Tm="tooltip.open",[xN,Pp]=Zu(P1),F1=e=>{const{__scopeTooltip:n,delayDuration:r=bN,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:l}=e,u=w.useRef(!0),d=w.useRef(!1),p=w.useRef(0);return w.useEffect(()=>{const m=p.current;return()=>window.clearTimeout(m)},[]),f.jsx(xN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:w.useCallback(()=>{i<=0||(window.clearTimeout(p.current),u.current=!1)},[i]),onClose:w.useCallback(()=>{i<=0||(window.clearTimeout(p.current),p.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:w.useCallback(m=>{d.current=m},[]),disableHoverableContent:s,children:l})};F1.displayName=P1;var ol="Tooltip",[wN,bl]=Zu(ol),V1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:s,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,p=Pp(ol,e.__scopeTooltip),m=Ku(n),[y,v]=w.useState(null),b=hn(),x=w.useRef(0),_=u??p.disableHoverableContent,C=d??p.delayDuration,E=w.useRef(!1),[R,O]=Vo({prop:i,defaultProp:s??!1,onChange:F=>{F?(p.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):p.onClose(),l?.(F)},caller:ol}),T=w.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),z=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,O(!0)},[O]),$=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,O(!1)},[O]),B=w.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,O(!0),x.current=0},C)},[C,O]);return w.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(jp,{...m,children:f.jsx(wN,{scope:n,contentId:b,open:R,stateAttribute:T,trigger:y,onTriggerChange:v,onTriggerEnter:w.useCallback(()=>{p.isOpenDelayedRef.current?B():z()},[p.isOpenDelayedRef,B,z]),onTriggerLeave:w.useCallback(()=>{_?$():(window.clearTimeout(x.current),x.current=0)},[$,_]),onOpen:z,onClose:$,disableHoverableContent:_,children:r})})};V1.displayName=ol;var Om="TooltipTrigger",U1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=bl(Om,r),l=Pp(Om,r),u=Ku(r),d=w.useRef(null),p=nt(n,d,s.onTriggerChange),m=w.useRef(!1),y=w.useRef(!1),v=w.useCallback(()=>m.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Tp,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:p,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),y.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{s.open&&s.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:Re(e.onFocus,()=>{m.current||s.onOpen()}),onBlur:Re(e.onBlur,s.onClose),onClick:Re(e.onClick,s.onClose)})})});U1.displayName=Om;var Fp="TooltipPortal",[SN,_N]=Zu(Fp,{forceMount:void 0}),H1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:s}=e,l=bl(Fp,n);return f.jsx(SN,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(pl,{asChild:!0,container:s,children:i})})})};H1.displayName=Fp;var Ho="TooltipContent",B1=w.forwardRef((e,n)=>{const r=_N(Ho,e.__scopeTooltip),{forceMount:i=r.forceMount,side:s="top",...l}=e,u=bl(Ho,e.__scopeTooltip);return f.jsx(yr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(q1,{side:s,...l,ref:n}):f.jsx(CN,{side:s,...l,ref:n})})}),CN=w.forwardRef((e,n)=>{const r=bl(Ho,e.__scopeTooltip),i=Pp(Ho,e.__scopeTooltip),s=w.useRef(null),l=nt(n,s),[u,d]=w.useState(null),{trigger:p,onClose:m}=r,y=s.current,{onPointerInTransitChange:v}=i,b=w.useCallback(()=>{d(null),v(!1)},[v]),x=w.useCallback((_,C)=>{const E=_.currentTarget,R={x:_.clientX,y:_.clientY},O=TN(R,E.getBoundingClientRect()),T=ON(R,O),z=AN(C.getBoundingClientRect()),$=NN([...T,...z]);d($),v(!0)},[v]);return w.useEffect(()=>()=>b(),[b]),w.useEffect(()=>{if(p&&y){const _=E=>x(E,y),C=E=>x(E,p);return p.addEventListener("pointerleave",_),y.addEventListener("pointerleave",C),()=>{p.removeEventListener("pointerleave",_),y.removeEventListener("pointerleave",C)}}},[p,y,x,b]),w.useEffect(()=>{if(u){const _=C=>{const E=C.target,R={x:C.clientX,y:C.clientY},O=p?.contains(E)||y?.contains(E),T=!MN(R,u);O?b():T&&(b(),m())};return document.addEventListener("pointermove",_),()=>document.removeEventListener("pointermove",_)}},[p,y,u,m,b]),f.jsx(q1,{...e,ref:l})}),[EN,RN]=Zu(ol,{isInside:!1}),jN=mj("TooltipContent"),q1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,p=bl(Ho,r),m=Ku(r),{onClose:y}=p;return w.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),w.useEffect(()=>{if(p.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(p.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[p.trigger,y]),f.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Op,{"data-state":p.stateAttribute,...m,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(jN,{children:i}),f.jsx(EN,{scope:r,isInside:!0,children:f.jsx(Ej,{id:p.contentId,role:"tooltip",children:s||i})})]})})});B1.displayName=Ho;var G1="TooltipArrow",Z1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Ku(r);return RN(G1,r).isInside?null:f.jsx(Ap,{...s,...i,ref:n})});Z1.displayName=G1;function TN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,s,l)){case l:return"left";case s:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function ON(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function AN(e){const{top:n,right:r,bottom:i,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:i},{x:s,y:i}]}function MN(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-m)*(i-y)/(b-y)+m&&(s=!s)}return s}function NN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),DN(n)}function DN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const s=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var zN=F1,kN=V1,LN=U1,$N=H1,IN=B1,PN=Z1;function K1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),Q1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),xu="-",tx=[],UN="arbitrary..",HN=e=>{const n=qN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return BN(u);const d=u.split(xu),p=d[0]===""&&d.length>1?1:0;return X1(d,p,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const p=i[u],m=r[u];return p?m?FN(m,p):p:m||tx}return r[u]||tx}}},X1=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],l=r.nextPart.get(s);if(l){const m=X1(e,n+1,l);if(m)return m}const u=r.validators;if(u===null)return;const d=n===0?e.join(xu):e.slice(n).join(xu),p=u.length;for(let m=0;me.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?UN+i:void 0})(),qN=e=>{const{theme:n,classGroups:r}=e;return GN(r,n)},GN=(e,n)=>{const r=Q1();for(const i in e){const s=e[i];Vp(s,r,i,n)}return r},Vp=(e,n,r,i)=>{const s=e.length;for(let l=0;l{if(typeof e=="string"){KN(e,n,r);return}if(typeof e=="function"){YN(e,n,r,i);return}QN(e,n,r,i)},KN=(e,n,r)=>{const i=e===""?n:J1(n,e);i.classGroupId=r},YN=(e,n,r,i)=>{if(XN(e)){Vp(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(VN(r,e))},QN=(e,n,r,i)=>{const s=Object.entries(e),l=s.length;for(let u=0;u{let r=e;const i=n.split(xu),s=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,JN=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const s=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return s(l,u),u},set(l,u){l in r?r[l]=u:s(l,u)}}},Am="!",nx=":",WN=[],rx=(e,n,r,i,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:s}),eD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=s=>{const l=[];let u=0,d=0,p=0,m;const y=s.length;for(let C=0;Cp?m-p:void 0;return rx(l,x,b,_)};if(n){const s=n+nx,l=i;i=u=>u.startsWith(s)?l(u.slice(s.length)):rx(WN,!1,u,void 0,!0)}if(r){const s=i;i=l=>r({className:l,parseClassName:s})}return i},tD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let s=[];for(let l=0;l0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},nD=e=>({cache:JN(e.cacheSize),parseClassName:eD(e),sortModifiers:tD(e),postfixLookupClassGroupIds:rD(e),...HN(e)}),rD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],p=e.trim().split(aD);let m="";for(let y=p.length-1;y>=0;y-=1){const v=p[y],{isExternal:b,modifiers:x,hasImportantModifier:_,baseClassName:C,maybePostfixModifierPosition:E}=r(v);if(b){m=v+(m.length>0?" "+m:m);continue}let R=!!E,O;if(R){const F=C.substring(0,E);O=i(F);const V=O&&u[O]?i(C):void 0;V&&V!==O&&(O=V,R=!1)}else O=i(C);if(!O){if(!R){m=v+(m.length>0?" "+m:m);continue}if(O=i(C),!O){m=v+(m.length>0?" "+m:m);continue}R=!1}const T=x.length===0?"":x.length===1?x[0]:l(x).join(":"),z=_?T+Am:T,$=z+O;if(d.indexOf($)>-1)continue;d.push($);const B=s(O,R);for(let F=0;F0?" "+m:m)}return m},oD=(...e)=>{let n=0,r,i,s="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,s,l;const u=p=>{const m=n.reduce((y,v)=>v(y),e());return r=nD(m),i=r.cache.get,s=r.cache.set,l=d,d(p)},d=p=>{const m=i(p);if(m)return m;const y=iD(p,r);return s(p,y),y};return l=u,(...p)=>l(oD(...p))},lD=[],Ut=e=>{const n=r=>r[e]||lD;return n.isThemeGetter=!0,n},e_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,t_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,cD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,uD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dD=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,hD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>cD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Cr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),Wr=e=>uD.test(e),n_=()=>!0,pD=e=>dD.test(e)&&!fD.test(e),Up=()=>!1,gD=e=>hD.test(e),vD=e=>mD.test(e),yD=e=>!_e(e)&&!Ce(e),bD=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),xD=e=>Qa(e,i_,Up),_e=e=>e_.test(e),yi=e=>Qa(e,o_,pD),ax=e=>Qa(e,TD,He),wD=e=>Qa(e,l_,n_),SD=e=>Qa(e,s_,Up),ix=e=>Qa(e,r_,Up),_D=e=>Qa(e,a_,vD),Gc=e=>Qa(e,c_,gD),Ce=e=>t_.test(e),Vs=e=>ki(e,o_),CD=e=>ki(e,s_),ox=e=>ki(e,r_),ED=e=>ki(e,i_),RD=e=>ki(e,a_),Zc=e=>ki(e,c_,!0),jD=e=>ki(e,l_,!0),Qa=(e,n,r)=>{const i=e_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},ki=(e,n,r=!1)=>{const i=t_.exec(e);return i?i[1]?n(i[1]):r:!1},r_=e=>e==="position"||e==="percentage",a_=e=>e==="image"||e==="url",i_=e=>e==="length"||e==="size"||e==="bg-size",o_=e=>e==="length",TD=e=>e==="number",s_=e=>e==="family-name",l_=e=>e==="number"||e==="weight",c_=e=>e==="shadow",OD=()=>{const e=Ut("color"),n=Ut("font"),r=Ut("text"),i=Ut("font-weight"),s=Ut("tracking"),l=Ut("leading"),u=Ut("breakpoint"),d=Ut("container"),p=Ut("spacing"),m=Ut("radius"),y=Ut("shadow"),v=Ut("inset-shadow"),b=Ut("text-shadow"),x=Ut("drop-shadow"),_=Ut("blur"),C=Ut("perspective"),E=Ut("aspect"),R=Ut("ease"),O=Ut("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],$=()=>[...z(),Ce,_e],B=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],V=()=>[Ce,_e,p],pe=()=>[Ma,"full","auto",...V()],ge=()=>[Cr,"none","subgrid",Ce,_e],fe=()=>["auto",{span:["full",Cr,Ce,_e]},Cr,Ce,_e],Q=()=>[Cr,"auto",Ce,_e],le=()=>["auto","min","max","fr",Ce,_e],ue=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...V()],q=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...V()],ae=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...V()],te=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...V()],ne=()=>[e,Ce,_e],k=()=>[...z(),ox,ix,{position:[Ce,_e]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],H=()=>["auto","cover","contain",ED,xD,{size:[Ce,_e]}],X=()=>[Hh,Vs,yi],K=()=>["","none","full",m,Ce,_e],se=()=>["",He,Vs,yi],ee=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[He,Hh,ox,ix],Ne=()=>["","none",_,Ce,_e],Ie=()=>["none",He,Ce,_e],Fe=()=>["none",He,Ce,_e],ft=()=>[He,Ce,_e],Qe=()=>[Ma,"full",...V()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wr],breakpoint:[Wr],color:[n_],container:[Wr],"drop-shadow":[Wr],ease:["in","out","in-out"],font:[yD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wr],shadow:[Wr],spacing:["px",He],text:[Wr],"text-shadow":[Wr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,_e,Ce,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,_e]}],"container-named":[bD],columns:[{columns:[He,_e,Ce,d]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:$()}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:pe()}],"inset-x":[{"inset-x":pe()}],"inset-y":[{"inset-y":pe()}],start:[{"inset-s":pe(),start:pe()}],end:[{"inset-e":pe(),end:pe()}],"inset-bs":[{"inset-bs":pe()}],"inset-be":[{"inset-be":pe()}],top:[{top:pe()}],right:[{right:pe()}],bottom:[{bottom:pe()}],left:[{left:pe()}],visibility:["visible","invisible","collapse"],z:[{z:[Cr,"auto",Ce,_e]}],basis:[{basis:[Ma,"full","auto",d,...V()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",_e]}],grow:[{grow:["",He,Ce,_e]}],shrink:[{shrink:["",He,Ce,_e]}],order:[{order:[Cr,"first","last","none",Ce,_e]}],"grid-cols":[{"grid-cols":ge()}],"col-start-end":[{col:fe()}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":ge()}],"row-start-end":[{row:fe()}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":le()}],"auto-rows":[{"auto-rows":le()}],gap:[{gap:V()}],"gap-x":[{"gap-x":V()}],"gap-y":[{"gap-y":V()}],"justify-content":[{justify:[...ue(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...ue()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":ue()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:V()}],px:[{px:V()}],py:[{py:V()}],ps:[{ps:V()}],pe:[{pe:V()}],pbs:[{pbs:V()}],pbe:[{pbe:V()}],pt:[{pt:V()}],pr:[{pr:V()}],pb:[{pb:V()}],pl:[{pl:V()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":V()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":V()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],"inline-size":[{inline:["auto",...ae()]}],"min-inline-size":[{"min-inline":["auto",...ae()]}],"max-inline-size":[{"max-inline":["none",...ae()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[d,"screen",...q()]}],"min-w":[{"min-w":[d,"screen","none",...q()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,Vs,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,jD,wD]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,_e]}],"font-family":[{font:[CD,SD,n]}],"font-features":[{"font-features":[_e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ce,_e]}],"line-clamp":[{"line-clamp":[He,"none",Ce,ax]}],leading:[{leading:[l,...V()]}],"list-image":[{"list-image":["none",Ce,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ce,yi]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ce,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:V()}],"tab-size":[{tab:[Cr,Ce,_e]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:k()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:H()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Cr,Ce,_e],radial:["",Ce,_e],conic:[Cr,Ce,_e]},RD,_D]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ce,_e]}],"outline-w":[{outline:["",He,Vs,yi]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Zc,Gc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Zc,Gc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Zc,Gc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ce,_e]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ce,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":z()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:k()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:H()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,_e]}],filter:[{filter:["","none",Ce,_e]}],blur:[{blur:Ne()}],brightness:[{brightness:[He,Ce,_e]}],contrast:[{contrast:[He,Ce,_e]}],"drop-shadow":[{"drop-shadow":["","none",x,Zc,Gc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ce,_e]}],"hue-rotate":[{"hue-rotate":[He,Ce,_e]}],invert:[{invert:["",He,Ce,_e]}],saturate:[{saturate:[He,Ce,_e]}],sepia:[{sepia:["",He,Ce,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,_e]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ce,_e]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ce,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ce,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ce,_e]}],"backdrop-invert":[{"backdrop-invert":["",He,Ce,_e]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ce,_e]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ce,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ce,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":V()}],"border-spacing-x":[{"border-spacing-x":V()}],"border-spacing-y":[{"border-spacing-y":V()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ce,_e]}],ease:[{ease:["linear","initial",R,Ce,_e]}],delay:[{delay:[He,Ce,_e]}],animate:[{animate:["none",O,Ce,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,Ce,_e]}],"perspective-origin":[{"perspective-origin":$()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Fe()}],"scale-x":[{"scale-x":Fe()}],"scale-y":[{"scale-y":Fe()}],"scale-z":[{"scale-z":Fe()}],"scale-3d":["scale-3d"],skew:[{skew:ft()}],"skew-x":[{"skew-x":ft()}],"skew-y":[{"skew-y":ft()}],transform:[{transform:[Ce,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:$()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Cr,Ce,_e]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":V()}],"scroll-mx":[{"scroll-mx":V()}],"scroll-my":[{"scroll-my":V()}],"scroll-ms":[{"scroll-ms":V()}],"scroll-me":[{"scroll-me":V()}],"scroll-mbs":[{"scroll-mbs":V()}],"scroll-mbe":[{"scroll-mbe":V()}],"scroll-mt":[{"scroll-mt":V()}],"scroll-mr":[{"scroll-mr":V()}],"scroll-mb":[{"scroll-mb":V()}],"scroll-ml":[{"scroll-ml":V()}],"scroll-p":[{"scroll-p":V()}],"scroll-px":[{"scroll-px":V()}],"scroll-py":[{"scroll-py":V()}],"scroll-ps":[{"scroll-ps":V()}],"scroll-pe":[{"scroll-pe":V()}],"scroll-pbs":[{"scroll-pbs":V()}],"scroll-pbe":[{"scroll-pbe":V()}],"scroll-pt":[{"scroll-pt":V()}],"scroll-pr":[{"scroll-pr":V()}],"scroll-pb":[{"scroll-pb":V()}],"scroll-pl":[{"scroll-pl":V()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,_e]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Vs,yi,ax]}],stroke:[{stroke:["none",...ne()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},AD=sD(OD);function Xe(...e){return AD(Y1(e))}function MD({delayDuration:e=0,...n}){return f.jsx(zN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function ND({...e}){return f.jsx(kN,{"data-slot":"tooltip",...e})}function DD({...e}){return f.jsx(LN,{"data-slot":"tooltip-trigger",...e})}function zD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx($N,{children:f.jsxs(IN,{"data-slot":"tooltip-content",sideOffset:n,className:Xe("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...i,children:[r,f.jsx(PN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function kD(e){return Mm.add(e),()=>Mm.delete(e)}function LD(){for(const e of Mm)e()}const u_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const $D=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const ID=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const sx=e=>{const n=ID(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const PD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},FD=w.createContext({}),VD=()=>w.useContext(FD),UD=w.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:s="",children:l,iconNode:u,...d},p)=>{const{size:m=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=VD()??{},_=i??v?Number(r??y)*24/Number(n??m):r??y;return w.createElement("svg",{ref:p,...Bh,width:n??m??Bh.width,height:n??m??Bh.height,stroke:e??b,strokeWidth:_,className:u_("lucide",x,s),...!l&&!PD(d)&&{"aria-hidden":"true"},...d},[...u.map(([C,E])=>w.createElement(C,E)),...Array.isArray(l)?l:[l]])});const Ae=(e,n)=>{const r=w.forwardRef(({className:i,...s},l)=>w.createElement(UD,{ref:l,iconNode:n,className:u_(`lucide-${$D(sx(e))}`,`lucide-${e}`,i),...s}));return r.displayName=sx(e),r};const HD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],BD=Ae("beaker",HD);const qD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],GD=Ae("book-open",qD);const ZD=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],KD=Ae("briefcase",ZD);const YD=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],QD=Ae("bug",YD);const XD=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],JD=Ae("calendar",XD);const WD=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],d_=Ae("check",WD);const ez=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Hp=Ae("chevron-down",ez);const tz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],nz=Ae("chevron-right",tz);const rz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],az=Ae("chevron-up",rz);const iz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],oz=Ae("circle-check",iz);const sz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],f_=Ae("clock",sz);const lz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],cz=Ae("code",lz);const uz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],dz=Ae("compass",uz);const fz=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],hz=Ae("copy",fz);const mz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],pz=Ae("credit-card",mz);const gz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],vz=Ae("database",gz);const yz=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],bz=Ae("download",yz);const xz=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],wz=Ae("ellipsis",xz);const Sz=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],h_=Ae("file-text",Sz);const _z=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Cz=Ae("flag",_z);const Ez=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Bp=Ae("folder",Ez);const Rz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],jz=Ae("gauge",Rz);const Tz=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],Oz=Ae("gavel",Tz);const Az=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],m_=Ae("globe",Az);const Mz=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Nz=Ae("graduation-cap",Mz);const Dz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],zz=Ae("heart",Dz);const kz=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Lz=Ae("history",kz);const $z=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Iz=Ae("image",$z);const Pz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Fz=Ae("info",Pz);const Vz=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Uz=Ae("layout-dashboard",Vz);const Hz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Bz=Ae("lightbulb",Hz);const qz=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Gz=Ae("link",qz);const Zz=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Kz=Ae("loader-circle",Zz);const Yz=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],p_=Ae("lock",Yz);const Qz=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Xz=Ae("log-out",Qz);const Jz=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],Wz=Ae("megaphone",Jz);const ek=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],tk=Ae("menu",ek);const nk=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],rk=Ae("music",nk);const ak=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],ik=Ae("octagon-x",ak);const ok=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],sk=Ae("package",ok);const lk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],ck=Ae("pen-line",lk);const uk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],dk=Ae("plus",uk);const fk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],hk=Ae("rocket",fk);const mk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],g_=Ae("search",mk);const pk=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],gk=Ae("settings",pk);const vk=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],yk=Ae("share-2",vk);const bk=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],v_=Ae("shield",bk);const xk=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],y_=Ae("square-terminal",xk);const wk=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Sk=Ae("star",wk);const _k=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Ck=Ae("trash-2",_k);const Ek=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],b_=Ae("triangle-alert",Ek);const Rk=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],jk=Ae("upload",Rk);const Tk=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],x_=Ae("users",Tk);const Ok=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Ak=Ae("wrench",Ok);const Mk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],w_=Ae("x",Mk);function Nk(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Yu(),e?document.getElementById("sidebar")?.querySelector(Dk)?.focus():document.getElementById("menu-btn")?.focus()}const Dk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function pr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Yu(),e&&window.innerWidth<=iu&&document.getElementById("menu-btn")?.focus()}const iu=900;function Yu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=iu&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=iu?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=iu)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Yu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&pr()}));const zk={alert:b_,card:pz,check:d_,chev:nz,chevd:Hp,clock:f_,copy:hz,doc:h_,dots:wz,download:bz,folder:Bp,dashboard:Uz,gear:gk,globe:m_,hist:Lz,link:Gz,lock:p_,menu:tk,plus:dk,power:Xz,search:g_,share:yk,shield:v_,terminal:y_,trash:Ck,upload:jk,users:x_,x:w_};function dt({name:e}){const n=zk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const S_={folder:Bp,"book-open":GD,"file-text":h_,"pen-line":ck,users:x_,briefcase:KD,megaphone:Wz,rocket:hk,lightbulb:Bz,flag:Cz,star:Sk,heart:zz,code:cz,"square-terminal":y_,bug:QD,wrench:Ak,database:vz,package:sk,beaker:BD,gauge:jz,shield:v_,lock:p_,gavel:Oz,globe:m_,compass:dz,calendar:JD,clock:f_,"graduation-cap":Nz,image:Iz,music:rk};function $o({name:e,className:n}){const r=S_[e??""]??Bp;return f.jsx(r,{className:n,"aria-hidden":"true"})}function kk({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function wu(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Lk(e){e&&Yu()}function sl(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:pr}),f.jsxs("aside",{id:"sidebar",ref:Lk,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Qu(e){const{name:n,onHome:r,showSignout:i,search:s}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx(kk,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),f.jsxs("div",{className:"vault-actions",children:[s&&f.jsxs(ND,{delayDuration:150,children:[f.jsx(DD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{LD(),pr()},children:f.jsx(dt,{name:"search"})})}),f.jsxs(zD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(dt,{name:"power"})})]})]})}function ll(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:Nk,children:f.jsx(dt,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function $k(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Ik=e=>{switch(e){case"success":return Vk;case"info":return Hk;case"warning":return Uk;case"error":return Bk;default:return null}},Pk=Array(12).fill(0),Fk=({visible:e,className:n})=>he.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},he.createElement("div",{className:"sonner-spinner"},Pk.map((r,i)=>he.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Vk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Uk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Hk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Bk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),qk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},he.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),he.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Gk=()=>{const[e,n]=he.useState(document.hidden);return he.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Nm=1;class Zk{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...s}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Nm++,u=this.toasts.find(p=>p.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(p=>p.id===l?(this.publish({...p,...n,id:l,title:i}),{...p,...n,id:l,dismissible:d,title:i}):p):this.addToast({title:i,...s,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const s=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=s.then(async m=>{if(u=["resolve",m],he.isValidElement(m))l=!1,this.create({id:i,type:"default",message:m});else if(Yk(m)&&!m.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${m.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${m.status}`):r.description,_=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,..._})}else if(m instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(m):r.error,b=typeof r.description=="function"?await r.description(m):r.description,_=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,..._})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(m):r.success,b=typeof r.description=="function"?await r.description(m):r.description,_=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,..._})}}).catch(async m=>{if(u=["reject",m],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(m):r.error,v=typeof r.description=="function"?await r.description(m):r.description,x=typeof y=="object"&&!he.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),p=()=>new Promise((m,y)=>d.then(()=>u[0]==="reject"?y(u[1]):m(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:p}:Object.assign(i,{unwrap:p})},this.custom=(n,r)=>{const i=r?.id||Nm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const An=new Zk,Kk=(e,n)=>{const r=n?.id||Nm++;return An.addToast({title:e,...n,id:r}),r},Yk=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Qk=Kk,Xk=()=>An.toasts,Jk=()=>An.getActiveToasts(),lx=Object.assign(Qk,{success:An.success,info:An.info,warning:An.warning,error:An.error,custom:An.custom,message:An.message,promise:An.promise,dismiss:An.dismiss,loading:An.loading},{getHistory:Xk,getToasts:Jk});$k("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Kc(e){return e.label!==void 0}const Wk=3,e3="24px",t3="16px",cx=4e3,n3=356,r3=14,a3=45,i3=200;function Er(...e){return e.filter(Boolean).join(" ")}function o3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const s3=e=>{var n,r,i,s,l,u,d,p,m;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:_,visibleToasts:C,heights:E,index:R,toasts:O,expanded:T,removeToast:z,defaultRichColors:$,closeButton:B,style:F,cancelButtonStyle:V,actionButtonStyle:pe,className:ge="",descriptionClassName:fe="",duration:Q,position:le,gap:ue,expandByDefault:xe,classNames:N,icons:q,closeButtonAriaLabel:ae="Close toast"}=e,[te,ne]=he.useState(null),[k,M]=he.useState(null),[H,X]=he.useState(!1),[K,se]=he.useState(!1),[ee,ve]=he.useState(!1),[ye,Ne]=he.useState(!1),[Ie,Fe]=he.useState(!1),[ft,Qe]=he.useState(0),[vn,un]=he.useState(0),Kt=he.useRef(v.duration||Q||cx),ir=he.useRef(null),Dt=he.useRef(null),or=R===0,Dr=R+1<=C,Tt=v.type,Un=v.dismissible!==!1,wt=v.className||"",oa=v.descriptionClassName||"",yn=he.useMemo(()=>E.findIndex(Me=>Me.toastId===v.id)||0,[E,v.id]),zr=he.useMemo(()=>{var Me;return(Me=v.closeButton)!=null?Me:B},[v.closeButton,B]),sr=he.useMemo(()=>v.duration||Q||cx,[v.duration,Q]),Yt=he.useRef(0),bn=he.useRef(0),A=he.useRef(0),D=he.useRef(null),[I,J]=le.split("-"),ce=he.useMemo(()=>E.reduce((Me,ht,yt)=>yt>=yn?Me:Me+ht.height,0),[E,yn]),me=Gk(),be=v.invert||y,we=Tt==="loading";bn.current=he.useMemo(()=>yn*ue+ce,[yn,ce]),he.useEffect(()=>{Kt.current=sr},[sr]),he.useEffect(()=>{X(!0)},[]),he.useEffect(()=>{const Me=Dt.current;if(Me){const ht=Me.getBoundingClientRect().height;return un(ht),_(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>_(yt=>yt.filter(Ht=>Ht.toastId!==v.id))}},[_,v.id]),he.useLayoutEffect(()=>{if(!H)return;const Me=Dt.current,ht=Me.style.height;Me.style.height="auto";const yt=Me.getBoundingClientRect().height;Me.style.height=ht,un(yt),_(Ht=>Ht.find(_t=>_t.toastId===v.id)?Ht.map(_t=>_t.toastId===v.id?{..._t,height:yt}:_t):[{toastId:v.id,height:yt,position:v.position},...Ht])},[H,v.title,v.description,_,v.id,v.jsx,v.action,v.cancel]);const je=he.useCallback(()=>{se(!0),Qe(bn.current),_(Me=>Me.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{z(v)},i3)},[v,z,_,bn]);he.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Me;return T||x||me?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),je()},Kt.current)),()=>clearTimeout(Me)},[T,x,v,Tt,me,je]),he.useEffect(()=>{v.delete&&(je(),v.onDismiss==null||v.onDismiss.call(v,v))},[je,v.delete]);function et(){var Me;if(q?.loading){var ht;return he.createElement("div",{className:Er(N?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},q.loading)}return he.createElement(Fk,{className:Er(N?.loader,v==null||(Me=v.classNames)==null?void 0:Me.loader),visible:Tt==="loading"})}const St=v.icon||q?.[Tt]||Ik(Tt);var Qt,zt;return he.createElement("li",{tabIndex:0,ref:Dt,className:Er(ge,wt,N?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,N?.default,N?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Qt=v.richColors)!=null?Qt:$,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":H,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":K,"data-visible":Dr,"data-y-position":I,"data-x-position":J,"data-index":R,"data-front":or,"data-swiping":ee,"data-dismissible":Un,"data-type":Tt,"data-invert":be,"data-swipe-out":ye,"data-swipe-direction":k,"data-expanded":!!(T||xe&&H),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":O.length-R,"--offset":`${K?ft:bn.current}px`,"--initial-height":xe?"auto":`${vn}px`,...F,...v.style},onDragEnd:()=>{ve(!1),ne(null),D.current=null},onPointerDown:Me=>{Me.button!==2&&(we||!Un||(ir.current=new Date,Qe(bn.current),Me.target.setPointerCapture(Me.pointerId),Me.target.tagName!=="BUTTON"&&(ve(!0),D.current={x:Me.clientX,y:Me.clientY})))},onPointerUp:()=>{var Me,ht,yt;if(ye||!Un)return;D.current=null;const Ht=Number(((Me=Dt.current)==null?void 0:Me.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),lr=Number(((ht=Dt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),_t=new Date().getTime()-((yt=ir.current)==null?void 0:yt.getTime()),xn=te==="x"?Ht:lr,Wa=Math.abs(xn)/_t;if(Math.abs(xn)>=a3||Wa>.11){Qe(bn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(te==="x"?Ht>0?"right":"left":lr>0?"down":"up"),je(),Ne(!0);return}else{var wn,Sn;(wn=Dt.current)==null||wn.style.setProperty("--swipe-amount-x","0px"),(Sn=Dt.current)==null||Sn.style.setProperty("--swipe-amount-y","0px")}Fe(!1),ve(!1),ne(null)},onPointerMove:Me=>{var ht,yt,Ht;if(!D.current||!Un||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const _t=Me.clientY-D.current.y,xn=Me.clientX-D.current.x;var Wa;const wn=(Wa=e.swipeDirections)!=null?Wa:o3(le);!te&&(Math.abs(xn)>1||Math.abs(_t)>1)&&ne(Math.abs(xn)>Math.abs(_t)?"x":"y");let Sn={x:0,y:0};const $i=cr=>1/(1.5+Math.abs(cr)/20);if(te==="y"){if(wn.includes("top")||wn.includes("bottom"))if(wn.includes("top")&&_t<0||wn.includes("bottom")&&_t>0)Sn.y=_t;else{const cr=_t*$i(_t);Sn.y=Math.abs(cr)0)Sn.x=xn;else{const cr=xn*$i(xn);Sn.x=Math.abs(cr)0||Math.abs(Sn.y)>0)&&Fe(!0),(yt=Dt.current)==null||yt.style.setProperty("--swipe-amount-x",`${Sn.x}px`),(Ht=Dt.current)==null||Ht.style.setProperty("--swipe-amount-y",`${Sn.y}px`)}},zr&&!v.jsx&&Tt!=="loading"?he.createElement("button",{"aria-label":ae,"data-disabled":we,"data-close-button":!0,onClick:we||!Un?()=>{}:()=>{je(),v.onDismiss==null||v.onDismiss.call(v,v)},className:Er(N?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=q?.close)!=null?zt:qk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(q?.[Tt]!==null||v.icon)?he.createElement("div",{"data-icon":"",className:Er(N?.icon,v==null||(s=v.classNames)==null?void 0:s.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||et():null,v.type!=="loading"?St:null):null,he.createElement("div",{"data-content":"",className:Er(N?.content,v==null||(l=v.classNames)==null?void 0:l.content)},he.createElement("div",{"data-title":"",className:Er(N?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?he.createElement("div",{"data-description":"",className:Er(fe,oa,N?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),he.isValidElement(v.cancel)?v.cancel:v.cancel&&Kc(v.cancel)?he.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||V,onClick:Me=>{Kc(v.cancel)&&Un&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Me),je())},className:Er(N?.cancelButton,v==null||(p=v.classNames)==null?void 0:p.cancelButton)},v.cancel.label):null,he.isValidElement(v.action)?v.action:v.action&&Kc(v.action)?he.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||pe,onClick:Me=>{Kc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Me),!Me.defaultPrevented&&je())},className:Er(N?.actionButton,v==null||(m=v.classNames)==null?void 0:m.actionButton)},v.action.label):null)};function ux(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function l3(e,n){const r={};return[e,n].forEach((i,s)=>{const l=s===1,u=l?"--mobile-offset":"--offset",d=l?t3:e3;function p(m){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof m=="number"?`${m}px`:m})}typeof i=="number"||typeof i=="string"?p(i):typeof i=="object"?["top","right","bottom","left"].forEach(m=>{i[m]===void 0?r[`${u}-${m}`]=d:r[`${u}-${m}`]=typeof i[m]=="number"?`${i[m]}px`:i[m]}):p(d)}),r}const c3=he.forwardRef(function(n,r){const{id:i,invert:s,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:p,className:m,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:_,style:C,visibleToasts:E=Wk,toastOptions:R,dir:O=ux(),gap:T=r3,icons:z,containerAriaLabel:$="Notifications"}=n,[B,F]=he.useState([]),V=he.useMemo(()=>i?B.filter(H=>H.toasterId===i):B.filter(H=>!H.toasterId),[B,i]),pe=he.useMemo(()=>Array.from(new Set([l].concat(V.filter(H=>H.position).map(H=>H.position)))),[V,l]),[ge,fe]=he.useState([]),[Q,le]=he.useState(!1),[ue,xe]=he.useState(!1),[N,q]=he.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ae=he.useRef(null),te=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=he.useRef(null),k=he.useRef(!1),M=he.useCallback(H=>{F(X=>{var K;return(K=X.find(se=>se.id===H.id))!=null&&K.delete||An.dismiss(H.id),X.filter(({id:se})=>se!==H.id)})},[]);return he.useEffect(()=>An.subscribe(H=>{if(H.dismiss){requestAnimationFrame(()=>{F(X=>X.map(K=>K.id===H.id?{...K,delete:!0}:K))});return}setTimeout(()=>{fj.flushSync(()=>{F(X=>{const K=X.findIndex(se=>se.id===H.id);return K!==-1?[...X.slice(0,K),{...X[K],...H},...X.slice(K+1)]:[H,...X]})})})}),[B]),he.useEffect(()=>{if(b!=="system"){q(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;const H=window.matchMedia("(prefers-color-scheme: dark)");try{H.addEventListener("change",({matches:X})=>{q(X?"dark":"light")})}catch{H.addListener(({matches:K})=>{try{q(K?"dark":"light")}catch(se){console.error(se)}})}},[b]),he.useEffect(()=>{B.length<=1&&le(!1)},[B]),he.useEffect(()=>{const H=X=>{var K;if(u.every(ve=>X[ve]||X.code===ve)){var ee;le(!0),(ee=ae.current)==null||ee.focus()}X.code==="Escape"&&(document.activeElement===ae.current||(K=ae.current)!=null&&K.contains(document.activeElement))&&le(!1)};return document.addEventListener("keydown",H),()=>document.removeEventListener("keydown",H)},[u]),he.useEffect(()=>{if(ae.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,k.current=!1)}},[ae.current]),he.createElement("section",{ref:r,"aria-label":`${$} ${te}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},pe.map((H,X)=>{var K;const[se,ee]=H.split("-");return V.length?he.createElement("ol",{key:H,dir:O==="auto"?ux():O,tabIndex:-1,ref:ae,className:m,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":se,"data-x-position":ee,style:{"--front-toast-height":`${((K=ge[0])==null?void 0:K.height)||0}px`,"--width":`${n3}px`,"--gap":`${T}px`,...C,...l3(y,v)},onBlur:ve=>{k.current&&!ve.currentTarget.contains(ve.relatedTarget)&&(k.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||k.current||(k.current=!0,ne.current=ve.relatedTarget)},onMouseEnter:()=>le(!0),onMouseMove:()=>le(!0),onMouseLeave:()=>{ue||le(!1)},onDragEnd:()=>le(!1),onPointerDown:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||xe(!0)},onPointerUp:()=>xe(!1)},V.filter(ve=>!ve.position&&X===0||ve.position===H).map((ve,ye)=>{var Ne,Ie;return he.createElement(s3,{key:ve.id,icons:z,index:ye,toast:ve,defaultRichColors:x,duration:(Ne=R?.duration)!=null?Ne:_,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:s,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:p,interacting:ue,position:H,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:V.filter(Fe=>Fe.position==ve.position),heights:ge.filter(Fe=>Fe.position==ve.position),setHeights:fe,expandByDefault:d,gap:T,expanded:Q,swipeDirections:n.swipeDirections})})):null}))}),u3=({...e})=>f.jsx(c3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(oz,{className:"size-4"}),info:f.jsx(Fz,{className:"size-4"}),warning:f.jsx(b_,{className:"size-4"}),error:f.jsx(ik,{className:"size-4"}),loading:f.jsx(Kz,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?lx.error(e,{duration:1/0,closeButton:!0}):lx(e)}function d3(){return f.jsx(u3,{position:"bottom-center"})}const dx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,fx=Y1,f3=(e,n)=>r=>{var i;if(n?.variants==null)return fx(e,r?.class,r?.className);const{variants:s,defaultVariants:l}=n,u=Object.keys(s).map(m=>{const y=r?.[m],v=l?.[m];if(y===null)return null;const b=dx(y)||dx(v);return s[m][b]}),d=r&&Object.entries(r).reduce((m,y)=>{let[v,b]=y;return b===void 0||(m[v]=b),m},{}),p=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((m,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(_=>{let[C,E]=_;return Array.isArray(E)?E.includes({...l,...d}[C]):{...l,...d}[C]===E})?[...m,v,b]:m},[]);return fx(e,u,p,r?.class,r?.className)},h3=f3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...s}){const l=i?hj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Xe(h3({variant:n,size:r,className:e})),...s})}function Xu({...e}){return f.jsx(fp,{"data-slot":"dialog",...e})}function m3({...e}){return f.jsx(mp,{"data-slot":"dialog-portal",...e})}function p3({className:e,...n}){return f.jsx(pp,{"data-slot":"dialog-overlay",className:Xe("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Ju({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(m3,{"data-slot":"dialog-portal",children:[f.jsx(p3,{}),f.jsxs(gp,{"data-slot":"dialog-content",className:Xe("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(tS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(w_,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function xl({className:e,...n}){return f.jsx(Jw,{"data-slot":"dialog-title",className:Xe("text-lg leading-none font-semibold",e),...n})}let __=null,ou=[];function wl(e){__=e,ou.forEach(n=>n())}function C_(e,n,r="",i="OK",s={}){return new Promise(l=>wl({kind:"prompt",title:e,label:n,value:r,okLabel:i,...s,resolve:l}))}function Sl(e,n,r="Confirm",i=!1){return new Promise(s=>wl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:s}))}function g3(){const e=w.useSyncExternalStore(r=>(ou.push(r),()=>{ou=ou.filter(i=>i!==r)}),()=>__);if(!e)return null;const n=()=>{wl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Xu,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Ju,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(v3,{m:e}):f.jsx(y3,{m:e})})})}function v3({m:e}){const n=w.useRef(null),r=m=>{wl(null),e.resolve(m)},[i,s]=w.useState(""),[l,u]=w.useState(e.value),d=e.match===void 0||l.trim()===e.match,p=()=>{const m=l;if(d){if(!m.trim()){s("Give it a name."),n.current.focus();return}r(m)}};return f.jsxs(f.Fragment,{children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:m=>m.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:m=>{u(m.currentTarget.value),i&&s("")},onKeyDown:m=>m.key==="Enter"&&p()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:p,disabled:!d,children:e.okLabel})]})]})}function y3({m:e}){const n=r=>{wl(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function b3(e){return Zt({queryKey:["projects"],queryFn:()=>ln("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function x3(e){return Zt({queryKey:["orgs"],queryFn:()=>ln("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function w3(e){return Zt({queryKey:["permissions",e],queryFn:()=>ln(`/api/p/${e}/permissions`),enabled:!!e})}function E_(e,n=!0){return Zt({queryKey:["shares",e],queryFn:()=>ln(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function R_(e){return Zt({queryKey:["admin","pending"],queryFn:()=>ln("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function j_(){const e=Ai();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function T_(e){return e.split("/").map(encodeURIComponent).join("/")}function S3(e){return e.split("/").map(decodeURIComponent).join("/")}const _3=new Set(["dashboard","history","install","settings"]),qh={insights:"dashboard"},qp=["q","user","since","until"];function Gp(e){return!!e&&qp.some(n=>!!e[n])}function O_(e){const n=new URLSearchParams;for(const i of qp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function A_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),s=i?.get("v")||"",l=i?.get("connect")||"",u=C3(r===-1?e:e.slice(0,r),n);s&&(u.version=s),l&&(u.connect=l);const d={};for(const p of qp){const m=i?.get(p);m&&(d[p]=m)}return Gp(d)&&(u.filters=d),u}function hx(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?S3(r):"",e}function C3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return hx({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const s=hx({project:r.slice(0,i),path:""},r.slice(i+1)),l=s.path.indexOf("/"),u=l===-1?s.path:s.path.slice(0,l);return(_3.has(u)||qh[u])&&(s.view=qh[u]||u,qh[u]&&(s.legacyView=!0),s.viewTarget=l===-1?"":s.path.slice(l+1).replace(/\/+$/,""),s.path=""),s}function Wu(e,n,r){const i=T_(e),s=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+s:"/"+i+s}function Wn(e,n,r,i){let s=(n?"/"+n:"")+"/"+e;return r&&(s+="/"+T_(r.replace(/\/+$/,""))),s+(e==="history"?O_(i):"")}let Zp="POP";const Dm=new Set;function M_(){for(const e of Dm)e()}window.addEventListener("popstate",()=>{Zp="POP",M_()});function rn(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Zp=n?.replace?"REPLACE":"PUSH",M_())}function Kp(){return w.useSyncExternalStore(e=>(Dm.add(e),()=>{Dm.delete(e)}),()=>location.pathname+location.search)}function E3(){return Zp}function cl(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),rn(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function su({to:e}){return w.useEffect(()=>{rn(e,{replace:!0})},[e]),null}function N_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Vn(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function R3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function j3(e,n){const r=[],i=s=>{s.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],s;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return s;i=d;let m;if(r.key&&r.debug&&(m=Date.now()),s=n(...d),r==null||r.onChange==null||r.onChange(s),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-m)*100)/100,b=v/16,x=(_,C)=>{for(_=String(_);_.length{var s;return(s=e?.debugAll)!=null?s:e[n]},key:!1,onChange:i}}function T3(e,n,r,i){const s=()=>{var u;return(u=l.getValue())!=null?u:e.options.renderFallbackValue},l={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(i),renderValue:s,getContext:ze(()=>[e,r,n,l],(u,d,p,m)=>({table:u,column:d,row:p,cell:m,getValue:m.getValue,renderValue:m.renderValue}),ke(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(l,r,n,e)},{}),l}function O3(e,n,r,i){var s,l;const d={...e._getDefaultColumnDef(),...n},p=d.accessorKey;let m=(s=(l=d.id)!=null?l:p?typeof String.prototype.replaceAll=="function"?p.replaceAll(".","_"):p.replace(/\./g,"_"):void 0)!=null?s:typeof d.header=="string"?d.header:void 0,y;if(d.accessorFn?y=d.accessorFn:p&&(p.includes(".")?y=b=>{let x=b;for(const C of p.split(".")){var _;x=(_=x)==null?void 0:_[C]}return x}:y=b=>b[d.accessorKey]),!m)throw new Error;let v={id:`${String(m)}`,accessorFn:y,parent:i,depth:r,columnDef:d,columns:[],getFlatColumns:ze(()=>[!0],()=>{var b;return[v,...(b=v.columns)==null?void 0:b.flatMap(x=>x.getFlatColumns())]},ke(e.options,"debugColumns")),getLeafColumns:ze(()=>[e._getOrderColumnsFn()],b=>{var x;if((x=v.columns)!=null&&x.length){let _=v.columns.flatMap(C=>C.getLeafColumns());return b(_)}return[v]},ke(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(v,e);return v}const fn="debugHeaders";function mx(e,n,r){var i;let l={id:(i=r.id)!=null?i:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],d=p=>{p.subHeaders&&p.subHeaders.length&&p.subHeaders.map(d),u.push(p)};return d(l),u},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(l,e)}),l}const A3={createTable:e=>{e.getHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>{var l,u;const d=(l=i?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?l:[],p=(u=s?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?u:[],m=r.filter(v=>!(i!=null&&i.includes(v.id))&&!(s!=null&&s.includes(v.id)));return Yc(n,[...d,...m,...p],e)},ke(e.options,fn)),e.getCenterHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>(r=r.filter(l=>!(i!=null&&i.includes(l.id))&&!(s!=null&&s.includes(l.id))),Yc(n,r,e,"center")),ke(e.options,fn)),e.getLeftHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Yc(n,l,e,"left")},ke(e.options,fn)),e.getRightHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Yc(n,l,e,"right")},ke(e.options,fn)),e.getFooterGroups=ze(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getLeftFooterGroups=ze(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getCenterFooterGroups=ze(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getRightFooterGroups=ze(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getFlatHeaders=ze(()=>[e.getHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getLeftFlatHeaders=ze(()=>[e.getLeftHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getCenterFlatHeaders=ze(()=>[e.getCenterHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getRightFlatHeaders=ze(()=>[e.getRightHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getCenterLeafHeaders=ze(()=>[e.getCenterFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getLeftLeafHeaders=ze(()=>[e.getLeftFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getRightLeafHeaders=ze(()=>[e.getRightFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getLeafHeaders=ze(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,i)=>{var s,l,u,d,p,m;return[...(s=(l=n[0])==null?void 0:l.headers)!=null?s:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[],...(p=(m=i[0])==null?void 0:m.headers)!=null?p:[]].map(y=>y.getLeafHeaders()).flat()},ke(e.options,fn))}};function Yc(e,n,r,i){var s,l;let u=0;const d=function(b,x){x===void 0&&(x=1),u=Math.max(u,x),b.filter(_=>_.getIsVisible()).forEach(_=>{var C;(C=_.columns)!=null&&C.length&&d(_.columns,x+1)},0)};d(e);let p=[];const m=(b,x)=>{const _={depth:x,id:[i,`${x}`].filter(Boolean).join("_"),headers:[]},C=[];b.forEach(E=>{const R=[...C].reverse()[0],O=E.column.depth===_.depth;let T,z=!1;if(O&&E.column.parent?T=E.column.parent:(T=E.column,z=!0),R&&R?.column===T)R.subHeaders.push(E);else{const $=mx(r,T,{id:[i,x,T.id,E?.id].filter(Boolean).join("_"),isPlaceholder:z,placeholderId:z?`${C.filter(B=>B.column===T).length}`:void 0,depth:x,index:C.length});$.subHeaders.push(E),C.push($)}_.headers.push(E),E.headerGroup=_}),p.push(_),x>0&&m(C,x-1)},y=n.map((b,x)=>mx(r,b,{depth:u,index:x}));m(y,u-1),p.reverse();const v=b=>b.filter(_=>_.column.getIsVisible()).map(_=>{let C=0,E=0,R=[0];_.subHeaders&&_.subHeaders.length?(R=[],v(_.subHeaders).forEach(T=>{let{colSpan:z,rowSpan:$}=T;C+=z,R.push($)})):C=1;const O=Math.min(...R);return E=E+O,_.colSpan=C,_.rowSpan=E,{colSpan:C,rowSpan:E}});return v((s=(l=p[0])==null?void 0:l.headers)!=null?s:[]),p}const M3=(e,n,r,i,s,l,u)=>{let d={id:n,index:i,original:r,depth:s,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:p=>{if(d._valuesCache.hasOwnProperty(p))return d._valuesCache[p];const m=e.getColumn(p);if(m!=null&&m.accessorFn)return d._valuesCache[p]=m.accessorFn(d.original,i),d._valuesCache[p]},getUniqueValues:p=>{if(d._uniqueValuesCache.hasOwnProperty(p))return d._uniqueValuesCache[p];const m=e.getColumn(p);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(d._uniqueValuesCache[p]=m.columnDef.getUniqueValues(d.original,i),d._uniqueValuesCache[p]):(d._uniqueValuesCache[p]=[d.getValue(p)],d._uniqueValuesCache[p])},renderValue:p=>{var m;return(m=d.getValue(p))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>j3(d.subRows,p=>p.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let p=[],m=d;for(;;){const y=m.getParentRow();if(!y)break;p.push(y),m=y}return p.reverse()},getAllCells:ze(()=>[e.getAllLeafColumns()],p=>p.map(m=>T3(e,d,m,m.id)),ke(e.options,"debugRows")),_getAllCellsByColumnId:ze(()=>[d.getAllCells()],p=>p.reduce((m,y)=>(m[y.column.id]=y,m),{}),ke(e.options,"debugRows"))};for(let p=0;p{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},D_=(e,n,r)=>{var i,s;const l=r==null||(i=r.toString())==null?void 0:i.toLowerCase();return!!(!((s=e.getValue(n))==null||(s=s.toString())==null||(s=s.toLowerCase())==null)&&s.includes(l))};D_.autoRemove=e=>vr(e);const z_=(e,n,r)=>{var i;return!!(!((i=e.getValue(n))==null||(i=i.toString())==null)&&i.includes(r))};z_.autoRemove=e=>vr(e);const k_=(e,n,r)=>{var i;return((i=e.getValue(n))==null||(i=i.toString())==null?void 0:i.toLowerCase())===r?.toLowerCase()};k_.autoRemove=e=>vr(e);const L_=(e,n,r)=>{var i;return(i=e.getValue(n))==null?void 0:i.includes(r)};L_.autoRemove=e=>vr(e);const $_=(e,n,r)=>!r.some(i=>{var s;return!((s=e.getValue(n))!=null&&s.includes(i))});$_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const I_=(e,n,r)=>r.some(i=>{var s;return(s=e.getValue(n))==null?void 0:s.includes(i)});I_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const P_=(e,n,r)=>e.getValue(n)===r;P_.autoRemove=e=>vr(e);const F_=(e,n,r)=>e.getValue(n)==r;F_.autoRemove=e=>vr(e);const Yp=(e,n,r)=>{let[i,s]=r;const l=e.getValue(n);return l>=i&&l<=s};Yp.resolveFilterValue=e=>{let[n,r]=e,i=typeof n!="number"?parseFloat(n):n,s=typeof r!="number"?parseFloat(r):r,l=n===null||Number.isNaN(i)?-1/0:i,u=r===null||Number.isNaN(s)?1/0:s;if(l>u){const d=l;l=u,u=d}return[l,u]};Yp.autoRemove=e=>vr(e)||vr(e[0])&&vr(e[1]);const ea={includesString:D_,includesStringSensitive:z_,equalsString:k_,arrIncludes:L_,arrIncludesAll:$_,arrIncludesSome:I_,equals:P_,weakEquals:F_,inNumberRange:Yp};function vr(e){return e==null||e===""}const D3={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Vn("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);return typeof i=="string"?ea.includesString:typeof i=="number"?ea.inNumberRange:typeof i=="boolean"||i!==null&&typeof i=="object"?ea.equals:Array.isArray(i)?ea.arrIncludes:ea.weakEquals},e.getFilterFn=()=>{var r,i;return ed(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(i=n.options.filterFns)==null?void 0:i[e.columnDef.filterFn])!=null?r:ea[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,i,s;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((i=n.options.enableColumnFilters)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find(i=>i.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,i;return(r=(i=n.getState().columnFilters)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.setFilterValue=r=>{n.setColumnFilters(i=>{const s=e.getFilterFn(),l=i?.find(y=>y.id===e.id),u=Da(r,l?l.value:void 0);if(px(s,u,e)){var d;return(d=i?.filter(y=>y.id!==e.id))!=null?d:[]}const p={id:e.id,value:u};if(l){var m;return(m=i?.map(y=>y.id===e.id?p:y))!=null?m:[]}return i!=null&&i.length?[...i,p]:[p]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const r=e.getAllLeafColumns(),i=s=>{var l;return(l=Da(n,s))==null?void 0:l.filter(u=>{const d=r.find(p=>p.id===u.id);if(d){const p=d.getFilterFn();if(px(p,u.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(i)},e.resetColumnFilters=n=>{var r,i;e.setColumnFilters(n?[]:(r=(i=e.initialState)==null?void 0:i.columnFilters)!=null?r:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function px(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n=="string"&&!n}const z3=(e,n,r)=>r.reduce((i,s)=>{const l=s.getValue(e);return i+(typeof l=="number"?l:0)},0),k3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i>l||i===void 0&&l>=l)&&(i=l)}),i},L3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i=l)&&(i=l)}),i},$3=(e,n,r)=>{let i,s;return r.forEach(l=>{const u=l.getValue(e);u!=null&&(i===void 0?u>=u&&(i=s=u):(i>u&&(i=u),s{let r=0,i=0;if(n.forEach(s=>{let l=s.getValue(e);l!=null&&(l=+l)>=l&&(++r,i+=l)}),r)return i/r},P3=(e,n)=>{if(!n.length)return;const r=n.map(l=>l.getValue(e));if(!R3(r))return;if(r.length===1)return r[0];const i=Math.floor(r.length/2),s=r.sort((l,u)=>l-u);return r.length%2!==0?s[i]:(s[i-1]+s[i])/2},F3=(e,n)=>Array.from(new Set(n.map(r=>r.getValue(e))).values()),V3=(e,n)=>new Set(n.map(r=>r.getValue(e))).size,U3=(e,n)=>n.length,Gh={sum:z3,min:k3,max:L3,extent:$3,mean:I3,median:P3,unique:F3,uniqueCount:V3,count:U3},H3={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Vn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(r=>r!=null&&r.includes(e.id)?r.filter(i=>i!==e.id):[...r??[],e.id])},e.getCanGroup=()=>{var r,i;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((i=n.options.enableGrouping)!=null?i:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const r=e.getCanGroup();return()=>{r&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);if(typeof i=="number")return Gh.sum;if(Object.prototype.toString.call(i)==="[object Date]")return Gh.extent},e.getAggregationFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(i=n.options.aggregationFns)==null?void 0:i[e.columnDef.aggregationFn])!=null?r:Gh[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var r,i;e.setGrouping(n?[]:(r=(i=e.initialState)==null?void 0:i.grouping)!=null?r:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=r=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];const i=n.getColumn(r);return i!=null&&i.columnDef.getGroupingValue?(e._groupingValuesCache[r]=i.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]):e.getValue(r)},e._groupingValuesCache={}},createCell:(e,n,r,i)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var s;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((s=r.subRows)!=null&&s.length)}}};function B3(e,n,r){if(!(n!=null&&n.length)||!r)return e;const i=e.filter(l=>!n.includes(l.id));return r==="remove"?i:[...n.map(l=>e.find(u=>u.id===l)).filter(Boolean),...i]}const q3={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Vn("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=ze(r=>[Xs(n,r)],r=>r.findIndex(i=>i.id===e.id),ke(n.options,"debugColumns")),e.getIsFirstColumn=r=>{var i;return((i=Xs(n,r)[0])==null?void 0:i.id)===e.id},e.getIsLastColumn=r=>{var i;const s=Xs(n,r);return((i=s[s.length-1])==null?void 0:i.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=ze(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,i)=>s=>{let l=[];if(!(n!=null&&n.length))l=s;else{const u=[...n],d=[...s];for(;d.length&&u.length;){const p=u.shift(),m=d.findIndex(y=>y.id===p);m>-1&&l.push(d.splice(m,1)[0])}l=[...l,...d]}return B3(l,r,i)},ke(e.options,"debugTable"))}},Zh=()=>({left:[],right:[]}),G3={getInitialState:e=>({columnPinning:Zh(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Vn("columnPinning",e)}),createColumn:(e,n)=>{e.pin=r=>{const i=e.getLeafColumns().map(s=>s.id).filter(Boolean);n.setColumnPinning(s=>{var l,u;if(r==="right"){var d,p;return{left:((d=s?.left)!=null?d:[]).filter(v=>!(i!=null&&i.includes(v))),right:[...((p=s?.right)!=null?p:[]).filter(v=>!(i!=null&&i.includes(v))),...i]}}if(r==="left"){var m,y;return{left:[...((m=s?.left)!=null?m:[]).filter(v=>!(i!=null&&i.includes(v))),...i],right:((y=s?.right)!=null?y:[]).filter(v=>!(i!=null&&i.includes(v)))}}return{left:((l=s?.left)!=null?l:[]).filter(v=>!(i!=null&&i.includes(v))),right:((u=s?.right)!=null?u:[]).filter(v=>!(i!=null&&i.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(i=>{var s,l,u;return((s=i.columnDef.enablePinning)!=null?s:!0)&&((l=(u=n.options.enableColumnPinning)!=null?u:n.options.enablePinning)!=null?l:!0)}),e.getIsPinned=()=>{const r=e.getLeafColumns().map(d=>d.id),{left:i,right:s}=n.getState().columnPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"left":u?"right":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();return s?(r=(i=n.getState().columnPinning)==null||(i=i[s])==null?void 0:i.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,i,s)=>{const l=[...i??[],...s??[]];return r.filter(u=>!l.includes(u.column.id))},ke(n.options,"debugRows")),e.getLeftVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"left"})),ke(n.options,"debugRows")),e.getRightVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"right"})),ke(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var r,i;return e.setColumnPinning(n?Zh():(r=(i=e.initialState)==null?void 0:i.columnPinning)!=null?r:Zh())},e.getIsSomeColumnsPinned=n=>{var r;const i=e.getState().columnPinning;if(!n){var s,l;return!!((s=i.left)!=null&&s.length||(l=i.right)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e.getLeftLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getRightLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getCenterLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i)=>{const s=[...r??[],...i??[]];return n.filter(l=>!s.includes(l.id))},ke(e.options,"debugColumns"))}};function Z3(e){return e||(typeof document<"u"?document:null)}const Qc={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Kh=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),K3={getDefaultColumnDef:()=>Qc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Kh(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Vn("columnSizing",e),onColumnSizingInfoChange:Vn("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,i,s;const l=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Qc.minSize,(i=l??e.columnDef.size)!=null?i:Qc.size),(s=e.columnDef.maxSize)!=null?s:Qc.maxSize)},e.getStart=ze(r=>[r,Xs(n,r),n.getState().columnSizing],(r,i)=>i.slice(0,e.getIndex(r)).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.getAfter=ze(r=>[r,Xs(n,r),n.getState().columnSizing],(r,i)=>i.slice(e.getIndex(r)+1).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(r=>{let{[e.id]:i,...s}=r;return s})},e.getCanResize=()=>{var r,i;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((i=n.options.enableColumnResizing)!=null?i:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0;const i=s=>{if(s.subHeaders.length)s.subHeaders.forEach(i);else{var l;r+=(l=s.column.getSize())!=null?l:0}};return i(e),r},e.getStart=()=>{if(e.index>0){const r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=r=>{const i=n.getColumn(e.column.id),s=i?.getCanResize();return l=>{if(!i||!s||(l.persist==null||l.persist(),Yh(l)&&l.touches&&l.touches.length>1))return;const u=e.getSize(),d=e?e.getLeafHeaders().map(R=>[R.column.id,R.column.getSize()]):[[i.id,i.getSize()]],p=Yh(l)?Math.round(l.touches[0].clientX):l.clientX,m={},y=(R,O)=>{typeof O=="number"&&(n.setColumnSizingInfo(T=>{var z,$;const B=n.options.columnResizeDirection==="rtl"?-1:1,F=(O-((z=T?.startOffset)!=null?z:0))*B,V=Math.max(F/(($=T?.startSize)!=null?$:0),-.999999);return T.columnSizingStart.forEach(pe=>{let[ge,fe]=pe;m[ge]=Math.round(Math.max(fe+fe*V,0)*100)/100}),{...T,deltaOffset:F,deltaPercentage:V}}),(n.options.columnResizeMode==="onChange"||R==="end")&&n.setColumnSizing(T=>({...T,...m})))},v=R=>y("move",R),b=R=>{y("end",R),n.setColumnSizingInfo(O=>({...O,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},x=Z3(r),_={moveHandler:R=>v(R.clientX),upHandler:R=>{x?.removeEventListener("mousemove",_.moveHandler),x?.removeEventListener("mouseup",_.upHandler),b(R.clientX)}},C={moveHandler:R=>(R.cancelable&&(R.preventDefault(),R.stopPropagation()),v(R.touches[0].clientX),!1),upHandler:R=>{var O;x?.removeEventListener("touchmove",C.moveHandler),x?.removeEventListener("touchend",C.upHandler),R.cancelable&&(R.preventDefault(),R.stopPropagation()),b((O=R.touches[0])==null?void 0:O.clientX)}},E=Y3()?{passive:!1}:!1;Yh(l)?(x?.addEventListener("touchmove",C.moveHandler,E),x?.addEventListener("touchend",C.upHandler,E)):(x?.addEventListener("mousemove",_.moveHandler,E),x?.addEventListener("mouseup",_.upHandler,E)),n.setColumnSizingInfo(R=>({...R,startOffset:p,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:i.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=n=>{var r;e.setColumnSizingInfo(n?Kh():(r=e.initialState.columnSizingInfo)!=null?r:Kh())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0}}};let Xc=null;function Y3(){if(typeof Xc=="boolean")return Xc;let e=!1;try{const n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch{e=!1}return Xc=e,Xc}function Yh(e){return e.type==="touchstart"}const Q3={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Vn("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=r=>{e.getCanHide()&&n.setColumnVisibility(i=>({...i,[e.id]:r??!e.getIsVisible()}))},e.getIsVisible=()=>{var r,i;const s=e.columns;return(r=s.length?s.some(l=>l.getIsVisible()):(i=n.getState().columnVisibility)==null?void 0:i[e.id])!=null?r:!0},e.getCanHide=()=>{var r,i;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((i=n.options.enableHiding)!=null?i:!0)},e.getToggleVisibilityHandler=()=>r=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=ze(()=>[e.getAllCells(),n.getState().columnVisibility],r=>r.filter(i=>i.column.getIsVisible()),ke(n.options,"debugRows")),e.getVisibleCells=ze(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,i,s)=>[...r,...i,...s],ke(n.options,"debugRows"))},createTable:e=>{const n=(r,i)=>ze(()=>[i(),i().filter(s=>s.getIsVisible()).map(s=>s.id).join("_")],s=>s.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),ke(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=r=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=r=>{var i;e.setColumnVisibility(r?{}:(i=e.initialState.columnVisibility)!=null?i:{})},e.toggleAllColumnsVisible=r=>{var i;r=(i=r)!=null?i:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((s,l)=>({...s,[l.id]:r||!(l.getCanHide!=null&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(r=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(r=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>r=>{var i;e.toggleAllColumnsVisible((i=r.target)==null?void 0:i.checked)}}};function Xs(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const X3={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},J3={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Vn("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var r;const i=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,i,s,l;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((i=n.options.enableGlobalFilter)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ea.includesString,e.getGlobalFilterFn=()=>{var n,r;const{globalFilterFn:i}=e.options;return ed(i)?i:i==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[i])!=null?n:ea[i]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},W3={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Vn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetExpanded)!=null?i:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=i=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(i),e.toggleAllRowsExpanded=i=>{i??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=i=>{var s,l;e.setExpanded(i?{}:(s=(l=e.initialState)==null?void 0:l.expanded)!=null?s:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(i=>i.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>i=>{i.persist==null||i.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const i=e.getState().expanded;return i===!0||Object.values(i).some(Boolean)},e.getIsAllRowsExpanded=()=>{const i=e.getState().expanded;return typeof i=="boolean"?i===!0:!(!Object.keys(i).length||e.getRowModel().flatRows.some(s=>!s.getIsExpanded()))},e.getExpandedDepth=()=>{let i=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{const u=l.split(".");i=Math.max(i,u.length)}),i},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=r=>{n.setExpanded(i=>{var s;const l=i===!0?!0:!!(i!=null&&i[e.id]);let u={};if(i===!0?Object.keys(n.getRowModel().rowsById).forEach(d=>{u[d]=!0}):u=i,r=(s=r)!=null?s:!l,!l&&r)return{...u,[e.id]:!0};if(l&&!r){const{[e.id]:d,...p}=u;return p}return i})},e.getIsExpanded=()=>{var r;const i=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:i===!0||i?.[e.id])},e.getCanExpand=()=>{var r,i,s;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((i=n.options.enableExpanding)!=null?i:!0)&&!!((s=e.subRows)!=null&&s.length)},e.getIsAllParentsExpanded=()=>{let r=!0,i=e;for(;r&&i.parentId;)i=n.getRow(i.parentId,!0),r=i.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{const r=e.getCanExpand();return()=>{r&&e.toggleExpanded()}}}},zm=0,km=10,Qh=()=>({pageIndex:zm,pageSize:km}),e4={getInitialState:e=>({...e,pagination:{...Qh(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Vn("pagination",e)}),createTable:e=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetPageIndex)!=null?i:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=i=>{const s=l=>Da(i,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(s)},e.resetPagination=i=>{var s;e.setPagination(i?Qh():(s=e.initialState.pagination)!=null?s:Qh())},e.setPageIndex=i=>{e.setPagination(s=>{let l=Da(i,s.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,u)),{...s,pageIndex:l}})},e.resetPageIndex=i=>{var s,l;e.setPageIndex(i?zm:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageIndex)!=null?s:zm)},e.resetPageSize=i=>{var s,l;e.setPageSize(i?km:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageSize)!=null?s:km)},e.setPageSize=i=>{e.setPagination(s=>{const l=Math.max(1,Da(i,s.pageSize)),u=s.pageSize*s.pageIndex,d=Math.floor(u/l);return{...s,pageIndex:d,pageSize:l}})},e.setPageCount=i=>e.setPagination(s=>{var l;let u=Da(i,(l=e.options.pageCount)!=null?l:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...s,pageCount:u}}),e.getPageOptions=ze(()=>[e.getPageCount()],i=>{let s=[];return i&&i>0&&(s=[...new Array(i)].fill(null).map((l,u)=>u)),s},ke(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:i}=e.getState().pagination,s=e.getPageCount();return s===-1?!0:s===0?!1:ie.setPageIndex(i=>i-1),e.nextPage=()=>e.setPageIndex(i=>i+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var i;return(i=e.options.pageCount)!=null?i:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var i;return(i=e.options.rowCount)!=null?i:e.getPrePaginationRowModel().rows.length}}},Xh=()=>({top:[],bottom:[]}),t4={getInitialState:e=>({rowPinning:Xh(),...e}),getDefaultOptions:e=>({onRowPinningChange:Vn("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,i,s)=>{const l=i?e.getLeafRows().map(p=>{let{id:m}=p;return m}):[],u=s?e.getParentRows().map(p=>{let{id:m}=p;return m}):[],d=new Set([...u,e.id,...l]);n.setRowPinning(p=>{var m,y;if(r==="bottom"){var v,b;return{top:((v=p?.top)!=null?v:[]).filter(C=>!(d!=null&&d.has(C))),bottom:[...((b=p?.bottom)!=null?b:[]).filter(C=>!(d!=null&&d.has(C))),...Array.from(d)]}}if(r==="top"){var x,_;return{top:[...((x=p?.top)!=null?x:[]).filter(C=>!(d!=null&&d.has(C))),...Array.from(d)],bottom:((_=p?.bottom)!=null?_:[]).filter(C=>!(d!=null&&d.has(C)))}}return{top:((m=p?.top)!=null?m:[]).filter(C=>!(d!=null&&d.has(C))),bottom:((y=p?.bottom)!=null?y:[]).filter(C=>!(d!=null&&d.has(C)))}})},e.getCanPin=()=>{var r;const{enableRowPinning:i,enablePinning:s}=n.options;return typeof i=="function"?i(e):(r=i??s)!=null?r:!0},e.getIsPinned=()=>{const r=[e.id],{top:i,bottom:s}=n.getState().rowPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();if(!s)return-1;const l=(r=s==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map(u=>{let{id:d}=u;return d});return(i=l?.indexOf(e.id))!=null?i:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var r,i;return e.setRowPinning(n?Xh():(r=(i=e.initialState)==null?void 0:i.rowPinning)!=null?r:Xh())},e.getIsSomeRowsPinned=n=>{var r;const i=e.getState().rowPinning;if(!n){var s,l;return!!((s=i.top)!=null&&s.length||(l=i.bottom)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e._getPinnedRows=(n,r,i)=>{var s;return((s=e.options.keepPinnedRows)==null||s?(r??[]).map(u=>{const d=e.getRow(u,!0);return d.getIsAllParentsExpanded()?d:null}):(r??[]).map(u=>n.find(d=>d.id===u))).filter(Boolean).map(u=>({...u,position:i}))},e.getTopRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),ke(e.options,"debugRows")),e.getBottomRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),ke(e.options,"debugRows")),e.getCenterRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,i)=>{const s=new Set([...r??[],...i??[]]);return n.filter(l=>!s.has(l.id))},ke(e.options,"debugRows"))}},n4={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Vn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(r=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const i={...r},s=e.getPreGroupedRowModel().flatRows;return n?s.forEach(l=>{l.getCanSelect()&&(i[l.id]=!0)}):s.forEach(l=>{delete i[l.id]}),i})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(r=>{const i=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),s={...r};return e.getRowModel().rows.forEach(l=>{Lm(s,l.id,i,!0,e)}),s}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>Object.keys(n).length?Jh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getFilteredSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>Object.keys(n).length?Jh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getGroupedSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>Object.keys(n).length?Jh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState();let i=!!(n.length&&Object.keys(r).length);return i&&n.some(s=>s.getCanSelect()&&!r[s.id])&&(i=!1),i},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(s=>s.getCanSelect()),{rowSelection:r}=e.getState();let i=!!n.length;return i&&n.some(s=>!r[s.id])&&(i=!1),i},e.getIsSomeRowsSelected=()=>{var n;const r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(r=>r.getCanSelect()).some(r=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,i)=>{const s=e.getIsSelected();n.setRowSelection(l=>{var u;if(r=typeof r<"u"?r:!s,e.getCanSelect()&&s===r)return l;const d={...l};return Lm(d,e.id,r,(u=i?.selectChildren)!=null?u:!0,n),d})},e.getIsSelected=()=>{const{rowSelection:r}=n.getState();return Qp(e,r)},e.getIsSomeSelected=()=>{const{rowSelection:r}=n.getState();return $m(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=n.getState();return $m(e,r)==="all"},e.getCanSelect=()=>{var r;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{const r=e.getCanSelect();return i=>{var s;r&&e.toggleSelected((s=i.target)==null?void 0:s.checked)}}}},Lm=(e,n,r,i,s)=>{var l;const u=s.getRow(n,!0);r?(u.getCanMultiSelect()||Object.keys(e).forEach(d=>delete e[d]),u.getCanSelect()&&(e[n]=!0)):delete e[n],i&&(l=u.subRows)!=null&&l.length&&u.getCanSelectSubRows()&&u.subRows.forEach(d=>Lm(e,d.id,r,i,s))};function Jh(e,n){const r=e.getState().rowSelection,i=[],s={},l=function(u,d){return u.map(p=>{var m;const y=Qp(p,r);if(y&&(i.push(p),s[p.id]=p),(m=p.subRows)!=null&&m.length&&(p={...p,subRows:l(p.subRows)}),y)return p}).filter(Boolean)};return{rows:l(n.rows),flatRows:i,rowsById:s}}function Qp(e,n){var r;return(r=n[e.id])!=null?r:!1}function $m(e,n,r){var i;if(!((i=e.subRows)!=null&&i.length))return!1;let s=!0,l=!1;return e.subRows.forEach(u=>{if(!(l&&!s)&&(u.getCanSelect()&&(Qp(u,n)?l=!0:s=!1),u.subRows&&u.subRows.length)){const d=$m(u,n);d==="all"?l=!0:(d==="some"&&(l=!0),s=!1)}}),s?"all":l?"some":!1}const Im=/([0-9]+)/gm,r4=(e,n,r)=>V_(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),a4=(e,n,r)=>V_(Ba(e.getValue(r)),Ba(n.getValue(r))),i4=(e,n,r)=>Xp(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),o4=(e,n,r)=>Xp(Ba(e.getValue(r)),Ba(n.getValue(r))),s4=(e,n,r)=>{const i=e.getValue(r),s=n.getValue(r);return i>s?1:iXp(e.getValue(r),n.getValue(r));function Xp(e,n){return e===n?0:e>n?1:-1}function Ba(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function V_(e,n){const r=e.split(Im).filter(Boolean),i=n.split(Im).filter(Boolean);for(;r.length&&i.length;){const s=r.shift(),l=i.shift(),u=parseInt(s,10),d=parseInt(l,10),p=[u,d].sort();if(isNaN(p[0])){if(s>l)return 1;if(l>s)return-1;continue}if(isNaN(p[1]))return isNaN(u)?-1:1;if(u>d)return 1;if(d>u)return-1}return r.length-i.length}const Us={alphanumeric:r4,alphanumericCaseSensitive:a4,text:i4,textCaseSensitive:o4,datetime:s4,basic:l4},c4={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Vn("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const r=n.getFilteredRowModel().flatRows.slice(10);let i=!1;for(const s of r){const l=s?.getValue(e.id);if(Object.prototype.toString.call(l)==="[object Date]")return Us.datetime;if(typeof l=="string"&&(i=!0,l.split(Im).length>1))return Us.alphanumeric}return i?Us.text:Us.basic},e.getAutoSortDir=()=>{const r=n.getFilteredRowModel().flatRows[0];return typeof r?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(i=n.options.sortingFns)==null?void 0:i[e.columnDef.sortingFn])!=null?r:Us[e.columnDef.sortingFn]},e.toggleSorting=(r,i)=>{const s=e.getNextSortingOrder(),l=typeof r<"u"&&r!==null;n.setSorting(u=>{const d=u?.find(x=>x.id===e.id),p=u?.findIndex(x=>x.id===e.id);let m=[],y,v=l?r:s==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&i?d?y="toggle":y="add":u!=null&&u.length&&p!==u.length-1?y="replace":d?y="toggle":y="replace",y==="toggle"&&(l||s||(y="remove")),y==="add"){var b;m=[...u,{id:e.id,desc:v}],m.splice(0,m.length-((b=n.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else y==="toggle"?m=u.map(x=>x.id===e.id?{...x,desc:v}:x):y==="remove"?m=u.filter(x=>x.id!==e.id):m=[{id:e.id,desc:v}];return m})},e.getFirstSortDir=()=>{var r,i;return((r=(i=e.columnDef.sortDescFirst)!=null?i:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=r=>{var i,s;const l=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==l&&((i=n.options.enableSortingRemoval)==null||i)&&(!(r&&(s=n.options.enableMultiRemove)!=null)||s)?!1:u==="desc"?"asc":"desc":l},e.getCanSort=()=>{var r,i;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((i=n.options.enableSorting)!=null?i:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,i;return(r=(i=e.columnDef.enableMultiSort)!=null?i:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;const i=(r=n.getState().sorting)==null?void 0:r.find(s=>s.id===e.id);return i?i.desc?"desc":"asc":!1},e.getSortIndex=()=>{var r,i;return(r=(i=n.getState().sorting)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting(r=>r!=null&&r.length?r.filter(i=>i.id!==e.id):[])},e.getToggleSortingHandler=()=>{const r=e.getCanSort();return i=>{r&&(i.persist==null||i.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(i):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var r,i;e.setSorting(n?[]:(r=(i=e.initialState)==null?void 0:i.sorting)!=null?r:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},u4=[A3,Q3,q3,G3,N3,D3,X3,J3,c4,H3,W3,e4,t4,n4,K3];function d4(e){var n,r;const i=[...u4,...(n=e._features)!=null?n:[]];let s={_features:i};const l=s._features.reduce((b,x)=>Object.assign(b,x.getDefaultOptions==null?void 0:x.getDefaultOptions(s)),{}),u=b=>s.options.mergeOptions?s.options.mergeOptions(l,b):{...l,...b};let p={...{},...(r=e.initialState)!=null?r:{}};s._features.forEach(b=>{var x;p=(x=b.getInitialState==null?void 0:b.getInitialState(p))!=null?x:p});const m=[];let y=!1;const v={_features:i,options:{...l,...e},initialState:p,_queue:b=>{m.push(b),y||(y=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();y=!1}).catch(x=>setTimeout(()=>{throw x})))},reset:()=>{s.setState(s.initialState)},setOptions:b=>{const x=Da(b,s.options);s.options=u(x)},getState:()=>s.options.state,setState:b=>{s.options.onStateChange==null||s.options.onStateChange(b)},_getRowId:(b,x,_)=>{var C;return(C=s.options.getRowId==null?void 0:s.options.getRowId(b,x,_))!=null?C:`${_?[_.id,x].join("."):x}`},getCoreRowModel:()=>(s._getCoreRowModel||(s._getCoreRowModel=s.options.getCoreRowModel(s)),s._getCoreRowModel()),getRowModel:()=>s.getPaginationRowModel(),getRow:(b,x)=>{let _=(x?s.getPrePaginationRowModel():s.getRowModel()).rowsById[b];if(!_&&(_=s.getCoreRowModel().rowsById[b],!_))throw new Error;return _},_getDefaultColumnDef:ze(()=>[s.options.defaultColumn],b=>{var x;return b=(x=b)!=null?x:{},{header:_=>{const C=_.header.column.columnDef;return C.accessorKey?C.accessorKey:C.accessorFn?C.id:null},cell:_=>{var C,E;return(C=(E=_.renderValue())==null||E.toString==null?void 0:E.toString())!=null?C:null},...s._features.reduce((_,C)=>Object.assign(_,C.getDefaultColumnDef==null?void 0:C.getDefaultColumnDef()),{}),...b}},ke(e,"debugColumns")),_getColumnDefs:()=>s.options.columns,getAllColumns:ze(()=>[s._getColumnDefs()],b=>{const x=function(_,C,E){return E===void 0&&(E=0),_.map(R=>{const O=O3(s,R,E,C),T=R;return O.columns=T.columns?x(T.columns,O,E+1):[],O})};return x(b)},ke(e,"debugColumns")),getAllFlatColumns:ze(()=>[s.getAllColumns()],b=>b.flatMap(x=>x.getFlatColumns()),ke(e,"debugColumns")),_getAllFlatColumnsById:ze(()=>[s.getAllFlatColumns()],b=>b.reduce((x,_)=>(x[_.id]=_,x),{}),ke(e,"debugColumns")),getAllLeafColumns:ze(()=>[s.getAllColumns(),s._getOrderColumnsFn()],(b,x)=>{let _=b.flatMap(C=>C.getLeafColumns());return x(_)},ke(e,"debugColumns")),getColumn:b=>s._getAllFlatColumnsById()[b]};Object.assign(s,v);for(let b=0;bze(()=>[e.options.data],n=>{const r={rows:[],flatRows:[],rowsById:{}},i=function(s,l,u){l===void 0&&(l=0);const d=[];for(let m=0;me._autoResetPageIndex()))}function H_(){return e=>ze(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,r)=>{if(!r.rows.length||!(n!=null&&n.length))return r;const i=e.getState().sorting,s=[],l=i.filter(p=>{var m;return(m=e.getColumn(p.id))==null?void 0:m.getCanSort()}),u={};l.forEach(p=>{const m=e.getColumn(p.id);m&&(u[p.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const d=p=>{const m=p.map(y=>({...y}));return m.sort((y,v)=>{for(let x=0;x{var v;s.push(y),(v=y.subRows)!=null&&v.length&&(y.subRows=d(y.subRows))}),m};return{rows:d(r.rows),flatRows:s,rowsById:r.rowsById}},ke(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function Pm(e,n){return e?f4(e)?w.createElement(e,n):e:null}function f4(e){return h4(e)||typeof e=="function"||m4(e)}function h4(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function m4(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function B_(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=w.useState(()=>({current:d4(n)})),[i,s]=w.useState(()=>r.current.initialState);return r.current.setOptions(l=>({...l,...e,state:{...i,...e.state},onStateChange:u=>{s(u),e.onStateChange==null||e.onStateChange(u)}})),r.current}var _l=e=>e.type==="checkbox",za=e=>e instanceof Date,an=e=>e==null;const Jp=e=>typeof e=="object";var jt=e=>!an(e)&&!Array.isArray(e)&&Jp(e)&&!za(e),p4=e=>jt(e)&&e.target?_l(e.target)?e.target.checked:e.target.value:e,g4=(e,n)=>n.split(".").some((r,i,s)=>!isNaN(Number(r))&&e.has(s.slice(0,i).join("."))),q_=e=>{const n=e.constructor&&e.constructor.prototype;return jt(n)&&n.hasOwnProperty("isPrototypeOf")},td=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Mt(e){if(e instanceof Date)return new Date(e);const n=typeof FileList<"u"&&e instanceof FileList;if(td&&(e instanceof Blob||n))return e;const r=Array.isArray(e);if(!r&&!(jt(e)&&q_(e)))return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=Mt(e[s]));return i}const jo={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},gr={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},mr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},G_="root",Wp=["__proto__","constructor","prototype"],v4=/^\w*$/;var Cl=e=>v4.test(e),gt=e=>e===void 0;const y4=/[.[\]'"]/;var nd=e=>e.split(y4).filter(Boolean),Se=(e,n,r)=>{if(!n||!jt(e))return r;const i=Cl(n)?[n]:nd(n);if(i.some(l=>Wp.includes(l)))return r;const s=i.reduce((l,u)=>an(l)?void 0:l[u],e);return gt(s)||s===e?gt(e[n])?r:e[n]:s},Rr=e=>typeof e=="boolean",er=e=>typeof e=="function",lt=(e,n,r)=>{let i=-1;const s=Cl(n)?[n]:nd(n),l=s.length,u=l-1;for(;++i{const s={};for(const l in e)Object.defineProperty(s,l,{get:()=>{const u=l;return n._proxyFormState[u]!==gr.all&&(n._proxyFormState[u]=!i||gr.all),e[u]}});return s};const w4=td?he.useLayoutEffect:he.useEffect;var sn=e=>typeof e=="string",S4=(e,n,r,i,s)=>sn(e)?(i&&n.watch.add(e),Se(r,e,s)):Array.isArray(e)?e.map(l=>(i&&n.watch.add(l),Se(r,l))):(i&&(n.watchAll=!0),r),Fm=e=>an(e)||!Jp(e);const gx=(e,n)=>n.length===0&&!Array.isArray(e)&&!q_(e);function jr(e,n,r=new WeakMap){if(e===n)return!0;if(Fm(e)||Fm(n))return Object.is(e,n);if(za(e)&&za(n))return Object.is(e.getTime(),n.getTime());const i=Object.keys(e),s=Object.keys(n);if(i.length!==s.length)return!1;if(gx(e,i)||gx(n,s))return Object.is(e,n);if(!i.length&&Array.isArray(e)!==Array.isArray(n))return!1;const l=r.get(e);if(l&&l.has(n))return!0;if(l)l.add(n);else{const u=new WeakSet;u.add(n),r.set(e,u)}for(const u of i){const d=e[u];if(!(u in n))return!1;if(u!=="ref"){const p=n[u];if(za(d)&&za(p)||(jt(d)||Array.isArray(d))&&(jt(p)||Array.isArray(p))?!jr(d,p,r):!Object.is(d,p))return!1}}return!0}var Jc=e=>({isOnSubmit:!e||e===gr.onSubmit,isOnBlur:e===gr.onBlur,isOnChange:e===gr.onChange,isOnAll:e===gr.all,isOnTouch:e===gr.onTouched}),Wh=(e,n,r)=>{if(r)return!1;if(n.watchAll||n.watch.has(e))return!0;for(const i of n.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Js=(e,n,r,i)=>{for(const s of r||Object.keys(e)){const l=Se(e,s);if(l){const{_f:u,...d}=l;if(u){if(u.refs&&u.refs[0]&&n(u.refs[0],s)&&!i)return!0;if(u.ref&&n(u.ref,u.name)&&!i)return!0;if(Js(d,n))break}else if(jt(d)&&Js(d,n))break}}};var vx=(e,n,r)=>{const i=Se(e,r),s=Array.isArray(i)?i:[];return lt(s,G_,n[r]),lt(e,r,s),e},nn=e=>jt(e)&&!Object.keys(e).length,eg=e=>e.type==="file",Su=e=>{if(!td)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},tg=e=>e.type==="radio",_u=e=>e instanceof RegExp,ng=(e,n,r,i,s)=>n?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:s||!0}}:{};const yx={value:!1,isValid:!1},bx={value:!0,isValid:!0};var Z_=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gt(e[0].attributes.value)?gt(e[0].value)||e[0].value===""?bx:{value:e[0].value,isValid:!0}:bx:yx}return yx};const xx={isValid:!1,value:null};var K_=e=>Array.isArray(e)?e.reduce((n,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:n,xx):xx;function wx(e,n,r="validate"){if(sn(e)||Array.isArray(e)&&e.every(sn)||Rr(e)&&!e)return{type:r,message:sn(e)?e:"",ref:n}}var To=e=>jt(e)&&!_u(e)?e:{value:e,message:""},Sx=async(e,n,r,i,s,l)=>{const{ref:u,refs:d,required:p,maxLength:m,minLength:y,min:v,max:b,pattern:x,validate:_,name:C,valueAsNumber:E,mount:R}=e._f,O=Se(r,C);if(!R||n.has(C))return{};const T=d?d[0]:u,z=Q=>{if(s&&T.reportValidity){const le=Rr(Q)?"":Q||"";d?d.forEach(ue=>ue.setCustomValidity(le)):T.setCustomValidity(le),T.reportValidity()}},$={},B=tg(u),F=_l(u),V=B||F,pe=(E||eg(u))&>(u.value)&>(O)||Su(u)&&u.value===""||O===""||Array.isArray(O)&&!O.length,ge=ng.bind(null,C,i,$),fe=(Q,le,ue,xe=mr.maxLength,N=mr.minLength)=>{const q=Q?le:ue;$[C]={type:Q?xe:N,message:q,ref:u,...ge(Q?xe:N,q)}};if(l?!Array.isArray(O)||!O.length:p&&(!V&&(pe||an(O))||Rr(O)&&!O||F&&!Z_(d).isValid||B&&!K_(d).isValid)){const{value:Q,message:le}=sn(p)?{value:!!p,message:p}:To(p);if(Q&&($[C]={type:mr.required,message:le,ref:T,...ge(mr.required,le)},!i))return z(le),$}if(!pe&&(!an(v)||!an(b))){let Q,le;const ue=To(b),xe=To(v);if(!an(O)&&!isNaN(O)){const N=u.valueAsNumber||O&&+O;an(ue.value)||(Q=N>ue.value),an(xe.value)||(le=Nnew Date(new Date().toDateString()+" "+ne),ae=u.type=="time",te=u.type=="week";sn(ue.value)&&O&&(Q=ae?q(O)>q(ue.value):te?O>ue.value:N>new Date(ue.value)),sn(xe.value)&&O&&(le=ae?q(O)+Q.value,xe=!an(le.value)&&O.length<+le.value;if((ue||xe)&&(fe(ue,Q.message,le.message),!i))return z($[C].message),$}if(x&&!pe&&sn(O)){const{value:Q,message:le}=To(x);if(_u(Q)&&!O.match(Q)&&($[C]={type:mr.pattern,message:le,ref:u,...ge(mr.pattern,le)},!i))return z(le),$}if(_){if(er(_)){const Q=await _(O,r),le=wx(Q,T);if(le&&($[C]={...le,...ge(mr.validate,le.message)},!i))return z(le.message),$}else if(jt(_)){let Q={};for(const le in _){if(!nn(Q)&&!i)break;const ue=wx(await _[le](O,r),T,le);ue&&(Q={...ue,...ge(le,ue.message)},z(ue.message),i&&($[C]=Q))}if(!nn(Q)&&($[C]={ref:T,...Q},!i))return $}}return z(!0),$},lu=e=>Array.isArray(e)?e:[e],Y_=e=>Array.isArray(e)?e.filter(Boolean):[];function _4(e,n){const r=n.slice(0,-1).length;let i=0;for(;iWp.includes(String(u))))return e;const i=r.length===1?e:_4(e,r),s=r.length-1,l=r[s];return i&&delete i[l],s!==0&&(jt(i)&&nn(i)||Array.isArray(i)&&C4(i))&&Nt(e,r.slice(0,-1)),e}const Q_=e=>{const n={};for(const r of Object.keys(e))if(Jp(e[r])&&e[r]!==null&&!za(e[r])){const i=Q_(e[r]);for(const s of Object.keys(i))n[`${r}.${s}`]=i[s]}else n[r]=e[r];return n},E4=he.createContext(null);E4.displayName="HookFormContext";var _x=()=>{let e=[];return{get observers(){return e},next:s=>{for(const l of e)l.next&&l.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(l=>l!==s)}}),unsubscribe:()=>{e=[]}}};function X_(e,n){const r={};for(const i in e)if(e.hasOwnProperty(i)){const s=e[i],l=n[i];if(s&&jt(s)&&l){const u=X_(s,l);jt(u)&&(r[i]=u)}else e[i]&&(r[i]=l)}return r}var J_=e=>e.type==="select-multiple",R4=e=>tg(e)||_l(e),em=e=>Su(e)&&e.isConnected,j4=e=>{for(const n in e)if(er(e[n]))return!0;return!1};function W_(e){return Array.isArray(e)||jt(e)&&!j4(e)}function eC(e){return!!(e&&"_f"in e)}function tC(e){return Array.isArray(e)?!e.some(n=>!gt(n)):!Object.keys(e).length}function Vm(e,n){Array.isArray(e)?e[n]=void 0:delete e[n]}function Um(e,n={},r){for(const i in e){const s=e[i],l=r&&r[i];W_(s)&&(!Array.isArray(s)||!eC(l))?(n[i]=Array.isArray(s)?[]:{},Um(s,n[i],l),tC(n[i])&&Vm(n,i)):gt(s)||(n[i]=!0)}return n}function bi(e,n,r,i){r||(r=Um(n,{},i));for(const s in e){const l=e[s],u=i&&i[s];W_(l)&&(!Array.isArray(l)||!eC(u))?(gt(n)||Fm(r[s])?r[s]=Um(l,Array.isArray(l)?[]:{},u):bi(l,an(n)?{}:n[s],r[s],u),tC(r[s])&&Vm(r,s)):jr(l,n[s])?Vm(r,s):r[s]=!0}return r}var nC=(e,{valueAsNumber:n,valueAsDate:r,setValueAs:i})=>gt(e)?e:n?e===""?NaN:e&&+e:r&&sn(e)?new Date(e):i?i(e):e;function Cx(e){const n=e.ref;return eg(n)?n.files:tg(n)?K_(e.refs).value:J_(n)?[...n.selectedOptions].map(({value:r})=>r):_l(n)?Z_(e.refs).value:nC(gt(n.value)?e.ref.value:n.value,e)}var T4=(e,n,r,i)=>{const s={};for(const l of e){const u=Se(n,l);u&<(s,l,u._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:i}},Hs=e=>gt(e)?e:_u(e)?e.source:jt(e)?_u(e.value)?e.value.source:e.value:e;const Ex="AsyncFunction";var O4=e=>{if(!e||!e.validate)return!1;if(er(e.validate))return e.validate.constructor.name===Ex;if(jt(e.validate)){for(const n in e.validate)if(e.validate[n].constructor.name===Ex)return!0}return!1},A4=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Rx(e,n,r){const i=Se(e,r);if(i||Cl(r))return{error:i,name:r};const s=r.split(".");for(;s.length;){const l=s.join("."),u=Se(n,l),d=Se(e,l);if(u&&!Array.isArray(u)&&r!==l)return{name:r};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};s.pop()}return{name:r}}var M4=(e,n,r,i)=>{r(e);const{name:s,...l}=e,u=Object.keys(l);return!u.length||i&&u.length>=Object.keys(n).length||u.find(d=>n[d]===(!i||gr.all))},N4=(e,n,r)=>!e||!n||e===n||lu(e).some(i=>i&&(r?i===n||i.startsWith(n+"."):i.startsWith(n)||n.startsWith(i))),D4=(e,n,r,i,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(n||e):(r?i.isOnBlur:s.isOnBlur)?!e:(r?i.isOnChange:s.isOnChange)?e:!0,z4=(e,n)=>!Y_(Se(e,n)).length&&Nt(e,n);const k4={mode:gr.onSubmit,reValidateMode:gr.onChange,shouldFocusError:!0},tm="form",rC={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function L4(e={}){let n={...k4,...e},r={...Mt(rC),isLoading:er(n.defaultValues),errors:n.errors||{},disabled:n.disabled||!1},i={},s=jt(n.defaultValues)||jt(n.values)?Mt(n.defaultValues||n.values)||{}:{},l=n.shouldUnregister?{}:Mt(s),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const p={},m={};let y=0,v=Jc(n.mode),b=Jc(n.reValidateMode);const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_={...x};let C={..._};const E={array:_x(),state:_x()};let R=0;const O=n.criteriaMode===gr.all,T=(A,D)=>I=>{clearTimeout(m[A]),m[A]=setTimeout(D,I)},z=async A=>{if(!u.keepIsValid&&!n.disabled&&(_.isValid||C.isValid||A)){const D=++R;let I;n.resolver?(I=nn((await ue()).errors),D===R&&$()):I=await q({fields:i,onlyCheckValid:!0,eventType:jo.VALID}),D===R&&I!==r.isValid&&E.state.next({isValid:I})}},$=(A,D)=>{!n.disabled&&(_.isValidating||_.validatingFields||C.isValidating||C.validatingFields)&&((A||Array.from(d.mount)).forEach(I=>{I&&(D?lt(r.validatingFields,I,D):Nt(r.validatingFields,I))}),E.state.next({validatingFields:r.validatingFields,isValidating:!nn(r.validatingFields)}))},B=()=>{r.dirtyFields=bi(s,l,void 0,i)},F=(A,D=[],I,J,ce=!0,me=!0)=>{if(J&&I&&!n.disabled){if(u.action=!0,me&&Array.isArray(Se(i,A))){const be=I(Se(i,A),J.argA,J.argB);ce&<(i,A,be)}if(me&&Array.isArray(Se(r.errors,A))){const be=I(Se(r.errors,A),J.argA,J.argB);ce&<(r.errors,A,be),z4(r.errors,A)}if((_.touchedFields||C.touchedFields)&&me&&Array.isArray(Se(r.touchedFields,A))){const be=I(Se(r.touchedFields,A),J.argA,J.argB);ce&<(r.touchedFields,A,be)}(_.dirtyFields||C.dirtyFields)&&B(),E.state.next({name:A,isDirty:te(A,D),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else lt(l,A,D)},V=(A,D)=>{lt(r.errors,A,D),r.errors={...r.errors},E.state.next({errors:r.errors})},pe=A=>{r.errors=A,E.state.next({errors:r.errors,isValid:!1})},ge=A=>{const D=Cl(A)?[A]:nd(A);let I=l,J=s;for(let ce=0;ce{const ce=Se(i,A);if(ce){if(ge(A))return;const me=gt(Se(l,A)),be=Se(l,A,gt(I)?Se(s,A):I);gt(be)||J&&J.defaultChecked||D?lt(l,A,D?be:Cx(ce._f)):M(A,be),u.mount&&!u.action&&(z(),me&&r.isDirty&&(_.isDirty||C.isDirty)&&(te()||(r.isDirty=!1,E.state.next({...r}))),e.shouldUnregister&&me&&!gt(Se(l,A))&&Wh(A,d)&&(u.watch=!0))}},Q=(A,D,I,J,ce)=>{let me=!1,be=!1;const we={name:A};if(!n.disabled||J===!0){if(!I||J){const je=jr(Se(s,A),D);(_.isDirty||C.isDirty)&&(be=r.isDirty,r.isDirty=we.isDirty=!je||te(),me=be!==we.isDirty),be=!!Se(r.dirtyFields,A),je!==r.isDirty?r.dirtyFields=bi(s,l,void 0,i):je?Nt(r.dirtyFields,A):lt(r.dirtyFields,A,!0),we.dirtyFields=r.dirtyFields,me=me||(_.dirtyFields||C.dirtyFields)&&be!==!je}if(I){const je=Se(r.touchedFields,A);je||(lt(r.touchedFields,A,I),we.touchedFields=r.touchedFields,me=me||(_.touchedFields||C.touchedFields)&&je!==I)}me&&ce&&E.state.next(we)}return me?we:{}},le=(A,D,I,J)=>{const ce=Se(r.errors,A),me=(_.isValid||C.isValid)&&Rr(D)&&r.isValid!==D;if(n.delayError&&I?(p[A]=T(A,()=>V(A,I)),p[A](n.delayError)):(clearTimeout(m[A]),delete p[A],I?lt(r.errors,A,I):Nt(r.errors,A),r.errors={...r.errors}),(I?!jr(ce,I):ce)||!nn(J)||me){const be={...J,...me&&Rr(D)?{isValid:D}:{},errors:r.errors,name:A};r={...r,...be},E.state.next(be)}},ue=async A=>($(A,!0),await n.resolver(l,n.context,T4(A||d.mount,i,n.criteriaMode,n.shouldUseNativeValidation))),xe=async A=>{const{errors:D}=await ue(A);if($(A),A){for(const I of A){const J=Se(D,I);J?d.array.has(I)&&jt(J)&&!Object.keys(J).some(ce=>!Number.isNaN(Number(ce)))?vx(r.errors,{[I]:J},I):lt(r.errors,I,J):Nt(r.errors,I)}r.errors={...r.errors}}else r.errors=D;return D},N=async({name:A,eventType:D})=>{if(e.validate){const I=await e.validate({formValues:l,formState:r,name:A,eventType:D});if(jt(I))for(const J in I){const ce=I[J];ce&&ft(`${tm}.${J}`,{message:sn(ce.message)?ce.message:"",type:ce.type||mr.validate})}else sn(I)||!I?ft(tm,{message:I||"",type:mr.validate}):Fe(tm);return I}return!0},q=async({fields:A,onlyCheckValid:D,name:I,eventType:J,context:ce={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(ce.runRootValidation=!0,!await N({name:I,eventType:J})&&(ce.valid=!1,D)))return ce.valid;for(const me in A){const be=A[me];if(be){const{_f:we,...je}=be;if(we){const et=d.array.has(we.name),St=be._f&&O4(be._f),Qt=_.validatingFields||_.isValidating||C.validatingFields||C.isValidating;St&&Qt&&$([we.name],!0);const zt=await Sx(be,d.disabled,l,O,n.shouldUseNativeValidation&&!D,et);if(St&&Qt&&$([we.name]),zt[we.name]&&(ce.valid=!1,D)||(!D&&(Se(zt,we.name)?et?vx(r.errors,zt,we.name):lt(r.errors,we.name,zt[we.name]):Nt(r.errors,we.name)),e.shouldUseNativeValidation&&zt[we.name]))break}!nn(je)&&await q({context:ce,onlyCheckValid:D,fields:je,name:me,eventType:J})}}return ce.valid},ae=()=>{for(const A of d.unMount){const D=Se(i,A);D&&(D._f.refs?D._f.refs.every(I=>!em(I)):!em(D._f.ref))&&Kt(A)}d.unMount=new Set},te=(A,D)=>(A&&D&<(l,A,D),!jr(u.mount?l:s,s)),ne=(A,D,I)=>S4(A,d,{...u.mount?l:gt(D)?s:sn(A)?{[A]:D}:D},I,D),k=A=>Y_(Se(u.mount?l:s,A,n.shouldUnregister?Se(s,A,[]):[])),M=(A,D,I={},J=!1,ce=!1)=>{const me=Se(i,A);let be=D;if(me){const we=me._f;we&&(!we.disabled&<(l,A,nC(D,we)),be=Su(we.ref)&&an(D)?"":D,J_(we.ref)?[...we.ref.options].forEach(je=>je.selected=be.includes(je.value)):we.refs?_l(we.ref)?we.refs.forEach(je=>{(!je.defaultChecked||!je.disabled)&&(Array.isArray(be)?je.checked=!!be.find(et=>et===je.value):je.checked=be===je.value||!!be)}):we.refs.forEach(je=>je.checked=je.value===be):eg(we.ref)?we.ref.value="":(we.ref.value=be,!we.ref.type&&!ce&&E.state.next({name:A,values:J?l:Mt(l)})))}(I.shouldDirty||I.shouldTouch)&&Q(A,be,I.shouldTouch,I.shouldDirty,!ce),I.shouldValidate&&ye(A,{delayError:I.delayError})},H=(A,D,I,J=!1,ce=!1)=>{for(const me in D){if(!D.hasOwnProperty(me))return;const be=D[me],we=A+"."+me,je=Se(i,we);(d.array.has(A)||jt(be)||je&&!je._f)&&!za(be)?H(we,be,I,J,ce):M(we,be,I,J,ce)}},X=(A,D,I,J,ce=!1)=>{const me=Se(i,A),be=d.array.has(A),we=J?D:Mt(D),je=Se(l,A),et=jr(je,we);if(et||lt(l,A,we),be)E.array.next({name:A,values:J?l:Mt(l)}),(_.isDirty||_.dirtyFields||C.isDirty||C.dirtyFields)&&I.shouldDirty&&(B(),ce||E.state.next({name:A,dirtyFields:r.dirtyFields,isDirty:te(A,we)}));else{const St=Array.isArray(we)&&!we.length||nn(we);!me||me._f||an(we)||St?M(A,we,I,J,ce):H(A,we,I,J,ce)}if(!et&&!ce){const St=Wh(A,d),Qt=J?l:Mt(l);E.state.next({...St&&r,name:u.mount||St?A:void 0,values:Qt})}},K=(A,D,I={})=>X(A,D,I,!1),se=(A,D={})=>{const I=er(A)?A(l):A;if(!jr(l,I)){l={...l,...I};const J=Q_(I);for(const ce of d.mount)ce in J&&X(ce,J[ce],D,!0,!0);E.state.next({...r,name:void 0,type:void 0,...y?{values:l}:{}}),D.shouldValidate&&z()}},ee=async A=>{u.mount=!0;const D=A.target;let I=D.name,J=!0;const ce=Se(i,I),me=be=>{J=Number.isNaN(be)||za(be)&&isNaN(be.getTime())||jr(be,Se(l,I,be))};if(ce){let be,we;const je=D.type?Cx(ce._f):p4(A),et=A.type===jo.BLUR||A.type===jo.FOCUS_OUT,St=!A4(ce._f)&&!e.validate&&!n.resolver&&!Se(r.errors,I)&&!ce._f.deps,Qt=St||D4(et,Se(r.touchedFields,I),r.isSubmitted,b,v),zt=Wh(I,d,et);if(lt(l,I,je),et){if(!D||!D.readOnly){ce._f.onBlur&&ce._f.onBlur(A);const yt=p[I];yt&&yt(0)}}else ce._f.onChange&&ce._f.onChange(A);const Me=Q(I,je,et),ht=!nn(Me)||zt;if(!et&&E.state.next({name:I,type:A.type,...y?{values:Mt(l)}:{}}),Qt)return(!St||!r.isValid)&&(_.isValid||C.isValid)&&(n.mode==="onBlur"?et&&z():et||z()),ht&&E.state.next({name:I,...zt?{}:Me});if(!n.resolver&&e.validate&&await N({name:I,eventType:A.type}),!et&&zt&&E.state.next({...r}),n.resolver){const{errors:yt}=await ue([I]);if($([I]),me(je),!J){!nn(Me)&&E.state.next(Me);return}const Ht=Rx(r.errors,i,I),lr=Rx(yt,i,Ht.name||I);be=lr.error,I=lr.name,we=nn(yt)}else $([I],!0),be=(await Sx(ce,d.disabled,l,O,n.shouldUseNativeValidation))[I],$([I]),me(je),J&&(be?we=!1:(_.isValid||C.isValid)&&(we=await q({fields:i,onlyCheckValid:!0,name:I,eventType:A.type})));J&&(ce._f.deps&&(!Array.isArray(ce._f.deps)||ce._f.deps.length>0)&&ye(ce._f.deps),le(I,we,be,Me))}},ve=(A,D)=>{if(Se(r.errors,D)&&A.focus)return A.focus(),1},ye=async(A,D={})=>{let I,J;const ce=lu(A);if(n.resolver){const me=await xe(gt(A)?A:ce);I=nn(me),J=A?!ce.some(be=>Se(me,be)):I}else A?(J=(await Promise.all(ce.map(async me=>{const be=Se(i,me);return await q({fields:be&&be._f?{[me]:be}:be,eventType:jo.TRIGGER})}))).every(Boolean),!(!J&&!r.isValid)&&z()):J=I=await q({fields:i,name:A,eventType:jo.TRIGGER});if(D.delayError&&n.delayError&&sn(A)){const me=Se(r.errors,A);me?(Nt(r.errors,A),p[A]=T(A,()=>V(A,me)),p[A](n.delayError)):(clearTimeout(m[A]),delete p[A])}return E.state.next({...!sn(A)||(_.isValid||C.isValid)&&I!==r.isValid?{}:{name:A},...n.resolver||!A?{isValid:I}:{},errors:r.errors}),D.shouldFocus&&!J&&Js(i,ve,A?ce:d.mount),J},Ne=(A,D)=>{let I={...u.mount?l:s};return D&&(I=X_(D.dirtyFields?r.dirtyFields:r.touchedFields,I)),gt(A)?I:sn(A)?Se(I,A):A.map(J=>Se(I,J))},Ie=(A,D)=>({invalid:!!Se((D||r).errors,A),isDirty:!!Se((D||r).dirtyFields,A),error:Se((D||r).errors,A),isValidating:!!Se(r.validatingFields,A),isTouched:!!Se((D||r).touchedFields,A)}),Fe=A=>{const D=A?lu(A):void 0;D?.forEach(I=>Nt(r.errors,I)),D?D.forEach(I=>{E.state.next({name:I,errors:r.errors})}):E.state.next({errors:{}})},ft=(A,D,I)=>{const J=(Se(i,A,{_f:{}})._f||{}).ref,ce=Se(r.errors,A)||{},{ref:me,message:be,type:we,...je}=ce;lt(r.errors,A,{...je,...D,ref:J}),E.state.next({name:A,errors:r.errors,isValid:!1}),I&&I.shouldFocus&&J&&J.focus&&J.focus()},Qe=(A,D)=>{if(er(A)){y++;const{unsubscribe:I}=E.state.subscribe({next:ce=>"values"in ce&&A(ce.values||ne(void 0,D),ce)});let J=!1;return{unsubscribe:()=>{J||(J=!0,y--,I())}}}return ne(A,D,!0)},vn=A=>{var D;const I=!!(!((D=A.formState)===null||D===void 0)&&D.values);I&&y++;const{unsubscribe:J}=E.state.subscribe({next:me=>{if(N4(A.name,me.name,A.exact)&&M4(me,A.formState||_,zr,A.reRenderRoot)){const be={...l};A.callback({values:be,...r,...me,defaultValues:s})}}});if(!I)return J;let ce=!1;return()=>{ce||(ce=!0,y--,J())}},un=A=>(u.mount=!0,C={...C,...A.formState},vn({...A,formState:{...x,...A.formState}})),Kt=(A,D={})=>{for(const I of A?lu(A):d.mount)d.mount.delete(I),d.array.delete(I),D.keepValue||(Nt(i,I),Nt(l,I)),!D.keepError&&Nt(r.errors,I),!D.keepDirty&&Nt(r.dirtyFields,I),!D.keepTouched&&Nt(r.touchedFields,I),!D.keepIsValidating&&Nt(r.validatingFields,I),!n.shouldUnregister&&!D.keepDefaultValue&&Nt(s,I);E.state.next({values:Mt(l)}),E.state.next({...r,...D.keepDirty?{isDirty:te()}:{}}),!D.keepIsValid&&z()},ir=({disabled:A,name:D})=>{if(Rr(A)&&u.mount||A||d.disabled.has(D)){const ce=d.disabled.has(D)!==!!A;A?d.disabled.add(D):d.disabled.delete(D),ce&&u.mount&&!u.action&&z()}},Dt=(A,D={})=>{let I=Se(i,A);const J=Rr(D.disabled)||Rr(n.disabled),ce=!d.registerName.has(A)&&I&&I._f&&!I._f.mount;return lt(i,A,{...I||{},_f:{...I&&I._f?I._f:{ref:{name:A}},name:A,mount:!0,...D}}),d.mount.add(A),I&&!ce?ir({disabled:Rr(D.disabled)?D.disabled:n.disabled,name:A}):fe(A,!0,D.value),{...J?{disabled:D.disabled||n.disabled}:{},...n.progressive?{required:!!D.required,min:Hs(D.min),max:Hs(D.max),minLength:Hs(D.minLength),maxLength:Hs(D.maxLength),pattern:Hs(D.pattern)}:{},name:A,onChange:ee,onBlur:ee,ref:me=>{if(me){d.registerName.add(A),Dt(A,D),d.registerName.delete(A),I=Se(i,A);const be=gt(me.value)&&me.querySelectorAll&&me.querySelectorAll("input,select,textarea")[0]||me,we=R4(be),je=I._f.refs||[];if(we?je.find(et=>et===be):be===I._f.ref)return;lt(i,A,{_f:{...I._f,...we?{refs:[...je.filter(em),be,...Array.isArray(Se(s,A))?[{}]:[]],ref:{type:be.type,name:A}}:{ref:be}}}),fe(A,!1,void 0,be)}else I=Se(i,A,{}),I._f&&(I._f.mount=!1),(n.shouldUnregister||D.shouldUnregister)&&!(g4(d.array,A)&&u.action)&&d.unMount.add(A)}}},or=()=>n.shouldFocusError&&!n.shouldUseNativeValidation&&Js(i,ve,d.mount),Dr=A=>{Rr(A)&&(E.state.next({disabled:A}),Js(i,(D,I)=>{const J=Se(i,I);J&&(D.disabled=J._f.disabled||A,Array.isArray(J._f.refs)&&J._f.refs.forEach(ce=>{ce.disabled=J._f.disabled||A}))},0,!1))},Tt=(A,D)=>async I=>{let J;I&&(I.preventDefault&&I.preventDefault(),I.persist&&I.persist());let ce=Mt(l);if(E.state.next({isSubmitting:!0}),n.resolver){const{errors:me,values:be}=await ue();$(),r.errors=me,ce=Mt(be)}else await q({fields:i,eventType:jo.SUBMIT});if(d.disabled.size)for(const me of d.disabled)Nt(ce,me);if(Nt(r.errors,G_),nn(r.errors)){E.state.next({errors:{}});try{await A(ce,I)}catch(me){J=me}}else D&&await D({...r.errors},I),or(),setTimeout(or);if(E.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:nn(r.errors)&&!J,submitCount:r.submitCount+1,errors:r.errors}),J)throw J},Un=(A,D={})=>{Se(i,A)&&(gt(D.defaultValue)?K(A,Mt(Se(s,A))):(K(A,D.defaultValue),lt(s,A,Mt(D.defaultValue))),D.keepTouched||Nt(r.touchedFields,A),D.keepDirty||(Nt(r.dirtyFields,A),r.isDirty=D.defaultValue?te(A,Mt(Se(s,A))):te()),D.keepError||(Nt(r.errors,A),_.isValid&&z()),E.state.next({...r}))},wt=(A,D={})=>{const I=A?Mt(A):s,J=Mt(I),ce=nn(A),me=J,be=i;if(D.keepDefaultValues||(s=I),!D.keepValues){if(D.keepDirtyValues){const we=new Set([...d.mount,...Object.keys(bi(s,l,void 0,be))]);for(const je of Array.from(we)){const et=Se(r.dirtyFields,je),St=Se(l,je),Qt=Se(me,je);et&&!gt(St)?lt(me,je,St):!et&&!gt(Qt)&&K(je,Qt)}}else{if(td&>(A))for(const we of d.mount){const je=Se(i,we);if(je&&je._f){const et=Array.isArray(je._f.refs)?je._f.refs[0]:je._f.ref;if(Su(et)){const St=et.closest("form");if(St){St.reset();break}}}}if(D.keepFieldsRef)for(const we of d.mount)K(we,Se(me,we));else i={}}if(n.shouldUnregister){if(l=D.keepDefaultValues?Mt(s):{},D.keepFieldsRef)for(const we of d.mount)lt(l,we,Se(me,we))}else l=Mt(me);E.array.next({values:{...me}}),E.state.next({name:void 0,type:void 0,values:{...me}})}d={mount:D.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!_.isValid||!!D.keepIsValid||!!D.keepDirtyValues||!n.shouldUnregister&&!nn(me),u.watch=!!n.shouldUnregister,u.keepIsValid=!!D.keepIsValid,u.action=!1,D.keepErrors||(r.errors={}),E.state.next({submitCount:D.keepSubmitCount?r.submitCount:0,isDirty:ce?!1:D.keepDirty?r.isDirty:D.keepValues?te():!!(D.keepDefaultValues&&!jr(A,s)),isSubmitted:D.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:ce?{}:D.keepDirtyValues?D.keepDefaultValues&&l?bi(s,l,void 0,be):r.dirtyFields:D.keepDefaultValues&&A?bi(s,A,void 0,be):D.keepDirty?r.dirtyFields:{},touchedFields:D.keepTouched?r.touchedFields:{},errors:D.keepErrors?r.errors:{},isSubmitSuccessful:D.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},oa=(A,D)=>wt(er(A)?A(l):A,{...n.resetOptions,...D}),yn=(A,D={})=>{const I=Se(i,A),J=I&&I._f;if(J){const ce=J.refs?J.refs[0]:J.ref;ce.focus&&setTimeout(()=>{ce.focus(),D.shouldSelect&&er(ce.select)&&ce.select()})}},zr=A=>{const{name:D,type:I,values:J,...ce}=A;r={...r,...ce}},bn={control:{register:Dt,unregister:Kt,getFieldState:Ie,handleSubmit:Tt,setError:ft,_subscribe:vn,_runSchema:ue,_updateIsValidating:$,_focusError:or,_getWatch:ne,_getDirty:te,_setValid:z,_setFieldArray:F,_setDisabledField:ir,_setErrors:pe,_getFieldArray:k,_reset:wt,_resetDefaultValues:()=>er(n.defaultValues)&&n.defaultValues().then(A=>{oa(A,n.resetOptions),E.state.next({isLoading:!1})}),_removeUnmounted:ae,_disableForm:Dr,_subjects:E,_proxyFormState:_,get _fields(){return i},get _formValues(){return l},get _state(){return u},set _state(A){u=A},get _defaultValues(){return s},get _names(){return d},set _names(A){d=A},get _formState(){return r},get _options(){return n},set _options(A){n={...n,...A},v=Jc(n.mode),b=Jc(n.reValidateMode)}},subscribe:un,trigger:ye,register:Dt,handleSubmit:Tt,watch:Qe,setValue:K,setValues:se,getValues:Ne,reset:oa,resetField:Un,resetDefaultValues:(A,D={})=>{if(s=Mt(A),!D.keepDirty){const I=bi(s,l,void 0,i);r.dirtyFields=I,r.isDirty=!nn(I)}D.keepIsValid||z(),E.state.next({...r,defaultValues:s})},clearErrors:Fe,unregister:Kt,setError:ft,setFocus:yn,getFieldState:Ie};return{...bn,formControl:bn}}function rg(e={}){const n=he.useRef(void 0),r=he.useRef(void 0),i=he.useRef(e.formControl),[s,l]=he.useState(()=>({...Mt(rC),isLoading:er(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:er(e.defaultValues)?void 0:e.defaultValues}));if(!n.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)n.current={...e.formControl,formState:s},e.defaultValues&&!er(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...p}=L4(e);n.current={...p,formState:s}}const u=n.current.control;return u._options=e,w4(()=>{const d=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(p=>({...p,isReady:!0})),u._formState.isReady=!0,d},[u]),he.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),he.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),he.useEffect(()=>{e.errors&&(u._setErrors(e.errors),u._focusError())},[u,e.errors]),he.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),he.useEffect(()=>{if(u._proxyFormState.isDirty){const d=u._getDirty();d!==s.isDirty&&u._subjects.state.next({isDirty:d})}},[u,s.isDirty]),he.useEffect(()=>{var d;e.values&&!jr(e.values,r.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),!((d=u._options.resetOptions)===null||d===void 0)&&d.keepIsValid||u._setValid(),r.current=e.values,l(p=>({...p}))):u._resetDefaultValues()},[u,e.values]),he.useEffect(()=>{u._state.mount||(u._setValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),n.current.formState=he.useMemo(()=>x4(s,u),[u,s]),n.current}const jx=(e,n,r)=>{if(e&&"reportValidity"in e){const i=Se(r,n);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Hm=(e,n)=>{for(const r in n.fields){const i=n.fields[r];i&&i.ref&&"reportValidity"in i.ref?jx(i.ref,r,e):i&&i.refs&&i.refs.forEach(s=>jx(s,r,e))}},Tx=(e,n)=>{n.shouldUseNativeValidation&&Hm(e,n);const r={};for(const i in e){const s=Se(n.fields,i),l=Object.assign(e[i]||{},{ref:s&&s.ref});if($4(n.names||Object.keys(e),i)){const u=Object.assign({},Se(r,i));lt(u,"root",l),lt(r,i,u)}else lt(r,i,l)}return r},$4=(e,n)=>{const r=Ox(n).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>Ox(i).match(`^${r}\\.\\d+`))};function Ox(e){return e.replace(/[\[\]]/g,"")}var Ax;function de(e,n,r){function i(d,p){if(d._zod||Object.defineProperty(d,"_zod",{value:{def:p,constr:u,traits:new Set},enumerable:!1}),d._zod.traits.has(e))return;d._zod.traits.add(e),n(d,p);const m=u.prototype,y=Object.keys(m);for(let v=0;vr?.Parent&&d instanceof r.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class Io extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class aC extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}(Ax=globalThis).__zod_globalConfig??(Ax.__zod_globalConfig={});const ag=globalThis.__zod_globalConfig;function ji(e){return ag}function iC(e){const n=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,s])=>n.indexOf(+i)===-1).map(([i,s])=>s)}function Bm(e,n){return typeof n=="bigint"?n.toString():n}function ig(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function og(e){return e==null}function sg(e){const n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}const Mx=Symbol("evaluating");function ct(e,n,r){let i;Object.defineProperty(e,n,{get(){if(i!==Mx)return i===void 0&&(i=Mx,i=r()),i},set(s){Object.defineProperty(e,n,{value:s})},configurable:!0})}function Li(e,n,r){Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Xa(...e){const n={};for(const r of e){const i=Object.getOwnPropertyDescriptors(r);Object.assign(n,i)}return Object.defineProperties({},n)}function Nx(e){return JSON.stringify(e)}function I4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const oC="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Cu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const P4=ig(()=>{if(ag.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ul(e){if(Cu(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const r=n.prototype;return!(Cu(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function sC(e){return ul(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const F4=new Set(["string","number","symbol"]);function rd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ja(e,n,r){const i=new e._zod.constr(n??e._zod.def);return(!n||r?.parent)&&(i._zod.parent=e),i}function Le(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function V4(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}function U4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=r.shape[d])}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function H4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={...e._zod.def.shape};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&delete u[d]}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function B4(e,n){if(!ul(n))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const l=e._zod.def.shape;for(const u in n)if(Object.getOwnPropertyDescriptor(l,u)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=Xa(e._zod.def,{get shape(){const l={...e._zod.def.shape,...n};return Li(this,"shape",l),l}});return Ja(e,s)}function q4(e,n){if(!ul(n))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n};return Li(this,"shape",i),i}});return Ja(e,r)}function G4(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n._zod.def.shape};return Li(this,"shape",i),i},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return Ja(e,r)}function Z4(e,n,r){const s=n._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const u=Xa(n._zod.def,{get shape(){const d=n._zod.def.shape,p={...d};if(r)for(const m in r){if(!(m in d))throw new Error(`Unrecognized key: "${m}"`);r[m]&&(p[m]=e?new e({type:"optional",innerType:d[m]}):d[m])}else for(const m in d)p[m]=e?new e({type:"optional",innerType:d[m]}):d[m];return Li(this,"shape",p),p},checks:[]});return Ja(n,u)}function K4(e,n,r){const i=Xa(n._zod.def,{get shape(){const s=n._zod.def.shape,l={...s};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=new e({type:"nonoptional",innerType:s[u]}))}else for(const u in s)l[u]=new e({type:"nonoptional",innerType:s[u]});return Li(this,"shape",l),l}});return Ja(n,i)}function Do(e,n=0){if(e.aborted===!0)return!0;for(let r=n;r{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function Wc(e){return typeof e=="string"?e:e?.message}function Ti(e,n,r){const i=e.message?e.message:Wc(e.inst?._zod.def?.error?.(e))??Wc(n?.error?.(e))??Wc(r.customError?.(e))??Wc(r.localeError?.(e))??"Invalid input",{inst:s,continue:l,input:u,...d}=e;return d.path??(d.path=[]),d.message=i,n?.reportInput&&(d.input=u),d}function lg(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function dl(...e){const[n,r,i]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:i}:{...n}}const cC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,Bm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},cg=de("$ZodError",cC),ad=de("$ZodError",cC,{Parent:Error});function Q4(e,n=r=>r.message){const r={},i=[];for(const s of e.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(n(s))):i.push(n(s));return{formErrors:i,fieldErrors:r}}function X4(e,n=r=>r.message){const r={_errors:[]},i=(s,l=[])=>{for(const u of s.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(d=>i({issues:d},[...l,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...l,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...l,...u.path]);else{const d=[...l,...u.path];if(d.length===0)r._errors.push(n(u));else{let p=r,m=0;for(;m(n,r,i,s)=>{const l=i?{...i,async:!1}:{async:!1},u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise)throw new Io;if(u.issues.length){const d=new(s?.Err??e)(u.issues.map(p=>Ti(p,l,ji())));throw oC(d,s?.callee),d}return u.value},J4=id(ad),od=e=>async(n,r,i,s)=>{const l=i?{...i,async:!0}:{async:!0};let u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise&&(u=await u),u.issues.length){const d=new(s?.Err??e)(u.issues.map(p=>Ti(p,l,ji())));throw oC(d,s?.callee),d}return u.value},W4=od(ad),sd=e=>(n,r,i)=>{const s=i?{...i,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Io;return l.issues.length?{success:!1,error:new(e??cg)(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},e5=sd(ad),ld=e=>async(n,r,i)=>{const s=i?{...i,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},s);return l instanceof Promise&&(l=await l),l.issues.length?{success:!1,error:new e(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},t5=ld(ad),n5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return id(e)(n,r,s)},r5=e=>(n,r,i)=>id(e)(n,r,i),a5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return od(e)(n,r,s)},i5=e=>async(n,r,i)=>od(e)(n,r,i),o5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return sd(e)(n,r,s)},s5=e=>(n,r,i)=>sd(e)(n,r,i),l5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return ld(e)(n,r,s)},c5=e=>async(n,r,i)=>ld(e)(n,r,i),u5=/^[cC][0-9a-z]{6,}$/,d5=/^[0-9a-z]+$/,f5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,h5=/^[0-9a-vA-V]{20}$/,m5=/^[A-Za-z0-9]{27}$/,p5=/^[a-zA-Z0-9_-]{21}$/,g5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,v5=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Dx=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,y5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,b5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function x5(){return new RegExp(b5,"u")}const w5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,S5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,_5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,C5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,E5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,uC=/^[A-Za-z0-9_-]*$/,R5=/^https?$/,j5=/^\+[1-9]\d{6,14}$/,dC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",T5=new RegExp(`^${dC}$`);function fC(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function O5(e){return new RegExp(`^${fC(e)}$`)}function A5(e){const n=fC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const i=`${n}(?:${r.join("|")})`;return new RegExp(`^${dC}T(?:${i})$`)}const M5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},N5=/^(?:true|false)$/i,D5=/^[^A-Z]*$/,z5=/^[^a-z]*$/,Nr=de("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[])}),k5=de("$ZodCheckMaxLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!og(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum{const s=i.value;if(s.length<=n.maximum)return;const u=lg(s);i.issues.push({origin:u,code:"too_big",maximum:n.maximum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),L5=de("$ZodCheckMinLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!og(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>s&&(i._zod.bag.minimum=n.minimum)}),e._zod.check=i=>{const s=i.value;if(s.length>=n.minimum)return;const u=lg(s);i.issues.push({origin:u,code:"too_small",minimum:n.minimum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),$5=de("$ZodCheckLengthEquals",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!og(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag;s.minimum=n.length,s.maximum=n.length,s.length=n.length}),e._zod.check=i=>{const s=i.value,l=s.length;if(l===n.length)return;const u=lg(s),d=l>n.length;i.issues.push({origin:u,...d?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!n.abort})}}),cd=de("$ZodCheckStringFormat",(e,n)=>{var r,i;Nr.init(e,n),e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=n.format,n.pattern&&(l.patterns??(l.patterns=new Set),l.patterns.add(n.pattern))}),n.pattern?(r=e._zod).check??(r.check=s=>{n.pattern.lastIndex=0,!n.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:n.format,input:s.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(i=e._zod).check??(i.check=()=>{})}),I5=de("$ZodCheckRegex",(e,n)=>{cd.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),P5=de("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=D5),cd.init(e,n)}),F5=de("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=z5),cd.init(e,n)}),V5=de("$ZodCheckIncludes",(e,n)=>{Nr.init(e,n);const r=rd(n.includes),i=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=i,e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(i)}),e._zod.check=s=>{s.value.includes(n.includes,n.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:s.value,inst:e,continue:!n.abort})}}),U5=de("$ZodCheckStartsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`^${rd(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.startsWith(n.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:i.value,inst:e,continue:!n.abort})}}),H5=de("$ZodCheckEndsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`.*${rd(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.endsWith(n.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:i.value,inst:e,continue:!n.abort})}}),B5=de("$ZodCheckOverwrite",(e,n)=>{Nr.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value)}});class q5{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const i=n.split(` +`).filter(u=>u),s=Math.min(...i.map(u=>u.length-u.trimStart().length)),l=i.map(u=>u.slice(s)).map(u=>" ".repeat(this.indent*2)+u);for(const u of l)this.content.push(u)}compile(){const n=Function,r=this?.args,s=[...(this?.content??[""]).map(l=>` ${l}`)];return new n(...r,s.join(` +`))}}const G5={major:4,minor:4,patch:3},Pt=de("$ZodType",(e,n)=>{var r;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=G5;const i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(const s of i)for(const l of s._zod.onattach)l(e);if(i.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(u,d,p)=>{let m=Do(u),y;for(const v of d){if(v._zod.def.when){if(Y4(u)||!v._zod.def.when(u))continue}else if(m)continue;const b=u.issues.length,x=v._zod.check(u);if(x instanceof Promise&&p?.async===!1)throw new Io;if(y||x instanceof Promise)y=(y??Promise.resolve()).then(async()=>{await x,u.issues.length!==b&&(m||(m=Do(u,b)))});else{if(u.issues.length===b)continue;m||(m=Do(u,b))}}return y?y.then(()=>u):u},l=(u,d,p)=>{if(Do(u))return u.aborted=!0,u;const m=s(d,i,p);if(m instanceof Promise){if(p.async===!1)throw new Io;return m.then(y=>e._zod.parse(y,p))}return e._zod.parse(m,p)};e._zod.run=(u,d)=>{if(d.skipChecks)return e._zod.parse(u,d);if(d.direction==="backward"){const m=e._zod.parse({value:u.value,issues:[]},{...d,skipChecks:!0});return m instanceof Promise?m.then(y=>l(y,u,d)):l(m,u,d)}const p=e._zod.parse(u,d);if(p instanceof Promise){if(d.async===!1)throw new Io;return p.then(m=>s(m,i,d))}return s(p,i,d)}}ct(e,"~standard",()=>({validate:s=>{try{const l=e5(e,s);return l.success?{value:l.data}:{issues:l.error?.issues}}catch{return t5(e,s).then(u=>u.success?{value:u.data}:{issues:u.error?.issues})}},vendor:"zod",version:1}))}),ug=de("$ZodString",(e,n)=>{Pt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??M5(e._zod.bag),e._zod.parse=(r,i)=>{if(n.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),xt=de("$ZodStringFormat",(e,n)=>{cd.init(e,n),ug.init(e,n)}),Z5=de("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=v5),xt.init(e,n)}),K5=de("$ZodUUID",(e,n)=>{if(n.version){const i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(i===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=Dx(i))}else n.pattern??(n.pattern=Dx());xt.init(e,n)}),Y5=de("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=y5),xt.init(e,n)}),Q5=de("$ZodURL",(e,n)=>{xt.init(e,n),e._zod.check=r=>{try{const i=r.value.trim();if(!n.normalize&&n.protocol?.source===R5.source&&!/^https?:\/\//i.test(i)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!n.abort});return}const s=new URL(i);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(s.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:r.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:r.value,inst:e,continue:!n.abort})),n.normalize?r.value=s.href:r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!n.abort})}}}),X5=de("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=x5()),xt.init(e,n)}),J5=de("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=p5),xt.init(e,n)}),W5=de("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=u5),xt.init(e,n)}),e6=de("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=d5),xt.init(e,n)}),t6=de("$ZodULID",(e,n)=>{n.pattern??(n.pattern=f5),xt.init(e,n)}),n6=de("$ZodXID",(e,n)=>{n.pattern??(n.pattern=h5),xt.init(e,n)}),r6=de("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=m5),xt.init(e,n)}),a6=de("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=A5(n)),xt.init(e,n)}),i6=de("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=T5),xt.init(e,n)}),o6=de("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=O5(n)),xt.init(e,n)}),s6=de("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=g5),xt.init(e,n)}),l6=de("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=w5),xt.init(e,n),e._zod.bag.format="ipv4"}),c6=de("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=S5),xt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!n.abort})}}}),u6=de("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=_5),xt.init(e,n)}),d6=de("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=C5),xt.init(e,n),e._zod.check=r=>{const i=r.value.split("/");try{if(i.length!==2)throw new Error;const[s,l]=i;if(!l)throw new Error;const u=Number(l);if(`${u}`!==l)throw new Error;if(u<0||u>128)throw new Error;new URL(`http://[${s}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!n.abort})}}});function hC(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const f6=de("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=E5),xt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{hC(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!n.abort})}});function h6(e){if(!uC.test(e))return!1;const n=e.replace(/[-_]/g,i=>i==="-"?"+":"/"),r=n.padEnd(Math.ceil(n.length/4)*4,"=");return hC(r)}const m6=de("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=uC),xt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{h6(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!n.abort})}}),p6=de("$ZodE164",(e,n)=>{n.pattern??(n.pattern=j5),xt.init(e,n)});function g6(e,n=null){try{const r=e.split(".");if(r.length!==3)return!1;const[i]=r;if(!i)return!1;const s=JSON.parse(atob(i));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||n&&(!("alg"in s)||s.alg!==n))}catch{return!1}}const v6=de("$ZodJWT",(e,n)=>{xt.init(e,n),e._zod.check=r=>{g6(r.value,n.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!n.abort})}}),y6=de("$ZodBoolean",(e,n)=>{Pt.init(e,n),e._zod.pattern=N5,e._zod.parse=(r,i)=>{if(n.coerce)try{r.value=!!r.value}catch{}const s=r.value;return typeof s=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),r}}),b6=de("$ZodUnknown",(e,n)=>{Pt.init(e,n),e._zod.parse=r=>r}),x6=de("$ZodNever",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function zx(e,n,r){e.issues.length&&n.issues.push(...lC(r,e.issues)),n.value[r]=e.value}const w6=de("$ZodArray",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),r;r.value=Array(s.length);const l=[];for(let u=0;uzx(m,r,u))):zx(p,r,u)}return l.length?Promise.all(l).then(()=>r):r}});function Eu(e,n,r,i,s,l){const u=r in i;if(e.issues.length){if(s&&l&&!u)return;n.issues.push(...lC(r,e.issues))}if(!u&&!s){e.issues.length||n.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?u&&(n.value[r]=void 0):n.value[r]=e.value}function mC(e){const n=Object.keys(e.shape);for(const i of n)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const r=V4(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(r)}}function pC(e,n,r,i,s,l){const u=[],d=s.keySet,p=s.catchall._zod,m=p.def.type,y=p.optin==="optional",v=p.optout==="optional";for(const b in n){if(b==="__proto__"||d.has(b))continue;if(m==="never"){u.push(b);continue}const x=p.run({value:n[b],issues:[]},i);x instanceof Promise?e.push(x.then(_=>Eu(_,r,b,n,y,v))):Eu(x,r,b,n,y,v)}return u.length&&r.issues.push({code:"unrecognized_keys",keys:u,input:n,inst:l}),e.length?Promise.all(e).then(()=>r):r}const S6=de("$ZodObject",(e,n)=>{if(Pt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const d=n.shape;Object.defineProperty(n,"shape",{get:()=>{const p={...d};return Object.defineProperty(n,"shape",{value:p}),p}})}const i=ig(()=>mC(n));ct(e._zod,"propValues",()=>{const d=n.shape,p={};for(const m in d){const y=d[m]._zod;if(y.values){p[m]??(p[m]=new Set);for(const v of y.values)p[m].add(v)}}return p});const s=Cu,l=n.catchall;let u;e._zod.parse=(d,p)=>{u??(u=i.value);const m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),d;d.value={};const y=[],v=u.shape;for(const b of u.keys){const x=v[b],_=x._zod.optin==="optional",C=x._zod.optout==="optional",E=x._zod.run({value:m[b],issues:[]},p);E instanceof Promise?y.push(E.then(R=>Eu(R,d,b,m,_,C))):Eu(E,d,b,m,_,C)}return l?pC(y,m,d,p,i.value,e):y.length?Promise.all(y).then(()=>d):d}}),_6=de("$ZodObjectJIT",(e,n)=>{S6.init(e,n);const r=e._zod.parse,i=ig(()=>mC(n)),s=b=>{const x=new q5(["shape","payload","ctx"]),_=i.value,C=T=>{const z=Nx(T);return`shape[${z}]._zod.run({ value: input[${z}], issues: [] }, ctx)`};x.write("const input = payload.value;");const E=Object.create(null);let R=0;for(const T of _.keys)E[T]=`key_${R++}`;x.write("const newResult = {};");for(const T of _.keys){const z=E[T],$=Nx(T),B=b[T],F=B?._zod?.optin==="optional",V=B?._zod?.optout==="optional";x.write(`const ${z} = ${C(T)};`),F&&V?x.write(` + if (${z}.issues.length) { + if (${$} in input) { + payload.issues = payload.issues.concat(${z}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${$}, ...iss.path] : [${$}] + }))); + } + } + + if (${z}.value === undefined) { + if (${$} in input) { + newResult[${$}] = undefined; + } + } else { + newResult[${$}] = ${z}.value; + } + + `):F?x.write(` + if (${z}.issues.length) { + payload.issues = payload.issues.concat(${z}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${$}, ...iss.path] : [${$}] + }))); + } + + if (${z}.value === undefined) { + if (${$} in input) { + newResult[${$}] = undefined; + } + } else { + newResult[${$}] = ${z}.value; + } + + `):x.write(` + const ${z}_present = ${$} in input; + if (${z}.issues.length) { + payload.issues = payload.issues.concat(${z}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${$}, ...iss.path] : [${$}] + }))); + } + if (!${z}_present && !${z}.issues.length) { + payload.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: undefined, + path: [${$}] + }); + } + + if (${z}_present) { + if (${z}.value === undefined) { + newResult[${$}] = undefined; + } else { + newResult[${$}] = ${z}.value; + } + } + + `)}x.write("payload.value = newResult;"),x.write("return payload;");const O=x.compile();return(T,z)=>O(b,T,z)};let l;const u=Cu,d=!ag.jitless,m=d&&P4.value,y=n.catchall;let v;e._zod.parse=(b,x)=>{v??(v=i.value);const _=b.value;return u(_)?d&&m&&x?.async===!1&&x.jitless!==!0?(l||(l=s(n.shape)),b=l(b,x),y?pC([],_,b,x,v,e):b):r(b,x):(b.issues.push({expected:"object",code:"invalid_type",input:_,inst:e}),b)}});function kx(e,n,r,i){for(const l of e)if(l.issues.length===0)return n.value=l.value,n;const s=e.filter(l=>!Do(l));return s.length===1?(n.value=s[0].value,s[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(l=>l.issues.map(u=>Ti(u,i,ji())))}),n)}const C6=de("$ZodUnion",(e,n)=>{Pt.init(e,n),ct(e._zod,"optin",()=>n.options.some(i=>i._zod.optin==="optional")?"optional":void 0),ct(e._zod,"optout",()=>n.options.some(i=>i._zod.optout==="optional")?"optional":void 0),ct(e._zod,"values",()=>{if(n.options.every(i=>i._zod.values))return new Set(n.options.flatMap(i=>Array.from(i._zod.values)))}),ct(e._zod,"pattern",()=>{if(n.options.every(i=>i._zod.pattern)){const i=n.options.map(s=>s._zod.pattern);return new RegExp(`^(${i.map(s=>sg(s.source)).join("|")})$`)}});const r=n.options.length===1?n.options[0]._zod.run:null;e._zod.parse=(i,s)=>{if(r)return r(i,s);let l=!1;const u=[];for(const d of n.options){const p=d._zod.run({value:i.value,issues:[]},s);if(p instanceof Promise)u.push(p),l=!0;else{if(p.issues.length===0)return p;u.push(p)}}return l?Promise.all(u).then(d=>kx(d,i,e,s)):kx(u,i,e,s)}}),E6=de("$ZodIntersection",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>{const s=r.value,l=n.left._zod.run({value:s,issues:[]},i),u=n.right._zod.run({value:s,issues:[]},i);return l instanceof Promise||u instanceof Promise?Promise.all([l,u]).then(([p,m])=>Lx(r,p,m)):Lx(r,l,u)}});function qm(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(ul(e)&&ul(n)){const r=Object.keys(n),i=Object.keys(e).filter(l=>r.indexOf(l)!==-1),s={...e,...n};for(const l of i){const u=qm(e[l],n[l]);if(!u.valid)return{valid:!1,mergeErrorPath:[l,...u.mergeErrorPath]};s[l]=u.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let i=0;id.l&&d.r).map(([d])=>d);if(l.length&&s&&e.issues.push({...s,keys:l}),Do(e))return e;const u=qm(n.value,r.value);if(!u.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`);return e.value=u.data,e}const R6=de("$ZodEnum",(e,n)=>{Pt.init(e,n);const r=iC(n.entries),i=new Set(r);e._zod.values=i,e._zod.pattern=new RegExp(`^(${r.filter(s=>F4.has(typeof s)).map(s=>typeof s=="string"?rd(s):s.toString()).join("|")})$`),e._zod.parse=(s,l)=>{const u=s.value;return i.has(u)||s.issues.push({code:"invalid_value",values:r,input:u,inst:e}),s}}),j6=de("$ZodTransform",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new aC(e.constructor.name);const s=n.transform(r.value,r);if(i.async)return(s instanceof Promise?s:Promise.resolve(s)).then(u=>(r.value=u,r.fallback=!0,r));if(s instanceof Promise)throw new Io;return r.value=s,r.fallback=!0,r}});function $x(e,n){return n===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const gC=de("$ZodOptional",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",ct(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),ct(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${sg(r.source)})?$`):void 0}),e._zod.parse=(r,i)=>{if(n.innerType._zod.optin==="optional"){const s=r.value,l=n.innerType._zod.run(r,i);return l instanceof Promise?l.then(u=>$x(u,s)):$x(l,s)}return r.value===void 0?r:n.innerType._zod.run(r,i)}}),T6=de("$ZodExactOptional",(e,n)=>{gC.init(e,n),ct(e._zod,"values",()=>n.innerType._zod.values),ct(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(r,i)=>n.innerType._zod.run(r,i)}),O6=de("$ZodNullable",(e,n)=>{Pt.init(e,n),ct(e._zod,"optin",()=>n.innerType._zod.optin),ct(e._zod,"optout",()=>n.innerType._zod.optout),ct(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${sg(r.source)}|null)$`):void 0}),ct(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(r,i)=>r.value===null?r:n.innerType._zod.run(r,i)}),A6=de("$ZodDefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);if(r.value===void 0)return r.value=n.defaultValue,r;const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>Ix(l,n)):Ix(s,n)}});function Ix(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const M6=de("$ZodPrefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>(i.direction==="backward"||r.value===void 0&&(r.value=n.defaultValue),n.innerType._zod.run(r,i))}),N6=de("$ZodNonOptional",(e,n)=>{Pt.init(e,n),ct(e._zod,"values",()=>{const r=n.innerType._zod.values;return r?new Set([...r].filter(i=>i!==void 0)):void 0}),e._zod.parse=(r,i)=>{const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>Px(l,e)):Px(s,e)}});function Px(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const D6=de("$ZodCatch",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"optout",()=>n.innerType._zod.optout),ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>(r.value=l.value,l.issues.length&&(r.value=n.catchValue({...r,error:{issues:l.issues.map(u=>Ti(u,i,ji()))},input:r.value}),r.issues=[],r.fallback=!0),r)):(r.value=s.value,s.issues.length&&(r.value=n.catchValue({...r,error:{issues:s.issues.map(l=>Ti(l,i,ji()))},input:r.value}),r.issues=[],r.fallback=!0),r)}}),z6=de("$ZodPipe",(e,n)=>{Pt.init(e,n),ct(e._zod,"values",()=>n.in._zod.values),ct(e._zod,"optin",()=>n.in._zod.optin),ct(e._zod,"optout",()=>n.out._zod.optout),ct(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,i)=>{if(i.direction==="backward"){const l=n.out._zod.run(r,i);return l instanceof Promise?l.then(u=>eu(u,n.in,i)):eu(l,n.in,i)}const s=n.in._zod.run(r,i);return s instanceof Promise?s.then(l=>eu(l,n.out,i)):eu(s,n.out,i)}});function eu(e,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}const k6=de("$ZodReadonly",(e,n)=>{Pt.init(e,n),ct(e._zod,"propValues",()=>n.innerType._zod.propValues),ct(e._zod,"values",()=>n.innerType._zod.values),ct(e._zod,"optin",()=>n.innerType?._zod?.optin),ct(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(Fx):Fx(s)}});function Fx(e){return e.value=Object.freeze(e.value),e}const L6=de("$ZodCustom",(e,n)=>{Nr.init(e,n),Pt.init(e,n),e._zod.parse=(r,i)=>r,e._zod.check=r=>{const i=r.value,s=n.fn(i);if(s instanceof Promise)return s.then(l=>Vx(l,r,i,e));Vx(s,r,i,e)}});function Vx(e,n,r,i){if(!e){const s={code:"custom",input:r,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(s.params=i._zod.def.params),n.issues.push(dl(s))}}var Ux;class $6{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...r){const i=r[0];return this._map.set(n,i),i&&typeof i=="object"&&"id"in i&&this._idmap.set(i.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const r=this._map.get(n);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(n),this}get(n){const r=n._zod.parent;if(r){const i={...this.get(r)??{}};delete i.id;const s={...i,...this._map.get(n)};return Object.keys(s).length?s:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function I6(){return new $6}(Ux=globalThis).__zod_globalRegistry??(Ux.__zod_globalRegistry=I6());const Ks=globalThis.__zod_globalRegistry;function P6(e,n){return new e({type:"string",...Le(n)})}function F6(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Le(n)})}function Hx(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Le(n)})}function V6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Le(n)})}function U6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Le(n)})}function H6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Le(n)})}function B6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Le(n)})}function q6(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Le(n)})}function G6(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Le(n)})}function Z6(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Le(n)})}function K6(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Le(n)})}function Y6(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Le(n)})}function Q6(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Le(n)})}function X6(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Le(n)})}function J6(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Le(n)})}function W6(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Le(n)})}function eL(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Le(n)})}function tL(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Le(n)})}function nL(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Le(n)})}function rL(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Le(n)})}function aL(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Le(n)})}function iL(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Le(n)})}function oL(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Le(n)})}function sL(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Le(n)})}function lL(e,n){return new e({type:"string",format:"date",check:"string_format",...Le(n)})}function cL(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Le(n)})}function uL(e,n){return new e({type:"string",format:"duration",check:"string_format",...Le(n)})}function dL(e,n){return new e({type:"boolean",...Le(n)})}function fL(e){return new e({type:"unknown"})}function hL(e,n){return new e({type:"never",...Le(n)})}function vC(e,n){return new k5({check:"max_length",...Le(n),maximum:e})}function Ru(e,n){return new L5({check:"min_length",...Le(n),minimum:e})}function yC(e,n){return new $5({check:"length_equals",...Le(n),length:e})}function mL(e,n){return new I5({check:"string_format",format:"regex",...Le(n),pattern:e})}function pL(e){return new P5({check:"string_format",format:"lowercase",...Le(e)})}function gL(e){return new F5({check:"string_format",format:"uppercase",...Le(e)})}function vL(e,n){return new V5({check:"string_format",format:"includes",...Le(n),includes:e})}function yL(e,n){return new U5({check:"string_format",format:"starts_with",...Le(n),prefix:e})}function bL(e,n){return new H5({check:"string_format",format:"ends_with",...Le(n),suffix:e})}function Ko(e){return new B5({check:"overwrite",tx:e})}function xL(e){return Ko(n=>n.normalize(e))}function wL(){return Ko(e=>e.trim())}function SL(){return Ko(e=>e.toLowerCase())}function _L(){return Ko(e=>e.toUpperCase())}function CL(){return Ko(e=>I4(e))}function EL(e,n,r){return new e({type:"array",element:n,...Le(r)})}function RL(e,n,r){return new e({type:"custom",check:"custom",fn:n,...Le(r)})}function jL(e,n){const r=TL(i=>(i.addIssue=s=>{if(typeof s=="string")i.issues.push(dl(s,i.value,r._zod.def));else{const l=s;l.fatal&&(l.continue=!1),l.code??(l.code="custom"),l.input??(l.input=i.value),l.inst??(l.inst=r),l.continue??(l.continue=!r._zod.def.abort),i.issues.push(dl(l))}},e(i.value,i)),n);return r}function TL(e,n){const r=new Nr({check:"custom",...Le(n)});return r._zod.check=e,r}function bC(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Ks,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function cn(e,n,r={path:[],schemaPath:[]}){var i;const s=e._zod.def,l=n.seen.get(e);if(l)return l.count++,r.schemaPath.includes(e)&&(l.cycle=r.path),l.schema;const u={schema:{},count:1,cycle:void 0,path:r.path};n.seen.set(e,u);const d=e._zod.toJSONSchema?.();if(d)u.schema=d;else{const y={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,u.schema,y);else{const b=u.schema,x=n.processors[s.type];if(!x)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);x(e,n,b,y)}const v=e._zod.parent;v&&(u.ref||(u.ref=v),cn(v,n,y),n.seen.get(v).isParent=!0)}const p=n.metadataRegistry.get(e);return p&&Object.assign(u.schema,p),n.io==="input"&&pn(e)&&(delete u.schema.examples,delete u.schema.default),n.io==="input"&&"_prefault"in u.schema&&((i=u.schema).default??(i.default=u.schema._prefault)),delete u.schema._prefault,n.seen.get(e).schema}function xC(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=new Map;for(const u of e.seen.entries()){const d=e.metadataRegistry.get(u[0])?.id;if(d){const p=i.get(d);if(p&&p!==u[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);i.set(d,u[0])}}const s=u=>{const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const v=e.external.registry.get(u[0])?.id,b=e.external.uri??(_=>_);if(v)return{ref:b(v)};const x=u[1].defId??u[1].schema.id??`schema${e.counter++}`;return u[1].defId=x,{defId:x,ref:`${b("__shared")}#/${d}/${x}`}}if(u[1]===r)return{ref:"#"};const m=`#/${d}/`,y=u[1].schema.id??`__schema${e.counter++}`;return{defId:y,ref:m+y}},l=u=>{if(u[1].schema.$ref)return;const d=u[1],{ref:p,defId:m}=s(u);d.def={...d.schema},m&&(d.defId=m);const y=d.schema;for(const v in y)delete y[v];y.$ref=p};if(e.cycles==="throw")for(const u of e.seen.entries()){const d=u[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ + +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const u of e.seen.entries()){const d=u[1];if(n===u[0]){l(u);continue}if(e.external){const m=e.external.registry.get(u[0])?.id;if(n!==u[0]&&m){l(u);continue}}if(e.metadataRegistry.get(u[0])?.id){l(u);continue}if(d.cycle){l(u);continue}if(d.count>1&&e.reused==="ref"){l(u);continue}}}function wC(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=d=>{const p=e.seen.get(d);if(p.ref===null)return;const m=p.def??p.schema,y={...m},v=p.ref;if(p.ref=null,v){i(v);const x=e.seen.get(v),_=x.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push(_)):Object.assign(m,_),Object.assign(m,y),d._zod.parent===v)for(const E in m)E==="$ref"||E==="allOf"||E in y||delete m[E];if(_.$ref&&x.def)for(const E in m)E==="$ref"||E==="allOf"||E in x.def&&JSON.stringify(m[E])===JSON.stringify(x.def[E])&&delete m[E]}const b=d._zod.parent;if(b&&b!==v){i(b);const x=e.seen.get(b);if(x?.schema.$ref&&(m.$ref=x.schema.$ref,x.def))for(const _ in m)_==="$ref"||_==="allOf"||_ in x.def&&JSON.stringify(m[_])===JSON.stringify(x.def[_])&&delete m[_]}e.override({zodSchema:d,jsonSchema:m,path:p.path??[]})};for(const d of[...e.seen.entries()].reverse())i(d[0]);const s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const d=e.external.registry.get(n)?.id;if(!d)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(d)}Object.assign(s,r.def??r.schema);const l=e.metadataRegistry.get(n)?.id;l!==void 0&&s.id===l&&delete s.id;const u=e.external?.defs??{};for(const d of e.seen.entries()){const p=d[1];p.def&&p.defId&&(p.def.id===p.defId&&delete p.def.id,u[p.defId]=p.def)}e.external||Object.keys(u).length>0&&(e.target==="draft-2020-12"?s.$defs=u:s.definitions=u);try{const d=JSON.parse(JSON.stringify(s));return Object.defineProperty(d,"~standard",{value:{...n["~standard"],jsonSchema:{input:ju(n,"input",e.processors),output:ju(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function pn(e,n){const r=n??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const i=e._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return pn(i.element,r);if(i.type==="set")return pn(i.valueType,r);if(i.type==="lazy")return pn(i.getter(),r);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return pn(i.innerType,r);if(i.type==="intersection")return pn(i.left,r)||pn(i.right,r);if(i.type==="record"||i.type==="map")return pn(i.keyType,r)||pn(i.valueType,r);if(i.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:pn(i.in,r)||pn(i.out,r);if(i.type==="object"){for(const s in i.shape)if(pn(i.shape[s],r))return!0;return!1}if(i.type==="union"){for(const s of i.options)if(pn(s,r))return!0;return!1}if(i.type==="tuple"){for(const s of i.items)if(pn(s,r))return!0;return!!(i.rest&&pn(i.rest,r))}return!1}const OL=(e,n={})=>r=>{const i=bC({...r,processors:n});return cn(e,i),xC(i,e),wC(i,e)},ju=(e,n,r={})=>i=>{const{libraryOptions:s,target:l}=i??{},u=bC({...s??{},target:l,io:n,processors:r});return cn(e,u),xC(u,e),wC(u,e)},AL={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},ML=(e,n,r,i)=>{const s=r;s.type="string";const{minimum:l,maximum:u,format:d,patterns:p,contentEncoding:m}=e._zod.bag;if(typeof l=="number"&&(s.minLength=l),typeof u=="number"&&(s.maxLength=u),d&&(s.format=AL[d]??d,s.format===""&&delete s.format,d==="time"&&delete s.format),m&&(s.contentEncoding=m),p&&p.size>0){const y=[...p];y.length===1?s.pattern=y[0].source:y.length>1&&(s.allOf=[...y.map(v=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:v.source}))])}},NL=(e,n,r,i)=>{r.type="boolean"},DL=(e,n,r,i)=>{r.not={}},zL=(e,n,r,i)=>{},kL=(e,n,r,i)=>{const s=e._zod.def,l=iC(s.entries);l.every(u=>typeof u=="number")&&(r.type="number"),l.every(u=>typeof u=="string")&&(r.type="string"),r.enum=l},LL=(e,n,r,i)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},$L=(e,n,r,i)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},IL=(e,n,r,i)=>{const s=r,l=e._zod.def,{minimum:u,maximum:d}=e._zod.bag;typeof u=="number"&&(s.minItems=u),typeof d=="number"&&(s.maxItems=d),s.type="array",s.items=cn(l.element,n,{...i,path:[...i.path,"items"]})},PL=(e,n,r,i)=>{const s=r,l=e._zod.def;s.type="object",s.properties={};const u=l.shape;for(const m in u)s.properties[m]=cn(u[m],n,{...i,path:[...i.path,"properties",m]});const d=new Set(Object.keys(u)),p=new Set([...d].filter(m=>{const y=l.shape[m]._zod;return n.io==="input"?y.optin===void 0:y.optout===void 0}));p.size>0&&(s.required=Array.from(p)),l.catchall?._zod.def.type==="never"?s.additionalProperties=!1:l.catchall?l.catchall&&(s.additionalProperties=cn(l.catchall,n,{...i,path:[...i.path,"additionalProperties"]})):n.io==="output"&&(s.additionalProperties=!1)},FL=(e,n,r,i)=>{const s=e._zod.def,l=s.inclusive===!1,u=s.options.map((d,p)=>cn(d,n,{...i,path:[...i.path,l?"oneOf":"anyOf",p]}));l?r.oneOf=u:r.anyOf=u},VL=(e,n,r,i)=>{const s=e._zod.def,l=cn(s.left,n,{...i,path:[...i.path,"allOf",0]}),u=cn(s.right,n,{...i,path:[...i.path,"allOf",1]}),d=m=>"allOf"in m&&Object.keys(m).length===1,p=[...d(l)?l.allOf:[l],...d(u)?u.allOf:[u]];r.allOf=p},UL=(e,n,r,i)=>{const s=e._zod.def,l=cn(s.innerType,n,i),u=n.seen.get(e);n.target==="openapi-3.0"?(u.ref=s.innerType,r.nullable=!0):r.anyOf=[l,{type:"null"}]},HL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType},BL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,r.default=JSON.parse(JSON.stringify(s.defaultValue))},qL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},GL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType;let u;try{u=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=u},ZL=(e,n,r,i)=>{const s=e._zod.def,l=s.in._zod.traits.has("$ZodTransform"),u=n.io==="input"?l?s.out:s.in:s.out;cn(u,n,i);const d=n.seen.get(e);d.ref=u},KL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,r.readOnly=!0},SC=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType};function Gm(){return Gm=Object.assign?Object.assign.bind():function(e){for(var n=1;n0){var p=s.errors[0][0];r[d]={message:p.message,type:p.code}}else r[d]={message:u,type:l};if(s.code==="invalid_union"&&s.errors.forEach(function(v){return v.forEach(function(b){return e.push(Gm({},b,{path:[].concat(s.path,b.path)}))})}),n){var m=r[d].types,y=m&&m[s.code];r[d]=ng(d,n,r,l,y?[].concat(y,s.message):s.message)}e.shift()};e.length;)i();return r}function dg(e,n,r){if(r===void 0&&(r={}),(function(i){return"_def"in i&&typeof i._def=="object"&&"typeName"in i._def})(e))return function(i,s,l){try{return Promise.resolve(Bx(function(){return Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](i,n)).then(function(u){return l.shouldUseNativeValidation&&Hm({},l),{errors:{},values:r.raw?Object.assign({},i):u}})},function(u){if((function(d){return Array.isArray(d?.issues)})(u))return{values:{},errors:Tx(YL(u.errors,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};if((function(i){return"_zod"in i&&typeof i._zod=="object"})(e))return function(i,s,l){try{return Promise.resolve(Bx(function(){return Promise.resolve((r.mode==="sync"?J4:W4)(e,i,n)).then(function(u){return l.shouldUseNativeValidation&&Hm({},l),{errors:{},values:r.raw?Object.assign({},i):u}})},function(u){if((function(d){return d instanceof cg})(u))return{values:{},errors:Tx(QL(u.issues,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};throw new Error("Invalid input: not a Zod schema")}const XL=de("ZodISODateTime",(e,n)=>{a6.init(e,n),Ct.init(e,n)});function JL(e){return sL(XL,e)}const WL=de("ZodISODate",(e,n)=>{i6.init(e,n),Ct.init(e,n)});function e8(e){return lL(WL,e)}const t8=de("ZodISOTime",(e,n)=>{o6.init(e,n),Ct.init(e,n)});function n8(e){return cL(t8,e)}const r8=de("ZodISODuration",(e,n)=>{s6.init(e,n),Ct.init(e,n)});function a8(e){return uL(r8,e)}const i8=(e,n)=>{cg.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>X4(e,r)},flatten:{value:r=>Q4(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Bm,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Bm,2)}},isEmpty:{get(){return e.issues.length===0}}})},ar=de("ZodError",i8,{Parent:Error}),o8=id(ar),s8=od(ar),l8=sd(ar),c8=ld(ar),u8=n5(ar),d8=r5(ar),f8=a5(ar),h8=i5(ar),m8=o5(ar),p8=s5(ar),g8=l5(ar),v8=c5(ar),qx=new WeakMap;function ud(e,n,r){const i=Object.getPrototypeOf(e);let s=qx.get(i);if(s||(s=new Set,qx.set(i,s)),!s.has(n)){s.add(n);for(const l in r){const u=r[l];Object.defineProperty(i,l,{configurable:!0,enumerable:!1,get(){const d=u.bind(this);return Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d}),d},set(d){Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d})}})}}}const Ft=de("ZodType",(e,n)=>(Pt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ju(e,"input"),output:ju(e,"output")}}),e.toJSONSchema=OL(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.parse=(r,i)=>o8(e,r,i,{callee:e.parse}),e.safeParse=(r,i)=>l8(e,r,i),e.parseAsync=async(r,i)=>s8(e,r,i,{callee:e.parseAsync}),e.safeParseAsync=async(r,i)=>c8(e,r,i),e.spa=e.safeParseAsync,e.encode=(r,i)=>u8(e,r,i),e.decode=(r,i)=>d8(e,r,i),e.encodeAsync=async(r,i)=>f8(e,r,i),e.decodeAsync=async(r,i)=>h8(e,r,i),e.safeEncode=(r,i)=>m8(e,r,i),e.safeDecode=(r,i)=>p8(e,r,i),e.safeEncodeAsync=async(r,i)=>g8(e,r,i),e.safeDecodeAsync=async(r,i)=>v8(e,r,i),ud(e,"ZodType",{check(...r){const i=this.def;return this.clone(Xa(i,{checks:[...i.checks??[],...r.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,i){return Ja(this,r,i)},brand(){return this},register(r,i){return r.add(this,i),this},refine(r,i){return this.check(u$(r,i))},superRefine(r,i){return this.check(d$(r,i))},overwrite(r){return this.check(Ko(r))},optional(){return Yx(this)},exactOptional(){return X8(this)},nullable(){return Qx(this)},nullish(){return Yx(Qx(this))},nonoptional(r){return r$(this,r)},array(){return V8(this)},or(r){return B8([this,r])},and(r){return G8(this,r)},transform(r){return Xx(this,Y8(r))},default(r){return e$(this,r)},prefault(r){return n$(this,r)},catch(r){return i$(this,r)},pipe(r){return Xx(this,r)},readonly(){return l$(this)},describe(r){const i=this.clone();return Ks.add(i,{description:r}),i},meta(...r){if(r.length===0)return Ks.get(this);const i=this.clone();return Ks.add(i,r[0]),i},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return Ks.get(e)?.description},configurable:!0}),e)),_C=de("_ZodString",(e,n)=>{ug.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(i,s,l)=>ML(e,i,s);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,ud(e,"_ZodString",{regex(...i){return this.check(mL(...i))},includes(...i){return this.check(vL(...i))},startsWith(...i){return this.check(yL(...i))},endsWith(...i){return this.check(bL(...i))},min(...i){return this.check(Ru(...i))},max(...i){return this.check(vC(...i))},length(...i){return this.check(yC(...i))},nonempty(...i){return this.check(Ru(1,...i))},lowercase(i){return this.check(pL(i))},uppercase(i){return this.check(gL(i))},trim(){return this.check(wL())},normalize(...i){return this.check(xL(...i))},toLowerCase(){return this.check(SL())},toUpperCase(){return this.check(_L())},slugify(){return this.check(CL())}})}),y8=de("ZodString",(e,n)=>{ug.init(e,n),_C.init(e,n),e.email=r=>e.check(F6(b8,r)),e.url=r=>e.check(q6(x8,r)),e.jwt=r=>e.check(oL(k8,r)),e.emoji=r=>e.check(G6(w8,r)),e.guid=r=>e.check(Hx(Gx,r)),e.uuid=r=>e.check(V6(tu,r)),e.uuidv4=r=>e.check(U6(tu,r)),e.uuidv6=r=>e.check(H6(tu,r)),e.uuidv7=r=>e.check(B6(tu,r)),e.nanoid=r=>e.check(Z6(S8,r)),e.guid=r=>e.check(Hx(Gx,r)),e.cuid=r=>e.check(K6(_8,r)),e.cuid2=r=>e.check(Y6(C8,r)),e.ulid=r=>e.check(Q6(E8,r)),e.base64=r=>e.check(rL(N8,r)),e.base64url=r=>e.check(aL(D8,r)),e.xid=r=>e.check(X6(R8,r)),e.ksuid=r=>e.check(J6(j8,r)),e.ipv4=r=>e.check(W6(T8,r)),e.ipv6=r=>e.check(eL(O8,r)),e.cidrv4=r=>e.check(tL(A8,r)),e.cidrv6=r=>e.check(nL(M8,r)),e.e164=r=>e.check(iL(z8,r)),e.datetime=r=>e.check(JL(r)),e.date=r=>e.check(e8(r)),e.time=r=>e.check(n8(r)),e.duration=r=>e.check(a8(r))});function cu(e){return P6(y8,e)}const Ct=de("ZodStringFormat",(e,n)=>{xt.init(e,n),_C.init(e,n)}),b8=de("ZodEmail",(e,n)=>{Y5.init(e,n),Ct.init(e,n)}),Gx=de("ZodGUID",(e,n)=>{Z5.init(e,n),Ct.init(e,n)}),tu=de("ZodUUID",(e,n)=>{K5.init(e,n),Ct.init(e,n)}),x8=de("ZodURL",(e,n)=>{Q5.init(e,n),Ct.init(e,n)}),w8=de("ZodEmoji",(e,n)=>{X5.init(e,n),Ct.init(e,n)}),S8=de("ZodNanoID",(e,n)=>{J5.init(e,n),Ct.init(e,n)}),_8=de("ZodCUID",(e,n)=>{W5.init(e,n),Ct.init(e,n)}),C8=de("ZodCUID2",(e,n)=>{e6.init(e,n),Ct.init(e,n)}),E8=de("ZodULID",(e,n)=>{t6.init(e,n),Ct.init(e,n)}),R8=de("ZodXID",(e,n)=>{n6.init(e,n),Ct.init(e,n)}),j8=de("ZodKSUID",(e,n)=>{r6.init(e,n),Ct.init(e,n)}),T8=de("ZodIPv4",(e,n)=>{l6.init(e,n),Ct.init(e,n)}),O8=de("ZodIPv6",(e,n)=>{c6.init(e,n),Ct.init(e,n)}),A8=de("ZodCIDRv4",(e,n)=>{u6.init(e,n),Ct.init(e,n)}),M8=de("ZodCIDRv6",(e,n)=>{d6.init(e,n),Ct.init(e,n)}),N8=de("ZodBase64",(e,n)=>{f6.init(e,n),Ct.init(e,n)}),D8=de("ZodBase64URL",(e,n)=>{m6.init(e,n),Ct.init(e,n)}),z8=de("ZodE164",(e,n)=>{p6.init(e,n),Ct.init(e,n)}),k8=de("ZodJWT",(e,n)=>{v6.init(e,n),Ct.init(e,n)}),L8=de("ZodBoolean",(e,n)=>{y6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>NL(e,r,i)});function Zx(e){return dL(L8,e)}const $8=de("ZodUnknown",(e,n)=>{b6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>zL()});function Kx(){return fL($8)}const I8=de("ZodNever",(e,n)=>{x6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>DL(e,r,i)});function P8(e){return hL(I8,e)}const F8=de("ZodArray",(e,n)=>{w6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>IL(e,r,i,s),e.element=n.element,ud(e,"ZodArray",{min(r,i){return this.check(Ru(r,i))},nonempty(r){return this.check(Ru(1,r))},max(r,i){return this.check(vC(r,i))},length(r,i){return this.check(yC(r,i))},unwrap(){return this.element}})});function V8(e,n){return EL(F8,e,n)}const U8=de("ZodObject",(e,n)=>{_6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>PL(e,r,i,s),ct(e,"shape",()=>n.shape),ud(e,"ZodObject",{keyof(){return Z8(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:Kx()})},loose(){return this.clone({...this._zod.def,catchall:Kx()})},strict(){return this.clone({...this._zod.def,catchall:P8()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return B4(this,r)},safeExtend(r){return q4(this,r)},merge(r){return G4(this,r)},pick(r){return U4(this,r)},omit(r){return H4(this,r)},partial(...r){return Z4(CC,this,r[0])},required(...r){return K4(EC,this,r[0])}})});function fg(e,n){const r={type:"object",shape:e??{},...Le(n)};return new U8(r)}const H8=de("ZodUnion",(e,n)=>{C6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>FL(e,r,i,s),e.options=n.options});function B8(e,n){return new H8({type:"union",options:e,...Le(n)})}const q8=de("ZodIntersection",(e,n)=>{E6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>VL(e,r,i,s)});function G8(e,n){return new q8({type:"intersection",left:e,right:n})}const Zm=de("ZodEnum",(e,n)=>{R6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(i,s,l)=>kL(e,i,s),e.enum=n.entries,e.options=Object.values(n.entries);const r=new Set(Object.keys(n.entries));e.extract=(i,s)=>{const l={};for(const u of i)if(r.has(u))l[u]=n.entries[u];else throw new Error(`Key ${u} not found in enum`);return new Zm({...n,checks:[],...Le(s),entries:l})},e.exclude=(i,s)=>{const l={...n.entries};for(const u of i)if(r.has(u))delete l[u];else throw new Error(`Key ${u} not found in enum`);return new Zm({...n,checks:[],...Le(s),entries:l})}});function Z8(e,n){const r=Array.isArray(e)?Object.fromEntries(e.map(i=>[i,i])):e;return new Zm({type:"enum",entries:r,...Le(n)})}const K8=de("ZodTransform",(e,n)=>{j6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>$L(e,r),e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new aC(e.constructor.name);r.addIssue=l=>{if(typeof l=="string")r.issues.push(dl(l,r.value,n));else{const u=l;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=r.value),u.inst??(u.inst=e),r.issues.push(dl(u))}};const s=n.transform(r.value,r);return s instanceof Promise?s.then(l=>(r.value=l,r.fallback=!0,r)):(r.value=s,r.fallback=!0,r)}});function Y8(e){return new K8({type:"transform",transform:e})}const CC=de("ZodOptional",(e,n)=>{gC.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>SC(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function Yx(e){return new CC({type:"optional",innerType:e})}const Q8=de("ZodExactOptional",(e,n)=>{T6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>SC(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function X8(e){return new Q8({type:"optional",innerType:e})}const J8=de("ZodNullable",(e,n)=>{O6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>UL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function Qx(e){return new J8({type:"nullable",innerType:e})}const W8=de("ZodDefault",(e,n)=>{A6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>BL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function e$(e,n){return new W8({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():sC(n)}})}const t$=de("ZodPrefault",(e,n)=>{M6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>qL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function n$(e,n){return new t$({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():sC(n)}})}const EC=de("ZodNonOptional",(e,n)=>{N6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>HL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function r$(e,n){return new EC({type:"nonoptional",innerType:e,...Le(n)})}const a$=de("ZodCatch",(e,n)=>{D6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>GL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function i$(e,n){return new a$({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const o$=de("ZodPipe",(e,n)=>{z6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>ZL(e,r,i,s),e.in=n.in,e.out=n.out});function Xx(e,n){return new o$({type:"pipe",in:e,out:n})}const s$=de("ZodReadonly",(e,n)=>{k6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>KL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function l$(e){return new s$({type:"readonly",innerType:e})}const c$=de("ZodCustom",(e,n)=>{L6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>LL(e,r)});function u$(e,n={}){return RL(c$,e,n)}function d$(e,n){return jL(e,n)}const f$=/\.(md|markdown)$/i,h$=/\.(png|jpe?g|gif|svg|webp|ico|bmp|avif)$/i,RC=/\.html?$/i,jC=/\.pdf$/i,m$=/\.(txt|log|json|ya?ml|toml|csv|go|py|js|ts|jsx|tsx|sh|bash|zsh|rb|rs|c|h|cpp|java|kt|swift|sql|css|xml|ini|conf|env|mod|sum|jsonl)$/i;function hg(e){if(e<1024)return e+" B";const n=["KB","MB","GB","TB"];let r=-1;do e/=1024,r++;while(e>=1024&&r`:e.user||e.author||"unknown"}function p$({className:e,...n}){return f.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:f.jsx("table",{"data-slot":"table",className:Xe("w-full caption-bottom text-sm",e),...n})})}function g$({className:e,...n}){return f.jsx("thead",{"data-slot":"table-header",className:Xe("[&_tr]:border-b",e),...n})}function v$({className:e,...n}){return f.jsx("tbody",{"data-slot":"table-body",className:Xe("[&_tr:last-child]:border-0",e),...n})}function Jx({className:e,...n}){return f.jsx("tr",{"data-slot":"table-row",className:Xe("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...n})}function Wx({className:e,...n}){return f.jsx("th",{"data-slot":"table-head",className:Xe("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function y$({className:e,...n}){return f.jsx("td",{"data-slot":"table-cell",className:Xe("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function b$({header:e}){const n=e.column.getIsSorted();return e.column.getCanSort()?f.jsx(Wx,{"data-sort":n||void 0,"aria-sort":n==="asc"?"ascending":n==="desc"?"descending":"none",children:f.jsxs("button",{type:"button",className:"th-sort",onClick:e.column.getToggleSortingHandler(),children:[Pm(e.column.columnDef.header,e.getContext()),n==="asc"?" ↑":n==="desc"?" ↓":""]})}):f.jsx(Wx,{children:Pm(e.column.columnDef.header,e.getContext())})}function OC({table:e,className:n}){return f.jsx("div",{className:"admin-list admin-card-table"+(n?" "+n:""),children:f.jsxs(p$,{className:"admin-table",children:[f.jsx(g$,{children:e.getHeaderGroups().map(r=>f.jsx(Jx,{children:r.headers.map(i=>f.jsx(b$,{header:i},i.id))},r.id))}),f.jsx(v$,{children:e.getRowModel().rows.map(r=>f.jsx(Jx,{className:"admin-item",children:r.getVisibleCells().map(i=>f.jsx(y$,{children:Pm(i.column.columnDef.cell,i.getContext())},i.id))},r.id))})]})})}function AC(e){return e?"expires "+new Date(e).toLocaleDateString():"no expiry"}function MC(e,n){const r=[];return n&&e.project_name&&r.push(e.project_name),e.creator&&r.push("by "+e.creator),e.created&&r.push(new Date(e.created).toLocaleDateString()),r.push(AC(e.expires)),r.join(" · ")}function NC({shares:e,onChanged:n,showProject:r=!1,canRevoke:i=!0,empty:s="No public shares."}){const[l,u]=w.useState([]),d=w.useMemo(()=>N_(),[]),p=w.useMemo(()=>[d.accessor("path",{header:"Path",cell:y=>f.jsx("a",{className:"ai-main mono",title:y.getValue(),...cl(Wu(y.getValue(),y.row.original.project)),children:y.getValue()})}),d.accessor(y=>MC(y,r),{id:"detail",header:r?"Project":"Shared",cell:y=>f.jsx("span",{className:"ai-tag",children:y.getValue()})}),d.display({id:"actions",header:"",cell:y=>i?f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${y.row.original.path}`,onClick:()=>DC(y.row.original,n),children:"Revoke"}):null})],[d,n,r,i]),m=B_({data:e,columns:p,state:{sorting:l},onSortingChange:u,getCoreRowModel:U_(),getSortedRowModel:H_()});return e.length===0?f.jsx("div",{className:"admin-list",children:f.jsx("div",{className:"admin-empty",children:s})}):f.jsx(OC,{table:m,className:"shares-table"})}async function DC(e,n){if(await Sl("Revoke share link",`Revoke the public link to “${e.path}”? Anyone with the URL will lose access.`,"Revoke",!0))try{await tr("DELETE","/api/shares/"+e.token),Ke("Share revoked."),n()}catch(r){Ke(r.message,!0)}}const x$=fg({name:cu().trim().min(1,"Give the organization a name.").max(60,"Keep it under 60 characters.")});function w$({org:e,projects:n,myEmail:r}){const i=Ai(),s=e.role==="owner",l=()=>i.invalidateQueries({queryKey:["orgs"]}),u=()=>i.invalidateQueries({queryKey:["invites",e.id]}),d=()=>i.invalidateQueries({queryKey:["orgShares",e.id]}),p=rg({resolver:dg(x$),values:{name:e.name}}),{data:m}=Zt({queryKey:["invites",e.id],queryFn:()=>ln(`/api/orgs/${e.id}/invites`),enabled:s,select:b=>b.invites||[]}),{data:y}=Zt({queryKey:["orgShares",e.id],queryFn:()=>ln(`/api/orgs/${e.id}/shares`),enabled:s,select:b=>b.shares||[]}),v=n.filter(b=>b.org===e.id);return f.jsxs("div",{className:"admin",children:[f.jsx("h1",{id:"org-title",children:e.name}),!s&&f.jsx("p",{className:"role-chip-row",children:f.jsx("span",{className:"ai-tag role-chip",children:"Member"})}),!s&&f.jsx("p",{className:"admin-sub",children:"Only owners can rename this organization, manage members, or issue invite links."}),s&&f.jsxs("form",{className:"admin-row",onSubmit:p.handleSubmit(async({name:b})=>{try{await tr("PATCH","/api/orgs/"+e.id,{name:b}),Ke("Renamed."),l()}catch(x){Ke(x.message,!0)}}),children:[f.jsx("label",{className:"admin-lbl",htmlFor:"org-rename",children:"Organization name"}),f.jsx("input",{id:"org-rename",type:"text","aria-invalid":!!p.formState.errors.name,"aria-describedby":p.formState.errors.name?"org-rename-err":void 0,...p.register("name")}),f.jsx(vt,{variant:"subtle",id:"org-rename-btn",type:"submit",disabled:!p.formState.isDirty,children:"Rename org"}),p.formState.errors.name&&f.jsx("span",{id:"org-rename-err",role:"alert",className:"field-err",children:p.formState.errors.name.message})]}),f.jsx("h3",{children:"Members"}),f.jsx(S$,{org:e,owner:s,myEmail:r,onChanged:l}),f.jsx("h3",{children:"Projects"}),f.jsxs("div",{className:"admin-list",children:[v.length===0&&f.jsx("div",{className:"admin-empty",children:"No projects yet."}),v.map(b=>f.jsx("div",{className:"admin-item",children:f.jsx("span",{className:"ai-main",title:b.name,children:b.name})},b.id))]}),s&&f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"admin-h",children:[f.jsx("h3",{children:"Invite links"}),f.jsx(vt,{variant:"primary",onClick:async()=>{try{const b=await Si(`/api/orgs/${e.id}/invites`),x=await Bo(b.url);Ke(x?"Invite link copied to clipboard.":"Invite created — copy it from the list below."),u()}catch(b){Ke(b.message,!0)}},children:"New invite"})]}),f.jsxs("div",{className:"admin-list",children:[m&&m.length===0&&f.jsx("div",{className:"admin-empty",children:"No active invite links."}),(m||[]).map(b=>f.jsxs("div",{className:"admin-item",children:[f.jsx("button",{type:"button",className:"ai-main mono ai-copy","aria-label":`Copy invite link ${b.url}`,title:b.url,onClick:()=>Bo(b.url).then(x=>Ke(x?"Copied.":"Select and copy the link.")),children:b.url}),f.jsx("span",{className:"ai-tag",children:(b.creator?"by "+b.creator+" · ":"")+(b.uses?b.uses+" joined · ":"unused · ")+"expires "+new Date(b.expires).toLocaleDateString()}),f.jsx("button",{className:"ai-del","aria-label":`Revoke invite ${b.token.slice(0,8)}`,onClick:async()=>{if(await Sl("Revoke invite",`Revoke the link starting ${b.token.slice(0,8)}…? Anyone still holding it won't be able to join.`,"Revoke",!0))try{await tr("DELETE",`/api/orgs/${e.id}/invites/${b.token}`),Ke("Revoked."),u()}catch(x){Ke(x.message,!0)}},children:"Revoke"})]},b.token))]}),f.jsx("h3",{children:"Public share links"}),f.jsx("p",{className:"admin-sub",children:"Every live link across this organization's projects. A project's own links are on its Settings page, and on the file itself."}),f.jsx(NC,{shares:y||[],onChanged:d,showProject:!0})]})]})}function S$({org:e,owner:n,myEmail:r,onChanged:i}){const[s,l]=w.useState([{id:"email",desc:!1}]),u=w.useMemo(()=>N_(),[]),d=w.useMemo(()=>[u.accessor("email",{id:"email",header:"Member",cell:m=>{const y=!!r&&m.getValue().toLowerCase()===r.toLowerCase();return f.jsx("span",{className:"ai-main",title:m.getValue(),children:m.getValue()+(y?" (you)":"")})}}),u.accessor("role",{id:"role",header:"Role",cell:m=>{const y=m.row.original,v=!!r&&y.email.toLowerCase()===r.toLowerCase();return!n||v?f.jsx("span",{className:"ai-tag role-static",children:y.role}):f.jsxs("span",{className:"role-cell",children:[f.jsxs("select",{"aria-label":`Role for ${y.email}`,value:y.role,onChange:async b=>{try{await tr("PATCH",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`,{role:b.target.value}),Ke("Role updated.")}catch(x){Ke(x.message,!0)}i()},children:[f.jsx("option",{value:"owner",children:"owner"}),f.jsx("option",{value:"member",children:"member"})]}),f.jsx("button",{className:"ai-del","aria-label":`Remove ${y.email}`,onClick:async()=>{if(await Sl("Remove member",`Remove ${y.email} from ${e.name}?`,"Remove",!0))try{await tr("DELETE",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`),Ke("Removed."),i()}catch(b){Ke(b.message,!0)}},children:"Remove"})]})}})],[u,e.id,e.name,n,r]),p=B_({data:e.members,columns:d,state:{sorting:s},onSortingChange:l,getCoreRowModel:U_(),getSortedRowModel:H_()});return f.jsx(OC,{table:p})}const _$=fg({require_verification:Zx(),require_approval:Zx()});function C$(){const e=Ai(),{data:n,error:r}=Zt({queryKey:["admin","policy"],queryFn:()=>ln("/api/admin/policy")}),{data:i}=R_(!0),s=rg({resolver:dg(_$),values:n?{require_verification:n.require_verification&&n.mailer,require_approval:n.require_approval}:{require_verification:!1,require_approval:!1}});if(w.useEffect(()=>{r&&Ke(r.message,!0)},[r]),!n)return null;const l=async(u,d,p)=>{try{await Si(`/api/admin/pending/${u}/${d}`),Ke((d==="approve"?"Approved ":"Denied ")+p),e.invalidateQueries({queryKey:["admin","pending"]})}catch(m){Ke(m.message,!0)}};return f.jsxs("div",{className:"admin",children:[f.jsx("h1",{children:"Signup & access"}),f.jsx("p",{className:"admin-sub",children:"Who can create an account on this hub, and how new accounts are vetted."}),f.jsx("h3",{children:"New-account vetting"}),f.jsxs("form",{onSubmit:s.handleSubmit(async u=>{try{await Si("/api/admin/policy",u),Ke("Signup policy saved."),e.invalidateQueries({queryKey:["admin","policy"]})}catch(d){Ke(d.message,!0)}}),children:[f.jsxs("div",{className:"admin-list",children:[f.jsx(ew,{label:"Require email verification",desc:n.mailer?"New accounts must click an emailed link before they can sign in — proves they control the address.":"Configure SMTP on the server (auth.smtp) to enable email verification.",disabled:!n.mailer,inputProps:s.register("require_verification")}),f.jsx(ew,{label:"Require admin approval",desc:"New accounts wait for a hub admin to approve them before they gain access.",inputProps:s.register("require_approval")})]}),f.jsx(vt,{variant:"primary",type:"submit",style:{marginTop:14},disabled:!s.formState.isDirty,children:"Save policy"})]}),f.jsx("h3",{children:"Who can sign up"}),f.jsxs("div",{className:"admin-list",children:[f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Allowed email domains"}),f.jsx("span",{className:"ai-tag",children:n.allowed_domains&&n.allowed_domains.length?n.allowed_domains.map(u=>"@"+u).join(", "):"any"})]}),f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Self-signup"}),f.jsx("span",{className:"ai-tag",children:n.allow_signup?"open":"invite-only"})]}),f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Hub admins"}),f.jsx("span",{className:"ai-tag",children:n.admins&&n.admins.length?n.admins.join(", "):"none"})]})]}),f.jsx("p",{className:"admin-sub",children:"Domains and admins are set in the server config file (they can't be widened from the browser)."}),f.jsx("h3",{children:"Pending signups"}),f.jsxs("div",{className:"admin-list",children:[(!i||i.length===0)&&f.jsx("div",{className:"admin-empty",children:"No one is waiting for approval."}),(i||[]).map(u=>f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:(u.name?u.name+" · ":"")+u.email}),f.jsx(vt,{variant:"primary",onClick:()=>l(u.id,"approve",u.email),children:"Approve"}),f.jsx("button",{className:"ai-del",onClick:()=>l(u.id,"deny",u.email),children:"Deny"})]},u.id))]})]})}function ew({label:e,desc:n,disabled:r,inputProps:i}){return f.jsxs("label",{className:"admin-item toggle",style:r?{opacity:.55}:void 0,children:[f.jsxs("span",{className:"ai-main",children:[f.jsx("div",{className:"tg-label",children:e}),f.jsx("div",{className:"tg-desc",children:n})]}),f.jsx("input",{type:"checkbox",disabled:r,...i})]})}function E$({...e}){return f.jsx(c1,{"data-slot":"select",...e})}function R$({...e}){return f.jsx(h1,{"data-slot":"select-value",...e})}function j$({className:e,size:n="default",children:r,...i}){return f.jsxs(d1,{"data-slot":"select-trigger","data-size":n,className:Xe("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...i,children:[r,f.jsx(m1,{asChild:!0,children:f.jsx(Hp,{className:"size-4 opacity-50"})})]})}function T$({className:e,children:n,position:r="item-aligned",align:i="center",...s}){return f.jsx(g1,{children:f.jsxs(v1,{"data-slot":"select-content",className:Xe("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:i,...s,children:[f.jsx(A$,{}),f.jsx(S1,{className:Xe("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),f.jsx(M$,{})]})})}function O$({className:e,children:n,...r}){return f.jsxs(R1,{"data-slot":"select-item",className:Xe("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[f.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:f.jsx(O1,{children:f.jsx(d_,{className:"size-4"})})}),f.jsx(j1,{children:n})]})}function A$({className:e,...n}){return f.jsx(A1,{"data-slot":"select-scroll-up-button",className:Xe("flex cursor-default items-center justify-center py-1",e),...n,children:f.jsx(az,{className:"size-4"})})}function M$({className:e,...n}){return f.jsx(M1,{"data-slot":"select-scroll-down-button",className:Xe("flex cursor-default items-center justify-center py-1",e),...n,children:f.jsx(Hp,{className:"size-4"})})}const tw=["#5b8def","#f5a623","#4cc38a","#e0679b","#8b7bf0","#3ec8c8","#e6934a"];function fl(e){let n=0;for(const r of e)n=n*31+r.charCodeAt(0)>>>0;return tw[n%tw.length]}function nw({projects:e,currentId:n,menu:r,onNew:i}){const s=e.find(l=>l.id===n);return f.jsxs("nav",{id:"projects","aria-label":"Projects",children:[f.jsxs("div",{className:"nav-head",children:[f.jsx("span",{children:"Projects"}),f.jsx("button",{className:"nav-add",title:"New project","aria-label":"New project",onClick:i,children:"+"})]}),f.jsx("div",{className:"proj-row",children:f.jsxs(E$,{value:n||"",onValueChange:l=>{l&&l!==n&&(rn("/"+l),pr())},children:[f.jsxs(j$,{id:"project-select","aria-label":`Switch project — current: ${s?.name??"none"}`,title:s?.name,className:"proj-trigger",children:[s&&f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(s.name)},children:f.jsx($o,{name:s.icon})}),s?f.jsx("span",{"data-slot":"select-value",children:s.name}):f.jsx(R$,{placeholder:"Select a project"})]}),f.jsx(T$,{className:"proj-menu",position:"popper",sideOffset:4,children:e.map(l=>f.jsxs(O$,{value:l.id,children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(l.name)},children:f.jsx($o,{name:l.icon})}),l.name]},l.id))})]})}),r&&f.jsx("ul",{className:"nav-menu","aria-label":"Project pages",children:[["dashboard","Dashboard","dashboard",r.onDashboard],["install","Installation","terminal",r.onInstall],["history","History","hist",r.onHistory],["settings","Settings","gear",r.onSettings]].map(([l,u,d,p])=>f.jsx("li",{children:f.jsxs("div",{id:"nav-"+l,className:"row"+(r.active===l?" active":""),role:"button",tabIndex:0,onClick:p,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),p())},children:[f.jsx(dt,{name:d}),f.jsx("span",{className:"label",children:u})]})},l))})]})}function zC({...e}){return f.jsx(LM,{"data-slot":"dropdown-menu",...e})}function kC({...e}){return f.jsx($M,{"data-slot":"dropdown-menu-trigger",...e})}function LC({className:e,sideOffset:n=4,...r}){return f.jsx(IM,{children:f.jsx(PM,{"data-slot":"dropdown-menu-content",sideOffset:n,className:Xe("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...r})})}function zo({className:e,inset:n,variant:r="default",...i}){return f.jsx(VM,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":r,className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...i})}function nm({className:e,inset:n,...r}){return f.jsx(FM,{"data-slot":"dropdown-menu-label","data-inset":n,className:Xe("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}const N$="https://github.com/runbear-io/beardrive";function D$(){return f.jsx("svg",{viewBox:"0 0 16 16",className:"gh-mark",fill:"currentColor","aria-hidden":"true",children:f.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"})})}function z$({me:e,org:n,admin:r,orgActive:i,billing:s}){const l=e.name||e.email,[u,d]=w.useState(!1),p=n?cl(n.manage_url):null,m=s?cl(s.url):null;return f.jsxs("footer",{id:"accountbar",children:[f.jsxs("a",{className:"gh-star",href:N$,target:"_blank",rel:"noreferrer",children:[f.jsx(D$,{}),f.jsx("span",{children:"Star on GitHub"}),f.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),f.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]}),f.jsxs(zC,{modal:!1,open:u,onOpenChange:d,children:[f.jsx(kC,{asChild:!0,children:f.jsxs("button",{id:"account-btn",className:i?"active":void 0,"aria-label":"Account menu",children:[f.jsx("span",{className:"avatar",style:{background:fl(e.email)},"aria-hidden":"true",children:(l.trim()[0]||"?").toUpperCase()}),f.jsxs("span",{className:"acct",children:[f.jsx("b",{children:l}),e.name&&f.jsx("small",{children:e.email})]}),f.jsx(dt,{name:"chev"})]})}),f.jsxs(LC,{id:"account-menu",side:"top",align:"start",sideOffset:6,className:"acct-menu",children:[n&&f.jsxs(f.Fragment,{children:[f.jsx(nm,{className:"menu-sec",children:"Organization"}),f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"menu-org-settings","aria-current":i?"page":void 0,...p,onClick:y=>{p?.onClick?.(y),d(!1)},children:[f.jsx(dt,{name:"gear"}),f.jsxs("span",{children:[f.jsx("b",{children:n.name})," Settings"]}),!n.manage_url.startsWith("/")&&f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),f.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]})}),s&&f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"menu-billing",...m,onClick:y=>{m?.onClick?.(y),d(!1)},children:[f.jsx(dt,{name:"card"}),f.jsx("span",{children:"Billing"}),f.jsx("span",{className:"ps-chip plan-chip",children:s.plan})]})})]}),r&&f.jsxs(f.Fragment,{children:[f.jsx(nm,{className:"menu-sec",children:"Hub"}),f.jsxs(zo,{id:"menu-hub-admin",onSelect:r.onClick,children:[f.jsx(dt,{name:"shield"}),f.jsxs("span",{children:["Signup & access",r.pending?` · ${r.pending}`:""]})]})]}),f.jsx(nm,{className:"menu-sec",children:"Account"}),f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"signout",href:"/auth/logout",children:[f.jsx(dt,{name:"power"}),f.jsx("span",{children:"Log out"})]})})]})]})]})}function $a({className:e,...n}){return f.jsx("div",{"data-slot":"card",className:Xe("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...n})}function Ia({className:e,...n}){return f.jsx("div",{"data-slot":"card-header",className:Xe("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...n})}function Pa({className:e,...n}){return f.jsx("div",{"data-slot":"card-title",className:Xe("leading-none font-semibold",e),...n})}function Po({className:e,...n}){return f.jsx("div",{"data-slot":"card-description",className:Xe("text-muted-foreground text-sm",e),...n})}function Fa({className:e,...n}){return f.jsx("div",{"data-slot":"card-content",className:Xe("px-6",e),...n})}function ta({className:e,orientation:n="horizontal",decorative:r=!0,...i}){return f.jsx(yN,{"data-slot":"separator",decorative:r,orientation:n,className:Xe("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...i})}function k$({url:e}){const n=Zt({queryKey:["billing"],queryFn:()=>ln(e)});if(n.isLoading)return f.jsx("div",{className:"empty",children:"Loading…"});if(n.error||!n.data)return f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Billing is unavailable"}),f.jsx("p",{children:n.error?.message||"Try again shortly."})]});const r=n.data;return f.jsxs("div",{className:"project-settings",id:"billing-view",children:[f.jsxs("h2",{children:["Billing",f.jsx("span",{className:"ps-chip plan-chip",children:r.plan.name})]}),f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsxs(Pa,{children:[r.plan.name," plan",r.plan.status?` (${r.plan.status})`:""]}),f.jsxs(Po,{children:["Organization ",r.org," · ",r.usage.used," of ",r.usage.cap," used · ",r.seats.used," of ",r.seats.cap," ",r.seats.cap===1?"seat":"seats"]})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsx("div",{className:"usage-bar",children:f.jsx("div",{style:{width:`${r.usage.pct}%`}})})})]}),r.owner?f.jsx("div",{className:"plan-grid",children:r.plans.map(i=>f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:i.name}),f.jsx(Po,{children:i.blurb})]}),f.jsx(ta,{}),f.jsxs(Fa,{children:[f.jsxs("p",{className:"plan-price",children:[i.price,f.jsx("small",{children:" / user / month"})]}),f.jsxs("form",{method:"post",action:r.checkout_url,children:[f.jsx("input",{type:"hidden",name:"plan",value:i.id}),f.jsx(vt,{type:"submit",disabled:i.current,variant:i.current?"subtle":"default",children:i.current?"Current plan":`Upgrade to ${i.name}`})]})]})]},i.id))}):f.jsx("p",{className:"muted-note",children:"Only an organization owner can change the plan."}),r.owner&&r.has_customer&&f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"Manage subscription"}),f.jsx(Po,{children:"Change seats, update the card, download invoices, or cancel."})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsx("form",{method:"post",action:r.portal_url,children:f.jsx(vt,{type:"submit",variant:"subtle",children:"Open the billing portal"})})})]})]})}function uu({className:e,type:n,...r}){return f.jsx("input",{type:n,"data-slot":"input",className:Xe("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r})}function rm({className:e,...n}){return f.jsx(HM,{"data-slot":"label",className:Xe("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}function L$({className:e,...n}){return f.jsx("textarea",{"data-slot":"textarea",className:Xe("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...n})}const rw={read:1,write:2,admin:3};function wi(e,n){return(rw[e||""]||0)>=(rw[n]||0)}const Km=280,$$=fg({name:cu().trim().min(1,"Give the project a name.").max(120,"Keep the name under 120 characters."),description:cu().max(Km,`Keep the description under ${Km} characters.`),icon:cu()});function I$({project:e,org:n,onDeleted:r}){const i=j_(),s=wi(e.perm,"admin"),l=rg({resolver:dg($$),defaultValues:{name:e.name,description:e.description??"",icon:e.icon??""}});w.useEffect(()=>{l.reset({name:e.name,description:e.description??"",icon:e.icon??""})},[e.id,e.name,e.description,e.icon]);const u=l.watch("icon"),d=l.watch("description"),p=l.handleSubmit(async m=>{const y=l.formState.dirtyFields,v={};if(y.name&&(v.name=m.name.trim()),y.description&&(v.description=m.description),y.icon&&(v.icon=m.icon),Object.keys(v).length!==0)try{await tr("PATCH","/api/projects/"+e.id,v),Ke("Saved."),l.reset({...m,name:m.name.trim()}),await i()}catch(b){Ke(b.message,!0)}});return f.jsxs("div",{className:"project-settings",children:[f.jsxs("h2",{children:[e.name,!wi(e.perm,"write")&&f.jsx("span",{className:"ps-chip",children:"Read-only"})]}),f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"General"}),f.jsx(Po,{children:"Name, description and icon for this project."})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsxs("form",{className:"ps-form",onSubmit:p,children:[f.jsxs("div",{className:"ps-field",children:[f.jsx(rm,{htmlFor:"ps-icon-btn",children:"Icon"}),f.jsxs("div",{className:"ps-icon-row",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(e.name)},children:f.jsx($o,{name:u})}),f.jsxs(zC,{children:[f.jsx(kC,{asChild:!0,children:f.jsx(vt,{id:"ps-icon-btn",type:"button",variant:"subtle",disabled:!s,children:"Change"})}),f.jsxs(LC,{align:"start",className:"ps-icon-grid",children:[f.jsx(zo,{className:"ps-icon-cell"+(u===""?" active":""),title:"Default","aria-label":"Default icon",onSelect:()=>l.setValue("icon","",{shouldDirty:!0}),children:f.jsx($o,{})}),Object.keys(S_).map(m=>f.jsx(zo,{className:"ps-icon-cell"+(u===m?" active":""),title:m,"aria-label":m,onSelect:()=>l.setValue("icon",m,{shouldDirty:!0}),children:f.jsx($o,{name:m})},m))]})]})]})]}),f.jsxs("div",{className:"ps-field",children:[f.jsx(rm,{htmlFor:"ps-name",children:"Name"}),f.jsx(uu,{id:"ps-name",disabled:!s,"aria-invalid":!!l.formState.errors.name,"aria-describedby":l.formState.errors.name?"ps-name-err":void 0,...l.register("name")}),l.formState.errors.name&&f.jsx("span",{id:"ps-name-err",role:"alert",className:"field-err",children:l.formState.errors.name.message})]}),f.jsxs("div",{className:"ps-field",children:[f.jsxs(rm,{htmlFor:"ps-desc",children:["Description ",f.jsx("span",{className:"ps-opt",children:"(optional)"})]}),f.jsx(L$,{id:"ps-desc",rows:2,disabled:!s,placeholder:"What this project is for.","aria-invalid":!!l.formState.errors.description,"aria-describedby":l.formState.errors.description?"ps-desc-err":void 0,...l.register("description")}),f.jsxs("div",{className:"ps-meta",children:[l.formState.errors.description?f.jsx("span",{id:"ps-desc-err",role:"alert",className:"field-err",children:l.formState.errors.description.message}):f.jsx("span",{}),f.jsxs("span",{className:"ps-count",children:[d.length," / ",Km]})]})]}),s&&f.jsxs(f.Fragment,{children:[f.jsx(ta,{}),f.jsx("div",{className:"ps-actions",children:f.jsx(vt,{id:"ps-save",type:"submit",variant:"primary",disabled:!l.formState.isDirty||l.formState.isSubmitting,children:"Save changes"})})]})]})})]}),f.jsxs($a,{children:[f.jsx(Ia,{children:f.jsx(Pa,{children:"About"})}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsxs("dl",{className:"ps-facts",children:[f.jsx("dt",{children:"Project id"}),f.jsx("dd",{children:f.jsx("code",{children:e.id})}),n&&f.jsxs(f.Fragment,{children:[f.jsx("dt",{children:"Workspace"}),f.jsx("dd",{children:n.name})]}),e.created&&f.jsxs(f.Fragment,{children:[f.jsx("dt",{children:"Created"}),f.jsx("dd",{children:new Date(e.created).toLocaleDateString()})]})]})})]}),f.jsx(V$,{project:e,org:n}),f.jsx(P$,{project:e}),s&&f.jsxs($a,{className:"ps-danger",children:[f.jsx(Ia,{children:f.jsx(Pa,{children:"Danger zone"})}),f.jsx(ta,{}),f.jsxs(Fa,{children:[f.jsx("p",{children:"Deleting removes the project from this hub. Its files stay in storage. This can't be undone."}),f.jsx(vt,{variant:"danger",onClick:async()=>{if(await C_(`Delete “${e.name}”?`,"This can't be undone. Type the project name to confirm:","","Delete project",{match:e.name,danger:!0})!==null)try{await tr("DELETE","/api/projects/"+e.id),Ke(`Deleted “${e.name}”.`),await r()}catch(y){Ke(y.message,!0)}},children:"Delete project"})]})]})]})}function P$({project:e}){const n=Ai(),{data:r,error:i}=E_(e.id);return i?null:f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"Public links"}),f.jsx(Po,{children:"Files in this project that anyone with the URL can read — no account needed."})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsx(NC,{shares:r||[],canRevoke:wi(e.perm,"write"),onChanged:()=>n.invalidateQueries({queryKey:["shares",e.id]}),empty:"No public links."})})]})}const Ym=[{value:"admin",label:"Admin"},{value:"write",label:"Write"},{value:"read",label:"Read"},{value:"none",label:"No access"}],F$=Object.fromEntries(Ym.map(e=>[e.value,e.label]));function V$({project:e,org:n}){const r=Ai(),{data:i,error:s}=w3(e.id),l=wi(e.perm,"admin"),u=()=>{r.invalidateQueries({queryKey:["permissions",e.id]}),r.invalidateQueries({queryKey:["projects"]})},d=async(x,_)=>{try{await x(),Ke(_)}catch(C){Ke(C.message,!0)}u()};if(s||!i)return null;const p=i,m=`/api/p/${e.id}/permissions`,y=new Set((n?.members||[]).filter(x=>x.role==="owner").map(x=>x.email.toLowerCase())),v=[...p.grants.filter(x=>!y.has(x.email.toLowerCase())),...[...y].sort().map(x=>({email:x,level:"admin",owner:!0}))],b=async()=>{const x=await C_("Add an exception","Email of a workspace member. They get Read access; change it in the table.","","Add");x===null||!x.trim()||await d(()=>tr("PUT",`${m}/${encodeURIComponent(x.trim())}`,{level:"read"}),"Added.")};return f.jsxs($a,{className:"ps-people",children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"People"}),f.jsx(Po,{children:"Who can see and change this project."})]}),f.jsx(ta,{}),f.jsxs(Fa,{children:[f.jsxs("p",{className:"ps-row",children:[f.jsxs("span",{children:["Everyone in ",n?.name||"this workspace"," can"]}),f.jsx("select",{"aria-label":"Default access for workspace members",disabled:!l,value:p.default,onChange:async x=>{const _=x.target.value;if(_==="none"&&!await Sl("Make this project invite-only?","Only people listed below (and workspace owners) will see this project.","Make invite-only")){u();return}await d(()=>tr("PUT",m,{default:_}),"Default access updated.")},children:Ym.filter(x=>x.value!=="admin").map(x=>f.jsx("option",{value:x.value,children:x.label},x.value))})]}),p.default==="none"&&f.jsx("p",{className:"ps-note",children:"This project is invite-only: only the people below and workspace owners can see it."}),f.jsxs("div",{className:"ps-people-head",children:[f.jsx("h4",{children:"Exceptions"}),l&&f.jsx(vt,{type:"button",variant:"subtle",onClick:b,children:"+ Add"})]}),v.length===0?f.jsx("p",{className:"ps-note",children:"No exceptions — everyone gets the access above."}):f.jsx("div",{className:"admin-list",children:v.map(x=>{const _="owner"in x;return f.jsxs("div",{className:"admin-item",children:[f.jsxs("span",{className:"ai-main",title:x.email,children:[x.email,p.creator&&x.email.toLowerCase()===p.creator.toLowerCase()&&f.jsx("span",{className:"ai-tag",children:" (creator)"})]}),_?f.jsx("span",{className:"ai-tag",children:"Workspace owner — always admin"}):f.jsxs("span",{className:"role-cell",children:[f.jsx("select",{"aria-label":`Access for ${x.email}`,disabled:!l,value:x.level,onChange:C=>d(()=>tr("PUT",`${m}/${encodeURIComponent(x.email)}`,{level:C.target.value}),`${x.email} is now ${F$[C.target.value]||C.target.value}.`),children:Ym.map(C=>f.jsx("option",{value:C.value,children:C.label},C.value))}),l&&f.jsx("button",{className:"ai-del","aria-label":`Remove exception for ${x.email}`,onClick:()=>d(()=>tr("DELETE",`${m}/${encodeURIComponent(x.email)}`),"Reverted to the default access."),children:"Remove"})]})]},x.email)})})]})]})}const $C="https://raw.githubusercontent.com/runbear-io/beardrive/main/INSTALL_FOR_AGENTS.md";function IC({project:e,existing:n}){const r=window.location.origin,i=n?'. I already have a folder of notes — ask me which one to sync (the project is named "':'. Ask me which folder to sync (the project is named "',s="Follow "+$C+` +to set up BearDrive project `+e.id+" on "+r+i+e.name+'").',l=`brew install runbear-io/tap/beardrive +bdrive login `+r+` +bdrive init --project `+e.id;return f.jsxs("div",{className:"guide",children:[f.jsxs("h1",{className:"in-title gd-head",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(e.name)},children:f.jsx($o,{name:e.icon})}),e.name]}),e.description&&f.jsx("p",{className:"in-desc",children:e.description}),f.jsxs("div",{className:"gd-body",children:[f.jsx("p",{className:"gd-desc",children:n?"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder you already have:":"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files:"}),n&&f.jsx("p",{className:"gd-note",children:"Your files stay exactly where they are. Connecting a folder never moves, renames or overwrites anything in it — it uploads what is there and keeps it in sync."}),f.jsx(Qm,{code:s}),f.jsx("p",{className:"gd-desc",children:"The agent installs the CLI, signs this machine in, and registers the sync hooks — asking before anything it changes."}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"What exactly happens"}),f.jsxs("ul",{className:"gd-desc gd-list",children:[f.jsx("li",{children:"Sign-in uses a device code you approve in this browser — the folder itself never holds credentials."}),f.jsx("li",{children:"Sync hooks pull the latest before every agent turn, push edits seconds after they happen, and stamp each change with the session that made it; agent reads feed Insights. They register once per machine in your agent's own config, so every session is covered and nothing is written into the synced folder."}),f.jsx("li",{children:"Codex hooks are off by default: set [features] codex_hooks = true in ~/.codex/config.toml."})]})]}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"Or run it yourself"}),f.jsx("p",{className:"gd-desc",children:"Same result, in the folder you want the files. One command: init signs this device in, registers the sync hooks and starts syncing."}),f.jsx(Qm,{code:l}),f.jsx("p",{className:"gd-desc",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/install/",target:"_blank",rel:"noreferrer",children:"Full manual setup guide →"})})]})]})]})}function Qm({code:e}){const[n,r]=w.useState("Copy");return f.jsxs("pre",{className:"gd-code",children:[f.jsx("code",{children:e}),f.jsx("button",{className:"gd-copy",onClick:async()=>{r(await Bo(e)?"Copied":"Copy failed"),setTimeout(()=>r("Copy"),1400)},children:n})]})}function U$({onNew:e,canCreate:n}){return f.jsxs("div",{className:"onboard",children:[f.jsx("h1",{children:"Welcome to BearDrive"}),f.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),n&&f.jsxs("div",{className:"ob-card ob-start",children:[f.jsx("h3",{children:"Start a project"}),f.jsx("p",{children:"Name it and pick what it starts from — a structure, or nothing at all. Then connect a folder on any machine and it stays in sync."}),f.jsx(vt,{variant:"primary",id:"ob-new",onClick:e,children:"New project"})]}),f.jsxs("div",{className:"ob-card ob-agent",children:[f.jsx("h3",{children:n?"Or let your agent do it":"Connect a new drive to your project"}),f.jsx("p",{children:"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files. It creates the project and starts syncing:"}),f.jsx(Qm,{code:"Follow "+$C+` +to set up a new BearDrive project on `+window.location.origin+". Ask me which folder to sync."}),f.jsx("p",{className:"ob-alt",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/setup-by-hand/",target:"_blank",rel:"noreferrer",children:"Or start a project manually →"})})]})]})}const PC="__existing__";function H$({templates:e,onCreate:n,onClose:r}){const[i,s]=w.useState(""),[l,u]=w.useState(""),[d,p]=w.useState(""),[m,y]=w.useState(!1),v=async()=>{if(!m){if(!i.trim()){p("Give it a name.");return}y(!0);try{await n(i.trim(),l)}finally{y(!1)}}},b=[...e.map(x=>({value:x.name,title:x.title,blurb:x.blurb,rule:!1})),{value:PC,title:"I already have a folder",blurb:"nothing is seeded — connect it and your files stay as they are",rule:!0},{value:"",title:"Empty project",blurb:"just the folder",rule:!1}];return f.jsx(Xu,{open:!0,onOpenChange:x=>!x&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:"New project"})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:"Name"}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",id:"modal-input",autoFocus:!0,value:i,"aria-invalid":!!d,"aria-describedby":d?"modal-input-err":void 0,onChange:x=>{s(x.currentTarget.value),d&&p("")},onKeyDown:x=>x.key==="Enter"&&v()}),d&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:d}),b.length>1&&f.jsxs("fieldset",{className:"start-points",children:[f.jsx("legend",{className:"modal-label",children:"Starting point"}),b.map((x,_)=>f.jsxs("label",{className:"start-point"+(l===x.value?" on":"")+(x.rule?" sp-rule":""),children:[f.jsx("input",{type:"radio",name:"template",value:x.value,checked:l===x.value,onChange:()=>u(x.value)}),f.jsxs("span",{className:"sp-text",children:[f.jsxs("span",{className:"sp-title",children:[x.title,_===0&&f.jsx("span",{className:"sp-rec",children:"Recommended"})]}),f.jsx("span",{className:"sp-blurb",children:x.blurb})]})]},x.value))]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:r,children:"Cancel"}),f.jsx(vt,{variant:"primary",onClick:v,disabled:m,children:"Create"})]})]})})}function aw(e,n,r){if(!e)return null;if(!r)return e[n]||null;const i={human:0,agent:0,share:0};for(const[s,l]of Object.entries(e))s.startsWith(n+"/")&&(i.human+=l.human||0,i.agent+=l.agent||0,i.share+=l.share||0);return i.human||i.agent||i.share?i:null}function ka(e){return(e.human||0)+(e.agent||0)+(e.share||0)}function Ys(e){const n=ka(e);if(!n)return"";const r=n+(n===1?" read":" reads");if(!e.agent&&!e.share)return r;const i=[];return e.human&&i.push(e.human+" human"),e.agent&&i.push(e.agent+" agent"),e.share&&i.push(e.share+" shared"),r+" ("+i.join(", ")+")"}function B$(e){const n=ka(e);return n?n<3?1:n<10?2:n<30?3:4:0}function q$(e){const n=ka(e);return n?{agent:(e.agent||0)/n,human:(e.human||0)/n,share:(e.share||0)/n}:{agent:0,human:0,share:0}}function G$(e,n){return e?Object.keys(e).filter(r=>!n.has(r)).sort():[]}const Z$=7;function K$(e){if(!e.length)return null;let n=e[0],r=e[0];for(const i of e)ir&&(r=i);return{min:n,max:r}}const Y$=(e,n)=>n-eln(e+"tree"),enabled:n,refetchInterval:15e3}),i=w.useMemo(()=>{const s=[],l=new Map,u=d=>{for(const p of d.children||[])p.dir?(l.set(p.path,p),u(p)):s.push(p)};return r.data&&u(r.data),{flatFiles:s,dirIndex:l}},[r.data]);return{tree:r.data,...i,loaded:!!r.data}}function J$(e,n){return Zt({queryKey:["heat",e],queryFn:()=>ln(e+"heat?days=30"),enabled:n,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function W$(e,n,r){return Zt({queryKey:["history",e,"prefix",n,20],queryFn:()=>ln(e+"history?prefix="+encodeURIComponent(n)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function eI(e,n,r){const i=new Array(e);return new Proxy(i,{get(s,l,u){if(typeof l=="string"){const d=l.charCodeAt(0);if(d>=48&&d<=57){const p=+l;if(Number.isInteger(p)&&p>=0&&pi[y]!==m))&&(i=d,s=n(...d),r?.onChange&&!(l&&r.skipInitialOnChange)&&r.onChange(s),l=!1),s}return u.updateDeps=d=>{i=d},u}function iw(e,n){if(e===void 0)throw new Error("Unexpected undefined");return e}const tI=(e,n)=>Math.abs(e-n)<1.01,nI=(e,n,r)=>{let i;return function(...s){e.clearTimeout(i),i=e.setTimeout(()=>n.apply(this,s),r)}};let Bs;const am=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},ow=e=>{const{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},rI=e=>e,aI=e=>{const n=Math.max(e.startIndex-e.overscan,0),i=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,s=new Array(i);for(let l=0;l{const r=e.scrollElement;if(!r)return;const i=e.targetWindow;if(!i)return;const s=u=>{const{width:d,height:p}=u;n({width:Math.round(d),height:Math.round(p)})};if(s(ow(r)),!i.ResizeObserver)return()=>{};const l=new i.ResizeObserver(u=>{const d=()=>{const p=u[0];if(p?.borderBoxSize){const m=p.borderBoxSize[0];if(m){s({width:m.inlineSize,height:m.blockSize});return}}s(ow(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return l.observe(r,{box:"border-box"}),()=>{l.unobserve(r)}},Tu={passive:!0},oI=typeof window>"u"?!0:"onscrollend"in window,sI=(e,n,r)=>{const i=e.scrollElement;if(!i)return;const s=e.targetWindow;if(!s)return;const l=e.options.useScrollendEvent&&oI;let u=0;const d=l?null:nI(s,()=>n(u,!1),e.options.isScrollingResetDelay),p=v=>()=>{u=r(i),d?.(),n(u,v)},m=p(!0),y=p(!1);return i.addEventListener("scroll",m,Tu),l&&i.addEventListener("scrollend",y,Tu),()=>{i.removeEventListener("scroll",m),l&&i.removeEventListener("scrollend",y)}},lI=(e,n)=>sI(e,n,r=>{const{horizontal:i,isRtl:s}=e.options;return i?r.scrollLeft*(s&&-1||1):r.scrollTop}),cI=(e,n,r)=>{if(r.options.useCachedMeasurements){const i=r.indexFromElement(e),s=r.options.getItemKey(i);return r.itemSizeCache.get(s)??r.options.estimateSize(i)}if(n?.borderBoxSize){const i=n.borderBoxSize[0];if(i)return Math.round(i[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){const i=r.indexFromElement(e),s=r.options.getItemKey(i),l=r.itemSizeCache.get(s);if(l!==void 0)return l}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},uI=(e,{adjustments:n=0,behavior:r},i)=>{var s,l;(l=(s=i.scrollElement)==null?void 0:s.scrollTo)==null||l.call(s,{[i.options.horizontal?"left":"top"]:e+n,behavior:r})},dI=uI;class fI{constructor(n){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var r,i,s;return((s=(i=(r=this.targetWindow)==null?void 0:r.performance)==null?void 0:i.now)==null?void 0:s.call(i))??Date.now()},this.observer=(()=>{let r=null;const i=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(s=>{s.forEach(l=>{const u=()=>{const d=l.target,p=this.indexFromElement(d);if(!d.isConnected){this.observer.unobserve(d);for(const[m,y]of this.elementsCache)if(y===d){this.elementsCache.delete(m);break}return}this.shouldMeasureDuringScroll(p)&&this.resizeItem(p,this.options.measureElement(d,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()})}));return{disconnect:()=>{var s;(s=i())==null||s.disconnect(),r=null},observe:s=>{var l;return(l=i())==null?void 0:l.observe(s,{box:"border-box"})},unobserve:s=>{var l;return(l=i())==null?void 0:l.unobserve(s)}}})(),this.range=null,this.setOptions=r=>{var i,s;const l={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:rI,rangeExtractor:aI,onChange:()=>{},measureElement:cI,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const b in r){const x=r[b];x!==void 0&&(l[b]=x)}const u=this.options;let d=null,p=null,m=!1;if(u!==void 0&&u.enabled&&l.enabled&&l.anchorTo==="end"&&this.scrollElement!==null){const b=u.count,x=l.count,_=this.getMeasurements(),C=b>0?((i=_[0])==null?void 0:i.key)??u.getItemKey(0):null,E=b>0?((s=_[b-1])==null?void 0:s.key)??u.getItemKey(b-1):null;if(x!==b||b>0&&x>0&&(l.getItemKey(0)!==C||l.getItemKey(x-1)!==E)){m=!0;const T=b>0?this.getVirtualItemForOffset(this.getScrollOffset())??_[0]:null;T&&(d=[T.key,this.getScrollOffset()-T.start]);const z=l.followOnAppend===!0?"auto":l.followOnAppend||null;z&&x>b&&this.isAtEnd(u.scrollEndThreshold)&&(b===0||l.getItemKey(x-1)!==E)&&(p=z)}}this.options=l,m&&(this.pendingMin=0,this.itemSizeCacheVersion++);let y=!1,v=0;if(d&&this.scrollOffset!==null){const[b,x]=d,_=this.getMeasurements(),{count:C,getItemKey:E}=this.options;let R=0;for(;R{var i,s;(s=(i=this.options).onChange)==null||s.call(i,this,r)},this.maybeNotify=Oo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i){this.maybeNotify();return}if(this.scrollElement=i,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((r=this.scrollElement)==null?void 0:r.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,u)=>{if(u&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const d=this.getScrollOffset();this.scrollDirection=u?d===l?this.scrollDirection:d{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},d=()=>{this._iosTouching=!1,!(!am()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",u,Tu),l.addEventListener("touchend",d,Tu),this.unsubs.push(()=>{l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[l,u,d,p]=s;l!==null&&!d&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?p!==0&&(this._iosDeferredAdjustment+=p):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),d&&this.scrollToEnd({behavior:d})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const r=this.getScrollOffset(),i=this.getMaxScrollOffset();if(r<0||r>i)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(r,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Oo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(r,i,s,l,u,d,p,m)=>(this.prevLanes!==void 0&&this.prevLanes!==d&&(this.lanesChangedFlag=!0),this.prevLanes=d,this.pendingMin=null,{count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:p,gap:m}),{key:!1}),this.getMeasurements=Oo(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:p,gap:m},y)=>{const v=this.itemSizeCache;if(!u)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>r)for(const R of this.laneAssignments.keys())R>=r&&this.laneAssignments.delete(R);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(R=>{this.itemSizeCache.set(R.key,R.size)}));const b=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===r&&(this.lanesSettling=!1),d===1){const R=r*2;let O=this._flatMeasurements;if(!O||O.length0&&$.set(O.subarray(0,b*2)),O=$,this._flatMeasurements=O}let T;if(b===0)T=i+s;else{const $=b-1;T=O[$*2]+O[$*2+1]+m}for(let $=b;$1){z=T;const ge=_[z],fe=ge!==void 0?x[ge]:void 0;$=fe?fe.end+m:i+s}else if(E===d){let ge=0,fe=C[0],Q=_[0];for(let le=1;lethis.options.debug}),this.calculateRange=Oo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,i,s,l)=>r.length===0||i===0?(this.range=null,null):(this.range=mI(r,i,s,l,l===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Oo(()=>{let r=null,i=null;const s=this.calculateRange();return s&&(r=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,i]},(r,i,s,l,u)=>l===null||u===null?[]:r({startIndex:l,endIndex:u,overscan:i,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=r=>{const i=this.options.indexAttribute,s=r.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=r=>{var i;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:i.index);if(s!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),u=Math.max(0,s-l),d=Math.min(this.options.count-1,s+l);return r>=u&&r<=d}return!0},this.measureElement=r=>{if(!r){this.elementsCache.forEach((u,d)=>{u.isConnected||(this.observer.unobserve(u),this.elementsCache.delete(d))});return}const i=this.indexFromElement(r),s=this.options.getItemKey(i),l=this.elementsCache.get(s);l!==r&&(l&&this.observer.unobserve(l),this.observer.observe(r),this.elementsCache.set(s,r)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(r,void 0,this))},this.resizeItem=(r,i)=>{var s,l;if(r<0||r>=this.options.count)return;let u,d,p;const m=this._flatMeasurements;if(this.options.lanes===1&&m!==null)p=this.options.getItemKey(r),d=m[r*2],u=m[r*2+1];else{const b=this.measurementsCache[r];if(!b)return;p=b.key,d=b.start,u=b.size}const y=this.itemSizeCache.get(p)??u,v=i-y;if(v!==0){const b=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=b?this.getTotalSize():0,_=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[r]??{index:r,key:p,start:d,size:u,end:d+u,lane:0},v,this):d[this.getVirtualIndexes(),this.getMeasurements()],(r,i)=>{const s=[];for(let l=0,u=r.length;lthis.options.debug}),this.getVirtualItemForOffset=r=>{const i=this.getMeasurements();if(i.length===0)return;const s=this._flatMeasurements,l=this.options.lanes===1&&s!=null,u=FC(0,i.length-1,l?d=>s[d*2]:d=>iw(i[d]).start,r);return iw(i[u])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const r=this.scrollElement.document.documentElement;return this.options.horizontal?r.scrollWidth-this.scrollElement.innerWidth:r.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(r=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=r,this.getOffsetForAlignment=(r,i,s=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),u=this.getScrollOffset();i==="auto"&&(i=r>=u+l?"end":"start"),i==="center"?r+=(s-l)/2:i==="end"&&(r-=l);const d=this.getMaxScrollOffset();return Math.max(Math.min(d,r),0)},this.getOffsetForIndex=(r,i="auto")=>{r=Math.max(0,Math.min(r,this.options.count-1));const s=this.getSize(),l=this.getScrollOffset(),u=this.measurementsCache[r];if(!u)return;if(i==="auto")if(u.end>=l+s-this.options.scrollPaddingEnd)i="end";else if(u.start<=l+this.options.scrollPaddingStart)i="start";else return[l,i];if(i==="end"&&r===this.options.count-1)return[this.getMaxScrollOffset(),i];const d=i==="end"?u.end+this.options.scrollPaddingEnd:u.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(d,i,u.size),i]},this.scrollToOffset=(r,{align:i="start",behavior:s="auto"}={})=>{const l=this.getOffsetForAlignment(r,i),u=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:u,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(r,{align:i="auto",behavior:s="auto"}={})=>{r=Math.max(0,Math.min(r,this.options.count-1));const l=this.getOffsetForIndex(r,i);if(!l)return;const[u,d]=l,p=this.now();this.scrollState={index:r,align:d,behavior:s,startedAt:p,lastTargetOffset:u,stableFrames:0},this._scrollToOffset(u,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(r,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+r,l=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:l,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:r="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:r});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:r})},this.getTotalSize=()=>{var r;const i=this.getMeasurements();let s;if(i.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){const l=i.length-1,u=this._flatMeasurements;u!=null?s=u[l*2]+u[l*2+1]:s=((r=i[l])==null?void 0:r.end)??0}else{const l=Array(this.options.lanes).fill(null);let u=i.length-1;for(;u>=0&&l.some(d=>d===null);){const d=i[u];l[d.lane]===null&&(l[d.lane]=d.end),u--}s=Math.max(...l.filter(d=>d!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const r=[];if(this.itemSizeCache.size===0)return r;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&r.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return r},this._scrollToOffset=(r,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=r+(i??0),this.options.scrollToFn(r,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(n)}applyScrollAdjustment(n,r){n!==0&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=n:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:r}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const i=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=i?i[0]:this.scrollState.lastTargetOffset,l=1,u=s!==this.scrollState.lastTargetOffset;if(!u&&tI(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,u){const d=this.getSize()||600,p=Math.abs(s-this.getScrollOffset()),m=this.scrollState.behavior==="smooth"&&p>d;this.scrollState.lastTargetOffset=s,m||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:m?"smooth":"auto"})}this.scheduleScrollReconcile()}}const FC=(e,n,r,i)=>{for(;e<=n;){const s=(e+n)/2|0,l=r(s);if(li)n=s-1;else return s}return e>0?e-1:0};function hI(e,n,r){let i=0;for(;i<=n;){const s=(i+n)/2|0,l=e[s*2];if(lr)n=s-1;else return s}return i>0?i-1:0}function mI(e,n,r,i,s){const l=e.length-1;if(e.length<=i)return{startIndex:0,endIndex:l};if(i===1&&s!==null){const m=hI(s,l,r);let y=m;const v=r+n;for(;ye[m].start,r),p=d;if(i===1)for(;p1){const m=Array(i).fill(0);for(;pv=0&&y.some(v=>v>=r);){const v=e[d];y[v.lane]=v.start,d--}d=Math.max(0,d-d%i),p=Math.min(l,p+(i-1-p%i))}return{startIndex:d,endIndex:p}}const im=typeof document<"u"?w.useLayoutEffect:w.useEffect;function pI({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...i}){const s=w.useReducer(m=>m+1,0)[1],l=w.useRef({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=n,l.current.mode=r;const u=m=>{const y=l.current;if(!y.enabled||!y.container)return;const v=m.getTotalSize();if(v!==y.lastSize){y.lastSize=v;const R=m.options.horizontal?"width":"height";y.container.style[R]=`${v}px`}const b=!!m.options.horizontal,x=y.mode==="transform",_=b?"left":"top",C=m.options.scrollMargin,E=m.getVirtualItems();for(const R of E){const O=R.start-C,T=m.elementsCache.get(R.key);T&&y.lastPositions.get(T)!==O&&(y.lastPositions.set(T,O),x?T.style.transform=b?`translate3d(${O}px, 0, 0)`:`translate3d(0, ${O}px, 0)`:T.style[_]=`${O}px`)}},d={...i,onChange:(m,y)=>{var v;const b=l.current;let x=!0;if(b.enabled){u(m);const _=m.range,C=b.prevRange;x=!C||C.isScrolling!==m.isScrolling||C.startIndex!==_?.startIndex||C.endIndex!==_?.endIndex,x&&(b.prevRange=_?{startIndex:_.startIndex,endIndex:_.endIndex,isScrolling:m.isScrolling}:null)}x&&(e&&y?Mi.flushSync(s):s()),(v=i.onChange)==null||v.call(i,m,y)}},[p]=w.useState(()=>{const m=new fI(d);return Object.assign(m,{containerRef:y=>{const v=l.current;if(v.container=y,v.lastSize=null,y&&v.enabled){const b=m.getTotalSize();v.lastSize=b;const x=m.options.horizontal?"width":"height";y.style[x]=`${b}px`}}})});return p.setOptions(d),im(()=>p._didMount(),[]),im(()=>p._willUpdate()),im(()=>{u(p)}),p}function gI(e){return pI({observeElementRect:iI,observeElementOffset:lI,scrollToFn:dI,...e})}function vI(e,n){const r=[],i=(s,l)=>{for(const u of s)r.push({node:u,depth:l}),u.dir&&n.has(u.path)&&i(u.children||[],l+1)};return i(e?.children||[],0),r}function yI(e){const{root:n,expanded:r,onToggle:i,currentPath:s,listingShowing:l,onOpen:u}=e,d=w.useRef(null),p=w.useMemo(()=>vI(n,r),[n,r]),m=gI({count:p.length,getScrollElement:()=>d.current,estimateSize:()=>window.matchMedia("(max-width: 768px)").matches?44:28,overscan:12,getItemKey:y=>p[y].node.path});return w.useEffect(()=>{if(!s)return;const y=p.findIndex(v=>v.node.path===s);y>=0&&m.scrollToIndex(y,{align:"auto"})},[s,p]),f.jsx("nav",{id:"tree","aria-label":"Files",ref:d,children:f.jsx("div",{style:{height:m.getTotalSize(),position:"relative"},children:m.getVirtualItems().map(y=>{const{node:v,depth:b}=p[y.index],x=v.dir?r.has(v.path):!1,_=()=>{if(v.dir&&s===v.path&&l){i(v.path);return}u(v.path),v.dir||pr()};return f.jsxs("div",{className:"row "+(v.dir?"dir":"file")+(s===v.path?" active":"")+(v.dir&&!x?" collapsed":""),"data-path":v.path,tabIndex:0,role:"button",title:v.name,"aria-expanded":v.dir?x:void 0,style:{position:"absolute",top:0,left:0,right:0,transform:`translateY(${y.start}px)`,paddingLeft:8+b*13},onClick:_,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),_())},children:[Array.from({length:b},(C,E)=>f.jsx("span",{className:"tguide",style:{left:8+E*13+5},"aria-hidden":"true"},E)),f.jsx("span",{className:"chev",onClick:C=>{v.dir&&(C.stopPropagation(),i(v.path))},children:f.jsx(dt,{name:"chevd"})}),f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:v.dir?"folder":"doc"})}),f.jsx("span",{className:"label",children:v.name})]},y.key)})})})}function bI(e){const n=e.split("/"),r=[];let i="";for(let s=0;s{i=i?i+"/"+s:s;const u=i,d=l===r.length-1;return f.jsxs("span",{children:[l>0&&f.jsx("span",{className:"crumb-sep",children:"/"}),d?f.jsx("span",{children:s}):f.jsx("span",{className:"crumb-seg",title:u,onClick:()=>n(u),children:s})]},u)})})}function sw(e){if(e==="")return[];const n=e.split(` +`);return n[n.length-1]===""&&n.pop(),n}const wI=4e6;function SI(e,n){let r=0;for(;rs.push({op:"-",line:l[v],an:r+v+1}),y=v=>s.push({op:"+",line:u[v],bn:r+v+1});if(d*p>wI){for(let v=0;v=0;_--)for(let C=p-1;C>=0;C--)v[_][C]=l[_]===u[C]?v[_+1][C+1]+1:Math.max(v[_+1][C],v[_][C+1]);let b=0,x=0;for(;b=v[b][x+1]?m(b++):y(x++);for(;bi.op==="+").length,del:r.filter(i=>i.op==="-").length}}const VC=1<<20,CI=8192;function EI(e){if(e.byteLength>VC)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,CI).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Xm(e,n,r,i){let s=e+"blob?sha="+encodeURIComponent(n);return r&&(s+="&name="+encodeURIComponent(r)),i&&(s+="&download=1"),s}async function RI(e){const n=await uj(e),r=Number(n.headers.get("Content-Length"));return r>VC?{kind:"too-large",size:r}:EI(new Uint8Array(await n.arrayBuffer()))}function UC(e,n,r,i){return Zt({queryKey:n,queryFn:()=>RI(e),enabled:r,...i?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function lw(e,n,r){return UC(n?Xm(e,n):"",["blob",e,n],!!n,!0)}function jI(e){return e.slice(e.lastIndexOf("/")+1)}function TI({apiBase:e,path:n,prev:r,cur:i}){const s=jI(n);return f.jsxs("span",{className:"dv-dl",children:[f.jsx("a",{href:Xm(e,r,s,!0),children:"download previous"}),f.jsx("a",{href:Xm(e,i,s,!0),children:"download this version"})]})}function OI({apiBase:e,path:n,prev:r,cur:i}){const s=lw(e,r),l=lw(e,i),u=s.data?.kind==="text"&&l.data?.kind==="text",d=w.useMemo(()=>s.data?.kind==="text"&&l.data?.kind==="text"?_I(s.data.text,l.data.text):null,[s.data,l.data]);if(s.error||l.error)return f.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!s.data||!l.data)return f.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=s.data.kind==="too-large"||l.data.kind==="too-large";return f.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",f.jsx(TI,{apiBase:e,path:n,prev:r,cur:i})]})}const{lines:p,add:m,del:y}=d;return f.jsxs("div",{className:"dv",children:[f.jsxs("div",{className:"dv-head",children:[f.jsxs("span",{className:"dv-stat",children:[f.jsxs("span",{className:"dv-add",children:["+",m]})," ",f.jsxs("span",{className:"dv-del",children:["−",y]})]}),m===0&&y===0&&f.jsx("span",{className:"dv-same",children:"No line changes"})]}),f.jsx("div",{className:"dv-body",children:p.map((v,b)=>f.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[f.jsx("span",{className:"dv-n",children:v.an??""}),f.jsx("span",{className:"dv-n",children:v.bn??""}),f.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),f.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const AI={add:"added",edit:"edited",delete:"deleted"};function HC({text:e}){return f.jsx(f.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?f.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function mg({entry:e,apiBase:n,onOpen:r,diff:i,restore:s,remove:l,restoreSha:u,inRun:d}){const[p,m]=w.useState(!1),[y,v]=w.useState(!1),b=e.kind==="put"?"edit":e.kind,x=dd(e),_=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),C=b!=="delete",E=!!i&&b!=="delete"&&!!e.blob,R=!!d&&b==="add",O=!!s&&!!u&&!R,T=!!l&&R,z=!!s?.busy&&s.busy===e.path+u,$=!!l?.busy&&l.busy===e.path,B=C&&!!e.blob,F=e.path.split("/").pop()||e.path,V=new Date(e.time).toLocaleString(),pe=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(F)+"&download=1",ge=()=>v(!y),fe=Q=>{Q.target.tagName!=="A"&&C&&r(e.path,e.blob)};return f.jsxs("div",{className:"hentry "+b+(C?" clickable":""),tabIndex:C?0:void 0,role:C?"button":void 0,onClick:fe,onKeyDown:Q=>{C&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),r(e.path,e.blob))},children:[f.jsxs("div",{className:"hline",children:[f.jsx("span",{className:"hkind",children:AI[b]||b}),f.jsx("span",{className:"hpath",children:e.path}),f.jsx("span",{className:"htime",children:V})]}),f.jsxs("div",{className:"hmeta",children:[f.jsx("span",{className:"hwho",children:x}),f.jsx("span",{className:"hdev",children:_}),f.jsx("span",{className:"hsize",children:e.size?hg(e.size):""}),O&&f.jsxs("button",{type:"button",className:"hrestore-btn",disabled:z,title:"Put this version of "+e.path+" back as a new change",onClick:Q=>{Q.stopPropagation(),s.onRestore(e.path,u)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"hist"}),z?"restoring…":"restore"]}),T&&f.jsxs("button",{type:"button",className:"hremove-btn",disabled:$,title:"Remove "+e.path+" — this run created it",onClick:Q=>{Q.stopPropagation(),l.onRemove(e.path)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"trash"}),$?"removing…":"undo — remove file"]})]}),e.note&&!d&&f.jsx("div",{className:"hnote"+(p?" open":""),tabIndex:0,role:"button",title:p?"Collapse note":"Show full note","aria-expanded":p,onClick:Q=>{Q.stopPropagation(),Q.target.tagName!=="A"&&m(!p)},onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),m(!p))},children:f.jsx(HC,{text:e.note})}),(E||B)&&f.jsxs("div",{className:"hactions",children:[E&&(i.prev?f.jsxs("button",{type:"button",className:"hdiff-btn"+(y?" open":""),"aria-expanded":y,onClick:Q=>{Q.stopPropagation(),ge()},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:y?"chevd":"chev"}),y?"hide changes":"show changes"]}):f.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),B&&f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${F} as of ${V}`,onClick:Q=>{Q.stopPropagation(),r(e.path,e.blob)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"clock"}),"Open this version"]}),f.jsxs("a",{className:"hver-btn",download:!0,href:pe,"aria-label":`Download ${F} as of ${V}`,onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>{Q.stopPropagation(),Q.key===" "&&(Q.preventDefault(),Q.currentTarget.click())},children:[f.jsx(dt,{name:"download"}),"Download"]})]})]}),E&&i.prev&&y&&f.jsx("div",{onClick:Q=>Q.stopPropagation(),children:f.jsx(OI,{apiBase:i.apiBase,path:e.path,prev:i.prev,cur:e.blob})})]})}function MI(e){const{node:n,heatMap:r,onOpen:i}=e,s=(n.children||[]).slice().sort((m,y)=>Number(y.dir||!1)-Number(m.dir||!1)||m.name.localeCompare(y.name)),l=s.filter(m=>m.dir).length,u=s.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const p=aw(r,n.path,!0);return p&&d.push(Ys(p)+" in 30 days"),f.jsxs("div",{className:"dirlist",children:[f.jsxs("h1",{className:"dl-title",children:[f.jsx("span",{className:"dl-title-icon",children:f.jsx(dt,{name:"folder"})}),f.jsx("span",{children:n.name})]}),f.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),s.length===0?f.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):f.jsx("div",{className:"dl-items",children:s.map(m=>{let y="";if(m.dir){const b=(m.children||[]).length;y=b+(b===1?" item":" items")}else y=[m.size?hg(m.size):"",m.time?new Date(m.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=aw(r,m.path,!!m.dir);return v&&(y=Ys(v)+(y?" · "+y:"")),f.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:m.path,onClick:()=>i(m.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i(m.path))},children:[f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:m.dir?"folder":"doc"})}),f.jsx("span",{className:"dl-name",children:m.name}),v&&f.jsx("span",{className:"heatdot lvl"+B$(v),role:"img","aria-label":Ys(v)+" in 30 days",title:Ys(v)+" in 30 days"}),f.jsx("span",{className:"dl-meta",children:y})]},m.path)})}),e.hub&&f.jsx(NI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:i,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function NI(e){const n=W$(e.apiBase,e.prefix,!0),{onRendered:r}=e;return w.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:f.jsxs("div",{className:"dl-history",children:[f.jsx("h3",{className:"dl-h3",children:"Recent changes"}),f.jsx("div",{className:"history dl-hlist",children:n.map((i,s)=>f.jsx(mg,{entry:i,apiBase:e.apiBase,onOpen:e.onOpen},s))}),f.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}function DI(e){const{apiBase:n,path:r,version:i,onMeta:s}=e,l=i?n+"blob?sha="+i+"&name="+encodeURIComponent(r):n+"file?path="+encodeURIComponent(r);return w.useEffect(()=>()=>s(""),[r,s]),f$.test(r)?f.jsx(LI,{...e}):RC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):jC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):h$.test(r)?f.jsx(PI,{src:l,alt:r,version:i,onRendered:e.onRendered}):m$.test(r)?f.jsx(FI,{...e,fileURL:l}):f.jsx(zI,{...e,fileURL:l})}function zI(e){const{apiBase:n,path:r,version:i,fileURL:s,onRendered:l}=e,{data:u,error:d}=UC(s,["text",s],!0,!!i);return w.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(kI,{apiBase:n,path:r,version:i,fileURL:s,children:u.kind==="too-large"?`Too large to preview (${hg(u.size)}).`:"No preview for this file type."}):null}function kI(e){const{apiBase:n,path:r,version:i,fileURL:s}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?s+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function LI(e){const{apiBase:n,path:r,version:i,heatMap:s,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:p}=e,{data:m,error:y}=Zt({queryKey:["render",n,r,i||""],queryFn:()=>ln(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=w.useMemo(()=>m?II(m.html,r,n):"",[m,r,n]);return w.useEffect(()=>{if(!m)return;const b=[];(m.user_name||m.user||m.author)&&b.push(dd(m)+(m.device?" on "+m.device:"")),m.time&&b.push(new Date(m.time).toLocaleString());const x=i?null:s&&s[m.path];x&&ka(x)&&b.push(Ys(x)+" / 30d"),d(b.join(" · ")),p?.()},[m,i,s,d,p]),y?f.jsx(fd,{version:i,err:y}):m?f.jsx("div",{dangerouslySetInnerHTML:{__html:v},onClick:b=>$I(b,r,l,u)}):null}function $I(e,n,r,i){const s=e.target.closest("a");if(!s||!e.currentTarget.contains(s))return;const l=s.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),VI(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(TC(u,decodeURIComponent(l))))}function II(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",s=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",s(TC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function PI(e){const[n,r]=w.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function FI(e){const{path:n,version:r,fileURL:i,onRendered:s}=e,{data:l,error:u}=Zt({queryKey:["text",i],queryFn:async()=>{const d=await fetch(i);if(!d.ok)throw new Error(await d.text());return d.text()},retry:r?!1:void 0});return w.useEffect(()=>{l!=null&&s?.()},[l,s]),u?f.jsx(fd,{version:r,err:u}):l==null?null:f.jsx("pre",{className:"plain",children:l},n)}function VI(e,n,r){const i=e.toLowerCase(),s=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});s&&r(s.path)}const UI=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function HI({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[s,l]=w.useState(""),[u,d]=w.useState(),[p,m]=w.useState(!1),y=w.useRef(null);async function v(b){const x=s;l(b),m(!0);try{const _=await tr("PATCH","/api/shares/"+i,{expires_in:b});d(_.expires)}catch(_){Ke(_.message,!0),l(x)}finally{m(!1)}}return f.jsx(Xu,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(xl,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:s,disabled:p,onChange:b=>v(b.target.value),children:UI.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:AC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>Bo(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function BI({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(dt,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it."]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:MC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>Bo(i.url).then(s=>Ke(s?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>DC(i,r),children:"Revoke"})]})]},i.token))]})}var cw=1,qI=.9,GI=.8,ZI=.17,om=.1,sm=.999,KI=.9999,YI=.99,QI=/[\\\/_+.#"@\[\(\{&]/,XI=/[\\\/_+.#"@\[\(\{&]/g,JI=/[\s-]/,BC=/[\s-]/g;function Jm(e,n,r,i,s,l,u){if(l===n.length)return s===e.length?cw:YI;var d=`${s},${l}`;if(u[d]!==void 0)return u[d];for(var p=i.charAt(l),m=r.indexOf(p,s),y=0,v,b,x,_;m>=0;)v=Jm(e,n,r,i,m+1,l+1,u),v>y&&(m===s?v*=cw:QI.test(e.charAt(m-1))?(v*=GI,x=e.slice(s,m-1).match(XI),x&&s>0&&(v*=Math.pow(sm,x.length))):JI.test(e.charAt(m-1))?(v*=qI,_=e.slice(s,m-1).match(BC),_&&s>0&&(v*=Math.pow(sm,_.length))):(v*=ZI,s>0&&(v*=Math.pow(sm,m-s))),e.charAt(m)!==n.charAt(l)&&(v*=KI)),(vv&&(v=b*om)),v>y&&(y=v),m=r.indexOf(p,m+1);return u[d]=y,y}function uw(e){return e.toLowerCase().replace(BC," ")}function WI(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Jm(e,n,uw(e),uw(n),0,0,{})}var qs='[cmdk-group=""]',lm='[cmdk-group-items=""]',eP='[cmdk-group-heading=""]',qC='[cmdk-item=""]',dw=`${qC}:not([aria-disabled="true"])`,Wm="cmdk-item-select",Ao="data-value",tP=(e,n,r)=>WI(e,n,r),GC=w.createContext(void 0),El=()=>w.useContext(GC),ZC=w.createContext(void 0),pg=()=>w.useContext(ZC),KC=w.createContext(void 0),YC=w.forwardRef((e,n)=>{let r=Mo(()=>{var M,H;return{search:"",value:(H=(M=e.value)!=null?M:e.defaultValue)!=null?H:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Mo(()=>new Set),s=Mo(()=>new Map),l=Mo(()=>new Map),u=Mo(()=>new Set),d=QC(e),{label:p,children:m,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:_,disablePointerSelection:C=!1,vimBindings:E=!0,...R}=e,O=hn(),T=hn(),z=hn(),$=w.useRef(null),B=fP();Oi(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,F.emit()}},[y]),Oi(()=>{B(6,le)},[]);let F=w.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,H,X)=>{var K,se,ee,ve;if(!Object.is(r.current[M],H)){if(r.current[M]=H,M==="search")Q(),ge(),B(1,fe);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ye=document.getElementById(z);ye?ye.focus():(K=document.getElementById(O))==null||K.focus()}if(B(7,()=>{var ye;r.current.selectedItemId=(ye=ue())==null?void 0:ye.id,F.emit()}),X||B(5,le),((se=d.current)==null?void 0:se.value)!==void 0){let ye=H??"";(ve=(ee=d.current).onValueChange)==null||ve.call(ee,ye);return}}F.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),V=w.useMemo(()=>({value:(M,H,X)=>{var K;H!==((K=l.current.get(M))==null?void 0:K.value)&&(l.current.set(M,{value:H,keywords:X}),r.current.filtered.items.set(M,pe(H,X)),B(2,()=>{ge(),F.emit()}))},item:(M,H)=>(i.current.add(M),H&&(s.current.has(H)?s.current.get(H).add(M):s.current.set(H,new Set([M]))),B(3,()=>{Q(),ge(),r.current.value||fe(),F.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let X=ue();B(4,()=>{Q(),X?.getAttribute("id")===M&&fe(),F.emit()})}),group:M=>(s.current.has(M)||s.current.set(M,new Set),()=>{l.current.delete(M),s.current.delete(M)}),filter:()=>d.current.shouldFilter,label:p||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:O,inputId:z,labelId:T,listInnerRef:$}),[]);function pe(M,H){var X,K;let se=(K=(X=d.current)==null?void 0:X.filter)!=null?K:tP;return M?se(M,r.current.search,H):0}function ge(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,H=[];r.current.filtered.groups.forEach(K=>{let se=s.current.get(K),ee=0;se.forEach(ve=>{let ye=M.get(ve);ee=Math.max(ye,ee)}),H.push([K,ee])});let X=$.current;xe().sort((K,se)=>{var ee,ve;let ye=K.getAttribute("id"),Ne=se.getAttribute("id");return((ee=M.get(Ne))!=null?ee:0)-((ve=M.get(ye))!=null?ve:0)}).forEach(K=>{let se=K.closest(lm);se?se.appendChild(K.parentElement===se?K:K.closest(`${lm} > *`)):X.appendChild(K.parentElement===X?K:K.closest(`${lm} > *`))}),H.sort((K,se)=>se[1]-K[1]).forEach(K=>{var se;let ee=(se=$.current)==null?void 0:se.querySelector(`${qs}[${Ao}="${encodeURIComponent(K[0])}"]`);ee?.parentElement.appendChild(ee)})}function fe(){let M=xe().find(X=>X.getAttribute("aria-disabled")!=="true"),H=M?.getAttribute(Ao);F.setState("value",H||void 0)}function Q(){var M,H,X,K;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let se=0;for(let ee of i.current){let ve=(H=(M=l.current.get(ee))==null?void 0:M.value)!=null?H:"",ye=(K=(X=l.current.get(ee))==null?void 0:X.keywords)!=null?K:[],Ne=pe(ve,ye);r.current.filtered.items.set(ee,Ne),Ne>0&&se++}for(let[ee,ve]of s.current)for(let ye of ve)if(r.current.filtered.items.get(ye)>0){r.current.filtered.groups.add(ee);break}r.current.filtered.count=se}function le(){var M,H,X;let K=ue();K&&(((M=K.parentElement)==null?void 0:M.firstChild)===K&&((X=(H=K.closest(qs))==null?void 0:H.querySelector(eP))==null||X.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=$.current)==null?void 0:M.querySelector(`${qC}[aria-selected="true"]`)}function xe(){var M;return Array.from(((M=$.current)==null?void 0:M.querySelectorAll(dw))||[])}function N(M){let H=xe()[M];H&&F.setState("value",H.getAttribute(Ao))}function q(M){var H;let X=ue(),K=xe(),se=K.findIndex(ve=>ve===X),ee=K[se+M];(H=d.current)!=null&&H.loop&&(ee=se+M<0?K[K.length-1]:se+M===K.length?K[0]:K[se+M]),ee&&F.setState("value",ee.getAttribute(Ao))}function ae(M){let H=ue(),X=H?.closest(qs),K;for(;X&&!K;)X=M>0?uP(X,qs):dP(X,qs),K=X?.querySelector(dw);K?F.setState("value",K.getAttribute(Ao)):q(M)}let te=()=>N(xe().length-1),ne=M=>{M.preventDefault(),M.metaKey?te():M.altKey?ae(1):q(1)},k=M=>{M.preventDefault(),M.metaKey?N(0):M.altKey?ae(-1):q(-1)};return w.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var H;(H=R.onKeyDown)==null||H.call(R,M);let X=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||X))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&ne(M);break}case"ArrowDown":{ne(M);break}case"p":case"k":{E&&M.ctrlKey&&k(M);break}case"ArrowUp":{k(M);break}case"Home":{M.preventDefault(),N(0);break}case"End":{M.preventDefault(),te();break}case"Enter":{M.preventDefault();let K=ue();if(K){let se=new Event(Wm);K.dispatchEvent(se)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:V.inputId,id:V.labelId,style:mP},p),md(e,M=>w.createElement(ZC.Provider,{value:F},w.createElement(GC.Provider,{value:V},M))))}),nP=w.forwardRef((e,n)=>{var r,i;let s=hn(),l=w.useRef(null),u=w.useContext(KC),d=El(),p=QC(e),m=(i=(r=p.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Oi(()=>{if(!m)return d.item(s,u?.id)},[m]);let y=XC(s,l,[e.value,e.children,l],e.keywords),v=pg(),b=qa(B=>B.value&&B.value===y.current),x=qa(B=>m||d.filter()===!1?!0:B.search?B.filtered.items.get(s)>0:!0);w.useEffect(()=>{let B=l.current;if(!(!B||e.disabled))return B.addEventListener(Wm,_),()=>B.removeEventListener(Wm,_)},[x,e.onSelect,e.disabled]);function _(){var B,F;C(),(F=(B=p.current).onSelect)==null||F.call(B,y.current)}function C(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:O,forceMount:T,keywords:z,...$}=e;return w.createElement($e.div,{ref:Fo(l,n),...$,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:C,onClick:E?void 0:_},e.children)}),rP=w.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:s,...l}=e,u=hn(),d=w.useRef(null),p=w.useRef(null),m=hn(),y=El(),v=qa(x=>s||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Oi(()=>y.group(u),[]),XC(u,d,[e.value,e.heading,p]);let b=w.useMemo(()=>({id:u,forceMount:s}),[s]);return w.createElement($e.div,{ref:Fo(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&w.createElement("div",{ref:p,"cmdk-group-heading":"","aria-hidden":!0,id:m},r),md(e,x=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?m:void 0},w.createElement(KC.Provider,{value:b},x))))}),aP=w.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,s=w.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:w.createElement($e.div,{ref:Fo(s,n),...i,"cmdk-separator":"",role:"separator"})}),iP=w.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,s=e.value!=null,l=pg(),u=qa(m=>m.search),d=qa(m=>m.selectedItemId),p=El();return w.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),w.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":p.listId,"aria-labelledby":p.labelId,"aria-activedescendant":d,id:p.inputId,type:"text",value:s?e.value:u,onChange:m=>{s||l.setState("search",m.target.value),r?.(m.target.value)}})}),oP=w.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...s}=e,l=w.useRef(null),u=w.useRef(null),d=qa(m=>m.selectedItemId),p=El();return w.useEffect(()=>{if(u.current&&l.current){let m=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=m.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(m),()=>{cancelAnimationFrame(v),b.unobserve(m)}}},[]),w.createElement($e.div,{ref:Fo(l,n),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:p.listId},md(e,m=>w.createElement("div",{ref:Fo(u,p.listInnerRef),"cmdk-list-sizer":""},m)))}),sP=w.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:s,contentClassName:l,container:u,...d}=e;return w.createElement(fp,{open:r,onOpenChange:i},w.createElement(mp,{container:u},w.createElement(pp,{"cmdk-overlay":"",className:s}),w.createElement(gp,{"aria-label":e.label,"cmdk-dialog":"",className:l},w.createElement(YC,{ref:n,...d}))))}),lP=w.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?w.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),cP=w.forwardRef((e,n)=>{let{progress:r,children:i,label:s="Loading...",...l}=e;return w.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},md(e,u=>w.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(YC,{List:oP,Item:nP,Input:iP,Group:rP,Separator:aP,Dialog:sP,Empty:lP,Loading:cP});function uP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function dP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function QC(e){let n=w.useRef(e);return Oi(()=>{n.current=e}),n}var Oi=typeof window>"u"?w.useEffect:w.useLayoutEffect;function Mo(e){let n=w.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=pg(),r=()=>e(n.snapshot());return w.useSyncExternalStore(n.subscribe,r,r)}function XC(e,n,r,i=[]){let s=w.useRef(),l=El();return Oi(()=>{var u;let d=(()=>{var m;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(m=y.current.textContent)==null?void 0:m.trim():s.current}})(),p=i.map(m=>m.trim());l.value(e,d,p),(u=n.current)==null||u.setAttribute(Ao,d),s.current=d}),s}var fP=()=>{let[e,n]=w.useState(),r=Mo(()=>new Map);return Oi(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,s)=>{r.current.set(i,s),n({})}};function hP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&w.isValidElement(n)?w.cloneElement(hP(n),{ref:n.ref},r(n.props.children)):r(n)}var mP={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function pP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Xe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function gP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(g_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Xe("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function vP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Xe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function yP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function fw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let s=0,l=0,u=0;const d=[];for(let p=0;p3&&i.endsWith("ies")?s=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?s=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(s=i.slice(0,-1)),s?fw(s,n):null}function xP({text:e,hits:n}){const r=[];let i=0;return n.forEach((s,l)=>{s>i&&r.push(e.slice(i,s)),r.push(f.jsx("b",{children:e[s]},l)),i=s+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function wP({open:e,onClose:n,candidates:r}){const[i,s]=w.useState(""),l=w.useMemo(()=>{if(!e)return[];const d=[];for(const p of r()){const m=bP(i,p.label);m&&d.push({...p,score:m.score,hits:m.hits})}return d.sort((p,m)=>m.score-p.score),d.slice(0,40)},[e,i,r]);w.useEffect(()=>{e&&s("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Xu,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Ju,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(xl,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(pP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(dt,{name:"search"}),f.jsx(gP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:s})]}),f.jsx(vP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(yP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(dt,{name:d.icon})}),f.jsx(xP,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Qs=3,No=30;function SP(e,n){return Zt({queryKey:["heatDevices",e],queryFn:()=>ln(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}function hw(e){const[n,r]=w.useState("all"),{flatFiles:i,heatMap:s,devices:l,scope:u}=e,d=_=>!u||_===u||_.startsWith(u+"/"),p=u?i.filter(_=>d(_.path)):i;if(!e.loading&&!p.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...cl(e.installHref),children:"Set up a device →"})]})]});const m=l&&u?l.map(_=>{const C={};for(const[E,R]of Object.entries(_.folders||{}))d(E)&&(C[E]=R);return{..._,folders:C}}).filter(_=>Object.keys(_.folders).length>0):l,y=Date.now(),v=p.map(_=>{const C=s&&s[_.path]||{},E=_.time?Math.max(0,(y-new Date(_.time).getTime())/864e5):0,R=n==="all"?ka(C):C[n]||0;return{path:_.path,reads:R,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ka(C),days:E,danger:R>=Qs&&E>=No}}),b=G$(s,new Set(i.map(_=>_.path))).filter(d).map(_=>{const C=s[_];return{path:_,reads:n==="all"?ka(C):C[n]||0,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ka(C),days:0,danger:!1,orphan:!0}}).filter(_=>_.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[ep(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),f.jsx("div",{className:"in-lens",children:["all","human","agent"].map(_=>f.jsx("button",{className:"in-lens-btn"+(_===n?" active":""),onClick:()=>r(_),children:_==="all"?"All reads":_==="human"?"Human reads":"Agent reads"},_))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(_P,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsx("h3",{className:"dl-h3",children:"Reads × freshness"}),f.jsx(EP,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(RP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),m&&m.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(jP,{devices:m})]})]})}function JC(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),s=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*s));return`rgb(${l[0]},${l[1]},${l[2]})`}function mw(e,n,r,i,s){const l=e.reduce((m,y)=>m+y.value,0);if(!l||i<=0||s<=0)return[];const u=e.slice().sort((m,y)=>y.value-m.value).map(m=>({it:m,a:m.value/l*i*s})),d=(m,y)=>{const b=m.reduce((_,C)=>_+C.a,0)/y;let x=0;for(const _ of m){const C=_.a/b;x=Math.max(x,C/b,b/C)}return x},p=[];for(;u.length;){const m=i>=s,y=m?s:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((_,C)=>_+C.a,0)/y;let x=0;for(const _ of v){const C=_.a/b;m?p.push({item:_.it,x:n,y:r+x,w:b,h:C}):p.push({item:_.it,x:n+x,y:r,w:C,h:b}),x+=C}m?(n+=b,i-=b):(r+=b,s-=b)}return p}const cm=15;function pw(e,n,r){const i=Math.floor((r-8)/6),s=`${e} · ${n}`;return s.length<=i?{label:s,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const ep=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function _P({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=new Map;for(const p of e){const m=p.path.includes("/")?p.path.split("/")[0]:"/";let y=u.get(m);y||u.set(m,y={name:m,files:[],value:0,reads:0}),y.files.push(p),y.value+=p.reads+1,y.reads+=p.reads}const d=[];for(const p of mw([...u.values()],0,0,720,480)){const m=p.item,y=m.name==="/"?"":m.name,v=m.name==="/"?"(root)":m.name;if(d.push(f.jsx("rect",{x:p.x+1,y:p.y+1,width:Math.max(0,p.w-2),height:Math.max(0,p.h-2),rx:3,className:"in-tm-group","data-dir":y,children:f.jsx("title",{children:`${m.name==="/"?"(root)":m.name+"/"} — ${ep(m.reads,"read")}/30d · ${ep(m.files.length,"file")}`})},"g"+m.name)),p.w>46&&p.h>cm+10){const{label:x}=pw(v,m.reads,p.w);d.push(f.jsx("text",{x:p.x+5,y:p.y+12,className:"in-tm-glabel","data-dir":y,children:x},"gl"+m.name))}const b=mw(m.files.map(x=>({...x,name:x.path.split("/").pop(),value:x.reads+1})),p.x+2,p.y+cm,Math.max(0,p.w-4),Math.max(0,p.h-cm-2));for(const x of b)if(d.push(f.jsx("rect",{x:x.x+.6,y:x.y+.6,width:Math.max(.4,x.w-1.2),height:Math.max(.4,x.h-1.2),rx:1.5,fill:JC(x.item.days),className:"in-tm-cell","data-path":x.item.path,children:f.jsx("title",{children:`${x.item.path} — ${x.item.reads} read${x.item.reads===1?"":"s"}/30d · changed ${Math.round(x.item.days)}d ago`})},x.item.path)),x.w>54&&x.h>16){const{label:_,fit:C}=pw((x.item.danger?"⚠ ":"")+x.item.name,x.item.reads,x.w);C>=5&&d.push(f.jsx("text",{x:x.x+4.5,y:x.y+12.5,className:"in-tm-label","data-path":x.item.path,children:_},"l"+x.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:p=>{const m=p.target.closest("[data-path], [data-dir]");if(!m)return;const y=m.getAttribute("data-path");if(y)return n(y);const v=m.getAttribute("data-dir");v&&i(v)&&r(v)},children:d}),f.jsx(CP,{pts:e})]})}function CP({pts:e}){const n=K$(e.map(i=>i.days));if(!n)return null;const r=Q$(n.min,n.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age",style:{background:`linear-gradient(to right, ${[0,60,150,300].map(JC).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:Y$(n.min,n.max)?`all files here: ${r} old — colour carries no signal in this range`:`observed: ${r} old`})]})}function EP({pts:e,onOpenFile:n}){const s={l:44,r:16,t:20,b:34},l=Math.max(No*2,...e.map(v=>v.days)),u=Math.max(Qs*2,...e.map(v=>v.reads)),d=v=>Math.log10(v+1)/Math.log10(l+1),p=v=>Math.log10(v+1)/Math.log10(u+1),m=v=>s.l+d(v)*(720-s.l-s.r),y=v=>360-s.b-p(v)*(360-s.t-s.b);return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:m(No),y:s.t,width:720-s.r-m(No),height:y(Qs)-s.t,className:"in-danger-zone"}),f.jsx("line",{x1:m(No),y1:s.t,x2:m(No),y2:360-s.b,className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:y(Qs),x2:720-s.r,y2:y(Qs),className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:360-s.b,x2:720-s.r,y2:360-s.b,className:"in-axis"}),f.jsx("line",{x1:s.l,y1:s.t,x2:s.l,y2:360-s.b,className:"in-axis"}),f.jsx("text",{x:(s.l+720-s.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(s.t+360-s.b)/2,className:"in-label",transform:`rotate(-90 12 ${(s.t+360-s.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-s.r-6,y:s.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:s.l+6,y:s.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-s.r-6,y:360-s.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:s.l+6,y:360-s.b-8,className:"in-quad",children:"cold + fresh"}),f.jsx("text",{x:720-s.r-6,y:s.t+28,className:"in-label",textAnchor:"end",children:"dot size = agent share of reads"}),e.map(v=>{const b=v.total?(v.agent||0)/v.total:0;return f.jsx("circle",{cx:Number(m(v.days).toFixed(1)),cy:Number(y(v.reads).toFixed(1)),r:Number((3+4*b).toFixed(1)),className:"in-pt"+(v.danger?" danger":v.reads?"":" cold"),onClick:()=>n(v.path),children:f.jsx("title",{children:`${v.path} — ${v.reads} read${v.reads===1?"":"s"} / 30d · changed ${Math.round(v.days)}d ago`})},v.path)})]})}function RP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const s=e.filter(d=>d.reads>0).sort((d,p)=>p.reads-d.reads||p.days-d.days).slice(0,20);if(!s.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=s[0].reads,u=s.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:s.map(d=>{const p=n==="agent"?{agent:1,human:0,share:0}:n==="human"?{agent:0,human:1,share:0}:q$(d),m=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(m*p.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(m*p.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(m*p.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function jP({devices:e}){const n=new Map;for(const b of e)for(const[x,_]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+_);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),s=140,l=6,u=Math.min(76,Math.max(34,(720-s-8)/r.length)),d=26,p=720,m=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],_=[245,166,35],C=x.map((E,R)=>Math.round(E+(_[R]-E)*b));return`rgb(${C[0]},${C[1]},${C[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${p} ${m}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let _=b.name||b.id||"";return _.length>20&&(_=_.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:s-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:_}),r.map((C,E)=>{const R=(b.folders||{})[C]||0;return f.jsx("rect",{x:s+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${C||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},C)})]},b.id||x)}),r.map((b,x)=>{const _=s+x*u+(u-4)/2,C=l+i.length*d+14;return f.jsx("text",{x:_,y:C,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${_} ${C})`,children:b||"(root)"},b)})]})}function WC(e){return new Set(e.entries.map(n=>n.path)).size}function TP(e){const n=l=>l.note+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note,entries:[l],idx:[u]})});const i=[],s=new Set;return e.forEach((l,u)=>{const d=l.note?r.get(n(l)):void 0;if(!d||WC(d)<2){i.push({i:u});return}s.has(d)||(s.add(d),i.push({run:d,i:u}))}),i}function OP(e){const{filters:n,authors:r,onChange:i}=e,s=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=w.useState(n?.q??""),d=w.useRef(!1);w.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),w.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&s("q",l)},250);return()=>clearTimeout(y)},[l]);const p=n?.user&&!r.includes(n.user)?[n.user,...r]:r,m=Gp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(dt,{name:"search"}),f.jsx(uu,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>s("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),p.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>s("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>s("until",y.target.value)})]}),m&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function AP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function MP(e){const{apiBase:n,target:r,isFolder:i,onMeta:s,onRendered:l,restore:u,remove:d,filters:p}=e,m=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in m&&m.path!==void 0?"path="+encodeURIComponent(m.path):"prefix="+encodeURIComponent(m.prefix??""))+O_(p).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:_,isFetchingNextPage:C}=oj({queryKey:["history",n,y],queryFn:({pageParam:F})=>ln(n+"history?"+y+"&n=100"+(F?"&cursor="+encodeURIComponent(F):"")),initialPageParam:"",getNextPageParam:F=>F.next_cursor,staleTime:15e3}),E=w.useRef(new Set);w.useEffect(()=>{b&&s("History unavailable: "+b.message)},[b,s]),w.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap(F=>F.entries||[]):[];for(const F of AP(R))E.current.add(F);const O=e.onFilters&&f.jsx(OP,{filters:p,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return O?f.jsx("div",{className:"history",children:O}):null;const T=!!r&&!i(r),z=F=>{for(let V=F+1;V{const V=R[F].kind==="delete"?z(F):R[F].blob;return V&&V===$.get(R[F].path)?void 0:V};return f.jsxs("div",{className:"history",children:[O,R.length===0&&(Gp(p)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),TP(R).map((F,V)=>F.run?f.jsx(NP,{run:F.run,onOpen:e.onOpen,apiBase:n,perFile:T,prevBlob:z,restoreSha:B,restore:u,remove:d},"g"+V):f.jsx(mg,{entry:R[F.i],apiBase:n,onOpen:e.onOpen,diff:T?{apiBase:n,prev:z(F.i)}:void 0,restore:u,restoreSha:B(F.i)},"r"+F.i)),_&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:C,children:C?"Loading…":"Load more"})]})}function NP({run:e,onOpen:n,apiBase:r,perFile:i,prevBlob:s,restoreSha:l,restore:u,remove:d}){const[p,m]=w.useState(!0),y=e.entries[0],v=dd(y),b=[y.device.name||y.device.id,y.device.os].filter(Boolean).join(" · "),x=e.entries.map(E=>new Date(E.time).getTime()),_=DP(Math.min(...x),Math.max(...x)),C=WC(e);return f.jsxs("div",{className:"hrun"+(p?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":p,title:p?"Collapse this run":"Expand this run",onClick:()=>m(!p),children:f.jsx(dt,{name:p?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(HC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[C," file",C===1?"":"s"," · ",v,b?" · "+b:""]}),f.jsx("span",{className:"hrun-time",children:_})]}),p&&f.jsx("div",{className:"hrun-body",children:e.entries.map((E,R)=>f.jsx(mg,{entry:E,apiBase:r,onOpen:n,diff:i?{apiBase:r,prev:s(e.idx[R])}:void 0,restore:u,remove:d,restoreSha:l(e.idx[R]),inRun:!0},R))})]})}function DP(e,n){const r=new Date(e),i=new Date(n),s=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+s(i):l+" "+s(r)+" – "+s(i)}function zP(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function kP(e){const{apiBase:n,path:r,version:i}=e,s="path="+encodeURIComponent(r),{data:l}=Zt({queryKey:["history",n,s,200],queryFn:()=>ln(n+"history?"+s+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",p=u?.time?new Date(u.time).toLocaleString():"",m=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(dt,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[p&&"Version from "+p,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:m,children:"Download this version"})]})]})}function eE(e){const{config:n,apiBase:r,route:i,hub:s,project:l}=e,u=Kp(),d=Ai(),{tree:p,flatFiles:m,dirIndex:y,loaded:v}=X$(r,!s||!!l),b=J$(r,s&&!!l&&!!n.reads?.enabled),x=s&&!!l&&!i.path&&!i.view,_=i.view==="dashboard"||x,C=SP(r,_);w.useEffect(()=>{_&&d.invalidateQueries({queryKey:["heat",r]})},[_,r,d]);const E=i.path,R=i.view?void 0:i.version,O=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",T=!!E&&y.has(E),z=!!E&&v&&!T&&m.some(D=>D.path===E),$=!!E&&v&&!T&&!z,B=T&&!i.view,[F,V]=w.useState(()=>new Set),pe=w.useRef(!0);w.useEffect(()=>{if(!p||!pe.current)return;pe.current=!1;const D=(p.children||[]).filter(I=>I.dir);D.length===1&&V(I=>new Set(I).add(D[0].path))},[p]),w.useEffect(()=>{!O||!v||V(D=>{const I=new Set(D);for(const J of bI(O))I.add(J);return y.has(O)&&I.add(O),I})},[O,v,y]);const ge=w.useCallback(D=>{V(I=>{const J=new Set(I);return J.has(D)?J.delete(D):J.add(D),J})},[]),fe=w.useRef(null),Q=w.useRef(new Map),le=w.useRef({key:"",want:0,attempts:0});w.useEffect(()=>{le.current={key:u,want:E3()==="POP"?Q.current.get(u)??0:0,attempts:0}},[u]);const ue=w.useCallback(()=>{const D=fe.current,I=le.current;!D||I.key!==u||I.attempts>=3||(I.attempts++,D.scrollTo({top:I.want,behavior:"instant"}))},[u]),xe=w.useCallback(()=>{fe.current&&Q.current.set(u,fe.current.scrollTop)},[u]),N=w.useCallback((D,I)=>{rn(Wu(D,l?.id,I)),pr()},[l?.id]),q=w.useCallback(D=>rn(Wn("history",l?.id,D)),[l?.id]),[ae,te]=w.useState(""),[ne,k]=w.useState(null),[M,H]=w.useState(!1),[X,K]=w.useState(!1);w.useEffect(()=>kD(()=>K(!0)),[]);const se=w.useRef(null),ee=e.panel??null,ve=!ee&&s&&!!l&&z&&wi(l.perm,"write"),{data:ye}=E_(l?.id,s&&!!l),Ne=w.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Ie=z?(ye||[]).filter(D=>D.path===E):[],Fe=!ee&&s&&!!l,ft=!ee&&z,Qe=!ee&&(z||s&&!!l&&T),vn=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),un=w.useCallback(async()=>{try{const D=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E})});if(!D.ok)throw new Error(await D.text());const I=await D.json();Mw("share_created");const J=await Bo(I.url);k({url:I.url,copied:J}),Ne()}catch(D){Ke("Share failed: "+D.message,!0)}},[r,E,Ne]),[Kt,ir]=w.useState(""),Dt=s&&!!l&&wi(l?.perm,"write"),or=w.useCallback(async(D,I)=>{ir(D+I);try{await Si(r+"restore",{path:D,sha:I}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,D]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+D+" — it syncs to every device like any other change.")}catch(J){Ke("Restore failed: "+J.message,!0)}finally{ir("")}},[r,d]),[Dr,Tt]=w.useState(""),Un=w.useCallback(async D=>{if(await Sl("Remove "+D+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){Tt(D);try{await Si(r+"remove",{path:D}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,D]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+D+" — it syncs to every device like any other change.")}catch(I){Ke("Remove failed: "+I.message,!0)}finally{Tt("")}}},[r,d]),wt=w.useCallback(()=>{if(!E)return q("");q(T?E+"/":E)},[E,T,q]);w.useEffect(()=>{const D=I=>{(I.metaKey||I.ctrlKey)&&I.key.toLowerCase()==="k"&&(I.preventDefault(),K(J=>!J))};return window.addEventListener("keydown",D),()=>window.removeEventListener("keydown",D)},[]);const oa=w.useCallback(()=>{const D=[],I=(J,ce,me,be)=>D.push({icon:J,label:ce,kind:me,run:be});if(s&&l){const J=l.id,ce=me=>()=>{e.onClosePanel?.(),rn(me)};I("folder","Go to project root","action",ce("/"+J)),I("dashboard","Dashboard","action",ce(Wn("dashboard",J))),I("terminal","Installation","action",ce(Wn("install",J))),I("gear","Settings","action",ce(Wn("settings",J)))}if(s&&l&&E&&(z&&I("share","Share: "+E,"action",un),I("hist","History: "+E,"action",wt),z&&I("download","Download: "+E,"action",()=>se.current?.click())),s&&l&&I("hist","History: whole project","action",()=>q("")),s)for(const J of e.projects||[])(!l||J.id!==l.id)&&I("folder","Switch to project: "+J.name,"project",()=>rn("/"+J.id));n.auth?.enabled&&I("power","Sign out","action",()=>window.location.href="/auth/logout");for(const J of y.keys())I("folder",J,"folder",()=>N(J));for(const J of m)I("doc",J.path,"file",()=>N(J.path));return D},[s,l,E,z,n.auth?.enabled,y,m,e.projects,e.onClosePanel,un,wt,q,N]);w.useEffect(()=>{if(!M)return;const D=()=>H(!1);return document.addEventListener("click",D),()=>document.removeEventListener("click",D)},[M]);const yn=w.useCallback(D=>y.has(D),[y]);let zr="app",sr,Yt;ee?Yt=ee.body:i.view==="dashboard"?Yt=f.jsx(hw,{flatFiles:m,heatMap:b,devices:C,scope:i.viewTarget||"",loading:!v,installHref:l?Wn("install",l.id):void 0,onOpenFile:N,onOpenFolder:N,onOpenHistory:q,isFolder:yn}):i.view==="history"?Yt=f.jsx(MP,{apiBase:r,target:i.viewTarget||"",isFolder:yn,onOpen:N,onMeta:te,onRendered:ue,restore:Dt?{onRestore:or,busy:Kt}:void 0,remove:Dt?{onRemove:Un,busy:Dr}:void 0,filters:i.filters,onFilters:D=>rn(Wn("history",l?.id,i.viewTarget||"",D))}):E?v?$?Yt=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):T?Yt=f.jsx(MI,{node:y.get(E),heatMap:b,hub:s&&!!l,apiBase:r,onOpen:N,onFullHistory:q,onRendered:ue}):(zr=RC.test(E)||jC.test(E)?"wide":"read",sr="markdown",Yt=f.jsxs(f.Fragment,{children:[R&&f.jsx(kP,{apiBase:r,path:E,version:R,onViewCurrent:()=>N(E)}),f.jsx(DI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:m,onOpenFile:N,onMeta:te,onRendered:ue})]})):Yt=f.jsx("div",{className:"empty",children:"Loading…"}):x?Yt=f.jsxs(f.Fragment,{children:[f.jsx(IC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(hw,{flatFiles:m,heatMap:b,devices:C,loading:!v,onOpenFile:N,onOpenFolder:N,onOpenHistory:q,isFolder:yn})})]}):Yt=f.jsx("div",{className:"empty",children:"Select a file to read it."});const bn=ee?ee.crumb:E?f.jsx(xI,{path:E,onOpenFolder:N}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+zP(i.viewTarget||"",yn):x?l.name:null,A=f.jsx(ll,{crumb:bn,meta:ae,actions:f.jsxs(f.Fragment,{children:[ve&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:un,children:f.jsx(dt,{name:"share"})}),Fe&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:wt,children:[f.jsx(dt,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),ft&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:vn,ref:se,children:"Download"}),Qe&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:D=>{D.stopPropagation(),H(!M)},children:f.jsx(dt,{name:"dots"})}),M&&f.jsxs("div",{id:"more-menu",role:"menu",children:[Fe&&f.jsx("button",{className:"more-item",onClick:wt,children:"History"}),ft&&f.jsx("button",{className:"more-item",onClick:()=>se.current?.click(),children:"Download"}),s&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),rn(Wn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(sl,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(yI,{root:p,expanded:F,onToggle:ge,currentPath:O,listingShowing:B,onOpen:N}),topbar:A,contentRef:fe,onContentScroll:xe,children:f.jsxs(wu,{width:zr,className:sr,children:[!ee&&z&&f.jsx(BI,{shares:Ie,canRevoke:!!l&&wi(l.perm,"write"),onChanged:Ne}),Yt]})}),ne&&f.jsx(HI,{url:ne.url,copied:ne.copied,onClose:()=>{k(null),Ne()}}),f.jsx(wP,{open:X,onClose:()=>K(!1),candidates:oa})]})}function LP({config:e}){const n=Kp(),r=j_(),[i,s]=w.useState(null),[l,u]=w.useState(null);w.useEffect(()=>u(null),[n]);const d=w.useMemo(()=>{const ue=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ue?ue[1]:null},[n]),{data:p}=b3(!d),{data:m}=x3(!d),y=!!e.auth.admin,{data:v}=R_(y),b=w.useMemo(()=>A_(n,"hub"),[n]),[x,_]=w.useState(!1),C=e.upload.enabled,E=async(ue,xe)=>{const N=xe===PC;try{const q=await Si("/api/projects",{name:ue,template:N?"":xe});_(!1),await r(),rn("/"+q.project.id+(N?"?connect=existing":"")),Ke(`Created “${q.project.name}”.`)}catch(q){Ke("Could not create the project: "+q.message,!0)}},R=w.useRef(!1);w.useEffect(()=>{R.current||d||!p||p.length>0||!C||(R.current=!0,_(!0))},[p,C,d]);const O=x?f.jsx(H$,{templates:e.templates??[],onCreate:E,onClose:()=>_(!1)}):null,T=w.useMemo(()=>p&&(p.find(ue=>ue.id===b.project)||i&&p.find(ue=>ue.org===i)||p[0])||null,[p,b.project,i]);if(w.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive"},[T,e]),d)return f.jsx($P,{token:d,onDone:async ue=>{s(ue),await r(),rn("/",{replace:!0})}});const z=e.brand||"BearDrive",$=T&&m?.find(ue=>ue.id===T.org)||null,B=f.jsx(Qu,{name:z,onHome:()=>rn("/"),search:!!T}),F=e.me?f.jsx(z$,{me:e.me,org:$,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),pr()}}:void 0}):void 0;if(!p||!m)return f.jsx(sl,{vault:B,topbar:f.jsx(ll,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(sl,{vault:B,projectsNav:f.jsx(nw,{projects:p,onNew:()=>_(!0)}),orgBar:F,topbar:f.jsx(ll,{}),children:[f.jsx(wu,{children:f.jsx(U$,{onNew:()=>_(!0),canCreate:C})}),O]});const V=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx(C$,{})}:null,pe=b.org?m.find(ue=>ue.id===b.org):null,fe=b.org&&!pe?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...cl("/"+T.id),children:["Back to ",T.name]})})]})}:pe?{crumb:"Organization",body:f.jsx(w$,{org:pe,projects:p,myEmail:e.me?.email||""})}:null,Q=b.billing?{crumb:"Billing",body:e.billing?f.jsx(k$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,le=b.view==="settings"?{crumb:"Project settings",body:f.jsx(I$,{project:T,org:$,onDeleted:async()=>{await r(),rn("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(IC,{project:T,existing:b.connect==="existing"})}:null;return!b.org&&!b.billing&&b.project!==T.id?f.jsx(su,{to:"/"+T.id}):b.legacyView&&b.view?f.jsx(su,{to:Wn(b.view,T.id,b.viewTarget)}):b.trailingSlash&&b.path?f.jsx(su,{to:Wu(b.path,T.id,b.version)}):f.jsxs(f.Fragment,{children:[f.jsx(eE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:p,sidebar:{vault:B,projectsNav:f.jsx(nw,{projects:p,currentId:T.id,onNew:()=>_(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),rn(Wn("dashboard",T.id)),pr()},onInstall:()=>{u(null),rn(Wn("install",T.id)),pr()},onHistory:()=>{u(null),rn(Wn("history",T.id)),pr()},onSettings:()=>{u(null),rn(Wn("settings",T.id)),pr()}}}),orgBar:F},panel:V||fe||Q||le,onClosePanel:()=>u(null)},T.id),O]})}function $P({token:e,onDone:n}){return w.useEffect(()=>{let r=!1;return Si("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(sl,{vault:f.jsx(Qu,{name:"BearDrive"}),topbar:f.jsx(ll,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function IP({config:e}){const n=Kp(),r=e.volume||"BearDrive";w.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=w.useMemo(()=>A_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(su,{to:Wu(i.path)}):f.jsx(eE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Qu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function PP(){const{data:e}=dj();return f.jsxs(MD,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(LP,{config:e}):f.jsx(IP,{config:e}):f.jsx(sl,{vault:f.jsx(Qu,{name:"…",showSignout:!1}),topbar:f.jsx(ll,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(d3,{}),f.jsx(g3,{})]})}const FP=new K2({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});w2.createRoot(document.getElementById("root")).render(f.jsx(w.StrictMode,{children:f.jsx(Y2,{client:FP,children:f.jsx(PP,{})})})); diff --git a/internal/webapp/static/assets/index-MK6uEuUN.js b/internal/webapp/static/assets/index-MK6uEuUN.js deleted file mode 100644 index 19e3262..0000000 --- a/internal/webapp/static/assets/index-MK6uEuUN.js +++ /dev/null @@ -1,120 +0,0 @@ -function l2(e,n){for(var r=0;ra[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&a(u)}).observe(document,{childList:!0,subtree:!0});function r(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(s){if(s.ep)return;s.ep=!0;const l=r(s);fetch(s.href,l)}})();function hw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Eh={exports:{}},Is={};var ib;function c2(){if(ib)return Is;ib=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(a,s,l){var u=null;if(l!==void 0&&(u=""+l),s.key!==void 0&&(u=""+s.key),"key"in s){l={};for(var d in s)d!=="key"&&(l[d]=s[d])}else l=s;return s=l.ref,{$$typeof:e,type:a,key:u,ref:s!==void 0?s:null,props:l}}return Is.Fragment=n,Is.jsx=r,Is.jsxs=r,Is}var ab;function u2(){return ab||(ab=1,Eh.exports=c2()),Eh.exports}var h=u2(),Rh={exports:{}},Pe={};var ob;function d2(){if(ob)return Pe;ob=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),b=Symbol.iterator;function x(k){return k===null||typeof k!="object"?null:(k=b&&k[b]||k["@@iterator"],typeof k=="function"?k:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,E={};function j(k,N,U){this.props=k,this.context=N,this.refs=E,this.updater=U||_}j.prototype.isReactComponent={},j.prototype.setState=function(k,N){if(typeof k!="object"&&typeof k!="function"&&k!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,k,N,"setState")},j.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function O(){}O.prototype=j.prototype;function T(k,N,U){this.props=k,this.context=N,this.refs=E,this.updater=U||_}var A=T.prototype=new O;A.constructor=T,C(A,j.prototype),A.isPureReactComponent=!0;var L=Array.isArray;function B(){}var H={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function pe(k,N,U){var X=U.ref;return{$$typeof:e,type:k,key:N,ref:X!==void 0?X:null,props:U}}function ge(k,N){return pe(k.type,N,k.props)}function fe(k){return typeof k=="object"&&k!==null&&k.$$typeof===e}function Q(k){var N={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(U){return N[U]})}var le=/\/+/g;function ue(k,N){return typeof k=="object"&&k!==null&&k.key!=null?Q(""+k.key):N.toString(36)}function xe(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(B,B):(k.status="pending",k.then(function(N){k.status==="pending"&&(k.status="fulfilled",k.value=N)},function(N){k.status==="pending"&&(k.status="rejected",k.reason=N)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function D(k,N,U,X,K){var se=typeof k;(se==="undefined"||se==="boolean")&&(k=null);var ee=!1;if(k===null)ee=!0;else switch(se){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(k.$$typeof){case e:case n:ee=!0;break;case y:return ee=k._init,D(ee(k._payload),N,U,X,K)}}if(ee)return K=K(k),ee=X===""?"."+ue(k,0):X,L(K)?(U="",ee!=null&&(U=ee.replace(le,"$&/")+"/"),D(K,N,U,"",function(Ne){return Ne})):K!=null&&(fe(K)&&(K=ge(K,U+(K.key==null||k&&k.key===K.key?"":(""+K.key).replace(le,"$&/")+"/")+ee)),N.push(K)),1;ee=0;var ve=X===""?".":X+":";if(L(k))for(var ye=0;ye>>1,ne=D[te];if(0>>1;tes(U,ie))Xs(K,U)?(D[te]=K,D[X]=ie,te=X):(D[te]=U,D[N]=ie,te=N);else if(Xs(K,ie))D[te]=K,D[X]=ie,te=X;else break e}}return q}function s(D,q){var ie=D.sortIndex-q.sortIndex;return ie!==0?ie:D.id-q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var m=[],p=[],y=1,v=null,b=3,x=!1,_=!1,C=!1,E=!1,j=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function A(D){for(var q=r(p);q!==null;){if(q.callback===null)a(p);else if(q.startTime<=D)a(p),q.sortIndex=q.expirationTime,n(m,q);else break;q=r(p)}}function L(D){if(C=!1,A(D),!_)if(r(m)!==null)_=!0,B||(B=!0,Q());else{var q=r(p);q!==null&&xe(L,q.startTime-D)}}var B=!1,H=-1,F=5,pe=-1;function ge(){return E?!0:!(e.unstable_now()-peD&&ge());){var te=v.callback;if(typeof te=="function"){v.callback=null,b=v.priorityLevel;var ne=te(v.expirationTime<=D);if(D=e.unstable_now(),typeof ne=="function"){v.callback=ne,A(D),q=!0;break t}v===r(m)&&a(m),A(D)}else a(m);v=r(m)}if(v!==null)q=!0;else{var k=r(p);k!==null&&xe(L,k.startTime-D),q=!1}}break e}finally{v=null,b=ie,x=!1}q=void 0}}finally{q?Q():B=!1}}}var Q;if(typeof T=="function")Q=function(){T(fe)};else if(typeof MessageChannel<"u"){var le=new MessageChannel,ue=le.port2;le.port1.onmessage=fe,Q=function(){ue.postMessage(null)}}else Q=function(){j(fe,0)};function xe(D,q){H=j(function(){D(e.unstable_now())},q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125te?(D.sortIndex=ie,n(p,D),r(m)===null&&D===r(p)&&(C?(O(H),H=-1):C=!0,xe(L,ie-te))):(D.sortIndex=ne,n(m,D),_||x||(_=!0,B||(B=!0,Q()))),D},e.unstable_shouldYield=ge,e.unstable_wrapCallback=function(D){var q=b;return function(){var ie=b;b=q;try{return D.apply(this,arguments)}finally{b=ie}}}})(Oh)),Oh}var cb;function h2(){return cb||(cb=1,Th.exports=f2()),Th.exports}var Ah={exports:{}},un={};var ub;function m2(){if(ub)return un;ub=1;var e=ep();function n(m){var p="https://react.dev/errors/"+m;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Ah.exports=m2(),Ah.exports}var fb;function p2(){if(fb)return Ps;fb=1;var e=h2(),n=ep(),r=mw();function a(t){var i="https://react.dev/errors/"+t;if(1ne||(t.current=te[ne],te[ne]=null,ne--)}function U(t,i){ne++,te[ne]=t.current,t.current=i}var X=k(null),K=k(null),se=k(null),ee=k(null);function ve(t,i){switch(U(se,i),U(K,t),U(X,null),i.nodeType){case 9:case 11:t=(t=i.documentElement)&&(t=t.namespaceURI)?j0(t):0;break;default:if(t=i.tagName,i=i.namespaceURI)i=j0(i),t=T0(i,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}N(X),U(X,t)}function ye(){N(X),N(K),N(se)}function Ne(t){t.memoizedState!==null&&U(ee,t);var i=X.current,o=T0(i,t.type);i!==o&&(U(K,t),U(X,o))}function Ie(t){K.current===t&&(N(X),N(K)),ee.current===t&&(N(ee),zs._currentValue=ie)}var Fe,dt;function Qe(t){if(Fe===void 0)try{throw Error()}catch(o){var i=o.stack.trim().match(/\n( *(at )?)/);Fe=i&&i[1]||"",dt=-1)":-1f||$[c]!==Z[f]){var re=` -`+$[c].replace(" at new "," at ");return t.displayName&&re.includes("")&&(re=re.replace("",t.displayName)),re}while(1<=c&&0<=f);break}}}finally{vn=!1,Error.prepareStackTrace=o}return(o=t?t.displayName||t.name:"")?Qe(o):""}function Kt(t,i){switch(t.tag){case 26:case 27:case 5:return Qe(t.type);case 16:return Qe("Lazy");case 13:return t.child!==i&&i!==null?Qe("Suspense Fallback"):Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 15:return cn(t.type,!1);case 11:return cn(t.type.render,!1);case 1:return cn(t.type,!0);case 31:return Qe("Activity");default:return""}}function ir(t){try{var i="",o=null;do i+=Kt(t,o),o=t,t=t.return;while(t);return i}catch(c){return` -Error generating stack: `+c.message+` -`+c.stack}}var Dt=Object.prototype.hasOwnProperty,ar=e.unstable_scheduleCallback,Dr=e.unstable_cancelCallback,Tt=e.unstable_shouldYield,Un=e.unstable_requestPaint,wt=e.unstable_now,oi=e.unstable_getCurrentPriorityLevel,yn=e.unstable_ImmediatePriority,zr=e.unstable_UserBlockingPriority,or=e.unstable_NormalPriority,Yt=e.unstable_LowPriority,bn=e.unstable_IdlePriority,M=e.log,z=e.unstable_setDisableYieldValue,I=null,J=null;function ce(t){if(typeof M=="function"&&z(t),J&&typeof J.setStrictMode=="function")try{J.setStrictMode(I,t)}catch{}}var me=Math.clz32?Math.clz32:je,be=Math.log,we=Math.LN2;function je(t){return t>>>=0,t===0?32:31-(be(t)/we|0)|0}var et=256,St=262144,Qt=4194304;function zt(t){var i=t&42;if(i!==0)return i;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Me(t,i,o){var c=t.pendingLanes;if(c===0)return 0;var f=0,g=t.suspendedLanes,S=t.pingedLanes;t=t.warmLanes;var R=c&134217727;return R!==0?(c=R&~g,c!==0?f=zt(c):(S&=R,S!==0?f=zt(S):o||(o=R&~t,o!==0&&(f=zt(o))))):(R=c&~g,R!==0?f=zt(R):S!==0?f=zt(S):o||(o=c&~t,o!==0&&(f=zt(o)))),f===0?0:i!==0&&i!==f&&(i&g)===0&&(g=f&-f,o=i&-i,g>=o||g===32&&(o&4194048)!==0)?i:f}function ft(t,i){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&i)===0}function yt(t,i){switch(t){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ht(){var t=Qt;return Qt<<=1,(Qt&62914560)===0&&(Qt=4194304),t}function sr(t){for(var i=[],o=0;31>o;o++)i.push(t);return i}function _t(t,i){t.pendingLanes|=i,i!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function xn(t,i,o,c,f,g){var S=t.pendingLanes;t.pendingLanes=o,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=o,t.entangledLanes&=o,t.errorRecoveryDisabledLanes&=o,t.shellSuspendCounter=0;var R=t.entanglements,$=t.expirationTimes,Z=t.hiddenUpdates;for(o=S&~o;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var nE=/[\n"\\]/g;function Bn(t){return t.replace(nE,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function yd(t,i,o,c,f,g,S,R){t.name="",S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?t.type=S:t.removeAttribute("type"),i!=null?S==="number"?(i===0&&t.value===""||t.value!=i)&&(t.value=""+Hn(i)):t.value!==""+Hn(i)&&(t.value=""+Hn(i)):S!=="submit"&&S!=="reset"||t.removeAttribute("value"),i!=null?bd(t,S,Hn(i)):o!=null?bd(t,S,Hn(o)):c!=null&&t.removeAttribute("value"),f==null&&g!=null&&(t.defaultChecked=!!g),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),R!=null&&typeof R!="function"&&typeof R!="symbol"&&typeof R!="boolean"?t.name=""+Hn(R):t.removeAttribute("name")}function wg(t,i,o,c,f,g,S,R){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),i!=null||o!=null){if(!(g!=="submit"&&g!=="reset"||i!=null)){vd(t);return}o=o!=null?""+Hn(o):"",i=i!=null?""+Hn(i):o,R||i===t.value||(t.value=i),t.defaultValue=i}c=c??f,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=R?t.checked:!!c,t.defaultChecked=!!c,S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(t.name=S),vd(t)}function bd(t,i,o){i==="number"&&Tl(t.ownerDocument)===t||t.defaultValue===""+o||(t.defaultValue=""+o)}function Ha(t,i,o,c){if(t=t.options,i){i={};for(var f=0;f"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cd=!1;if($r)try{var Jo={};Object.defineProperty(Jo,"passive",{get:function(){Cd=!0}}),window.addEventListener("test",Jo,Jo),window.removeEventListener("test",Jo,Jo)}catch{Cd=!1}var li=null,Ed=null,Al=null;function Tg(){if(Al)return Al;var t,i=Ed,o=i.length,c,f="value"in li?li.value:li.textContent,g=f.length;for(t=0;t=ts),zg=" ",kg=!1;function Lg(t,i){switch(t){case"keyup":return AE.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $g(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Za=!1;function NE(t,i){switch(t){case"compositionend":return $g(i);case"keypress":return i.which!==32?null:(kg=!0,zg);case"textInput":return t=i.data,t===zg&&kg?null:t;default:return null}}function DE(t,i){if(Za)return t==="compositionend"||!Ad&&Lg(t,i)?(t=Tg(),Al=Ed=li=null,Za=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1=i)return{node:o,offset:i-t};t=c}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=qg(o)}}function Zg(t,i){return t&&i?t===i?!0:t&&t.nodeType===3?!1:i&&i.nodeType===3?Zg(t,i.parentNode):"contains"in t?t.contains(i):t.compareDocumentPosition?!!(t.compareDocumentPosition(i)&16):!1:!1}function Kg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var i=Tl(t.document);i instanceof t.HTMLIFrameElement;){try{var o=typeof i.contentWindow.location.href=="string"}catch{o=!1}if(o)t=i.contentWindow;else break;i=Tl(t.document)}return i}function Dd(t){var i=t&&t.nodeName&&t.nodeName.toLowerCase();return i&&(i==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||i==="textarea"||t.contentEditable==="true")}var VE=$r&&"documentMode"in document&&11>=document.documentMode,Ka=null,zd=null,as=null,kd=!1;function Yg(t,i,o){var c=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;kd||Ka==null||Ka!==Tl(c)||(c=Ka,"selectionStart"in c&&Dd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),as&&is(as,c)||(as=c,c=_c(zd,"onSelect"),0>=S,f-=S,xr=1<<32-me(i)+f|o<Ue?(Ze=Te,Te=null):Ze=Te.sibling;var We=Y(V,Te,G[Ue],ae);if(We===null){Te===null&&(Te=Ze);break}t&&Te&&We.alternate===null&&i(V,Te),P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We,Te=Ze}if(Ue===G.length)return o(V,Te),Ye&&Pr(V,Ue),Oe;if(Te===null){for(;UeUe?(Ze=Te,Te=null):Ze=Te.sibling;var Ai=Y(V,Te,We.value,ae);if(Ai===null){Te===null&&(Te=Ze);break}t&&Te&&Ai.alternate===null&&i(V,Te),P=g(Ai,P,Ue),Je===null?Oe=Ai:Je.sibling=Ai,Je=Ai,Te=Ze}if(We.done)return o(V,Te),Ye&&Pr(V,Ue),Oe;if(Te===null){for(;!We.done;Ue++,We=G.next())We=oe(V,We.value,ae),We!==null&&(P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We);return Ye&&Pr(V,Ue),Oe}for(Te=c(Te);!We.done;Ue++,We=G.next())We=W(Te,V,Ue,We.value,ae),We!==null&&(t&&We.alternate!==null&&Te.delete(We.key===null?Ue:We.key),P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We);return t&&Te.forEach(function(s2){return i(V,s2)}),Ye&&Pr(V,Ue),Oe}function st(V,P,G,ae){if(typeof G=="object"&&G!==null&&G.type===C&&G.key===null&&(G=G.props.children),typeof G=="object"&&G!==null){switch(G.$$typeof){case x:e:{for(var Oe=G.key;P!==null;){if(P.key===Oe){if(Oe=G.type,Oe===C){if(P.tag===7){o(V,P.sibling),ae=f(P,G.props.children),ae.return=V,V=ae;break e}}else if(P.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===F&&ua(Oe)===P.type){o(V,P.sibling),ae=f(P,G.props),ds(ae,G),ae.return=V,V=ae;break e}o(V,P);break}else i(V,P);P=P.sibling}G.type===C?(ae=aa(G.props.children,V.mode,ae,G.key),ae.return=V,V=ae):(ae=Fl(G.type,G.key,G.props,null,V.mode,ae),ds(ae,G),ae.return=V,V=ae)}return S(V);case _:e:{for(Oe=G.key;P!==null;){if(P.key===Oe)if(P.tag===4&&P.stateNode.containerInfo===G.containerInfo&&P.stateNode.implementation===G.implementation){o(V,P.sibling),ae=f(P,G.children||[]),ae.return=V,V=ae;break e}else{o(V,P);break}else i(V,P);P=P.sibling}ae=Ud(G,V.mode,ae),ae.return=V,V=ae}return S(V);case F:return G=ua(G),st(V,P,G,ae)}if(xe(G))return Ee(V,P,G,ae);if(Q(G)){if(Oe=Q(G),typeof Oe!="function")throw Error(a(150));return G=Oe.call(G),De(V,P,G,ae)}if(typeof G.then=="function")return st(V,P,Zl(G),ae);if(G.$$typeof===T)return st(V,P,Hl(V,G),ae);Kl(V,G)}return typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint"?(G=""+G,P!==null&&P.tag===6?(o(V,P.sibling),ae=f(P,G),ae.return=V,V=ae):(o(V,P),ae=Vd(G,V.mode,ae),ae.return=V,V=ae),S(V)):o(V,P)}return function(V,P,G,ae){try{us=0;var Oe=st(V,P,G,ae);return ao=null,Oe}catch(Te){if(Te===io||Te===ql)throw Te;var Je=zn(29,Te,null,V.mode);return Je.lanes=ae,Je.return=V,Je}}}var fa=yv(!0),bv=yv(!1),hi=!1;function ef(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function tf(t,i){t=t.updateQueue,i.updateQueue===t&&(i.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function mi(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function pi(t,i,o){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(tt&2)!==0){var f=c.pending;return f===null?i.next=i:(i.next=f.next,f.next=i),c.pending=i,i=Pl(t),nv(t,null,o),i}return Il(t,c,i,o),Pl(t)}function fs(t,i,o){if(i=i.updateQueue,i!==null&&(i=i.shared,(o&4194048)!==0)){var c=i.lanes;c&=t.pendingLanes,o|=c,i.lanes=o,wn(t,o)}}function nf(t,i){var o=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,o===c)){var f=null,g=null;if(o=o.firstBaseUpdate,o!==null){do{var S={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};g===null?f=g=S:g=g.next=S,o=o.next}while(o!==null);g===null?f=g=i:g=g.next=i}else f=g=i;o={baseState:c.baseState,firstBaseUpdate:f,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=o;return}t=o.lastBaseUpdate,t===null?o.firstBaseUpdate=i:t.next=i,o.lastBaseUpdate=i}var rf=!1;function hs(){if(rf){var t=ro;if(t!==null)throw t}}function ms(t,i,o,c){rf=!1;var f=t.updateQueue;hi=!1;var g=f.firstBaseUpdate,S=f.lastBaseUpdate,R=f.shared.pending;if(R!==null){f.shared.pending=null;var $=R,Z=$.next;$.next=null,S===null?g=Z:S.next=Z,S=$;var re=t.alternate;re!==null&&(re=re.updateQueue,R=re.lastBaseUpdate,R!==S&&(R===null?re.firstBaseUpdate=Z:R.next=Z,re.lastBaseUpdate=$))}if(g!==null){var oe=f.baseState;S=0,re=Z=$=null,R=g;do{var Y=R.lane&-536870913,W=Y!==R.lane;if(W?(Ge&Y)===Y:(c&Y)===Y){Y!==0&&Y===no&&(rf=!0),re!==null&&(re=re.next={lane:0,tag:R.tag,payload:R.payload,callback:null,next:null});e:{var Ee=t,De=R;Y=i;var st=o;switch(De.tag){case 1:if(Ee=De.payload,typeof Ee=="function"){oe=Ee.call(st,oe,Y);break e}oe=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=De.payload,Y=typeof Ee=="function"?Ee.call(st,oe,Y):Ee,Y==null)break e;oe=v({},oe,Y);break e;case 2:hi=!0}}Y=R.callback,Y!==null&&(t.flags|=64,W&&(t.flags|=8192),W=f.callbacks,W===null?f.callbacks=[Y]:W.push(Y))}else W={lane:Y,tag:R.tag,payload:R.payload,callback:R.callback,next:null},re===null?(Z=re=W,$=oe):re=re.next=W,S|=Y;if(R=R.next,R===null){if(R=f.shared.pending,R===null)break;W=R,R=W.next,W.next=null,f.lastBaseUpdate=W,f.shared.pending=null}}while(!0);re===null&&($=oe),f.baseState=$,f.firstBaseUpdate=Z,f.lastBaseUpdate=re,g===null&&(f.shared.lanes=0),xi|=S,t.lanes=S,t.memoizedState=oe}}function xv(t,i){if(typeof t!="function")throw Error(a(191,t));t.call(i)}function wv(t,i){var o=t.callbacks;if(o!==null)for(t.callbacks=null,t=0;tg?g:8;var S=D.T,R={};D.T=R,_f(t,!1,i,o);try{var $=f(),Z=D.S;if(Z!==null&&Z(R,$),$!==null&&typeof $=="object"&&typeof $.then=="function"){var re=QE($,c);vs(t,i,re,Pn(t))}else vs(t,i,c,Pn(t))}catch(oe){vs(t,i,{then:function(){},status:"rejected",reason:oe},Pn())}finally{q.p=g,S!==null&&R.types!==null&&(S.types=R.types),D.T=S}}function nR(){}function wf(t,i,o,c){if(t.tag!==5)throw Error(a(476));var f=Wv(t).queue;Jv(t,f,i,ie,o===null?nR:function(){return ey(t),o(c)})}function Wv(t){var i=t.memoizedState;if(i!==null)return i;i={memoizedState:ie,baseState:ie,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hr,lastRenderedState:ie},next:null};var o={};return i.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hr,lastRenderedState:o},next:null},t.memoizedState=i,t=t.alternate,t!==null&&(t.memoizedState=i),i}function ey(t){var i=Wv(t);i.next===null&&(i=t.alternate.memoizedState),vs(t,i.next.queue,{},Pn())}function Sf(){return Wt(zs)}function ty(){return At().memoizedState}function ny(){return At().memoizedState}function rR(t){for(var i=t.return;i!==null;){switch(i.tag){case 24:case 3:var o=Pn();t=mi(o);var c=pi(i,t,o);c!==null&&(On(c,i,o),fs(c,i,o)),i={cache:Qd()},t.payload=i;return}i=i.return}}function iR(t,i,o){var c=Pn();o={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},ic(t)?iy(i,o):(o=Pd(t,i,o,c),o!==null&&(On(o,t,c),ay(o,i,c)))}function ry(t,i,o){var c=Pn();vs(t,i,o,c)}function vs(t,i,o,c){var f={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(ic(t))iy(i,f);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=i.lastRenderedReducer,g!==null))try{var S=i.lastRenderedState,R=g(S,o);if(f.hasEagerState=!0,f.eagerState=R,Dn(R,S))return Il(t,i,f,0),ut===null&&$l(),!1}catch{}if(o=Pd(t,i,f,c),o!==null)return On(o,t,c),ay(o,i,c),!0}return!1}function _f(t,i,o,c){if(c={lane:2,revertLane:th(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},ic(t)){if(i)throw Error(a(479))}else i=Pd(t,o,c,2),i!==null&&On(i,t,2)}function ic(t){var i=t.alternate;return t===Ve||i!==null&&i===Ve}function iy(t,i){so=Xl=!0;var o=t.pending;o===null?i.next=i:(i.next=o.next,o.next=i),t.pending=i}function ay(t,i,o){if((o&4194048)!==0){var c=i.lanes;c&=t.pendingLanes,o|=c,i.lanes=o,wn(t,o)}}var ys={readContext:Wt,use:ec,useCallback:Et,useContext:Et,useEffect:Et,useImperativeHandle:Et,useLayoutEffect:Et,useInsertionEffect:Et,useMemo:Et,useReducer:Et,useRef:Et,useState:Et,useDebugValue:Et,useDeferredValue:Et,useTransition:Et,useSyncExternalStore:Et,useId:Et,useHostTransitionStatus:Et,useFormState:Et,useActionState:Et,useOptimistic:Et,useMemoCache:Et,useCacheRefresh:Et};ys.useEffectEvent=Et;var oy={readContext:Wt,use:ec,useCallback:function(t,i){return mn().memoizedState=[t,i===void 0?null:i],t},useContext:Wt,useEffect:Hv,useImperativeHandle:function(t,i,o){o=o!=null?o.concat([t]):null,nc(4194308,4,Zv.bind(null,i,t),o)},useLayoutEffect:function(t,i){return nc(4194308,4,t,i)},useInsertionEffect:function(t,i){nc(4,2,t,i)},useMemo:function(t,i){var o=mn();i=i===void 0?null:i;var c=t();if(ha){ce(!0);try{t()}finally{ce(!1)}}return o.memoizedState=[c,i],c},useReducer:function(t,i,o){var c=mn();if(o!==void 0){var f=o(i);if(ha){ce(!0);try{o(i)}finally{ce(!1)}}}else f=i;return c.memoizedState=c.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},c.queue=t,t=t.dispatch=iR.bind(null,Ve,t),[c.memoizedState,t]},useRef:function(t){var i=mn();return t={current:t},i.memoizedState=t},useState:function(t){t=gf(t);var i=t.queue,o=ry.bind(null,Ve,i);return i.dispatch=o,[t.memoizedState,o]},useDebugValue:bf,useDeferredValue:function(t,i){var o=mn();return xf(o,t,i)},useTransition:function(){var t=gf(!1);return t=Jv.bind(null,Ve,t.queue,!0,!1),mn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,i,o){var c=Ve,f=mn();if(Ye){if(o===void 0)throw Error(a(407));o=o()}else{if(o=i(),ut===null)throw Error(a(349));(Ge&127)!==0||jv(c,i,o)}f.memoizedState=o;var g={value:o,getSnapshot:i};return f.queue=g,Hv(Ov.bind(null,c,g,t),[t]),c.flags|=2048,co(9,{destroy:void 0},Tv.bind(null,c,g,o,i),null),o},useId:function(){var t=mn(),i=ut.identifierPrefix;if(Ye){var o=wr,c=xr;o=(c&~(1<<32-me(c)-1)).toString(32)+o,i="_"+i+"R_"+o,o=Jl++,0<\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?S.createElement("select",{is:c.is}):S.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?S.createElement(f,{is:c.is}):S.createElement(f)}}g[Xt]=i,g[_n]=c;e:for(S=i.child;S!==null;){if(S.tag===5||S.tag===6)g.appendChild(S.stateNode);else if(S.tag!==4&&S.tag!==27&&S.child!==null){S.child.return=S,S=S.child;continue}if(S===i)break e;for(;S.sibling===null;){if(S.return===null||S.return===i)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}i.stateNode=g;e:switch(tn(g,f,c),f){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&qr(i)}}return pt(i),$f(i,i.type,t===null?null:t.memoizedProps,i.pendingProps,o),null;case 6:if(t&&i.stateNode!=null)t.memoizedProps!==c&&qr(i);else{if(typeof c!="string"&&i.stateNode===null)throw Error(a(166));if(t=se.current,eo(i)){if(t=i.stateNode,o=i.memoizedProps,c=null,f=Jt,f!==null)switch(f.tag){case 27:case 5:c=f.memoizedProps}t[Xt]=i,t=!!(t.nodeValue===o||c!==null&&c.suppressHydrationWarning===!0||E0(t.nodeValue,o)),t||di(i,!0)}else t=Cc(t).createTextNode(c),t[Xt]=i,i.stateNode=t}return pt(i),null;case 31:if(o=i.memoizedState,t===null||t.memoizedState!==null){if(c=eo(i),o!==null){if(t===null){if(!c)throw Error(a(318));if(t=i.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(a(557));t[Xt]=i}else oa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;pt(i),t=!1}else o=Gd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=o),t=!0;if(!t)return i.flags&256?(Ln(i),i):(Ln(i),null);if((i.flags&128)!==0)throw Error(a(558))}return pt(i),null;case 13:if(c=i.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=eo(i),c!==null&&c.dehydrated!==null){if(t===null){if(!f)throw Error(a(318));if(f=i.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(a(317));f[Xt]=i}else oa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;pt(i),f=!1}else f=Gd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return i.flags&256?(Ln(i),i):(Ln(i),null)}return Ln(i),(i.flags&128)!==0?(i.lanes=o,i):(o=c!==null,t=t!==null&&t.memoizedState!==null,o&&(c=i.child,f=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(f=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==f&&(c.flags|=2048)),o!==t&&o&&(i.child.flags|=8192),cc(i,i.updateQueue),pt(i),null);case 4:return ye(),t===null&&ah(i.stateNode.containerInfo),pt(i),null;case 10:return Vr(i.type),pt(i),null;case 19:if(N(Ot),c=i.memoizedState,c===null)return pt(i),null;if(f=(i.flags&128)!==0,g=c.rendering,g===null)if(f)xs(c,!1);else{if(Rt!==0||t!==null&&(t.flags&128)!==0)for(t=i.child;t!==null;){if(g=Ql(t),g!==null){for(i.flags|=128,xs(c,!1),t=g.updateQueue,i.updateQueue=t,cc(i,t),i.subtreeFlags=0,t=o,o=i.child;o!==null;)rv(o,t),o=o.sibling;return U(Ot,Ot.current&1|2),Ye&&Pr(i,c.treeForkCount),i.child}t=t.sibling}c.tail!==null&&wt()>mc&&(i.flags|=128,f=!0,xs(c,!1),i.lanes=4194304)}else{if(!f)if(t=Ql(g),t!==null){if(i.flags|=128,f=!0,t=t.updateQueue,i.updateQueue=t,cc(i,t),xs(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!Ye)return pt(i),null}else 2*wt()-c.renderingStartTime>mc&&o!==536870912&&(i.flags|=128,f=!0,xs(c,!1),i.lanes=4194304);c.isBackwards?(g.sibling=i.child,i.child=g):(t=c.last,t!==null?t.sibling=g:i.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=wt(),t.sibling=null,o=Ot.current,U(Ot,f?o&1|2:o&1),Ye&&Pr(i,c.treeForkCount),t):(pt(i),null);case 22:case 23:return Ln(i),of(),c=i.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(i.flags|=8192):c&&(i.flags|=8192),c?(o&536870912)!==0&&(i.flags&128)===0&&(pt(i),i.subtreeFlags&6&&(i.flags|=8192)):pt(i),o=i.updateQueue,o!==null&&cc(i,o.retryQueue),o=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),c=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(c=i.memoizedState.cachePool.pool),c!==o&&(i.flags|=2048),t!==null&&N(ca),null;case 24:return o=null,t!==null&&(o=t.memoizedState.cache),i.memoizedState.cache!==o&&(i.flags|=2048),Vr(kt),pt(i),null;case 25:return null;case 30:return null}throw Error(a(156,i.tag))}function cR(t,i){switch(Bd(i),i.tag){case 1:return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 3:return Vr(kt),ye(),t=i.flags,(t&65536)!==0&&(t&128)===0?(i.flags=t&-65537|128,i):null;case 26:case 27:case 5:return Ie(i),null;case 31:if(i.memoizedState!==null){if(Ln(i),i.alternate===null)throw Error(a(340));oa()}return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 13:if(Ln(i),t=i.memoizedState,t!==null&&t.dehydrated!==null){if(i.alternate===null)throw Error(a(340));oa()}return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 19:return N(Ot),null;case 4:return ye(),null;case 10:return Vr(i.type),null;case 22:case 23:return Ln(i),of(),t!==null&&N(ca),t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 24:return Vr(kt),null;case 25:return null;default:return null}}function Ay(t,i){switch(Bd(i),i.tag){case 3:Vr(kt),ye();break;case 26:case 27:case 5:Ie(i);break;case 4:ye();break;case 31:i.memoizedState!==null&&Ln(i);break;case 13:Ln(i);break;case 19:N(Ot);break;case 10:Vr(i.type);break;case 22:case 23:Ln(i),of(),t!==null&&N(ca);break;case 24:Vr(kt)}}function ws(t,i){try{var o=i.updateQueue,c=o!==null?o.lastEffect:null;if(c!==null){var f=c.next;o=f;do{if((o.tag&t)===t){c=void 0;var g=o.create,S=o.inst;c=g(),S.destroy=c}o=o.next}while(o!==f)}}catch(R){it(i,i.return,R)}}function yi(t,i,o){try{var c=i.updateQueue,f=c!==null?c.lastEffect:null;if(f!==null){var g=f.next;c=g;do{if((c.tag&t)===t){var S=c.inst,R=S.destroy;if(R!==void 0){S.destroy=void 0,f=i;var $=o,Z=R;try{Z()}catch(re){it(f,$,re)}}}c=c.next}while(c!==g)}}catch(re){it(i,i.return,re)}}function My(t){var i=t.updateQueue;if(i!==null){var o=t.stateNode;try{wv(i,o)}catch(c){it(t,t.return,c)}}}function Ny(t,i,o){o.props=ma(t.type,t.memoizedProps),o.state=t.memoizedState;try{o.componentWillUnmount()}catch(c){it(t,i,c)}}function Ss(t,i){try{var o=t.ref;if(o!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof o=="function"?t.refCleanup=o(c):o.current=c}}catch(f){it(t,i,f)}}function Sr(t,i){var o=t.ref,c=t.refCleanup;if(o!==null)if(typeof c=="function")try{c()}catch(f){it(t,i,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(f){it(t,i,f)}else o.current=null}function Dy(t){var i=t.type,o=t.memoizedProps,c=t.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":o.autoFocus&&c.focus();break e;case"img":o.src?c.src=o.src:o.srcSet&&(c.srcset=o.srcSet)}}catch(f){it(t,t.return,f)}}function If(t,i,o){try{var c=t.stateNode;MR(c,t.type,o,i),c[_n]=i}catch(f){it(t,t.return,f)}}function zy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ei(t.type)||t.tag===4}function Pf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||zy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ei(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Ff(t,i,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,i?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(t,i):(i=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,i.appendChild(t),o=o._reactRootContainer,o!=null||i.onclick!==null||(i.onclick=Lr));else if(c!==4&&(c===27&&Ei(t.type)&&(o=t.stateNode,i=null),t=t.child,t!==null))for(Ff(t,i,o),t=t.sibling;t!==null;)Ff(t,i,o),t=t.sibling}function uc(t,i,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,i?o.insertBefore(t,i):o.appendChild(t);else if(c!==4&&(c===27&&Ei(t.type)&&(o=t.stateNode),t=t.child,t!==null))for(uc(t,i,o),t=t.sibling;t!==null;)uc(t,i,o),t=t.sibling}function ky(t){var i=t.stateNode,o=t.memoizedProps;try{for(var c=t.type,f=i.attributes;f.length;)i.removeAttributeNode(f[0]);tn(i,c,o),i[Xt]=t,i[_n]=o}catch(g){it(t,t.return,g)}}var Gr=!1,It=!1,Vf=!1,Ly=typeof WeakSet=="function"?WeakSet:Set,qt=null;function uR(t,i){if(t=t.containerInfo,lh=Mc,t=Kg(t),Dd(t)){if("selectionStart"in t)var o={start:t.selectionStart,end:t.selectionEnd};else e:{o=(o=t.ownerDocument)&&o.defaultView||window;var c=o.getSelection&&o.getSelection();if(c&&c.rangeCount!==0){o=c.anchorNode;var f=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{o.nodeType,g.nodeType}catch{o=null;break e}var S=0,R=-1,$=-1,Z=0,re=0,oe=t,Y=null;t:for(;;){for(var W;oe!==o||f!==0&&oe.nodeType!==3||(R=S+f),oe!==g||c!==0&&oe.nodeType!==3||($=S+c),oe.nodeType===3&&(S+=oe.nodeValue.length),(W=oe.firstChild)!==null;)Y=oe,oe=W;for(;;){if(oe===t)break t;if(Y===o&&++Z===f&&(R=S),Y===g&&++re===c&&($=S),(W=oe.nextSibling)!==null)break;oe=Y,Y=oe.parentNode}oe=W}o=R===-1||$===-1?null:{start:R,end:$}}else o=null}o=o||{start:0,end:0}}else o=null;for(ch={focusedElem:t,selectionRange:o},Mc=!1,qt=i;qt!==null;)if(i=qt,t=i.child,(i.subtreeFlags&1028)!==0&&t!==null)t.return=i,qt=t;else for(;qt!==null;){switch(i=qt,g=i.alternate,t=i.flags,i.tag){case 0:if((t&4)!==0&&(t=i.updateQueue,t=t!==null?t.events:null,t!==null))for(o=0;o title"))),tn(g,c,o),g[Xt]=t,Bt(g),c=g;break e;case"link":var S=U0("link","href",f).get(c+(o.href||""));if(S){for(var R=0;Rst&&(S=st,st=De,De=S);var V=Gg(R,De),P=Gg(R,st);if(V&&P&&(W.rangeCount!==1||W.anchorNode!==V.node||W.anchorOffset!==V.offset||W.focusNode!==P.node||W.focusOffset!==P.offset)){var G=oe.createRange();G.setStart(V.node,V.offset),W.removeAllRanges(),De>st?(W.addRange(G),W.extend(P.node,P.offset)):(G.setEnd(P.node,P.offset),W.addRange(G))}}}}for(oe=[],W=R;W=W.parentNode;)W.nodeType===1&&oe.push({element:W,left:W.scrollLeft,top:W.scrollTop});for(typeof R.focus=="function"&&R.focus(),R=0;Ro?32:o,D.T=null,o=Kf,Kf=null;var g=Si,S=Xr;if(Vt=0,po=Si=null,Xr=0,(tt&6)!==0)throw Error(a(331));var R=tt;if(tt|=4,Zy(g.current),By(g,g.current,S,o),tt=R,Ts(0,!1),J&&typeof J.onPostCommitFiberRoot=="function")try{J.onPostCommitFiberRoot(I,g)}catch{}return!0}finally{q.p=f,D.T=c,d0(t,i)}}function h0(t,i,o){i=Gn(o,i),i=jf(t.stateNode,i,2),t=pi(t,i,2),t!==null&&(_t(t,2),_r(t))}function it(t,i,o){if(t.tag===3)h0(t,t,o);else for(;i!==null;){if(i.tag===3){h0(i,t,o);break}else if(i.tag===1){var c=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(wi===null||!wi.has(c))){t=Gn(o,t),o=my(2),c=pi(i,o,2),c!==null&&(py(o,c,i,t),_t(c,2),_r(c));break}}i=i.return}}function Jf(t,i,o){var c=t.pingCache;if(c===null){c=t.pingCache=new hR;var f=new Set;c.set(i,f)}else f=c.get(i),f===void 0&&(f=new Set,c.set(i,f));f.has(o)||(Bf=!0,f.add(o),t=yR.bind(null,t,i,o),i.then(t,t))}function yR(t,i,o){var c=t.pingCache;c!==null&&c.delete(i),t.pingedLanes|=t.suspendedLanes&o,t.warmLanes&=~o,ut===t&&(Ge&o)===o&&(Rt===4||Rt===3&&(Ge&62914560)===Ge&&300>wt()-hc?(tt&2)===0&&go(t,0):qf|=o,mo===Ge&&(mo=0)),_r(t)}function m0(t,i){i===0&&(i=Ht()),t=ia(t,i),t!==null&&(_t(t,i),_r(t))}function bR(t){var i=t.memoizedState,o=0;i!==null&&(o=i.retryLane),m0(t,o)}function xR(t,i){var o=0;switch(t.tag){case 31:case 13:var c=t.stateNode,f=t.memoizedState;f!==null&&(o=f.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(a(314))}c!==null&&c.delete(i),m0(t,o)}function wR(t,i){return ar(t,i)}var xc=null,yo=null,Wf=!1,wc=!1,eh=!1,Ci=0;function _r(t){t!==yo&&t.next===null&&(yo===null?xc=yo=t:yo=yo.next=t),wc=!0,Wf||(Wf=!0,_R())}function Ts(t,i){if(!eh&&wc){eh=!0;do for(var o=!1,c=xc;c!==null;){if(t!==0){var f=c.pendingLanes;if(f===0)var g=0;else{var S=c.suspendedLanes,R=c.pingedLanes;g=(1<<31-me(42|t)+1)-1,g&=f&~(S&~R),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(o=!0,y0(c,g))}else g=Ge,g=Me(c,c===ut?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||ft(c,g)||(o=!0,y0(c,g));c=c.next}while(o);eh=!1}}function SR(){p0()}function p0(){wc=Wf=!1;var t=0;Ci!==0&&DR()&&(t=Ci);for(var i=wt(),o=null,c=xc;c!==null;){var f=c.next,g=g0(c,i);g===0?(c.next=null,o===null?xc=f:o.next=f,f===null&&(yo=o)):(o=c,(t!==0||(g&3)!==0)&&(wc=!0)),c=f}Vt!==0&&Vt!==5||Ts(t),Ci!==0&&(Ci=0)}function g0(t,i){for(var o=t.suspendedLanes,c=t.pingedLanes,f=t.expirationTimes,g=t.pendingLanes&-62914561;0R)break;var re=$.transferSize,oe=$.initiatorType;re&&R0(oe)&&($=$.responseEnd,S+=re*($"u"?null:document;function I0(t,i,o){var c=bo;if(c&&typeof i=="string"&&i){var f=Bn(i);f='link[rel="'+t+'"][href="'+f+'"]',typeof o=="string"&&(f+='[crossorigin="'+o+'"]'),$0.has(f)||($0.add(f),t={rel:t,crossOrigin:o,href:i},c.querySelector(f)===null&&(i=c.createElement("link"),tn(i,"link",t),Bt(i),c.head.appendChild(i)))}}function UR(t){Jr.D(t),I0("dns-prefetch",t,null)}function HR(t,i){Jr.C(t,i),I0("preconnect",t,i)}function BR(t,i,o){Jr.L(t,i,o);var c=bo;if(c&&t&&i){var f='link[rel="preload"][as="'+Bn(i)+'"]';i==="image"&&o&&o.imageSrcSet?(f+='[imagesrcset="'+Bn(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(f+='[imagesizes="'+Bn(o.imageSizes)+'"]')):f+='[href="'+Bn(t)+'"]';var g=f;switch(i){case"style":g=xo(t);break;case"script":g=wo(t)}Jn.has(g)||(t=v({rel:"preload",href:i==="image"&&o&&o.imageSrcSet?void 0:t,as:i},o),Jn.set(g,t),c.querySelector(f)!==null||i==="style"&&c.querySelector(Ns(g))||i==="script"&&c.querySelector(Ds(g))||(i=c.createElement("link"),tn(i,"link",t),Bt(i),c.head.appendChild(i)))}}function qR(t,i){Jr.m(t,i);var o=bo;if(o&&t){var c=i&&typeof i.as=="string"?i.as:"script",f='link[rel="modulepreload"][as="'+Bn(c)+'"][href="'+Bn(t)+'"]',g=f;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=wo(t)}if(!Jn.has(g)&&(t=v({rel:"modulepreload",href:t},i),Jn.set(g,t),o.querySelector(f)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(Ds(g)))return}c=o.createElement("link"),tn(c,"link",t),Bt(c),o.head.appendChild(c)}}}function GR(t,i,o){Jr.S(t,i,o);var c=bo;if(c&&t){var f=Va(c).hoistableStyles,g=xo(t);i=i||"default";var S=f.get(g);if(!S){var R={loading:0,preload:null};if(S=c.querySelector(Ns(g)))R.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":i},o),(o=Jn.get(g))&&gh(t,o);var $=S=c.createElement("link");Bt($),tn($,"link",t),$._p=new Promise(function(Z,re){$.onload=Z,$.onerror=re}),$.addEventListener("load",function(){R.loading|=1}),$.addEventListener("error",function(){R.loading|=2}),R.loading|=4,Rc(S,i,c)}S={type:"stylesheet",instance:S,count:1,state:R},f.set(g,S)}}}function ZR(t,i){Jr.X(t,i);var o=bo;if(o&&t){var c=Va(o).hoistableScripts,f=wo(t),g=c.get(f);g||(g=o.querySelector(Ds(f)),g||(t=v({src:t,async:!0},i),(i=Jn.get(f))&&vh(t,i),g=o.createElement("script"),Bt(g),tn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(f,g))}}function KR(t,i){Jr.M(t,i);var o=bo;if(o&&t){var c=Va(o).hoistableScripts,f=wo(t),g=c.get(f);g||(g=o.querySelector(Ds(f)),g||(t=v({src:t,async:!0,type:"module"},i),(i=Jn.get(f))&&vh(t,i),g=o.createElement("script"),Bt(g),tn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(f,g))}}function P0(t,i,o,c){var f=(f=se.current)?Ec(f):null;if(!f)throw Error(a(446));switch(t){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(i=xo(o.href),o=Va(f).hoistableStyles,c=o.get(i),c||(c={type:"style",instance:null,count:0,state:null},o.set(i,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){t=xo(o.href);var g=Va(f).hoistableStyles,S=g.get(t);if(S||(f=f.ownerDocument||f,S={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,S),(g=f.querySelector(Ns(t)))&&!g._p&&(S.instance=g,S.state.loading=5),Jn.has(t)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},Jn.set(t,o),g||YR(f,t,o,S.state))),i&&c===null)throw Error(a(528,""));return S}if(i&&c!==null)throw Error(a(529,""));return null;case"script":return i=o.async,o=o.src,typeof o=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=wo(o),o=Va(f).hoistableScripts,c=o.get(i),c||(c={type:"script",instance:null,count:0,state:null},o.set(i,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,t))}}function xo(t){return'href="'+Bn(t)+'"'}function Ns(t){return'link[rel="stylesheet"]['+t+"]"}function F0(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function YR(t,i,o,c){t.querySelector('link[rel="preload"][as="style"]['+i+"]")?c.loading=1:(i=t.createElement("link"),c.preload=i,i.addEventListener("load",function(){return c.loading|=1}),i.addEventListener("error",function(){return c.loading|=2}),tn(i,"link",o),Bt(i),t.head.appendChild(i))}function wo(t){return'[src="'+Bn(t)+'"]'}function Ds(t){return"script[async]"+t}function V0(t,i,o){if(i.count++,i.instance===null)switch(i.type){case"style":var c=t.querySelector('style[data-href~="'+Bn(o.href)+'"]');if(c)return i.instance=c,Bt(c),c;var f=v({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),Bt(c),tn(c,"style",f),Rc(c,o.precedence,t),i.instance=c;case"stylesheet":f=xo(o.href);var g=t.querySelector(Ns(f));if(g)return i.state.loading|=4,i.instance=g,Bt(g),g;c=F0(o),(f=Jn.get(f))&&gh(c,f),g=(t.ownerDocument||t).createElement("link"),Bt(g);var S=g;return S._p=new Promise(function(R,$){S.onload=R,S.onerror=$}),tn(g,"link",c),i.state.loading|=4,Rc(g,o.precedence,t),i.instance=g;case"script":return g=wo(o.src),(f=t.querySelector(Ds(g)))?(i.instance=f,Bt(f),f):(c=o,(f=Jn.get(g))&&(c=v({},o),vh(c,f)),t=t.ownerDocument||t,f=t.createElement("script"),Bt(f),tn(f,"link",c),t.head.appendChild(f),i.instance=f);case"void":return null;default:throw Error(a(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(c=i.instance,i.state.loading|=4,Rc(c,o.precedence,t));return i.instance}function Rc(t,i,o){for(var c=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=c.length?c[c.length-1]:null,g=f,S=0;S title"):null)}function QR(t,i,o){if(o===1||i.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;return i.rel==="stylesheet"?(t=i.disabled,typeof i.precedence=="string"&&t==null):!0;case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function B0(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function XR(t,i,o,c){if(o.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var f=xo(c.href),g=i.querySelector(Ns(f));if(g){i=g._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(t.count++,t=Tc.bind(t),i.then(t,t)),o.state.loading|=4,o.instance=g,Bt(g);return}g=i.ownerDocument||i,c=F0(c),(f=Jn.get(f))&&gh(c,f),g=g.createElement("link"),Bt(g);var S=g;S._p=new Promise(function(R,$){S.onload=R,S.onerror=$}),tn(g,"link",c),o.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(o,i),(i=o.state.preload)&&(o.state.loading&3)===0&&(t.count++,o=Tc.bind(t),i.addEventListener("load",o),i.addEventListener("error",o))}}var yh=0;function JR(t,i){return t.stylesheets&&t.count===0&&Ac(t,t.stylesheets),0yh?50:800)+i);return t.unsuspend=o,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(f)}}:null}function Tc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ac(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Oc=null;function Ac(t,i){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Oc=new Map,i.forEach(WR,t),Oc=null,Tc.call(t))}function WR(t,i){if(!(i.state.loading&4)){var o=Oc.get(t);if(o)var c=o.get(null);else{o=new Map,Oc.set(t,o);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),jh.exports=p2(),jh.exports}var v2=g2(),hl=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},y2=class extends hl{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},tp=new y2,b2={setTimeout:(e,n)=>setTimeout(e,n),clearTimeout:e=>clearTimeout(e),setInterval:(e,n)=>setInterval(e,n),clearInterval:e=>clearInterval(e)},x2=class{#e=b2;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,n){return this.#e.setTimeout(e,n)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,n){return this.#e.setInterval(e,n)}clearInterval(e){this.#e.clearInterval(e)}},xa=new x2;function w2(e){setTimeout(e,0)}var S2=typeof window>"u"||"Deno"in globalThis;function Mn(){}function _2(e,n){return typeof e=="function"?e(n):e}function cm(e){return typeof e=="number"&&e>=0&&e!==1/0}function pw(e,n){return Math.max(e+(n||0)-Date.now(),0)}function Li(e,n){return typeof e=="function"?e(n):e}function Fn(e,n){return typeof e=="function"?e(n):e}function mb(e,n){const{type:r="all",exact:a,fetchStatus:s,predicate:l,queryKey:u,stale:d}=e;if(u){if(a){if(n.queryHash!==np(u,n.options))return!1}else if(!el(n.queryKey,u))return!1}if(r!=="all"){const m=n.isActive();if(r==="active"&&!m||r==="inactive"&&m)return!1}return!(typeof d=="boolean"&&n.isStale()!==d||s&&s!==n.state.fetchStatus||l&&!l(n))}function pb(e,n){const{exact:r,status:a,predicate:s,mutationKey:l}=e;if(l){if(!n.options.mutationKey)return!1;if(r){if(Ws(n.options.mutationKey)!==Ws(l))return!1}else if(!el(n.options.mutationKey,l))return!1}return!(a&&n.state.status!==a||s&&!s(n))}function np(e,n){return(n?.queryKeyHashFn||Ws)(e)}function Ws(e){return JSON.stringify(e,(n,r)=>dm(r)?Object.keys(r).sort().reduce((a,s)=>(a[s]=r[s],a),{}):r)}function el(e,n){return e===n?!0:typeof e!=typeof n?!1:e&&n&&typeof e=="object"&&typeof n=="object"?Object.keys(n).every(r=>el(e[r],n[r])):!1}var C2=Object.prototype.hasOwnProperty;function gw(e,n,r=0){if(e===n)return e;if(r>500)return n;const a=gb(e)&&gb(n);if(!a&&!(dm(e)&&dm(n)))return n;const l=(a?e:Object.keys(e)).length,u=a?n:Object.keys(n),d=u.length,m=a?new Array(d):{};let p=0;for(let y=0;y{xa.setTimeout(n,e)})}function fm(e,n,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,n):r.structuralSharing!==!1?gw(e,n):n}function R2(e,n,r=0){const a=[...e,n];return r&&a.length>r?a.slice(1):a}function j2(e,n,r=0){const a=[n,...e];return r&&a.length>r?a.slice(0,-1):a}var rp=Symbol();function vw(e,n){return!e.queryFn&&n?.initialPromise?()=>n.initialPromise:!e.queryFn||e.queryFn===rp?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function yw(e,n){return typeof e=="function"?e(...n):!!e}function T2(e,n,r){let a=!1,s;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(s??=n(),a||(a=!0,s.aborted?r():s.addEventListener("abort",r,{once:!0})),s)}),e}var tl=(()=>{let e=()=>S2;return{isServer(){return e()},setIsServer(n){e=n}}})();function hm(){let e,n;const r=new Promise((s,l)=>{e=s,n=l});r.status="pending",r.catch(()=>{});function a(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{a({status:"fulfilled",value:s}),e(s)},r.reject=s=>{a({status:"rejected",reason:s}),n(s)},r}var O2=w2;function A2(){let e=[],n=0,r=d=>{d()},a=d=>{d()},s=O2;const l=d=>{n?e.push(d):s(()=>{r(d)})},u=()=>{const d=e;e=[],d.length&&s(()=>{a(()=>{d.forEach(m=>{r(m)})})})};return{batch:d=>{let m;n++;try{m=d()}finally{n--,n||u()}return m},batchCalls:d=>(...m)=>{l(()=>{d(...m)})},schedule:l,setNotifyFunction:d=>{r=d},setBatchNotifyFunction:d=>{a=d},setScheduler:d=>{s=d}}}var an=A2(),M2=class extends hl{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},uu=new M2;function N2(e){return Math.min(1e3*2**e,3e4)}function bw(e){return(e??"online")==="online"?uu.isOnline():!0}var mm=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function xw(e){let n=!1,r=0,a;const s=hm(),l=()=>s.status!=="pending",u=C=>{if(!l()){const E=new mm(C);b(E),e.onCancel?.(E)}},d=()=>{n=!0},m=()=>{n=!1},p=()=>tp.isFocused()&&(e.networkMode==="always"||uu.isOnline())&&e.canRun(),y=()=>bw(e.networkMode)&&e.canRun(),v=C=>{l()||(a?.(),s.resolve(C))},b=C=>{l()||(a?.(),s.reject(C))},x=()=>new Promise(C=>{a=E=>{(l()||p())&&C(E)},e.onPause?.()}).then(()=>{a=void 0,l()||e.onContinue?.()}),_=()=>{if(l())return;let C;const E=r===0?e.initialPromise:void 0;try{C=E??e.fn()}catch(j){C=Promise.reject(j)}Promise.resolve(C).then(v).catch(j=>{if(l())return;const O=e.retry??(tl.isServer()?0:3),T=e.retryDelay??N2,A=typeof T=="function"?T(r,j):T,L=O===!0||typeof O=="number"&&rp()?void 0:x()).then(()=>{n?b(j):_()})})};return{promise:s,status:()=>s.status,cancel:u,continue:()=>(a?.(),s),cancelRetry:d,continueRetry:m,canStart:y,start:()=>(y()?_():x().then(_),s)}}var ww=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),cm(this.gcTime)&&(this.#e=xa.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(tl.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(xa.clearTimeout(this.#e),this.#e=void 0)}};function D2(e){return{onFetch:(n,r)=>{const a=n.options,s=n.fetchOptions?.meta?.fetchMore?.direction,l=n.state.data?.pages||[],u=n.state.data?.pageParams||[];let d={pages:[],pageParams:[]},m=0;const p=async()=>{let y=!1;const v=_=>{T2(_,()=>n.signal,()=>y=!0)},b=vw(n.options,n.fetchOptions),x=async(_,C,E)=>{if(y)return Promise.reject(n.signal.reason);if(C==null&&_.pages.length)return Promise.resolve(_);const O=(()=>{const B={client:n.client,queryKey:n.queryKey,pageParam:C,direction:E?"backward":"forward",meta:n.options.meta};return v(B),B})(),T=await b(O),{maxPages:A}=n.options,L=E?j2:R2;return{pages:L(_.pages,T,A),pageParams:L(_.pageParams,C,A)}};if(s&&l.length){const _=s==="backward",C=_?Sw:pm,E={pages:l,pageParams:u},j=C(a,E);d=await x(E,j,_)}else{const _=e??l.length;do{const C=m===0?u[0]??a.initialPageParam:pm(a,d);if(m>0&&C==null)break;d=await x(d,C),m++}while(m<_)}return d};n.options.persister?n.fetchFn=()=>n.options.persister?.(p,{client:n.client,queryKey:n.queryKey,meta:n.options.meta,signal:n.signal},r):n.fetchFn=p}}}function pm(e,{pages:n,pageParams:r}){const a=n.length-1;return n.length>0?e.getNextPageParam(n[a],n,r[a],r):void 0}function Sw(e,{pages:n,pageParams:r}){return n.length>0?e.getPreviousPageParam?.(n[0],n,r[0],r):void 0}function z2(e,n){return n?pm(e,n)!=null:!1}function k2(e,n){return!n||!e.getPreviousPageParam?!1:Sw(e,n)!=null}var L2=class extends ww{#e;#t;#n;#r;#a;#i;#s;#o;constructor(e){super(),this.#o=!1,this.#s=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#a=e.client,this.#r=this.#a.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=bb(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#s,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=bb(this.options);n.data!==void 0&&(this.setState(yb(n.data,n.dataUpdatedAt)),this.#t=n)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,n){const r=fm(this.state.data,e,this.options);return this.#l({data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(e){this.#l({type:"setState",state:e})}cancel(e){const n=this.#i?.promise;return this.#i?.cancel(e),n?n.then(Mn).catch(Mn):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Fn(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===rp||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Li(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!pw(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(this.#i&&(this.#o||this.#u()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#l({type:"invalidate"})}async fetch(e,n){if(this.state.fetchStatus!=="idle"&&this.#i?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){const m=this.observers.find(p=>p.options.queryFn);m&&this.setOptions(m.options)}const r=new AbortController,a=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},s=()=>{const m=vw(this.options,n),y=(()=>{const v={client:this.#a,queryKey:this.queryKey,meta:this.meta};return a(v),v})();return this.#o=!1,this.options.persister?this.options.persister(m,y,this):m(y)},u=(()=>{const m={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:this.#a,state:this.state,fetchFn:s};return a(m),m})();(this.#e==="infinite"?D2(this.options.pages):this.options.behavior)?.onFetch(u,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#l({type:"fetch",meta:u.fetchOptions?.meta}),this.#i=xw({initialPromise:n?.initialPromise,fn:u.fetchFn,onCancel:m=>{m instanceof mm&&m.revert&&this.setState({...this.#n,fetchStatus:"idle"}),r.abort()},onFail:(m,p)=>{this.#l({type:"failed",failureCount:m,error:p})},onPause:()=>{this.#l({type:"pause"})},onContinue:()=>{this.#l({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0});try{const m=await this.#i.start();if(m===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(m),this.#r.config.onSuccess?.(m,this),this.#r.config.onSettled?.(m,this.state.error,this),m}catch(m){if(m instanceof mm){if(m.silent)return this.#i.promise;if(m.revert){if(this.state.data===void 0)throw m;return this.state.data}}throw this.#l({type:"error",error:m}),this.#r.config.onError?.(m,this),this.#r.config.onSettled?.(this.state.data,m,this),m}finally{this.scheduleGc()}}#l(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,..._w(r.data,this.options),fetchMeta:e.meta??null};case"success":const a={...r,...yb(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?a:void 0,a;case"error":const s=e.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),an.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function _w(e,n){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:bw(n.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function yb(e,n){return{data:e,dataUpdatedAt:n??Date.now(),error:null,isInvalidated:!1,status:"success"}}function bb(e){const n=typeof e.initialData=="function"?e.initialData():e.initialData,r=n!==void 0,a=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:n,dataUpdateCount:0,dataUpdatedAt:r?a??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Cw=class extends hl{constructor(e,n){super(),this.options=n,this.#e=e,this.#o=null,this.#s=hm(),this.bindMethods(),this.setOptions(n)}#e;#t=void 0;#n=void 0;#r=void 0;#a;#i;#s;#o;#u;#l;#m;#d;#f;#c;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),xb(this.#t,this.options)?this.#h():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gm(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gm(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#w(),this.#t.removeObserver(this)}setOptions(e){const n=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Fn(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#S(),this.#t.setOptions(this.options),n._defaulted&&!um(this.options,n)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const a=this.hasListeners();a&&wb(this.#t,r,this.options,n)&&this.#h(),this.updateResult(),a&&(this.#t!==r||Fn(this.options.enabled,this.#t)!==Fn(n.enabled,this.#t)||Li(this.options.staleTime,this.#t)!==Li(n.staleTime,this.#t))&&this.#g();const s=this.#v();a&&(this.#t!==r||Fn(this.options.enabled,this.#t)!==Fn(n.enabled,this.#t)||s!==this.#c)&&this.#y(s)}getOptimisticResult(e){const n=this.#e.getQueryCache().build(this.#e,e),r=this.createResult(n,e);return I2(this,r)&&(this.#r=r,this.#i=this.options,this.#a=this.#t.state),r}getCurrentResult(){return this.#r}trackResult(e,n){return new Proxy(e,{get:(r,a)=>(this.trackProp(a),n?.(a),a==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#s.status==="pending"&&this.#s.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,a))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let n=this.#t.fetch(this.options,e);return e?.throwOnError||(n=n.catch(Mn)),n}#g(){this.#x();const e=Li(this.options.staleTime,this.#t);if(tl.isServer()||this.#r.isStale||!cm(e))return;const r=pw(this.#r.dataUpdatedAt,e)+1;this.#d=xa.setTimeout(()=>{this.#r.isStale||this.updateResult()},r)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#y(e){this.#w(),this.#c=e,!(tl.isServer()||Fn(this.options.enabled,this.#t)===!1||!cm(this.#c)||this.#c===0)&&(this.#f=xa.setInterval(()=>{(this.options.refetchIntervalInBackground||tp.isFocused())&&this.#h()},this.#c))}#b(){this.#g(),this.#y(this.#v())}#x(){this.#d!==void 0&&(xa.clearTimeout(this.#d),this.#d=void 0)}#w(){this.#f!==void 0&&(xa.clearInterval(this.#f),this.#f=void 0)}createResult(e,n){const r=this.#t,a=this.options,s=this.#r,l=this.#a,u=this.#i,m=e!==r?e.state:this.#n,{state:p}=e;let y={...p},v=!1,b;if(n._optimisticResults){const F=this.hasListeners(),pe=!F&&xb(e,n),ge=F&&wb(e,r,n,a);(pe||ge)&&(y={...y,..._w(p.data,e.options)}),n._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:x,errorUpdatedAt:_,status:C}=y;b=y.data;let E=!1;if(n.placeholderData!==void 0&&b===void 0&&C==="pending"){let F;s?.isPlaceholderData&&n.placeholderData===u?.placeholderData?(F=s.data,E=!0):F=typeof n.placeholderData=="function"?n.placeholderData(this.#m?.state.data,this.#m):n.placeholderData,F!==void 0&&(C="success",b=fm(s?.data,F,n),v=!0)}if(n.select&&b!==void 0&&!E)if(s&&b===l?.data&&n.select===this.#u)b=this.#l;else try{this.#u=n.select,b=n.select(b),b=fm(s?.data,b,n),this.#l=b,this.#o=null}catch(F){this.#o=F}this.#o&&(x=this.#o,b=this.#l,_=Date.now(),C="error");const j=y.fetchStatus==="fetching",O=C==="pending",T=C==="error",A=O&&j,L=b!==void 0,H={status:C,fetchStatus:y.fetchStatus,isPending:O,isSuccess:C==="success",isError:T,isInitialLoading:A,isLoading:A,data:b,dataUpdatedAt:y.dataUpdatedAt,error:x,errorUpdatedAt:_,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:y.dataUpdateCount>m.dataUpdateCount||y.errorUpdateCount>m.errorUpdateCount,isFetching:j,isRefetching:j&&!O,isLoadingError:T&&!L,isPaused:y.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:T&&L,isStale:ip(e,n),refetch:this.refetch,promise:this.#s,isEnabled:Fn(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const F=H.data!==void 0,pe=H.status==="error"&&!F,ge=le=>{pe?le.reject(H.error):F&&le.resolve(H.data)},fe=()=>{const le=this.#s=H.promise=hm();ge(le)},Q=this.#s;switch(Q.status){case"pending":e.queryHash===r.queryHash&&ge(Q);break;case"fulfilled":(pe||H.data!==Q.value)&&fe();break;case"rejected":(!pe||H.error!==Q.reason)&&fe();break}}return H}updateResult(){const e=this.#r,n=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#i=this.options,this.#a.data!==void 0&&(this.#m=this.#t),um(n,e))return;this.#r=n;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!this.#p.size)return!0;const l=new Set(s??this.#p);return this.options.throwOnError&&l.add("error"),Object.keys(this.#r).some(u=>{const d=u;return this.#r[d]!==e[d]&&l.has(d)})};this.#_({listeners:r()})}#S(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const n=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(n?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#_(e){an.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function $2(e,n){return Fn(n.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Fn(n.retryOnMount,e)===!1)}function xb(e,n){return $2(e,n)||e.state.data!==void 0&&gm(e,n,n.refetchOnMount)}function gm(e,n,r){if(Fn(n.enabled,e)!==!1&&Li(n.staleTime,e)!=="static"){const a=typeof r=="function"?r(e):r;return a==="always"||a!==!1&&ip(e,n)}return!1}function wb(e,n,r,a){return(e!==n||Fn(a.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&ip(e,r)}function ip(e,n){return Fn(n.enabled,e)!==!1&&e.isStaleByTime(Li(n.staleTime,e))}function I2(e,n){return!um(e.getCurrentResult(),n)}var P2=class extends Cw{constructor(e,n){super(e,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,n){const{state:r}=e,a=super.createResult(e,n),{isFetching:s,isRefetching:l,isError:u,isRefetchError:d}=a,m=r.fetchMeta?.fetchMore?.direction,p=u&&m==="forward",y=s&&m==="forward",v=u&&m==="backward",b=s&&m==="backward";return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:z2(n,r.data),hasPreviousPage:k2(n,r.data),isFetchNextPageError:p,isFetchingNextPage:y,isFetchPreviousPageError:v,isFetchingPreviousPage:b,isRefetchError:d&&!p&&!v,isRefetching:l&&!y&&!b}}},F2=class extends ww{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||V2(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(n=>n!==e),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){const n=()=>{this.#a({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=xw({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(l,u)=>{this.#a({type:"failed",failureCount:l,error:u})},onPause:()=>{this.#a({type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const a=this.state.status==="pending",s=!this.#r.canStart();try{if(a)n();else{this.#a({type:"pending",variables:e,isPaused:s}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,r);const u=await this.options.onMutate?.(e,r);u!==this.state.context&&this.#a({type:"pending",context:u,variables:e,isPaused:s})}const l=await this.#r.start();return await this.#n.config.onSuccess?.(l,e,this.state.context,this,r),await this.options.onSuccess?.(l,e,this.state.context,r),await this.#n.config.onSettled?.(l,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(l,null,e,this.state.context,r),this.#a({type:"success",data:l}),l}catch(l){try{await this.#n.config.onError?.(l,e,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onError?.(l,e,this.state.context,r)}catch(u){Promise.reject(u)}try{await this.#n.config.onSettled?.(void 0,l,this.state.variables,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onSettled?.(void 0,l,e,this.state.context,r)}catch(u){Promise.reject(u)}throw this.#a({type:"error",error:l}),l}finally{this.#n.runNext(this)}}#a(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),an.batch(()=>{this.#t.forEach(r=>{r.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:"updated",action:e})})}};function V2(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var U2=class extends hl{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,n,r){const a=new F2({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(n),state:r});return this.add(a),a}add(e){this.#e.add(e);const n=Ic(e);if(typeof n=="string"){const r=this.#t.get(n);r?r.push(e):this.#t.set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const n=Ic(e);if(typeof n=="string"){const r=this.#t.get(n);if(r)if(r.length>1){const a=r.indexOf(e);a!==-1&&r.splice(a,1)}else r[0]===e&&this.#t.delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=Ic(e);if(typeof n=="string"){const a=this.#t.get(n)?.find(s=>s.state.status==="pending");return!a||a===e}else return!0}runNext(e){const n=Ic(e);return typeof n=="string"?this.#t.get(n)?.find(a=>a!==e&&a.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){an.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const n={exact:!0,...e};return this.getAll().find(r=>pb(n,r))}findAll(e={}){return this.getAll().filter(n=>pb(e,n))}notify(e){an.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return an.batch(()=>Promise.all(e.map(n=>n.continue().catch(Mn))))}};function Ic(e){return e.options.scope?.id}var H2=class extends hl{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,n,r){const a=n.queryKey,s=n.queryHash??np(a,n);let l=this.get(s);return l||(l=new L2({client:e,queryKey:a,queryHash:s,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(a)}),this.add(l)),l}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=this.#e.get(e.queryHash);n&&(e.destroy(),n===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){an.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const n={exact:!0,...e};return this.getAll().find(r=>mb(n,r))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(r=>mb(e,r)):n}notify(e){an.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){an.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){an.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},B2=class{#e;#t;#n;#r;#a;#i;#s;#o;constructor(e={}){this.#e=e.queryCache||new H2,this.#t=e.mutationCache||new U2,this.#n=e.defaultOptions||{},this.#r=new Map,this.#a=new Map,this.#i=0}mount(){this.#i++,this.#i===1&&(this.#s=tp.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=uu.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#i--,this.#i===0&&(this.#s?.(),this.#s=void 0,this.#o?.(),this.#o=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state.data}ensureQueryData(e){const n=this.defaultQueryOptions(e),r=this.#e.build(this,n),a=r.state.data;return a===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(Li(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(a))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:n,state:r})=>{const a=r.data;return[n,a]})}setQueryData(e,n,r){const a=this.defaultQueryOptions({queryKey:e}),l=this.#e.get(a.queryHash)?.state.data,u=_2(n,l);if(u!==void 0)return this.#e.build(this,a).setData(u,{...r,manual:!0})}setQueriesData(e,n,r){return an.batch(()=>this.#e.findAll(e).map(({queryKey:a})=>[a,this.setQueryData(a,n,r)]))}getQueryState(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state}removeQueries(e){const n=this.#e;an.batch(()=>{n.findAll(e).forEach(r=>{n.remove(r)})})}resetQueries(e,n){const r=this.#e;return an.batch(()=>(r.findAll(e).forEach(a=>{a.reset()}),this.refetchQueries({type:"active",...e},n)))}cancelQueries(e,n={}){const r={revert:!0,...n},a=an.batch(()=>this.#e.findAll(e).map(s=>s.cancel(r)));return Promise.all(a).then(Mn).catch(Mn)}invalidateQueries(e,n={}){return an.batch(()=>(this.#e.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},n)))}refetchQueries(e,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},a=an.batch(()=>this.#e.findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let l=s.fetch(void 0,r);return r.throwOnError||(l=l.catch(Mn)),s.state.fetchStatus==="paused"?Promise.resolve():l}));return Promise.all(a).then(Mn)}fetchQuery(e){const n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);const r=this.#e.build(this,n);return r.isStaleByTime(Li(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Mn).catch(Mn)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Mn).catch(Mn)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return uu.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,n){this.#r.set(Ws(e),{queryKey:e,defaultOptions:n})}getQueryDefaults(e){const n=[...this.#r.values()],r={};return n.forEach(a=>{el(e,a.queryKey)&&Object.assign(r,a.defaultOptions)}),r}setMutationDefaults(e,n){this.#a.set(Ws(e),{mutationKey:e,defaultOptions:n})}getMutationDefaults(e){const n=[...this.#a.values()],r={};return n.forEach(a=>{el(e,a.mutationKey)&&Object.assign(r,a.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const n={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||(n.queryHash=np(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===rp&&(n.enabled=!1),n}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Ew=w.createContext(void 0),Aa=e=>{const n=w.useContext(Ew);if(!n)throw new Error("No QueryClient set, use QueryClientProvider to set one");return n},q2=({client:e,children:n})=>(w.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),h.jsx(Ew.Provider,{value:e,children:n})),Rw=w.createContext(!1),G2=()=>w.useContext(Rw);Rw.Provider;function Z2(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var K2=w.createContext(Z2()),Y2=()=>w.useContext(K2),Q2=(e,n,r)=>{const a=r?.state.error&&typeof e.throwOnError=="function"?yw(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||a)&&(n.isReset()||(e.retryOnMount=!1))},X2=e=>{w.useEffect(()=>{e.clearReset()},[e])},J2=({result:e,errorResetBoundary:n,throwOnError:r,query:a,suspense:s})=>e.isError&&!n.isReset()&&!e.isFetching&&a&&(s&&e.data===void 0||yw(r,[e.error,a])),W2=e=>{if(e.suspense){const r=s=>s==="static"?s:Math.max(s??1e3,1e3),a=e.staleTime;e.staleTime=typeof a=="function"?(...s)=>r(a(...s)):r(a),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},ej=(e,n)=>e.isLoading&&e.isFetching&&!n,tj=(e,n)=>e?.suspense&&n.isPending,Sb=(e,n,r)=>n.fetchOptimistic(e).catch(()=>{r.clearReset()});function jw(e,n,r){const a=G2(),s=Y2(),l=Aa(),u=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(u);const d=l.getQueryCache().get(u.queryHash),m=e.subscribed!==!1;u._optimisticResults=a?"isRestoring":m?"optimistic":void 0,W2(u),Q2(u,s,d),X2(s);const p=!l.getQueryCache().get(u.queryHash),[y]=w.useState(()=>new n(l,u)),v=y.getOptimisticResult(u),b=!a&&m;if(w.useSyncExternalStore(w.useCallback(x=>{const _=b?y.subscribe(an.batchCalls(x)):Mn;return y.updateResult(),_},[y,b]),()=>y.getCurrentResult(),()=>y.getCurrentResult()),w.useEffect(()=>{y.setOptions(u)},[u,y]),tj(u,v))throw Sb(u,y,s);if(J2({result:v,errorResetBoundary:s,throwOnError:u.throwOnError,query:d,suspense:u.suspense}))throw v.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(u,v),u.experimental_prefetchInRender&&!tl.isServer()&&ej(v,a)&&(p?Sb(u,y,s):d?.promise)?.catch(Mn).finally(()=>{y.updateResult()}),u.notifyOnChangeProps?v:y.trackResult(v)}function Zt(e,n){return jw(e,Cw)}function nj(e,n){return jw(e,P2)}let _b=!1;function rj(e){const n=e.analytics;if(!n?.key||_b)return;_b=!0;const r=document.createElement("script");r.src=n.host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",r.async=!0,r.onload=()=>{const a=window.posthog;a&&(a.init(n.key,{api_host:n.host,defaults:"2026-05-30",capture_pageview:"history_change",session_recording:{maskAllInputs:!0,maskTextSelector:"*"}}),e.me&&a.identify(e.me.email,{email:e.me.email,name:e.me.name,...e.billing?{plan:e.billing.plan}:{}}))},document.head.appendChild(r)}function Tw(e,n){window.posthog?.capture(e,n)}const ij=[[/^POST \/api\/projects$/,"project_created"],[/^DELETE \/api\/projects\//,"project_deleted"],[/^POST \/api\/p\/[^/]+\/restore$/,"file_restored"],[/^DELETE \/api\/shares\//,"share_revoked"],[/^PATCH \/api\/shares\//,"share_expiry_changed"],[/^POST \/api\/orgs\/[^/]+\/invites$/,"invite_created"],[/^DELETE \/api\/orgs\/[^/]+\/invites\//,"invite_revoked"],[/^POST \/api\/invites\//,"invite_accepted"],[/^PUT \/api\/p\/[^/]+\/permissions\/./,"project_access_granted"],[/^DELETE \/api\/p\/[^/]+\/permissions\/./,"project_access_revoked"]];function Ow(e,n){const r=e+" "+n.split("?")[0],a=ij.find(([s])=>s.test(r));a&&Tw(a[1])}function ap(){throw location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),new Error("signing in…")}function aj(e,n){const r=n.trim();switch(e){case 403:return r.includes("seat")?"This plan is out of seats. Upgrade to add more people.":r.includes("owner")?"Only owners can do that.":"You don't have access to that.";case 409:return r?r[0].toUpperCase()+r.slice(1):"That is managed outside this hub.";case 404:return"That is gone — it may have been removed already.";case 413:return"This project is over its plan limit.";case 429:return"Too many requests. Give it a moment.";default:return e>=500?"The server had a problem. Try again.":r?r[0].toUpperCase()+r.slice(1):"Something went wrong."}}async function Ou(e){throw new Error(aj(e.status,await e.text()))}async function sn(e){const n=await fetch(e,{headers:{Accept:"application/json"}});return n.status===401&&ap(),n.ok||await Ou(n),n.json()}async function oj(e){const n=await fetch(e);return n.status===401&&ap(),n.ok||await Ou(n),n}async function er(e,n,r){const a={method:e};r!==void 0&&(a.headers={"Content-Type":"application/json"},a.body=JSON.stringify(r));const s=await fetch(n,a);return s.ok||await Ou(s),Ow(e,n),s.status===204?{}:s.json()}async function Sa(e,n){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n||{})});return r.status===401&&ap(),r.ok||await Ou(r),Ow("POST",e),r.json()}function sj(){return Zt({queryKey:["config"],queryFn:async()=>{const e=await sn("/api/config");return e.auth.enabled&&!e.me&&(location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),await new Promise(()=>{})),rj(e),e},staleTime:1/0})}var Ma=mw();const lj=hw(Ma);function Cb(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Fo(...e){return n=>{let r=!1;const a=e.map(s=>{const l=Cb(s,n);return!r&&typeof l=="function"&&(r=!0),l});if(r)return()=>{for(let s=0;s{let{children:s,...l}=r,u=null,d=!1;const m=[];Eb(s)&&typeof Pc=="function"&&(s=Pc(s._payload)),w.Children.forEach(s,b=>{if(mj(b)){d=!0;const x=b;let _="child"in x.props?x.props.child:x.props.children;Eb(_)&&typeof Pc=="function"&&(_=Pc(_._payload)),u=dj(x,_),m.push(u?.props?.children)}else m.push(b)}),u?u=w.cloneElement(u,void 0,m):!d&&w.Children.count(s)===1&&w.isValidElement(s)&&(u=s);const p=u?hj(u):void 0,y=nt(a,p);if(!u){if(s||s===0)throw new Error(d?yj(e):vj(e));return s}const v=fj(l,u.props??{});return u.type!==w.Fragment&&(v.ref=a?y:p),w.cloneElement(u,v)});return n.displayName=`${e}.Slot`,n}var cj=_a("Slot"),Aw=Symbol.for("radix.slottable");function uj(e){const n=r=>"child"in r?r.children(r.child):r.children;return n.displayName=`${e}.Slottable`,n.__radixId=Aw,n}var dj=(e,n)=>{if("child"in e.props){const r=e.props.child;return w.isValidElement(r)?w.cloneElement(r,void 0,e.props.children(r.props.children)):null}return w.isValidElement(n)?n:null};function fj(e,n){const r={...n};for(const a in n){const s=e[a],l=n[a];/^on[A-Z]/.test(a)?s&&l?r[a]=(...d)=>{const m=l(...d);return s(...d),m}:s&&(r[a]=s):a==="style"?r[a]={...s,...l}:a==="className"&&(r[a]=[s,l].filter(Boolean).join(" "))}return{...e,...r}}function hj(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function mj(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Aw}var pj=Symbol.for("react.lazy");function Eb(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===pj&&"_payload"in e&&gj(e._payload)}function gj(e){return typeof e=="object"&&e!==null&&"then"in e}var vj=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,yj=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Pc=Tu[" use ".trim().toString()],bj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=bj.reduce((e,n)=>{const r=_a(`Primitive.${n}`),a=w.forwardRef((s,l)=>{const{asChild:u,...d}=s,m=u?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(m,{...d,ref:l})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{});function Mw(e,n){e&&Ma.flushSync(()=>e.dispatchEvent(n))}var Nw=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),xj="VisuallyHidden",Dw=w.forwardRef((e,n)=>h.jsx($e.span,{...e,ref:n,style:{...Nw,...e.style}}));Dw.displayName=xj;var wj=Dw;function Gi(e,n=[]){let r=[];function a(l,u){const d=w.createContext(u);d.displayName=l+"Context";const m=r.length;r=[...r,u];const p=v=>{const{scope:b,children:x,..._}=v,C=b?.[e]?.[m]||d,E=w.useMemo(()=>_,Object.values(_));return h.jsx(C.Provider,{value:E,children:x})};p.displayName=l+"Provider";function y(v,b,x={}){const{optional:_=!1}=x,C=b?.[e]?.[m]||d,E=w.useContext(C);if(E)return E;if(u!==void 0)return u;if(!_)throw new Error(`\`${v}\` must be used within \`${l}\``)}return[p,y]}const s=()=>{const l=r.map(u=>w.createContext(u));return function(d){const m=d?.[e]||l;return w.useMemo(()=>({[`__scope${e}`]:{...d,[e]:m}}),[d,m])}};return s.scopeName=e,[a,Sj(s,...n)]}function Sj(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const a=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const u=a.reduce((d,{useScope:m,scopeName:p})=>{const v=m(l)[`__scope${p}`];return{...d,...v}},{});return w.useMemo(()=>({[`__scope${n.scopeName}`]:u}),[u])}};return r.scopeName=n.scopeName,r}function op(e){const n=e+"CollectionProvider",[r,a]=Gi(n),[s,l]=r(n,{collectionRef:{current:null},itemMap:new Map}),u=C=>{const{scope:E,children:j}=C,O=w.useRef(null),T=w.useRef(new Map).current;return h.jsx(s,{scope:E,itemMap:T,collectionRef:O,children:j})};u.displayName=n;const d=e+"CollectionSlot",m=_a(d),p=w.forwardRef((C,E)=>{const{scope:j,children:O}=C,T=l(d,j),A=nt(E,T.collectionRef);return h.jsx(m,{ref:A,children:O})});p.displayName=d;const y=e+"CollectionItemSlot",v="data-radix-collection-item",b=_a(y),x=w.forwardRef((C,E)=>{const{scope:j,children:O,...T}=C,A=w.useRef(null),L=nt(E,A),B=l(y,j);return w.useEffect(()=>(B.itemMap.set(A,{ref:A,...T}),()=>{B.itemMap.delete(A)})),h.jsx(b,{[v]:"",ref:L,children:O})});x.displayName=y;function _(C){const E=l(e+"CollectionConsumer",C);return w.useCallback(()=>{const O=E.collectionRef.current;if(!O)return[];const T=Array.from(O.querySelectorAll(`[${v}]`));return Array.from(E.itemMap.values()).sort((B,H)=>T.indexOf(B.ref.current)-T.indexOf(H.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:u,Slot:p,ItemSlot:x},_,a]}function Re(e,n,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e?.(s),r===!1||!s||!s.defaultPrevented)return n?.(s)}}var Gt=globalThis?.document?w.useLayoutEffect:()=>{},_j=Tu[" useInsertionEffect ".trim().toString()]||Gt;function Vo({prop:e,defaultProp:n,onChange:r=()=>{},caller:a}){const[s,l,u]=Cj({defaultProp:n,onChange:r}),d=e!==void 0,m=d?e:s;{const y=w.useRef(e!==void 0);w.useEffect(()=>{const v=y.current;v!==d&&console.warn(`${a} is changing from ${v?"controlled":"uncontrolled"} to ${d?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=d},[d,a])}const p=w.useCallback(y=>{if(d){const v=Ej(y)?y(e):y;v!==e&&u.current?.(v)}else l(y)},[d,e,l,u]);return[m,p]}function Cj({defaultProp:e,onChange:n}){const[r,a]=w.useState(e),s=w.useRef(r),l=w.useRef(n);return _j(()=>{l.current=n},[n]),w.useEffect(()=>{s.current!==r&&(l.current?.(r),s.current=r)},[r,s]),[r,a,l]}function Ej(e){return typeof e=="function"}function Rj(e,n){return w.useReducer((r,a)=>n[r][a]??r,e)}var yr=e=>{const{present:n,children:r}=e,a=jj(n),s=typeof r=="function"?r({present:a.isPresent}):w.Children.only(r),l=Tj(a.ref,Oj(s));return typeof r=="function"||a.isPresent?w.cloneElement(s,{ref:l}):null};yr.displayName="Presence";function jj(e){const[n,r]=w.useState(),a=w.useRef(null),s=w.useRef(e),l=w.useRef("none"),u=w.useRef(void 0),d=e?"mounted":"unmounted",[m,p]=Rj(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{m==="mounted"?(l.current=u.current??Fs(a.current),u.current=void 0):l.current="none"},[m]),Gt(()=>{const y=a.current,v=s.current;if(v!==e){const x=l.current,_=Fs(y);e?(u.current=_,p("MOUNT")):_==="none"||y?.display==="none"?p("UNMOUNT"):p(v&&x!==_?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,p]),Gt(()=>{if(n){let y;const v=n.ownerDocument.defaultView??window,b=_=>{const E=Fs(a.current).includes(CSS.escape(_.animationName));if(_.target===n&&E&&(p("ANIMATION_END"),!s.current)){const j=n.style.animationFillMode;n.style.animationFillMode="forwards",y=v.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=j)})}},x=_=>{_.target===n&&(l.current=Fs(a.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",b),n.addEventListener("animationend",b),()=>{v.clearTimeout(y),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",b),n.removeEventListener("animationend",b)}}else p("ANIMATION_END")},[n,p]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:w.useCallback(y=>{if(y){const v=getComputedStyle(y);a.current=v,u.current=Fs(v)}else a.current=null;r(y)},[])}}function Rb(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Tj(...e){const n=w.useRef(e);return n.current=e,w.useCallback(r=>{const a=n.current;let s=!1;const l=a.map(u=>{const d=Rb(u,r);return!s&&typeof d=="function"&&(s=!0),d});if(s)return()=>{for(let u=0;u{}),Mj=0;function hn(e){const[n,r]=w.useState(Aj());return Gt(()=>{r(a=>a??String(Mj++))},[e]),n?`radix-${n}`:""}var Nj=w.createContext(void 0);function sp(e){const n=w.useContext(Nj);return e||n||"ltr"}function nr(e){const n=w.useRef(e);return w.useEffect(()=>{n.current=e}),w.useMemo(()=>((...r)=>n.current?.(...r)),[])}var Dj="DismissableLayer",vm="dismissableLayer.update",zj="dismissableLayer.pointerDownOutside",kj="dismissableLayer.focusOutside",jb,lp=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ml=w.forwardRef((e,n)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:a=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,onDismiss:m,...p}=e,y=w.useContext(lp),[v,b]=w.useState(null),x=v?.ownerDocument??globalThis?.document,[,_]=w.useState({}),C=nt(n,b),E=Array.from(y.layers),[j]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),O=j?E.indexOf(j):-1,T=v?E.indexOf(v):-1,A=y.layersWithOutsidePointerEventsDisabled.size>0,L=T>=O,B=w.useRef(!1),H=Fj(fe=>{l?.(fe),d?.(fe),fe.defaultPrevented||m?.()},{ownerDocument:x,deferPointerDownOutside:a,isDeferredPointerDownOutsideRef:B,dismissableSurfaces:y.dismissableSurfaces,shouldHandlePointerDownOutside:w.useCallback(fe=>{if(!(fe instanceof Node))return!1;const Q=[...y.branches].some(le=>le.contains(fe));return L&&!Q},[y.branches,L])}),F=Vj(fe=>{if(a&&B.current)return;const Q=fe.target;[...y.branches].some(ue=>ue.contains(Q))||(u?.(fe),d?.(fe),fe.defaultPrevented||m?.())},x),pe=v?T===E.length-1:!1,ge=nr(fe=>{fe.key==="Escape"&&(s?.(fe),!fe.defaultPrevented&&m&&(fe.preventDefault(),m()))});return w.useEffect(()=>{if(pe)return x.addEventListener("keydown",ge,{capture:!0}),()=>x.removeEventListener("keydown",ge,{capture:!0})},[x,pe,ge]),w.useEffect(()=>{if(v)return r&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(jb=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(v)),y.layers.add(v),Tb(),()=>{r&&(y.layersWithOutsidePointerEventsDisabled.delete(v),y.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=jb))}},[v,x,r,y]),w.useEffect(()=>()=>{v&&(y.layers.delete(v),y.layersWithOutsidePointerEventsDisabled.delete(v),Tb())},[v,y]),w.useEffect(()=>{const fe=()=>_({});return document.addEventListener(vm,fe),()=>document.removeEventListener(vm,fe)},[]),h.jsx($e.div,{...p,ref:C,style:{pointerEvents:A?L?"auto":"none":void 0,...e.style},onFocusCapture:Re(e.onFocusCapture,F.onFocusCapture),onBlurCapture:Re(e.onBlurCapture,F.onBlurCapture),onPointerDownCapture:Re(e.onPointerDownCapture,H.onPointerDownCapture)})});ml.displayName=Dj;var Lj="DismissableLayerBranch",$j=w.forwardRef((e,n)=>{const r=w.useContext(lp),a=w.useRef(null),s=nt(n,a);return w.useEffect(()=>{const l=a.current;if(l)return r.branches.add(l),()=>{r.branches.delete(l)}},[r.branches]),h.jsx($e.div,{...e,ref:s})});$j.displayName=Lj;function Ij(){const e=w.useContext(lp),[n,r]=w.useState(null);return w.useEffect(()=>{if(n)return e.dismissableSurfaces.add(n),()=>{e.dismissableSurfaces.delete(n)}},[n,e.dismissableSurfaces]),r}var Pj=()=>!0;function Fj(e,n){const{ownerDocument:r=globalThis?.document,deferPointerDownOutside:a=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:l,shouldHandlePointerDownOutside:u=Pj}=n,d=nr(e),m=w.useRef(!1),p=w.useRef(!1),y=w.useRef(new Map),v=w.useRef(()=>{});return w.useEffect(()=>{function b(){p.current=!1,s.current=!1,y.current.clear()}function x(){return Array.from(y.current.values()).some(Boolean)}function _(T){if(!p.current)return;const A=T.target;A instanceof Node&&[...l].some(B=>B.contains(A))||y.current.set(T.type,!0),T.type==="click"&&window.setTimeout(()=>{p.current&&v.current()},0)}function C(T){p.current&&y.current.set(T.type,!1)}const E=T=>{if(T.target&&!m.current){let A=function(){r.removeEventListener("click",v.current);const B=x();b(),B||zw(zj,d,L,{discrete:!0})};if(!u(T.target)){r.removeEventListener("click",v.current),b(),m.current=!1;return}const L={originalEvent:T};p.current=!0,s.current=a&&T.button===0,y.current.clear(),!a||T.button!==0?A():(r.removeEventListener("click",v.current),v.current=A,r.addEventListener("click",v.current,{once:!0}))}else r.removeEventListener("click",v.current),b();m.current=!1},j=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const T of j)r.addEventListener(T,_,!0),r.addEventListener(T,C);const O=window.setTimeout(()=>{r.addEventListener("pointerdown",E)},0);return()=>{window.clearTimeout(O),r.removeEventListener("pointerdown",E),r.removeEventListener("click",v.current);for(const T of j)r.removeEventListener(T,_,!0),r.removeEventListener(T,C)}},[r,d,a,s,l,u]),{onPointerDownCapture:()=>m.current=!0}}function Vj(e,n=globalThis?.document){const r=nr(e),a=w.useRef(!1);return w.useEffect(()=>{const s=l=>{l.target&&!a.current&&zw(kj,r,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",s),()=>n.removeEventListener("focusin",s)},[n,r]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}function Tb(){const e=new CustomEvent(vm);document.dispatchEvent(e)}function zw(e,n,r,{discrete:a}){const s=r.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});n&&s.addEventListener(e,n,{once:!0}),a?Mw(s,l):s.dispatchEvent(l)}var Mh="focusScope.autoFocusOnMount",Nh="focusScope.autoFocusOnUnmount",Ob={bubbles:!1,cancelable:!0},Uj="FocusScope",Au=w.forwardRef((e,n)=>{const{loop:r=!1,trapped:a=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...u}=e,[d,m]=w.useState(null),p=nr(s),y=nr(l),v=w.useRef(null),b=nt(n,m),x=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(a){let C=function(T){if(x.paused||!d)return;const A=T.target;d.contains(A)?v.current=A:Ni(v.current,{select:!0})},E=function(T){if(x.paused||!d)return;const A=T.relatedTarget;A!==null&&(d.contains(A)||Ni(v.current,{select:!0}))},j=function(T){if(document.activeElement===document.body)for(const L of T)L.removedNodes.length>0&&Ni(d)};document.addEventListener("focusin",C),document.addEventListener("focusout",E);const O=new MutationObserver(j);return d&&O.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",E),O.disconnect()}}},[a,d,x.paused]),w.useEffect(()=>{if(d){Mb.add(x);const C=document.activeElement;if(!d.contains(C)){const j=new CustomEvent(Mh,Ob);d.addEventListener(Mh,p),d.dispatchEvent(j),j.defaultPrevented||(Hj(Kj(kw(d)),{select:!0}),document.activeElement===C&&Ni(d))}return()=>{d.removeEventListener(Mh,p),setTimeout(()=>{const j=new CustomEvent(Nh,Ob);d.addEventListener(Nh,y),d.dispatchEvent(j),j.defaultPrevented||Ni(C??document.body,{select:!0}),d.removeEventListener(Nh,y),Mb.remove(x)},0)}}},[d,p,y,x]);const _=w.useCallback(C=>{if(!r&&!a||x.paused)return;const E=C.key==="Tab"&&!C.altKey&&!C.ctrlKey&&!C.metaKey,j=document.activeElement;if(E&&j){const O=C.currentTarget,[T,A]=Bj(O);T&&A?!C.shiftKey&&j===A?(C.preventDefault(),r&&Ni(T,{select:!0})):C.shiftKey&&j===T&&(C.preventDefault(),r&&Ni(A,{select:!0})):j===O&&C.preventDefault()}},[r,a,x.paused]);return h.jsx($e.div,{tabIndex:-1,...u,ref:b,onKeyDown:_})});Au.displayName=Uj;function Hj(e,{select:n=!1}={}){const r=document.activeElement;for(const a of e)if(Ni(a,{select:n}),document.activeElement!==r)return}function Bj(e){const n=kw(e),r=Ab(n,e),a=Ab(n.reverse(),e);return[r,a]}function kw(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const s=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||s?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function Ab(e,n){const r=typeof n.checkVisibility=="function"&&n.checkVisibility({checkVisibilityCSS:!0});for(const a of e)if(!(r?!a.checkVisibility({checkVisibilityCSS:!0}):qj(a,{upTo:n})))return a}function qj(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Gj(e){return e instanceof HTMLInputElement&&"select"in e}function Ni(e,{select:n=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&Gj(e)&&n&&e.select()}}var Mb=Zj();function Zj(){let e=[];return{add(n){const r=e[0];n!==r&&r?.pause(),e=Nb(e,n),e.unshift(n)},remove(n){e=Nb(e,n),e[0]?.resume()}}}function Nb(e,n){const r=[...e],a=r.indexOf(n);return a!==-1&&r.splice(a,1),r}function Kj(e){return e.filter(n=>n.tagName!=="A")}var Yj="Portal",pl=w.forwardRef((e,n)=>{const{container:r,...a}=e,[s,l]=w.useState(!1);Gt(()=>l(!0),[]);const u=r||s&&globalThis?.document?.body;return u?Ma.createPortal(h.jsx($e.div,{...a,ref:n}),u):null});pl.displayName=Yj;var Fc=0,_o=null;function cp(){w.useEffect(()=>{_o||(_o={start:Db(),end:Db()});const{start:e,end:n}=_o;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==n&&document.body.insertAdjacentElement("beforeend",n),Fc++,()=>{Fc===1&&(_o?.start.remove(),_o?.end.remove(),_o=null),Fc=Math.max(0,Fc-1)}},[])}function Db(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Tr=function(){return Tr=Object.assign||function(n){for(var r,a=1,s=arguments.length;a"u")return fT;var n=hT(e),r=document.documentElement.clientWidth,a=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,a-r+n[2]-n[0])}},pT=Pw(),ko="data-scroll-locked",gT=function(e,n,r,a){var s=e.left,l=e.top,u=e.right,d=e.gap;return r===void 0&&(r="margin"),` - .`.concat(Xj,` { - overflow: hidden `).concat(a,`; - padding-right: `).concat(d,"px ").concat(a,`; - } - body[`).concat(ko,`] { - overflow: hidden `).concat(a,`; - overscroll-behavior: contain; - `).concat([n&&"position: relative ".concat(a,";"),r==="margin"&&` - padding-left: `.concat(s,`px; - padding-top: `).concat(l,`px; - padding-right: `).concat(u,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(d,"px ").concat(a,`; - `),r==="padding"&&"padding-right: ".concat(d,"px ").concat(a,";")].filter(Boolean).join(""),` - } - - .`).concat(nu,` { - right: `).concat(d,"px ").concat(a,`; - } - - .`).concat(ru,` { - margin-right: `).concat(d,"px ").concat(a,`; - } - - .`).concat(nu," .").concat(nu,` { - right: 0 `).concat(a,`; - } - - .`).concat(ru," .").concat(ru,` { - margin-right: 0 `).concat(a,`; - } - - body[`).concat(ko,`] { - `).concat(Jj,": ").concat(d,`px; - } -`)},kb=function(){var e=parseInt(document.body.getAttribute(ko)||"0",10);return isFinite(e)?e:0},vT=function(){w.useEffect(function(){return document.body.setAttribute(ko,(kb()+1).toString()),function(){var e=kb()-1;e<=0?document.body.removeAttribute(ko):document.body.setAttribute(ko,e.toString())}},[])},yT=function(e){var n=e.noRelative,r=e.noImportant,a=e.gapMode,s=a===void 0?"margin":a;vT();var l=w.useMemo(function(){return mT(s)},[s]);return w.createElement(pT,{styles:gT(l,!n,s,r?"":"!important")})},ym=!1;if(typeof window<"u")try{var Vc=Object.defineProperty({},"passive",{get:function(){return ym=!0,!0}});window.addEventListener("test",Vc,Vc),window.removeEventListener("test",Vc,Vc)}catch{ym=!1}var Co=ym?{passive:!1}:!1,bT=function(e){return e.tagName==="TEXTAREA"},Fw=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!bT(e)&&r[n]==="visible")},xT=function(e){return Fw(e,"overflowY")},wT=function(e){return Fw(e,"overflowX")},Lb=function(e,n){var r=n.ownerDocument,a=n;do{typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&(a=a.host);var s=Vw(e,a);if(s){var l=Uw(e,a),u=l[1],d=l[2];if(u>d)return!0}a=a.parentNode}while(a&&a!==r.body);return!1},ST=function(e){var n=e.scrollTop,r=e.scrollHeight,a=e.clientHeight;return[n,r,a]},_T=function(e){var n=e.scrollLeft,r=e.scrollWidth,a=e.clientWidth;return[n,r,a]},Vw=function(e,n){return e==="v"?xT(n):wT(n)},Uw=function(e,n){return e==="v"?ST(n):_T(n)},CT=function(e,n){return e==="h"&&n==="rtl"?-1:1},ET=function(e,n,r,a,s){var l=CT(e,window.getComputedStyle(n).direction),u=l*a,d=r.target,m=n.contains(d),p=!1,y=u>0,v=0,b=0;do{if(!d)break;var x=Uw(e,d),_=x[0],C=x[1],E=x[2],j=C-E-l*_;(_||j)&&Vw(e,d)&&(v+=j,b+=_);var O=d.parentNode;d=O&&O.nodeType===Node.DOCUMENT_FRAGMENT_NODE?O.host:O}while(!m&&d!==document.body||m&&(n.contains(d)||n===d));return(y&&Math.abs(v)<1||!y&&Math.abs(b)<1)&&(p=!0),p},Uc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},$b=function(e){return[e.deltaX,e.deltaY]},Ib=function(e){return e&&"current"in e?e.current:e},RT=function(e,n){return e[0]===n[0]&&e[1]===n[1]},jT=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},TT=0,Eo=[];function OT(e){var n=w.useRef([]),r=w.useRef([0,0]),a=w.useRef(),s=w.useState(TT++)[0],l=w.useState(Pw)[0],u=w.useRef(e);w.useEffect(function(){u.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var C=Qj([e.lockRef.current],(e.shards||[]).map(Ib),!0).filter(Boolean);return C.forEach(function(E){return E.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),C.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var d=w.useCallback(function(C,E){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!u.current.allowPinchZoom;var j=Uc(C),O=r.current,T="deltaX"in C?C.deltaX:O[0]-j[0],A="deltaY"in C?C.deltaY:O[1]-j[1],L,B=C.target,H=Math.abs(T)>Math.abs(A)?"h":"v";if("touches"in C&&H==="h"&&B.type==="range")return!1;var F=window.getSelection(),pe=F&&F.anchorNode,ge=pe?pe===B||pe.contains(B):!1;if(ge)return!1;var fe=Lb(H,B);if(!fe)return!0;if(fe?L=H:(L=H==="v"?"h":"v",fe=Lb(H,B)),!fe)return!1;if(!a.current&&"changedTouches"in C&&(T||A)&&(a.current=L),!L)return!0;var Q=a.current||L;return ET(Q,E,C,Q==="h"?T:A)},[]),m=w.useCallback(function(C){var E=C;if(!(!Eo.length||Eo[Eo.length-1]!==l)){var j="deltaY"in E?$b(E):Uc(E),O=n.current.filter(function(L){return L.name===E.type&&(L.target===E.target||E.target===L.shadowParent)&&RT(L.delta,j)})[0];if(O&&O.should){E.cancelable&&E.preventDefault();return}if(!O){var T=(u.current.shards||[]).map(Ib).filter(Boolean).filter(function(L){return L.contains(E.target)}),A=T.length>0?d(E,T[0]):!u.current.noIsolation;A&&E.cancelable&&E.preventDefault()}}},[]),p=w.useCallback(function(C,E,j,O){var T={name:C,delta:E,target:j,should:O,shadowParent:AT(j)};n.current.push(T),setTimeout(function(){n.current=n.current.filter(function(A){return A!==T})},1)},[]),y=w.useCallback(function(C){r.current=Uc(C),a.current=void 0},[]),v=w.useCallback(function(C){p(C.type,$b(C),C.target,d(C,e.lockRef.current))},[]),b=w.useCallback(function(C){p(C.type,Uc(C),C.target,d(C,e.lockRef.current))},[]);w.useEffect(function(){return Eo.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",m,Co),document.addEventListener("touchmove",m,Co),document.addEventListener("touchstart",y,Co),function(){Eo=Eo.filter(function(C){return C!==l}),document.removeEventListener("wheel",m,Co),document.removeEventListener("touchmove",m,Co),document.removeEventListener("touchstart",y,Co)}},[]);var x=e.removeScrollBar,_=e.inert;return w.createElement(w.Fragment,null,_?w.createElement(l,{styles:jT(s)}):null,x?w.createElement(yT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function AT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const MT=aT(Iw,OT);var Nu=w.forwardRef(function(e,n){return w.createElement(Mu,Tr({},e,{ref:n,sideCar:MT}))});Nu.classNames=Mu.classNames;var NT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Ro=new WeakMap,Hc=new WeakMap,Bc={},Lh=0,Hw=function(e){return e&&(e.host||Hw(e.parentNode))},DT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var a=Hw(r);return a&&e.contains(a)?a:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},zT=function(e,n,r,a){var s=DT(n,Array.isArray(e)?e:[e]);Bc[r]||(Bc[r]=new WeakMap);var l=Bc[r],u=[],d=new Set,m=new Set(s),p=function(v){!v||d.has(v)||(d.add(v),p(v.parentNode))};s.forEach(p);var y=function(v){!v||m.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(a),_=x!==null&&x!=="false",C=(Ro.get(b)||0)+1,E=(l.get(b)||0)+1;Ro.set(b,C),l.set(b,E),u.push(b),C===1&&_&&Hc.set(b,!0),E===1&&b.setAttribute(r,"true"),_||b.setAttribute(a,"true")}catch(j){console.error("aria-hidden: cannot operate on ",b,j)}})};return y(n),d.clear(),Lh++,function(){u.forEach(function(v){var b=Ro.get(v)-1,x=l.get(v)-1;Ro.set(v,b),l.set(v,x),b||(Hc.has(v)||v.removeAttribute(a),Hc.delete(v)),x||v.removeAttribute(r)}),Lh--,Lh||(Ro=new WeakMap,Ro=new WeakMap,Hc=new WeakMap,Bc={})}},up=function(e,n,r){r===void 0&&(r="data-aria-hidden");var a=Array.from(Array.isArray(e)?e:[e]),s=NT(e);return s?(a.push.apply(a,Array.from(s.querySelectorAll("[aria-live], script"))),zT(a,s,r,"aria-hidden")):function(){return null}},Du="Dialog",[Bw]=Gi(Du),[kT,br]=Bw(Du),dp=e=>{const{__scopeDialog:n,children:r,open:a,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,d=w.useRef(null),m=w.useRef(null),[p,y]=Vo({prop:a,defaultProp:s??!1,onChange:l,caller:Du});return h.jsx(kT,{scope:n,triggerRef:d,contentRef:m,contentId:hn(),titleId:hn(),descriptionId:hn(),open:p,onOpenChange:y,onOpenToggle:w.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};dp.displayName=Du;var qw="DialogTrigger",LT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...a}=e,s=br(qw,r),l=nt(n,s.triggerRef);return h.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":gp(s.open),...a,ref:l,onClick:Re(e.onClick,s.onOpenToggle)})});LT.displayName=qw;var fp="DialogPortal",[$T,Gw]=Bw(fp,{forceMount:void 0}),hp=e=>{const{__scopeDialog:n,forceMount:r,children:a,container:s}=e,l=br(fp,n);return h.jsx($T,{scope:n,forceMount:r,children:w.Children.map(a,u=>h.jsx(yr,{present:r||l.open,children:h.jsx(pl,{asChild:!0,container:s,children:u})}))})};hp.displayName=fp;var du="DialogOverlay",mp=w.forwardRef((e,n)=>{const r=Gw(du,e.__scopeDialog),{forceMount:a=r.forceMount,...s}=e,l=br(du,e.__scopeDialog);return l.modal?h.jsx(yr,{present:a||l.open,children:h.jsx(PT,{...s,ref:n})}):null});mp.displayName=du;var IT=_a("DialogOverlay.RemoveScroll"),PT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...a}=e,s=br(du,r),l=Ij(),u=nt(n,l);return h.jsx(Nu,{as:IT,allowPinchZoom:!0,shards:[s.contentRef],children:h.jsx($e.div,{"data-state":gp(s.open),...a,ref:u,style:{pointerEvents:"auto",...a.style}})})}),Uo="DialogContent",pp=w.forwardRef((e,n)=>{const r=Gw(Uo,e.__scopeDialog),{forceMount:a=r.forceMount,...s}=e,l=br(Uo,e.__scopeDialog);return h.jsx(yr,{present:a||l.open,children:l.modal?h.jsx(FT,{...s,ref:n}):h.jsx(VT,{...s,ref:n})})});pp.displayName=Uo;var FT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),a=w.useRef(null),s=nt(n,r.contentRef,a);return w.useEffect(()=>{const l=a.current;if(l)return up(l)},[]),h.jsx(Zw,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Re(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Re(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault())})}),VT=w.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),a=w.useRef(!1),s=w.useRef(!1);return h.jsx(Zw,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(a.current||r.triggerRef.current?.focus(),l.preventDefault()),a.current=!1,s.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(a.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),Zw=w.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,...u}=e,d=br(Uo,r);return cp(),h.jsx(h.Fragment,{children:h.jsx(Au,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:s,onUnmountAutoFocus:l,children:h.jsx(ml,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":gp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),Kw="DialogTitle",Yw=w.forwardRef((e,n)=>{const{__scopeDialog:r,...a}=e,s=br(Kw,r);return h.jsx($e.h2,{id:s.titleId,...a,ref:n})});Yw.displayName=Kw;var Qw="DialogDescription",UT=w.forwardRef((e,n)=>{const{__scopeDialog:r,...a}=e,s=br(Qw,r);return h.jsx($e.p,{id:s.descriptionId,...a,ref:n})});UT.displayName=Qw;var Xw="DialogClose",Jw=w.forwardRef((e,n)=>{const{__scopeDialog:r,...a}=e,s=br(Xw,r);return h.jsx($e.button,{type:"button",...a,ref:n,onClick:Re(e.onClick,()=>s.onOpenChange(!1))})});Jw.displayName=Xw;function gp(e){return e?"open":"closed"}function HT(e){const n=w.useRef({value:e,previous:e});return w.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function BT(e){const[n,r]=w.useState(void 0);return Gt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const a=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let u,d;if("borderBoxSize"in l){const m=l.borderBoxSize,p=Array.isArray(m)?m[0]:m;u=p.inlineSize,d=p.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return a.observe(e,{box:"border-box"}),()=>a.unobserve(e)}else r(void 0)},[e]),n}const qT=["top","right","bottom","left"],Vi=Math.min,ni=Math.max,fu=Math.round,qc=Math.floor,ri=e=>({x:e,y:e}),GT={left:"right",right:"left",bottom:"top",top:"bottom"};function Ww(e,n,r){return ni(e,Vi(n,r))}function ii(e,n){return typeof e=="function"?e(n):e}function Ui(e){return e.split("-")[0]}function qo(e){return e.split("-")[1]}function vp(e){return e==="x"?"y":"x"}function yp(e){return e==="y"?"height":"width"}function Or(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function bp(e){return vp(Or(e))}function ZT(e,n,r){r===void 0&&(r=!1);const a=qo(e),s=bp(e),l=yp(s);let u=s==="x"?a===(r?"end":"start")?"right":"left":a==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=hu(u)),[u,hu(u)]}function KT(e){const n=hu(e);return[bm(e),n,bm(n)]}function bm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Pb=["left","right"],Fb=["right","left"],YT=["top","bottom"],QT=["bottom","top"];function XT(e,n,r){switch(e){case"top":case"bottom":return r?n?Fb:Pb:n?Pb:Fb;case"left":case"right":return n?YT:QT;default:return[]}}function JT(e,n,r,a){const s=qo(e);let l=XT(Ui(e),r==="start",a);return s&&(l=l.map(u=>u+"-"+s),n&&(l=l.concat(l.map(bm)))),l}function hu(e){const n=Ui(e);return GT[n]+e.slice(n.length)}function WT(e){var n,r,a,s;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(a=e.bottom)!=null?a:0,left:(s=e.left)!=null?s:0}}function eS(e){return typeof e!="number"?WT(e):{top:e,right:e,bottom:e,left:e}}function mu(e){const{x:n,y:r,width:a,height:s}=e;return{width:a,height:s,top:r,left:n,right:n+a,bottom:r+s,x:n,y:r}}function Vb(e,n,r){let{reference:a,floating:s}=e;const l=Or(n),u=bp(n),d=yp(u),m=Ui(n),p=l==="y",y=a.x+a.width/2-s.width/2,v=a.y+a.height/2-s.height/2,b=a[d]/2-s[d]/2;let x;switch(m){case"top":x={x:y,y:a.y-s.height};break;case"bottom":x={x:y,y:a.y+a.height};break;case"right":x={x:a.x+a.width,y:v};break;case"left":x={x:a.x-s.width,y:v};break;default:x={x:a.x,y:a.y}}const _=qo(n);return _&&(x[u]+=b*(_==="end"?1:-1)*(r&&p?-1:1)),x}async function eO(e,n){var r;n===void 0&&(n={});const{x:a,y:s,platform:l,rects:u,elements:d,strategy:m}=e,{boundary:p="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=ii(n,e),_=eS(x),E=d[b?v==="floating"?"reference":"floating":v],j=mu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:p,rootBoundary:y,strategy:m})),O=v==="floating"?{x:a,y:s,width:u.floating.width,height:u.floating.height}:u.reference,T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),A=await(l.isElement==null?void 0:l.isElement(T))&&await(l.getScale==null?void 0:l.getScale(T))||{x:1,y:1},L=mu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:O,offsetParent:T,strategy:m}):O);return{top:(j.top-L.top+_.top)/A.y,bottom:(L.bottom-j.bottom+_.bottom)/A.y,left:(j.left-L.left+_.left)/A.x,right:(L.right-j.right+_.right)/A.x}}const tO=50,nO=async(e,n,r)=>{const{placement:a="bottom",strategy:s="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:eO},m=await(u.isRTL==null?void 0:u.isRTL(n));let p=await u.getElementRects({reference:e,floating:n,strategy:s}),{x:y,y:v}=Vb(p,a,m),b=a,x=0;const _={};for(let C=0;C({name:"arrow",options:e,async fn(n){const{x:r,y:a,placement:s,rects:l,platform:u,elements:d,middlewareData:m}=n,{element:p,padding:y=0}=ii(e,n)||{};if(p==null)return{};const v=eS(y),b={x:r,y:a},x=bp(s),_=yp(x),C=await u.getDimensions(p),E=x==="y",j=E?"top":"left",O=E?"bottom":"right",T=E?"clientHeight":"clientWidth",A=l.reference[_]+l.reference[x]-b[x]-l.floating[_],L=b[x]-l.reference[x],B=await(u.getOffsetParent==null?void 0:u.getOffsetParent(p));let H=B?B[T]:0;(!H||!await(u.isElement==null?void 0:u.isElement(B)))&&(H=d.floating[T]||l.floating[_]);const F=A/2-L/2,pe=H/2-C[_]/2-1,ge=Vi(v[j],pe),fe=Vi(v[O],pe),Q=H-C[_]-fe,le=H/2-C[_]/2+F,ue=Ww(ge,le,Q),xe=!m.arrow&&qo(s)!=null&&le!==ue&&l.reference[_]/2-(leue<=0)){var fe,Q;const ue=(((fe=l.flip)==null?void 0:fe.index)||0)+1,xe=H[ue];if(xe&&(!(v==="alignment"?O!==Or(xe):!1)||ge.every(ie=>Or(ie.placement)===O?ie.overflows[0]>0:!0)))return{data:{index:ue,overflows:ge},reset:{placement:xe}};let D=(Q=ge.filter(q=>q.overflows[0]<=0).sort((q,ie)=>q.overflows[1]-ie.overflows[1])[0])==null?void 0:Q.placement;if(!D)switch(x){case"bestFit":{var le;const q=(le=ge.filter(ie=>{if(B){const te=Or(ie.placement);return te===O||te==="y"}return!0}).map(ie=>[ie.placement,ie.overflows.filter(te=>te>0).reduce((te,ne)=>te+ne,0)]).sort((ie,te)=>ie[1]-te[1])[0])==null?void 0:le[0];q&&(D=q);break}case"initialPlacement":D=d;break}if(s!==D)return{reset:{placement:D}}}return{}}}};function Ub(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Hb(e){return qT.some(n=>e[n]>=0)}const aO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:a}=n,{strategy:s="referenceHidden",...l}=ii(e,n);switch(s){case"referenceHidden":{const u=await a.detectOverflow(n,{...l,elementContext:"reference"}),d=Ub(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Hb(d)}}}case"escaped":{const u=await a.detectOverflow(n,{...l,altBoundary:!0}),d=Ub(u,r.floating);return{data:{escapedOffsets:d,escaped:Hb(d)}}}default:return{}}}}},tS=new Set(["left","top"]);async function oO(e,n){const{placement:r,platform:a,elements:s}=e,l=await(a.isRTL==null?void 0:a.isRTL(s.floating)),u=Ui(r),d=qo(r),m=Or(r)==="y",p=tS.has(u)?-1:1,y=l&&m?-1:1,v=ii(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:_}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof _=="number"&&(x=d==="end"?_*-1:_),m?{x:x*y,y:b*p}:{x:b*p,y:x*y}}const sO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,a;const{x:s,y:l,placement:u,middlewareData:d}=n,m=await oO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(a=d.arrow)!=null&&a.alignmentOffset?{}:{x:s+m.x,y:l+m.y,data:{...m,placement:u}}}}},lO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:a,placement:s,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:m={fn:O=>{let{x:T,y:A}=O;return{x:T,y:A}}},...p}=ii(e,n),y={x:r,y:a},v=await l.detectOverflow(n,p),b=Or(s),x=vp(b);let _=y[x],C=y[b];const E=(O,T)=>Ww(T+v[O==="y"?"top":"left"],T,T-v[O==="y"?"bottom":"right"]);u&&(_=E(x,_)),d&&(C=E(b,C));const j=m.fn({...n,[x]:_,[b]:C});return{...j,data:{x:j.x-r,y:j.y-a,enabled:{[x]:u,[b]:d}}}}}},cO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,a;const{x:s,y:l,placement:u,rects:d,middlewareData:m}=n,{offset:p=0,mainAxis:y=!0,crossAxis:v=!0}=ii(e,n),b={x:s,y:l},x=Or(u),_=vp(x);let C=b[_],E=b[x];const j=ii(p,n),O=typeof j=="number"?{mainAxis:j,crossAxis:0}:{mainAxis:(r=j.mainAxis)!=null?r:0,crossAxis:(a=j.crossAxis)!=null?a:0};if(y){const L=_==="y"?"height":"width",B=d.reference[_]-d.floating[L]+O.mainAxis,H=d.reference[_]+d.reference[L]-O.mainAxis;CH&&(C=H)}if(v){var T,A;const L=_==="y"?"width":"height",B=tS.has(Ui(u)),H=d.reference[x]-d.floating[L]+(B&&((T=m.offset)==null?void 0:T[x])||0)+(B?0:O.crossAxis),F=d.reference[x]+d.reference[L]+(B?0:((A=m.offset)==null?void 0:A[x])||0)-(B?O.crossAxis:0);EF&&(E=F)}return{[_]:C,[x]:E}}}},uO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:a,platform:s,elements:l}=n,{apply:u=()=>{},...d}=ii(e,n),m=await s.detectOverflow(n,d),p=Ui(r),y=qo(r),v=Or(r)==="y",{width:b,height:x}=a.floating;let _,C;p==="top"||p==="bottom"?(_=p,C=y===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(C=p,_=y==="end"?"top":"bottom");const E=x-m.top-m.bottom,j=b-m.left-m.right,O=Vi(x-m[_],E),T=Vi(b-m[C],j),A=n.middlewareData.shift,L=!A;let B=O,H=T;A!=null&&A.enabled.x&&(H=j),A!=null&&A.enabled.y&&(B=E),L&&!y&&(v?H=b-2*ni(m.left,m.right):B=x-2*ni(m.top,m.bottom)),await u({...n,availableWidth:H,availableHeight:B});const F=await s.getDimensions(l.floating);return b!==F.width||x!==F.height?{reset:{rects:!0}}:{}}}};function zu(){return typeof window<"u"}function Go(e){return nS(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ai(e){var n;return(n=(nS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function nS(e){return zu()?e instanceof Node||e instanceof Nn(e).Node:!1}function Ar(e){return zu()?e instanceof Element||e instanceof Nn(e).Element:!1}function Zi(e){return zu()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Bb(e){return!zu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function ku(e){const{overflow:n,overflowX:r,overflowY:a,display:s}=Mr(e);return/auto|scroll|overlay|hidden|clip/.test(n+a+r)&&s!=="inline"&&s!=="contents"}function dO(e){return/^(table|td|th)$/.test(Go(e))}function Lu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const fO=/transform|translate|scale|rotate|perspective|filter/,hO=/paint|layout|strict|content/,va=e=>!!e&&e!=="none";let $h;function xp(e){const n=Ar(e)?Mr(e):e;return va(n.transform)||va(n.translate)||va(n.scale)||va(n.rotate)||va(n.perspective)||!wp()&&(va(n.backdropFilter)||va(n.filter))||fO.test(n.willChange||"")||hO.test(n.contain||"")}function mO(e){let n=Ca(e);for(;Zi(n)&&!nl(n);){if(xp(n))return n;if(Lu(n))return null;n=Ca(n)}return null}function wp(){return $h==null&&($h=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),$h}function nl(e){return/^(html|body|#document)$/.test(Go(e))}function Mr(e){return Nn(e).getComputedStyle(e)}function $u(e){return Ar(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ca(e){if(Go(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Bb(e)&&e.host||ai(e);return Bb(n)?n.host:n}function rS(e){const n=Ca(e);return nl(n)?(e.ownerDocument||e).body:Zi(n)&&ku(n)?n:rS(n)}function rl(e,n,r){var a;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=rS(e),l=s===((a=e.ownerDocument)==null?void 0:a.body),u=Nn(s);if(l){const d=xm(u);return n.concat(u,u.visualViewport||[],ku(s)?s:[],d&&r?rl(d):[])}else return n.concat(s,rl(s,[],r))}function xm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function iS(e){const n=Mr(e);let r=parseFloat(n.width)||0,a=parseFloat(n.height)||0;const s=Zi(e),l=s?e.offsetWidth:r,u=s?e.offsetHeight:a,d=fu(r)!==l||fu(a)!==u;return d&&(r=l,a=u),{width:r,height:a,$:d}}function Sp(e){return Ar(e)?e:e.contextElement}function Lo(e){const n=Sp(e);if(!Zi(n))return ri(1);const r=n.getBoundingClientRect(),{width:a,height:s,$:l}=iS(n);let u=(l?fu(r.width):r.width)/a,d=(l?fu(r.height):r.height)/s;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const pO=ri(0);function aS(e){const n=Nn(e);return!wp()||!n.visualViewport?pO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function gO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===Nn(e)}function Ea(e,n,r,a){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),l=Sp(e);let u=ri(1);n&&(a?Ar(a)&&(u=Lo(a)):u=Lo(e));const d=gO(l,r,a)?aS(l):ri(0);let m=(s.left+d.x)/u.x,p=(s.top+d.y)/u.y,y=s.width/u.x,v=s.height/u.y;if(l&&a){const b=Nn(l),x=Ar(a)?Nn(a):a;let _=b,C=xm(_);for(;C&&x!==_;){const E=Lo(C),j=C.getBoundingClientRect(),O=Mr(C),T=j.left+(C.clientLeft+parseFloat(O.paddingLeft))*E.x,A=j.top+(C.clientTop+parseFloat(O.paddingTop))*E.y;m*=E.x,p*=E.y,y*=E.x,v*=E.y,m+=T,p+=A,_=Nn(C),C=xm(_)}}return mu({width:y,height:v,x:m,y:p})}function Iu(e,n){const r=$u(e).scrollLeft;return n?n.left+r:Ea(ai(e)).left+r}function oS(e,n){const r=e.getBoundingClientRect(),a=r.left+n.scrollLeft-Iu(e,r),s=r.top+n.scrollTop;return{x:a,y:s}}function vO(e){let{elements:n,rect:r,offsetParent:a,strategy:s}=e;const l=s==="fixed",u=ai(a),d=n?Lu(n.floating):!1;if(a===u||d&&l)return r;let m={scrollLeft:0,scrollTop:0},p=ri(1);const y=ri(0),v=Zi(a);if((v||!l)&&((Go(a)!=="body"||ku(u))&&(m=$u(a)),v)){const x=Ea(a);p=Lo(a),y.x=x.x+a.clientLeft,y.y=x.y+a.clientTop}const b=u&&!v&&!l?oS(u,m):ri(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-m.scrollLeft*p.x+y.x+b.x,y:r.y*p.y-m.scrollTop*p.y+y.y+b.y}}function yO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function bO(e){const n=$u(e),r=e.ownerDocument.body,a=ni(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=ni(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Iu(e);const u=-n.scrollTop;return Mr(r).direction==="rtl"&&(l+=ni(e.clientWidth,r.clientWidth)-a),{width:a,height:s,x:l,y:u}}const xO=25;function wO(e,n,r){r===void 0&&(r="viewport");const a=r==="layoutViewport",s=Nn(e),l=ai(e),u=s.visualViewport;let d=l.clientWidth,m=l.clientHeight,p=0,y=0;if(u){const b=!wp()||n==="fixed";a?b||(p=-u.offsetLeft,y=-u.offsetTop):(d=u.width,m=u.height,b&&(p=u.offsetLeft,y=u.offsetTop))}if(Iu(l)<=0){const b=l.ownerDocument,x=b.body,_=getComputedStyle(x),C=b.compatMode==="CSS1Compat"&&parseFloat(_.marginLeft)+parseFloat(_.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-C),j=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;j<=xO&&(d-=j)}return{width:d,height:m,x:p,y}}function SO(e,n){const r=Ea(e,!0,n==="fixed"),a=r.top+e.clientTop,s=r.left+e.clientLeft,l=Lo(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,m=s*l.x,p=a*l.y;return{width:u,height:d,x:m,y:p}}function qb(e,n,r){let a;if(n==="viewport"||n==="layoutViewport")a=wO(e,r,n);else if(n==="document")a=bO(ai(e));else if(Ar(n))a=SO(n,r);else{const s=aS(e);a={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return mu(a)}function _O(e,n){const r=n.get(e);if(r)return r;let a=rl(e,[],!1).filter(d=>Ar(d)&&Go(d)!=="body"),s=null;const l=Mr(e).position==="fixed";let u=l?Ca(e):e;for(;Ar(u)&&!nl(u);){const d=Mr(u),m=xp(u),p=s?s.position:l?"fixed":"";!m&&(p==="fixed"||p==="absolute"&&d.position==="static")?a=a.filter(v=>v!==u):s=d,u=Ca(u)}return n.set(e,a),a}function CO(e){let{element:n,boundary:r,rootBoundary:a,strategy:s}=e;const u=[...r==="clippingAncestors"?Lu(n)?[]:_O(n,this._c):[].concat(r),a],d=qb(n,u[0],s);let m=d.top,p=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}H=!1}try{a=new IntersectionObserver(F,{...B,root:l.ownerDocument})}catch{a=new IntersectionObserver(F,B)}a.observe(e)}const m=Nn(e),p=()=>d(r);return m.addEventListener("resize",p),d(!0),()=>{m.removeEventListener("resize",p),u()}}function MO(e,n,r,a){a===void 0&&(a={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:m=!1}=a,p=Sp(e),y=s||l?[...p?rl(p):[],...n?rl(n):[]]:[];y.forEach(j=>{s&&j.addEventListener("scroll",r),l&&j.addEventListener("resize",r)});const v=p&&d?AO(p,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(j=>{let[O]=j;O&&O.target===p&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var T;(T=x)==null||T.observe(n)})),r()}),p&&!m&&x.observe(p),n&&x.observe(n));let _,C=m?Ea(e):null;m&&E();function E(){const j=Ea(e);C&&!lS(C,j)&&r(),C=j,_=requestAnimationFrame(E)}return r(),()=>{var j;y.forEach(O=>{s&&O.removeEventListener("scroll",r),l&&O.removeEventListener("resize",r)}),v?.(),(j=x)==null||j.disconnect(),x=null,m&&cancelAnimationFrame(_)}}const NO=sO,DO=lO,zO=iO,kO=uO,LO=aO,Zb=rO,$O=cO,IO=(e,n,r)=>{const a=new Map,s=r??{},l={...OO,...s.platform,_c:a};return nO(e,n,{...s,platform:l})};var PO=typeof document<"u",FO=function(){},iu=PO?w.useLayoutEffect:FO;function pu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,a,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(a=r;a--!==0;)if(!pu(e[a],n[a]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(a=r;a--!==0;)if(!{}.hasOwnProperty.call(n,s[a]))return!1;for(a=r;a--!==0;){const l=s[a];if(!(l==="_owner"&&e.$$typeof)&&!pu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function cS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Kb(e,n){const r=cS(e);return Math.round(n*r)/r}function Ph(e){const n=w.useRef(e);return iu(()=>{n.current=e}),n}function VO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:a=[],platform:s,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:m,open:p}=e,[y,v]=w.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=w.useState(a);pu(b,a)||x(a);const[_,C]=w.useState(null),[E,j]=w.useState(null),O=w.useCallback(ie=>{ie!==B.current&&(B.current=ie,C(ie))},[]),T=w.useCallback(ie=>{ie!==H.current&&(H.current=ie,j(ie))},[]),A=l||_,L=u||E,B=w.useRef(null),H=w.useRef(null),F=w.useRef(y),pe=m!=null,ge=Ph(m),fe=Ph(s),Q=Ph(p),le=w.useCallback(()=>{if(!B.current||!H.current)return;const ie={placement:n,strategy:r,middleware:b};fe.current&&(ie.platform=fe.current),IO(B.current,H.current,ie).then(te=>{const ne={...te,isPositioned:Q.current!==!1};ue.current&&!pu(F.current,ne)&&(F.current=ne,Ma.flushSync(()=>{v(ne)}))})},[b,n,r,fe,Q]);iu(()=>{p===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,v(ie=>({...ie,isPositioned:!1})))},[p]);const ue=w.useRef(!1);iu(()=>(ue.current=!0,()=>{ue.current=!1}),[]),iu(()=>{if(A&&(B.current=A),L&&(H.current=L),A&&L){if(ge.current)return ge.current(A,L,le);le()}},[A,L,le,ge,pe]);const xe=w.useMemo(()=>({reference:B,floating:H,setReference:O,setFloating:T}),[O,T]),D=w.useMemo(()=>({reference:A,floating:L}),[A,L]),q=w.useMemo(()=>{const ie={position:r,left:0,top:0};if(!D.floating)return ie;const te=Kb(D.floating,y.x),ne=Kb(D.floating,y.y);return d?{...ie,transform:"translate("+te+"px, "+ne+"px)",...cS(D.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:te,top:ne}},[r,d,D.floating,y.x,y.y]);return w.useMemo(()=>({...y,update:le,refs:xe,elements:D,floatingStyles:q}),[y,le,xe,D,q])}const UO=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:a,padding:s}=typeof e=="function"?e(r):e;return a&&n(a)?a.current!=null?Zb({element:a.current,padding:s}).fn(r):{}:a?Zb({element:a,padding:s}).fn(r):{}}}},HO=(e,n)=>{const r=NO(e);return{name:r.name,fn:r.fn,options:[e,n]}},BO=(e,n)=>{const r=DO(e);return{name:r.name,fn:r.fn,options:[e,n]}},qO=(e,n)=>({fn:$O(e).fn,options:[e,n]}),GO=(e,n)=>{const r=zO(e);return{name:r.name,fn:r.fn,options:[e,n]}},ZO=(e,n)=>{const r=kO(e);return{name:r.name,fn:r.fn,options:[e,n]}},KO=(e,n)=>{const r=LO(e);return{name:r.name,fn:r.fn,options:[e,n]}},YO=(e,n)=>{const r=UO(e);return{name:r.name,fn:r.fn,options:[e,n]}};var QO="Arrow",uS=w.forwardRef((e,n)=>{const{children:r,width:a=10,height:s=5,...l}=e;return h.jsx($e.svg,{...l,ref:n,width:a,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});uS.displayName=QO;var XO=uS,_p="Popper",[dS,Zo]=Gi(_p),[JO,fS]=dS(_p),hS=e=>{const{__scopePopper:n,children:r}=e,[a,s]=w.useState(null),[l,u]=w.useState(void 0);return h.jsx(JO,{scope:n,anchor:a,onAnchorChange:s,placementState:l,setPlacementState:u,children:r})};hS.displayName=_p;var mS="PopperAnchor",pS=w.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:a,...s}=e,l=fS(mS,r),u=w.useRef(null),d=l.onAnchorChange,m=w.useCallback(_=>{u.current=_,_&&d(_)},[d]),p=nt(n,m),y=w.useRef(null);w.useEffect(()=>{if(!a)return;const _=y.current;y.current=a.current,_!==y.current&&d(y.current)});const v=l.placementState&&Ep(l.placementState),b=v?.[0],x=v?.[1];return a?null:h.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...s,ref:p})});pS.displayName=mS;var Cp="PopperContent",[WO,eA]=dS(Cp),gS=w.forwardRef((e,n)=>{const{__scopePopper:r,side:a="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:_,...C}=e,E=fS(Cp,r),[j,O]=w.useState(null),T=nt(n,O),[A,L]=w.useState(null),B=BT(A),H=B?.width??0,F=B?.height??0,pe=a+(l!=="center"?"-"+l:""),ge=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},fe=Array.isArray(p)?p:[p],Q=fe.length>0,le={padding:ge,boundary:fe.filter(nA),altBoundary:Q},{refs:ue,floatingStyles:xe,placement:D,isPositioned:q,middlewareData:ie}=VO({strategy:"fixed",placement:pe,whileElementsMounted:(...ve)=>MO(...ve,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[HO({mainAxis:s+F,alignmentAxis:u}),m&&BO({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?qO():void 0,...le}),m&&GO({...le}),ZO({...le,apply:({elements:ve,rects:ye,availableWidth:Ne,availableHeight:Ie})=>{const{width:Fe,height:dt}=ye.reference,Qe=ve.floating.style;Qe.setProperty("--radix-popper-available-width",`${Ne}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Fe}px`),Qe.setProperty("--radix-popper-anchor-height",`${dt}px`)}}),A&&YO({element:A,padding:d}),rA({arrowWidth:H,arrowHeight:F}),b&&KO({strategy:"referenceHidden",...le,boundary:Q?le.boundary:void 0})]}),te=E.setPlacementState;Gt(()=>(te(D),()=>{te(void 0)}),[D,te]);const[ne,k]=Ep(D),N=nr(_);Gt(()=>{q&&N?.()},[q,N]);const U=ie.arrow?.x,X=ie.arrow?.y,K=ie.arrow?.centerOffset!==0,[se,ee]=w.useState();return Gt(()=>{j&&ee(window.getComputedStyle(j).zIndex)},[j]),h.jsx("div",{ref:ue.setFloating,"data-radix-popper-content-wrapper":"",style:{...xe,transform:q?xe.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:se,"--radix-popper-transform-origin":[ie.transformOrigin?.x,ie.transformOrigin?.y].join(" "),...ie.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:h.jsx(WO,{scope:r,placedSide:ne,placedAlign:k,onArrowChange:L,arrowX:U,arrowY:X,shouldHideArrow:K,children:h.jsx($e.div,{"data-side":ne,"data-align":k,...C,ref:T,style:{...C.style,animation:q?void 0:"none"}})})})});gS.displayName=Cp;var vS="PopperArrow",tA={top:"bottom",right:"left",bottom:"top",left:"right"},yS=w.forwardRef(function(n,r){const{__scopePopper:a,...s}=n,l=eA(vS,a),u=tA[l.placedSide];return h.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:h.jsx(XO,{...s,ref:r,style:{...s.style,display:"block"}})})});yS.displayName=vS;function nA(e){return e!==null}var rA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:a,middlewareData:s}=n,u=s.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,m=u?0:e.arrowHeight,[p,y]=Ep(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(s.arrow?.x??0)+d/2,x=(s.arrow?.y??0)+m/2;let _="",C="";return p==="bottom"?(_=u?v:`${b}px`,C=`${-m}px`):p==="top"?(_=u?v:`${b}px`,C=`${a.floating.height+m}px`):p==="right"?(_=`${-m}px`,C=u?v:`${x}px`):p==="left"&&(_=`${a.floating.width+m}px`,C=u?v:`${x}px`),{data:{x:_,y:C}}}});function Ep(e){const[n,r="center"]=e.split("-");return[n,r]}var Rp=hS,jp=pS,Tp=gS,Op=yS,Fh=!1;function iA(){const[e,n]=w.useState(Fh);return w.useEffect(()=>{Fh||(Fh=!0,n(!0))},[]),e}var bS=Tu[" useSyncExternalStore ".trim().toString()];function aA(){return()=>{}}function oA(){return bS(aA,()=>!0,()=>!1)}var sA=typeof bS=="function"?oA:iA,Vh="rovingFocusGroup.onEntryFocus",lA={bubbles:!1,cancelable:!0},gl="RovingFocusGroup",[wm,xS,cA]=op(gl),[uA,wS]=Gi(gl,[cA]),[dA,fA]=uA(gl),SS=w.forwardRef((e,n)=>h.jsx(wm.Provider,{scope:e.__scopeRovingFocusGroup,children:h.jsx(wm.Slot,{scope:e.__scopeRovingFocusGroup,children:h.jsx(hA,{...e,ref:n})})}));SS.displayName=gl;var hA=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:a,loop:s=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:m,onEntryFocus:p,preventScrollOnEntryFocus:y=!1,...v}=e,b=w.useRef(null),x=nt(n,b),_=sp(l),[C,E]=Vo({prop:u,defaultProp:d??null,onChange:m,caller:gl}),[j,O]=w.useState(!1),T=nr(p),A=xS(r),L=w.useRef(!1),[B,H]=w.useState(0);return w.useEffect(()=>{const F=b.current;if(F)return F.addEventListener(Vh,T),()=>F.removeEventListener(Vh,T)},[T]),h.jsx(dA,{scope:r,orientation:a,dir:_,loop:s,currentTabStopId:C,onItemFocus:w.useCallback(F=>E(F),[E]),onItemShiftTab:w.useCallback(()=>O(!0),[]),onFocusableItemAdd:w.useCallback(()=>H(F=>F+1),[]),onFocusableItemRemove:w.useCallback(()=>H(F=>F-1),[]),children:h.jsx($e.div,{tabIndex:j||B===0?-1:0,"data-orientation":a,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:Re(e.onMouseDown,()=>{L.current=!0}),onFocus:Re(e.onFocus,F=>{const pe=!L.current;if(F.target===F.currentTarget&&pe&&!j){const ge=new CustomEvent(Vh,lA);if(F.currentTarget.dispatchEvent(ge),!ge.defaultPrevented){const fe=A().filter(D=>D.focusable),Q=fe.find(D=>D.active),le=fe.find(D=>D.id===C),xe=[Q,le,...fe].filter(Boolean).map(D=>D.ref.current);ES(xe,y)}}L.current=!1}),onBlur:Re(e.onBlur,()=>O(!1))})})}),_S="RovingFocusGroupItem",CS=w.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:a=!0,active:s=!1,tabStopId:l,children:u,...d}=e,m=hn(),p=l||m,y=fA(_S,r),v=y.currentTabStopId===p,b=xS(r),{onFocusableItemAdd:x,onFocusableItemRemove:_,currentTabStopId:C}=y,E=sA();return Gt(()=>{if(!(!E||!a))return x(),()=>_()},[E,a,x,_]),w.useEffect(()=>{if(!(E||!a))return x(),()=>_()},[E,a,x,_]),h.jsx(wm.ItemSlot,{scope:r,id:p,focusable:a,active:s,children:h.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:Re(e.onMouseDown,j=>{a?y.onItemFocus(p):j.preventDefault()}),onFocus:Re(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:Re(e.onKeyDown,j=>{if(j.key==="Tab"&&j.shiftKey){y.onItemShiftTab();return}if(j.target!==j.currentTarget)return;const O=gA(j,y.orientation,y.dir);if(O!==void 0){if(j.metaKey||j.ctrlKey||j.altKey||j.shiftKey)return;j.preventDefault();let A=b().filter(L=>L.focusable).map(L=>L.ref.current);if(O==="last")A.reverse();else if(O==="prev"||O==="next"){O==="prev"&&A.reverse();const L=A.indexOf(j.currentTarget);A=y.loop?vA(A,L+1):A.slice(L+1)}setTimeout(()=>ES(A))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:C!=null}):u})})});CS.displayName=_S;var mA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function pA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function gA(e,n,r){const a=pA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(a))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(a)))return mA[a]}function ES(e,n=!1){const r=document.activeElement;for(const a of e)if(a===r||(a.focus({preventScroll:n}),document.activeElement!==r))return}function vA(e,n){return e.map((r,a)=>e[(n+a)%e.length])}var yA=SS,bA=CS,Sm=["Enter"," "],xA=["ArrowDown","PageUp","Home"],RS=["ArrowUp","PageDown","End"],wA=[...xA,...RS],SA={ltr:[...Sm,"ArrowRight"],rtl:[...Sm,"ArrowLeft"]},_A={ltr:["ArrowLeft"],rtl:["ArrowRight"]},vl="Menu",[il,CA,EA]=op(vl),[Na,jS]=Gi(vl,[EA,Zo,wS]),Pu=Zo(),TS=wS(),[RA,Da]=Na(vl),[jA,yl]=Na(vl),OS=e=>{const{__scopeMenu:n,open:r=!1,children:a,dir:s,onOpenChange:l,modal:u=!0}=e,d=Pu(n),[m,p]=w.useState(null),y=w.useRef(!1),v=nr(l),b=sp(s);return w.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",_,{capture:!0,once:!0}),document.addEventListener("pointermove",_,{capture:!0,once:!0})},_=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",_,{capture:!0}),document.removeEventListener("pointermove",_,{capture:!0})}},[]),w.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),h.jsx(Rp,{...d,children:h.jsx(RA,{scope:n,open:r,onOpenChange:v,content:m,onContentChange:p,children:h.jsx(jA,{scope:n,onClose:w.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:a})})})};OS.displayName=vl;var TA="MenuAnchor",Ap=w.forwardRef((e,n)=>{const{__scopeMenu:r,...a}=e,s=Pu(r);return h.jsx(jp,{...s,...a,ref:n})});Ap.displayName=TA;var Mp="MenuPortal",[OA,AS]=Na(Mp,{forceMount:void 0}),MS=e=>{const{__scopeMenu:n,forceMount:r,children:a,container:s}=e,l=Da(Mp,n);return h.jsx(OA,{scope:n,forceMount:r,children:h.jsx(yr,{present:r||l.open,children:h.jsx(pl,{asChild:!0,container:s,children:a})})})};MS.displayName=Mp;var tr="MenuContent",[AA,Np]=Na(tr),NS=w.forwardRef((e,n)=>{const r=AS(tr,e.__scopeMenu),{forceMount:a=r.forceMount,...s}=e,l=Da(tr,e.__scopeMenu),u=yl(tr,e.__scopeMenu);return h.jsx(il.Provider,{scope:e.__scopeMenu,children:h.jsx(yr,{present:a||l.open,children:h.jsx(il.Slot,{scope:e.__scopeMenu,children:u.modal?h.jsx(MA,{...s,ref:n}):h.jsx(NA,{...s,ref:n})})})})}),MA=w.forwardRef((e,n)=>{const r=Da(tr,e.__scopeMenu),a=w.useRef(null),s=nt(n,a);return w.useEffect(()=>{const l=a.current;if(l)return up(l)},[]),h.jsx(Dp,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),NA=w.forwardRef((e,n)=>{const r=Da(tr,e.__scopeMenu);return h.jsx(Dp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),DA=_a("MenuContent.ScrollLock"),Dp=w.forwardRef((e,n)=>{const{__scopeMenu:r,loop:a=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:m,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:_,...C}=e,E=Da(tr,r),j=yl(tr,r),O=Pu(r),T=TS(r),A=CA(r),[L,B]=w.useState(null),H=w.useRef(null),F=nt(n,H,E.onContentChange),pe=w.useRef(0),ge=w.useRef(""),fe=w.useRef(0),Q=w.useRef(null),le=w.useRef("right"),ue=w.useRef(0),xe=_?Nu:w.Fragment,D=_?{as:DA,allowPinchZoom:!0}:void 0,q=te=>{const ne=ge.current+te,k=A().filter(ee=>!ee.disabled),N=document.activeElement,U=k.find(ee=>ee.ref.current===N)?.textValue,X=k.map(ee=>ee.textValue),K=qA(X,ne,U),se=k.find(ee=>ee.textValue===K)?.ref.current;(function ee(ve){ge.current=ve,window.clearTimeout(pe.current),ve!==""&&(pe.current=window.setTimeout(()=>ee(""),1e3))})(ne),se&&setTimeout(()=>se.focus())};w.useEffect(()=>()=>window.clearTimeout(pe.current),[]),cp();const ie=w.useCallback(te=>le.current===Q.current?.side&&ZA(te,Q.current?.area),[]);return h.jsx(AA,{scope:r,searchRef:ge,onItemEnter:w.useCallback(te=>{ie(te)&&te.preventDefault()},[ie]),onItemLeave:w.useCallback(te=>{ie(te)||(H.current?.focus(),B(null))},[ie]),onTriggerLeave:w.useCallback(te=>{ie(te)&&te.preventDefault()},[ie]),pointerGraceTimerRef:fe,onPointerGraceIntentChange:w.useCallback(te=>{Q.current=te},[]),children:h.jsx(xe,{...D,children:h.jsx(Au,{asChild:!0,trapped:s,onMountAutoFocus:Re(l,te=>{te.preventDefault(),H.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:h.jsx(ml,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:h.jsx(yA,{asChild:!0,...T,dir:j.dir,orientation:"vertical",loop:a,currentTabStopId:L,onCurrentTabStopIdChange:B,onEntryFocus:Re(m,te=>{j.isUsingKeyboardRef.current||te.preventDefault()}),preventScrollOnEntryFocus:!0,children:h.jsx(Tp,{role:"menu","aria-orientation":"vertical","data-state":KS(E.open),"data-radix-menu-content":"",dir:j.dir,...O,...C,ref:F,style:{outline:"none",...C.style},onKeyDown:Re(C.onKeyDown,te=>{const k=te.target.closest("[data-radix-menu-content]")===te.currentTarget,N=te.ctrlKey||te.altKey||te.metaKey,U=te.key.length===1;k&&(te.key==="Tab"&&te.preventDefault(),!N&&U&&q(te.key));const X=H.current;if(te.target!==X||!wA.includes(te.key))return;te.preventDefault();const se=A().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);RS.includes(te.key)&&se.reverse(),HA(se)}),onBlur:Re(e.onBlur,te=>{te.currentTarget.contains(te.target)||(window.clearTimeout(pe.current),ge.current="")}),onPointerMove:Re(e.onPointerMove,al(te=>{const ne=te.target,k=ue.current!==te.clientX;if(te.currentTarget.contains(ne)&&k){const N=te.clientX>ue.current?"right":"left";le.current=N,ue.current=te.clientX}}))})})})})})})});NS.displayName=tr;var zA="MenuGroup",zp=w.forwardRef((e,n)=>{const{__scopeMenu:r,...a}=e;return h.jsx($e.div,{role:"group",...a,ref:n})});zp.displayName=zA;var kA="MenuLabel",DS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...a}=e;return h.jsx($e.div,{...a,ref:n})});DS.displayName=kA;var gu="MenuItem",Yb="menu.itemSelect",Fu=w.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:a,...s}=e,l=w.useRef(null),u=yl(gu,e.__scopeMenu),d=Np(gu,e.__scopeMenu),m=nt(n,l),p=w.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Yb,{bubbles:!0,cancelable:!0});v.addEventListener(Yb,x=>a?.(x),{once:!0}),Mw(v,b),b.defaultPrevented?p.current=!1:u.onClose()}};return h.jsx(zS,{...s,ref:m,disabled:r,onClick:Re(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),p.current=!0},onPointerUp:Re(e.onPointerUp,v=>{p.current||v.currentTarget?.click()}),onKeyDown:Re(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||Sm.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Fu.displayName=gu;var zS=w.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:a=!1,textValue:s,...l}=e,u=Np(gu,r),d=TS(r),m=w.useRef(null),p=nt(n,m),[y,v]=w.useState(!1),[b,x]=w.useState("");return w.useEffect(()=>{const _=m.current;_&&x((_.textContent??"").trim())},[l.children]),h.jsx(il.ItemSlot,{scope:r,disabled:a,textValue:s??b,children:h.jsx(bA,{asChild:!0,...d,focusable:!a,children:h.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":a||void 0,"data-disabled":a?"":void 0,...l,ref:p,onPointerMove:Re(e.onPointerMove,al(_=>{a?u.onItemLeave(_):(u.onItemEnter(_),_.defaultPrevented||_.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Re(e.onPointerLeave,al(_=>u.onItemLeave(_))),onFocus:Re(e.onFocus,()=>v(!0)),onBlur:Re(e.onBlur,()=>v(!1))})})})}),LA="MenuCheckboxItem",kS=w.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:a,...s}=e;return h.jsx(FS,{scope:e.__scopeMenu,checked:r,children:h.jsx(Fu,{role:"menuitemcheckbox","aria-checked":vu(r)?"mixed":r,...s,ref:n,"data-state":Lp(r),onSelect:Re(s.onSelect,()=>a?.(vu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});kS.displayName=LA;var LS="MenuRadioGroup",[$A,IA]=Na(LS,{value:void 0,onValueChange:()=>{}}),$S=w.forwardRef((e,n)=>{const{value:r,onValueChange:a,...s}=e,l=nr(a);return h.jsx($A,{scope:e.__scopeMenu,value:r,onValueChange:l,children:h.jsx(zp,{...s,ref:n})})});$S.displayName=LS;var IS="MenuRadioItem",PS=w.forwardRef((e,n)=>{const{value:r,...a}=e,s=IA(IS,e.__scopeMenu),l=r===s.value;return h.jsx(FS,{scope:e.__scopeMenu,checked:l,children:h.jsx(Fu,{role:"menuitemradio","aria-checked":l,...a,ref:n,"data-state":Lp(l),onSelect:Re(a.onSelect,()=>s.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});PS.displayName=IS;var kp="MenuItemIndicator",[FS,PA]=Na(kp,{checked:!1}),VS=w.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:a,...s}=e,l=PA(kp,r);return h.jsx(yr,{present:a||vu(l.checked)||l.checked===!0,children:h.jsx($e.span,{...s,ref:n,"data-state":Lp(l.checked)})})});VS.displayName=kp;var FA="MenuSeparator",US=w.forwardRef((e,n)=>{const{__scopeMenu:r,...a}=e;return h.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...a,ref:n})});US.displayName=FA;var VA="MenuArrow",HS=w.forwardRef((e,n)=>{const{__scopeMenu:r,...a}=e,s=Pu(r);return h.jsx(Op,{...s,...a,ref:n})});HS.displayName=VA;var UA="MenuSub",[LP,BS]=Na(UA),Gs="MenuSubTrigger",qS=w.forwardRef((e,n)=>{const r=Da(Gs,e.__scopeMenu),a=yl(Gs,e.__scopeMenu),s=BS(Gs,e.__scopeMenu),l=Np(Gs,e.__scopeMenu),u=w.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:m}=l,p={__scopeMenu:e.__scopeMenu},y=w.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);w.useEffect(()=>y,[y]),w.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),m(null)}},[d,m]);const v=nt(n,s.onTriggerChange);return h.jsx(Ap,{asChild:!0,...p,children:h.jsx(zS,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?s.contentId:void 0,"data-state":KS(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Re(e.onPointerMove,al(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:Re(e.onPointerLeave,al(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const _=r.content?.dataset.side,C=_==="right",E=C?-5:5,j=x[C?"left":"right"],O=x[C?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:j,y:x.top},{x:O,y:x.top},{x:O,y:x.bottom},{x:j,y:x.bottom}],side:_}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:Re(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||SA[a.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});qS.displayName=Gs;var GS="MenuSubContent",ZS=w.forwardRef((e,n)=>{const r=AS(tr,e.__scopeMenu),{forceMount:a=r.forceMount,align:s="start",...l}=e,u=Da(tr,e.__scopeMenu),d=yl(tr,e.__scopeMenu),m=BS(GS,e.__scopeMenu),p=w.useRef(null),y=nt(n,p);return h.jsx(il.Provider,{scope:e.__scopeMenu,children:h.jsx(yr,{present:a||u.open,children:h.jsx(il.Slot,{scope:e.__scopeMenu,children:h.jsx(Dp,{id:m.contentId,"aria-labelledby":m.triggerId,...l,ref:y,align:s,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&p.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:Re(e.onFocusOutside,v=>{v.target!==m.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:Re(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:Re(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=_A[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),m.trigger?.focus(),v.preventDefault())})})})})})});ZS.displayName=GS;function KS(e){return e?"open":"closed"}function vu(e){return e==="indeterminate"}function Lp(e){return vu(e)?"indeterminate":e?"checked":"unchecked"}function HA(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function BA(e,n){return e.map((r,a)=>e[(n+a)%e.length])}function qA(e,n,r){const s=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=BA(e,Math.max(l,0));s.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.toLowerCase().startsWith(s.toLowerCase()));return m!==r?m:void 0}function GA(e,n){const{x:r,y:a}=e;let s=!1;for(let l=0,u=n.length-1;la!=b>a&&r<(v-p)*(a-y)/(b-y)+p&&(s=!s)}return s}function ZA(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return GA(r,n)}function al(e){return n=>n.pointerType==="mouse"?e(n):void 0}var KA=OS,YA=Ap,QA=MS,XA=NS,JA=zp,WA=DS,eM=Fu,tM=kS,nM=$S,rM=PS,iM=VS,aM=US,oM=HS,sM=qS,lM=ZS,Vu="DropdownMenu",[cM]=Gi(Vu,[jS]),gn=jS(),[uM,YS]=cM(Vu),QS=e=>{const{__scopeDropdownMenu:n,children:r,dir:a,open:s,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,m=gn(n),p=w.useRef(null),[y,v]=Vo({prop:s,defaultProp:l??!1,onChange:u,caller:Vu});return h.jsx(uM,{scope:n,triggerId:hn(),triggerRef:p,contentId:hn(),open:y,onOpenChange:v,onOpenToggle:w.useCallback(()=>v(b=>!b),[v]),modal:d,children:h.jsx(KA,{...m,open:y,onOpenChange:v,dir:a,modal:d,children:r})})};QS.displayName=Vu;var XS="DropdownMenuTrigger",JS=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:a=!1,...s}=e,l=YS(XS,r),u=gn(r),d=nt(n,l.triggerRef);return h.jsx(YA,{asChild:!0,...u,children:h.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":a?"":void 0,disabled:a,...s,ref:d,onPointerDown:Re(e.onPointerDown,m=>{!a&&m.button===0&&m.ctrlKey===!1&&(l.onOpenToggle(),l.open||m.preventDefault())}),onKeyDown:Re(e.onKeyDown,m=>{a||(["Enter"," "].includes(m.key)&&l.onOpenToggle(),m.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(m.key)&&m.preventDefault())})})})});JS.displayName=XS;var dM="DropdownMenuPortal",WS=e=>{const{__scopeDropdownMenu:n,...r}=e,a=gn(n);return h.jsx(QA,{...a,...r})};WS.displayName=dM;var e1="DropdownMenuContent",t1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=YS(e1,r),l=gn(r),u=w.useRef(!1);return h.jsx(XA,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...a,ref:n,onCloseAutoFocus:Re(e.onCloseAutoFocus,d=>{u.current||s.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:Re(e.onInteractOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,y=m.button===2||p;(!s.modal||y)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});t1.displayName=e1;var fM="DropdownMenuGroup",hM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(JA,{...s,...a,ref:n})});hM.displayName=fM;var mM="DropdownMenuLabel",n1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(WA,{...s,...a,ref:n})});n1.displayName=mM;var pM="DropdownMenuItem",r1=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(eM,{...s,...a,ref:n})});r1.displayName=pM;var gM="DropdownMenuCheckboxItem",vM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(tM,{...s,...a,ref:n})});vM.displayName=gM;var yM="DropdownMenuRadioGroup",bM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(nM,{...s,...a,ref:n})});bM.displayName=yM;var xM="DropdownMenuRadioItem",wM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(rM,{...s,...a,ref:n})});wM.displayName=xM;var SM="DropdownMenuItemIndicator",_M=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(iM,{...s,...a,ref:n})});_M.displayName=SM;var CM="DropdownMenuSeparator",EM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(aM,{...s,...a,ref:n})});EM.displayName=CM;var RM="DropdownMenuArrow",jM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(oM,{...s,...a,ref:n})});jM.displayName=RM;var TM="DropdownMenuSubTrigger",OM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(sM,{...s,...a,ref:n})});OM.displayName=TM;var AM="DropdownMenuSubContent",MM=w.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...a}=e,s=gn(r);return h.jsx(lM,{...s,...a,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});MM.displayName=AM;var NM=QS,DM=JS,zM=WS,kM=t1,LM=n1,$M=r1,IM="Label",i1=w.forwardRef((e,n)=>h.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));i1.displayName=IM;var PM=i1;function Qb(e,[n,r]){return Math.min(r,Math.max(n,e))}var FM=[" ","Enter","ArrowUp","ArrowDown"],VM=[" ","Enter"],Ra="Select",[Uu,Hu,UM]=op(Ra),[za]=Gi(Ra,[UM,Zo]),Bu=Zo(),[HM,Ki]=za(Ra),[BM,qM]=za(Ra),GM="SelectProvider";function a1(e){const{__scopeSelect:n,children:r,open:a,defaultOpen:s,onOpenChange:l,value:u,defaultValue:d,onValueChange:m,dir:p,name:y,autoComplete:v,disabled:b,required:x,form:_,internal_do_not_use_render:C}=e,E=Bu(n),[j,O]=w.useState(null),[T,A]=w.useState(null),[L,B]=w.useState(!1),H=sp(p),[F,pe]=Vo({prop:a,defaultProp:s??!1,onChange:l,caller:Ra}),[ge,fe]=Vo({prop:u,defaultProp:d,onChange:m,caller:Ra}),Q=w.useRef(null),le=w.useRef(ge);w.useEffect(()=>{const N=_?j?.ownerDocument.getElementById(_):j?.form;if(N instanceof HTMLFormElement){const U=()=>fe(le.current);return N.addEventListener("reset",U),()=>N.removeEventListener("reset",U)}},[_,j,fe]);const ue=j?!!_||!!j.closest("form"):!0,[xe,D]=w.useState(new Set),q=hn(),ie=Array.from(xe).map(N=>N.props.value).join(";"),te=w.useCallback(N=>{D(U=>new Set(U).add(N))},[]),ne=w.useCallback(N=>{D(U=>{const X=new Set(U);return X.delete(N),X})},[]),k={required:x,trigger:j,onTriggerChange:O,valueNode:T,onValueNodeChange:A,valueNodeHasChildren:L,onValueNodeHasChildrenChange:B,contentId:q,value:ge,onValueChange:fe,open:F,onOpenChange:pe,dir:H,triggerPointerDownPosRef:Q,disabled:b,name:y,autoComplete:v,form:_,nativeOptions:xe,nativeSelectKey:ie,isFormControl:ue};return h.jsx(Rp,{...E,children:h.jsx(HM,{scope:n,...k,children:h.jsx(Uu.Provider,{scope:n,children:h.jsx(BM,{scope:n,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:cN(C)?C(k):r})})})})}a1.displayName=GM;var o1=e=>{const{__scopeSelect:n,children:r,...a}=e;return h.jsx(a1,{__scopeSelect:n,...a,internal_do_not_use_render:({isFormControl:s})=>h.jsxs(h.Fragment,{children:[r,s?h.jsx(N1,{__scopeSelect:n}):null]})})};o1.displayName=Ra;var s1="SelectTrigger",l1=w.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:a=!1,...s}=e,l=Bu(r),u=Ki(s1,r),d=u.disabled||a,m=nt(n,u.onTriggerChange),p=Hu(r),y=w.useRef("touch"),[v,b,x]=D1(C=>{const E=p().filter(T=>!T.disabled),j=E.find(T=>T.value===u.value),O=z1(E,C,j);O!==void 0&&u.onValueChange(O.value)}),_=C=>{d||(u.onOpenChange(!0),x()),C&&(u.triggerPointerDownPosRef.current={x:Math.round(C.pageX),y:Math.round(C.pageY)})};return h.jsx(jp,{asChild:!0,...l,children:h.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":qu(u.value)?"":void 0,...s,ref:m,onClick:Re(s.onClick,C=>{C.currentTarget.focus(),y.current!=="mouse"&&_(C)}),onPointerDown:Re(s.onPointerDown,C=>{y.current=C.pointerType;const E=C.target;E.hasPointerCapture(C.pointerId)&&E.releasePointerCapture(C.pointerId),C.button===0&&C.ctrlKey===!1&&C.pointerType==="mouse"&&(_(C),C.preventDefault())}),onKeyDown:Re(s.onKeyDown,C=>{const E=v.current!=="";!(C.ctrlKey||C.altKey||C.metaKey)&&C.key.length===1&&b(C.key),!(E&&C.key===" ")&&FM.includes(C.key)&&(_(),C.preventDefault())})})})});l1.displayName=s1;var c1="SelectValue",u1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:a,style:s,children:l,placeholder:u="",...d}=e,m=Ki(c1,r),{onValueNodeHasChildrenChange:p}=m,y=l!==void 0,v=nt(n,m.onValueNodeChange);Gt(()=>{p(y)},[p,y]);const b=qu(m.value);return h.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:h.jsx(w.Fragment,{children:b?u:l},b?"placeholder":"value")})});u1.displayName=c1;var ZM="SelectIcon",d1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:a,...s}=e;return h.jsx($e.span,{"aria-hidden":!0,...s,ref:n,children:a||"▼"})});d1.displayName=ZM;var f1="SelectPortal",[KM,YM]=za(f1,{forceMount:void 0}),h1=e=>{const{__scopeSelect:n,forceMount:r,...a}=e;return h.jsx(KM,{scope:e.__scopeSelect,forceMount:r,children:h.jsx(pl,{asChild:!0,...a})})};h1.displayName=f1;var Hi="SelectContent",m1=w.forwardRef((e,n)=>{const r=YM(Hi,e.__scopeSelect),{forceMount:a=r.forceMount,...s}=e,l=Ki(Hi,e.__scopeSelect),[u,d]=w.useState();return Gt(()=>{d(new DocumentFragment)},[]),h.jsx(yr,{present:a||l.open,children:({present:m})=>m?h.jsx(v1,{...s,ref:n}):h.jsx(p1,{...s,fragment:u})})});m1.displayName=Hi;var p1=w.forwardRef((e,n)=>{const{__scopeSelect:r,children:a,fragment:s}=e;return s?Ma.createPortal(h.jsx(g1,{scope:r,children:h.jsx(Uu.Slot,{scope:r,children:h.jsx("div",{ref:n,children:a})})}),s):null});p1.displayName="SelectContentFragment";var fr=10,[g1,Yi]=za(Hi),QM="SelectContentImpl",XM=_a("SelectContent.RemoveScroll"),v1=w.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:a="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:_,hideWhenDetached:C,avoidCollisions:E,...j}=e,O=Ki(Hi,r),[T,A]=w.useState(null),[L,B]=w.useState(null),H=nt(n,A),[F,pe]=w.useState(null),[ge,fe]=w.useState(null),Q=Hu(r),[le,ue]=w.useState(!1),xe=w.useRef(!1);w.useEffect(()=>{if(T)return up(T)},[T]),cp();const D=w.useCallback(ee=>{const[ve,...ye]=Q().map(Fe=>Fe.ref.current),[Ne]=ye.slice(-1),Ie=document.activeElement;for(const Fe of ee)if(Fe===Ie||(Fe?.scrollIntoView({block:"nearest"}),Fe===ve&&L&&(L.scrollTop=0),Fe===Ne&&L&&(L.scrollTop=L.scrollHeight),Fe?.focus(),document.activeElement!==Ie))return},[Q,L]),q=w.useCallback(()=>D([F,T]),[D,F,T]);w.useEffect(()=>{le&&q()},[le,q]);const{onOpenChange:ie,triggerPointerDownPosRef:te}=O;w.useEffect(()=>{if(T){let ee={x:0,y:0};const ve=Ne=>{ee={x:Math.abs(Math.round(Ne.pageX)-(te.current?.x??0)),y:Math.abs(Math.round(Ne.pageY)-(te.current?.y??0))}},ye=Ne=>{ee.x<=10&&ee.y<=10?Ne.preventDefault():Ne.composedPath().includes(T)||ie(!1),document.removeEventListener("pointermove",ve),te.current=null};return te.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",ye,{capture:!0})}}},[T,ie,te]),w.useEffect(()=>{const ee=()=>ie(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[ie]);const[ne,k]=D1(ee=>{const ve=Q().filter(Ie=>!Ie.disabled),ye=ve.find(Ie=>Ie.ref.current===document.activeElement),Ne=z1(ve,ee,ye);Ne&&setTimeout(()=>Ne.ref.current?.focus())}),N=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&(pe(ee),Ne&&(xe.current=!0))},[O.value]),U=w.useCallback(()=>T?.focus(),[T]),X=w.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(O.value!==void 0&&O.value===ve||Ne)&&fe(ee)},[O.value]),K=a==="popper"?_m:y1,se=K===_m?{side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:_,hideWhenDetached:C,avoidCollisions:E}:{};return h.jsx(g1,{scope:r,content:T,viewport:L,onViewportChange:B,itemRefCallback:N,selectedItem:F,onItemLeave:U,itemTextRefCallback:X,focusSelectedItem:q,selectedItemText:ge,position:a,isPositioned:le,searchRef:ne,children:h.jsx(Nu,{as:XM,allowPinchZoom:!0,children:h.jsx(Au,{asChild:!0,trapped:O.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:Re(s,ee=>{O.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:h.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>O.onOpenChange(!1),children:h.jsx(K,{role:"listbox",id:O.contentId,"data-state":O.open?"open":"closed",dir:O.dir,onContextMenu:ee=>ee.preventDefault(),...j,...se,onPlaced:()=>ue(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...j.style},onKeyDown:Re(j.onKeyDown,ee=>{const ve=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!ve&&ee.key.length===1&&k(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let Ne=Q().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(Ne=Ne.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const Ie=ee.target,Fe=Ne.indexOf(Ie);Ne=Ne.slice(Fe+1)}setTimeout(()=>D(Ne)),ee.preventDefault()}})})})})})})});v1.displayName=QM;var JM="SelectItemAlignedPosition",y1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:a,...s}=e,l=Ki(Hi,r),u=Yi(Hi,r),[d,m]=w.useState(null),[p,y]=w.useState(null),v=nt(n,y),b=Hu(r),x=w.useRef(!1),_=w.useRef(!0),{viewport:C,selectedItem:E,selectedItemText:j,focusSelectedItem:O}=u,T=w.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&C&&E&&j){const H=l.trigger.getBoundingClientRect(),F=p.getBoundingClientRect(),pe=l.valueNode.getBoundingClientRect(),ge=j.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ge.left-F.left,Fe=pe.left-Ie,dt=H.left-Fe,Qe=H.width+dt,vn=Math.max(Qe,F.width),cn=window.innerWidth-fr,Kt=Qb(Fe,[fr,Math.max(fr,cn-vn)]);d.style.minWidth=Qe+"px",d.style.left=Kt+"px"}else{const Ie=F.right-ge.right,Fe=window.innerWidth-pe.right-Ie,dt=window.innerWidth-H.right-Fe,Qe=H.width+dt,vn=Math.max(Qe,F.width),cn=window.innerWidth-fr,Kt=Qb(Fe,[fr,Math.max(fr,cn-vn)]);d.style.minWidth=Qe+"px",d.style.right=Kt+"px"}const fe=b(),Q=window.innerHeight-fr*2,le=C.scrollHeight,ue=window.getComputedStyle(p),xe=parseInt(ue.borderTopWidth,10),D=parseInt(ue.paddingTop,10),q=parseInt(ue.borderBottomWidth,10),ie=parseInt(ue.paddingBottom,10),te=xe+D+le+ie+q,ne=Math.min(E.offsetHeight*5,te),k=window.getComputedStyle(C),N=parseInt(k.paddingTop,10),U=parseInt(k.paddingBottom,10),X=H.top+H.height/2-fr,K=Q-X,se=E.offsetHeight/2,ee=E.offsetTop+se,ve=xe+D+ee,ye=te-ve;if(ve<=X){const Ie=fe.length>0&&E===fe[fe.length-1].ref.current;d.style.bottom="0px";const Fe=p.clientHeight-C.offsetTop-C.offsetHeight,dt=Math.max(K,se+(Ie?U:0)+Fe+q),Qe=ve+dt;d.style.height=Qe+"px"}else{const Ie=fe.length>0&&E===fe[0].ref.current;d.style.top="0px";const dt=Math.max(X,xe+C.offsetTop+(Ie?N:0)+se)+ye;d.style.height=dt+"px",C.scrollTop=ve-X+C.offsetTop}d.style.margin=`${fr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=Q+"px",a?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,p,C,E,j,l.dir,a]);Gt(()=>T(),[T]);const[A,L]=w.useState();Gt(()=>{p&&L(window.getComputedStyle(p).zIndex)},[p]);const B=w.useCallback(H=>{H&&_.current===!0&&(T(),O?.(),_.current=!1)},[T,O]);return h.jsx(eN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:B,children:h.jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:h.jsx($e.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});y1.displayName=JM;var WM="SelectPopperPosition",_m=w.forwardRef((e,n)=>{const{__scopeSelect:r,align:a="start",collisionPadding:s=fr,...l}=e,u=Bu(r);return h.jsx(Tp,{...u,...l,ref:n,align:a,collisionPadding:s,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});_m.displayName=WM;var[eN,$p]=za(Hi,{}),Cm="SelectViewport",b1=w.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:a,...s}=e,l=Yi(Cm,r),u=$p(Cm,r),d=nt(n,l.onViewportChange),m=w.useRef(0);return h.jsxs(h.Fragment,{children:[h.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),h.jsx(Uu.Slot,{scope:r,children:h.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Re(s.onScroll,p=>{const y=p.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(m.current-y.scrollTop);if(x>0){const _=window.innerHeight-fr*2,C=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),j=Math.max(C,E);if(j<_){const O=j+x,T=Math.min(_,O),A=O-T;v.style.height=T+"px",v.style.bottom==="0px"&&(y.scrollTop=A>0?A:0,v.style.justifyContent="flex-end")}}}m.current=y.scrollTop})})})]})});b1.displayName=Cm;var x1="SelectGroup",[tN,nN]=za(x1),rN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...a}=e,s=hn();return h.jsx(tN,{scope:r,id:s,children:h.jsx($e.div,{role:"group","aria-labelledby":s,...a,ref:n})})});rN.displayName=x1;var w1="SelectLabel",iN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...a}=e,s=nN(w1,r);return h.jsx($e.div,{id:s.id,...a,ref:n})});iN.displayName=w1;var yu="SelectItem",[aN,S1]=za(yu),_1=w.forwardRef((e,n)=>{const{__scopeSelect:r,value:a,disabled:s=!1,textValue:l,...u}=e,d=Ki(yu,r),m=Yi(yu,r),p=d.value===a,[y,v]=w.useState(l??""),[b,x]=w.useState(!1),_=nr(T=>m.itemRefCallback?.(T,a,s)),C=nt(n,_),E=hn(),j=w.useRef("touch"),O=()=>{s||(d.onValueChange(a),d.onOpenChange(!1))};return h.jsx(aN,{scope:r,value:a,disabled:s,textId:E,isSelected:p,onItemTextChange:w.useCallback(T=>{v(A=>A||(T?.textContent??"").trim())},[]),children:h.jsx(Uu.ItemSlot,{scope:r,value:a,disabled:s,textValue:y,children:h.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...u,ref:C,onFocus:Re(u.onFocus,()=>x(!0)),onBlur:Re(u.onBlur,()=>x(!1)),onClick:Re(u.onClick,()=>{j.current!=="mouse"&&O()}),onPointerUp:Re(u.onPointerUp,()=>{j.current==="mouse"&&O()}),onPointerDown:Re(u.onPointerDown,T=>{j.current=T.pointerType}),onPointerMove:Re(u.onPointerMove,T=>{j.current=T.pointerType,s?m.onItemLeave?.():j.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Re(u.onPointerLeave,T=>{T.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:Re(u.onKeyDown,T=>{s||T.target!==T.currentTarget||m.searchRef?.current!==""&&T.key===" "||(VM.includes(T.key)&&O(),T.key===" "&&T.preventDefault())})})})})});_1.displayName=yu;var Zs="SelectItemText",C1=w.forwardRef((e,n)=>{const{__scopeSelect:r,className:a,style:s,...l}=e,u=Ki(Zs,r),d=Yi(Zs,r),m=S1(Zs,r),p=qM(Zs,r),[y,v]=w.useState(null),b=nr(O=>d.itemTextRefCallback?.(O,m.value,m.disabled)),x=nt(n,v,m.onItemTextChange,b),_=y?.textContent,C=w.useMemo(()=>h.jsx("option",{value:m.value,disabled:m.disabled,children:_},m.value),[m.disabled,m.value,_]),{onNativeOptionAdd:E,onNativeOptionRemove:j}=p;return Gt(()=>(E(C),()=>j(C)),[E,j,C]),h.jsxs(h.Fragment,{children:[h.jsx($e.span,{id:m.textId,...l,ref:x}),m.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!qu(u.value)?Ma.createPortal(l.children,u.valueNode):null]})});C1.displayName=Zs;var E1="SelectItemIndicator",R1=w.forwardRef((e,n)=>{const{__scopeSelect:r,...a}=e;return S1(E1,r).isSelected?h.jsx($e.span,{"aria-hidden":!0,...a,ref:n}):null});R1.displayName=E1;var Em="SelectScrollUpButton",j1=w.forwardRef((e,n)=>{const r=Yi(Em,e.__scopeSelect),a=$p(Em,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,a.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollTop>0;l(p)};const m=r.viewport;return d(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?h.jsx(O1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop-m.offsetHeight)}}):null});j1.displayName=Em;var Rm="SelectScrollDownButton",T1=w.forwardRef((e,n)=>{const r=Yi(Rm,e.__scopeSelect),a=$p(Rm,e.__scopeSelect),[s,l]=w.useState(!1),u=nt(n,a.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollHeight-m.clientHeight,y=Math.ceil(m.scrollTop)m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?h.jsx(O1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop+m.offsetHeight)}}):null});T1.displayName=Rm;var O1=w.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:a,...s}=e,l=Yi("SelectScrollButton",r),u=w.useRef(null),d=Hu(r),m=w.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return w.useEffect(()=>()=>m(),[m]),Gt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),h.jsx($e.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:Re(s.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(a,50))}),onPointerMove:Re(s.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(a,50))}),onPointerLeave:Re(s.onPointerLeave,()=>{m()})})}),oN="SelectSeparator",sN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...a}=e;return h.jsx($e.div,{"aria-hidden":!0,...a,ref:n})});sN.displayName=oN;var A1="SelectArrow",lN=w.forwardRef((e,n)=>{const{__scopeSelect:r,...a}=e,s=Bu(r);return Yi(A1,r).position==="popper"?h.jsx(Op,{...s,...a,ref:n}):null});lN.displayName=A1;var M1="SelectBubbleInput",N1=w.forwardRef(({__scopeSelect:e,...n},r)=>{const a=Ki(M1,e),{value:s,onValueChange:l,required:u,disabled:d,name:m,autoComplete:p,form:y}=a,{nativeOptions:v,nativeSelectKey:b}=a,x=w.useRef(null),_=nt(r,x),C=s??"",E=HT(C),j=Array.from(v).some(O=>(O.props.value??"")==="");return w.useEffect(()=>{const O=x.current;if(!O)return;const T=window.HTMLSelectElement.prototype,L=Object.getOwnPropertyDescriptor(T,"value").set;if(E!==C&&L){const B=new Event("change",{bubbles:!0});L.call(O,C),O.dispatchEvent(B)}},[E,C]),h.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:m,autoComplete:p,disabled:d,form:y,onChange:O=>l(O.target.value),...n,style:{...Nw,...n.style},ref:_,defaultValue:C,children:[qu(s)&&!j?h.jsx("option",{value:""}):null,Array.from(v)]},b)});N1.displayName=M1;function cN(e){return typeof e=="function"}function qu(e){return e===""||e===void 0}function D1(e){const n=nr(e),r=w.useRef(""),a=w.useRef(0),s=w.useCallback(u=>{const d=r.current+u;n(d),(function m(p){r.current=p,window.clearTimeout(a.current),p!==""&&(a.current=window.setTimeout(()=>m(""),1e3))})(d)},[n]),l=w.useCallback(()=>{r.current="",window.clearTimeout(a.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(a.current),[]),[r,s,l]}function z1(e,n,r){const s=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=uN(e,Math.max(l,0));s.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.textValue.toLowerCase().startsWith(s.toLowerCase()));return m!==r?m:void 0}function uN(e,n){return e.map((r,a)=>e[(n+a)%e.length])}var dN="Separator",Xb="horizontal",fN=["horizontal","vertical"],k1=w.forwardRef((e,n)=>{const{decorative:r,orientation:a=Xb,...s}=e,l=hN(a)?a:Xb,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return h.jsx($e.div,{"data-orientation":l,...d,...s,ref:n})});k1.displayName=dN;function hN(e){return fN.includes(e)}var mN=k1,[Gu]=Gi("Tooltip",[Zo]),Zu=Zo(),L1="TooltipProvider",pN=700,jm="tooltip.open",[gN,Ip]=Gu(L1),$1=e=>{const{__scopeTooltip:n,delayDuration:r=pN,skipDelayDuration:a=300,disableHoverableContent:s=!1,children:l}=e,u=w.useRef(!0),d=w.useRef(!1),m=w.useRef(0);return w.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),h.jsx(gN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:w.useCallback(()=>{a<=0||(window.clearTimeout(m.current),u.current=!1)},[a]),onClose:w.useCallback(()=>{a<=0||(window.clearTimeout(m.current),m.current=window.setTimeout(()=>u.current=!0,a))},[a]),isPointerInTransitRef:d,onPointerInTransitChange:w.useCallback(p=>{d.current=p},[]),disableHoverableContent:s,children:l})};$1.displayName=L1;var ol="Tooltip",[vN,bl]=Gu(ol),I1=e=>{const{__scopeTooltip:n,children:r,open:a,defaultOpen:s,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,m=Ip(ol,e.__scopeTooltip),p=Zu(n),[y,v]=w.useState(null),b=hn(),x=w.useRef(0),_=u??m.disableHoverableContent,C=d??m.delayDuration,E=w.useRef(!1),[j,O]=Vo({prop:a,defaultProp:s??!1,onChange:H=>{H?(m.onOpen(),document.dispatchEvent(new CustomEvent(jm))):m.onClose(),l?.(H)},caller:ol}),T=w.useMemo(()=>j?E.current?"delayed-open":"instant-open":"closed",[j]),A=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,O(!0)},[O]),L=w.useCallback(()=>{window.clearTimeout(x.current),x.current=0,O(!1)},[O]),B=w.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,O(!0),x.current=0},C)},[C,O]);return w.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),h.jsx(Rp,{...p,children:h.jsx(vN,{scope:n,contentId:b,open:j,stateAttribute:T,trigger:y,onTriggerChange:v,onTriggerEnter:w.useCallback(()=>{m.isOpenDelayedRef.current?B():A()},[m.isOpenDelayedRef,B,A]),onTriggerLeave:w.useCallback(()=>{_?L():(window.clearTimeout(x.current),x.current=0)},[L,_]),onOpen:A,onClose:L,disableHoverableContent:_,children:r})})};I1.displayName=ol;var Tm="TooltipTrigger",P1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...a}=e,s=bl(Tm,r),l=Ip(Tm,r),u=Zu(r),d=w.useRef(null),m=nt(n,d,s.onTriggerChange),p=w.useRef(!1),y=w.useRef(!1),v=w.useCallback(()=>p.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),h.jsx(jp,{asChild:!0,...u,children:h.jsx($e.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...a,ref:m,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),y.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{s.open&&s.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:Re(e.onFocus,()=>{p.current||s.onOpen()}),onBlur:Re(e.onBlur,s.onClose),onClick:Re(e.onClick,s.onClose)})})});P1.displayName=Tm;var Pp="TooltipPortal",[yN,bN]=Gu(Pp,{forceMount:void 0}),F1=e=>{const{__scopeTooltip:n,forceMount:r,children:a,container:s}=e,l=bl(Pp,n);return h.jsx(yN,{scope:n,forceMount:r,children:h.jsx(yr,{present:r||l.open,children:h.jsx(pl,{asChild:!0,container:s,children:a})})})};F1.displayName=Pp;var Ho="TooltipContent",V1=w.forwardRef((e,n)=>{const r=bN(Ho,e.__scopeTooltip),{forceMount:a=r.forceMount,side:s="top",...l}=e,u=bl(Ho,e.__scopeTooltip);return h.jsx(yr,{present:a||u.open,children:u.disableHoverableContent?h.jsx(U1,{side:s,...l,ref:n}):h.jsx(xN,{side:s,...l,ref:n})})}),xN=w.forwardRef((e,n)=>{const r=bl(Ho,e.__scopeTooltip),a=Ip(Ho,e.__scopeTooltip),s=w.useRef(null),l=nt(n,s),[u,d]=w.useState(null),{trigger:m,onClose:p}=r,y=s.current,{onPointerInTransitChange:v}=a,b=w.useCallback(()=>{d(null),v(!1)},[v]),x=w.useCallback((_,C)=>{const E=_.currentTarget,j={x:_.clientX,y:_.clientY},O=CN(j,E.getBoundingClientRect()),T=EN(j,O),A=RN(C.getBoundingClientRect()),L=TN([...T,...A]);d(L),v(!0)},[v]);return w.useEffect(()=>()=>b(),[b]),w.useEffect(()=>{if(m&&y){const _=E=>x(E,y),C=E=>x(E,m);return m.addEventListener("pointerleave",_),y.addEventListener("pointerleave",C),()=>{m.removeEventListener("pointerleave",_),y.removeEventListener("pointerleave",C)}}},[m,y,x,b]),w.useEffect(()=>{if(u){const _=C=>{const E=C.target,j={x:C.clientX,y:C.clientY},O=m?.contains(E)||y?.contains(E),T=!jN(j,u);O?b():T&&(b(),p())};return document.addEventListener("pointermove",_),()=>document.removeEventListener("pointermove",_)}},[m,y,u,p,b]),h.jsx(U1,{...e,ref:l})}),[wN,SN]=Gu(ol,{isInside:!1}),_N=uj("TooltipContent"),U1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,children:a,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,m=bl(Ho,r),p=Zu(r),{onClose:y}=m;return w.useEffect(()=>(document.addEventListener(jm,y),()=>document.removeEventListener(jm,y)),[y]),w.useEffect(()=>{if(m.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(m.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[m.trigger,y]),h.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:h.jsxs(Tp,{"data-state":m.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[h.jsx(_N,{children:a}),h.jsx(wN,{scope:r,isInside:!0,children:h.jsx(wj,{id:m.contentId,role:"tooltip",children:s||a})})]})})});V1.displayName=Ho;var H1="TooltipArrow",B1=w.forwardRef((e,n)=>{const{__scopeTooltip:r,...a}=e,s=Zu(r);return SN(H1,r).isInside?null:h.jsx(Op,{...s,...a,ref:n})});B1.displayName=H1;function CN(e,n){const r=Math.abs(n.top-e.y),a=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,a,s,l)){case l:return"left";case s:return"right";case r:return"top";case a:return"bottom";default:throw new Error("unreachable")}}function EN(e,n,r=5){const a=[];switch(n){case"top":a.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":a.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":a.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":a.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return a}function RN(e){const{top:n,right:r,bottom:a,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:a},{x:s,y:a}]}function jN(e,n){const{x:r,y:a}=e;let s=!1;for(let l=0,u=n.length-1;la!=b>a&&r<(v-p)*(a-y)/(b-y)+p&&(s=!s)}return s}function TN(e){const n=e.slice();return n.sort((r,a)=>r.xa.x?1:r.ya.y?1:0),ON(n)}function ON(e){if(e.length<=1)return e.slice();const n=[];for(let a=0;a=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let a=e.length-1;a>=0;a--){const s=e[a];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var AN=$1,MN=I1,NN=P1,DN=F1,zN=V1,kN=B1;function q1(e){var n,r,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let a=0;a({classGroupId:e,validator:n}),Z1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),bu="-",Jb=[],IN="arbitrary..",PN=e=>{const n=VN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return FN(u);const d=u.split(bu),m=d[0]===""&&d.length>1?1:0;return K1(d,m,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const m=a[u],p=r[u];return m?p?LN(p,m):m:p||Jb}return r[u]||Jb}}},K1=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],l=r.nextPart.get(s);if(l){const p=K1(e,n+1,l);if(p)return p}const u=r.validators;if(u===null)return;const d=n===0?e.join(bu):e.slice(n).join(bu),m=u.length;for(let p=0;pe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),a=n.slice(0,r);return a?IN+a:void 0})(),VN=e=>{const{theme:n,classGroups:r}=e;return UN(r,n)},UN=(e,n)=>{const r=Z1();for(const a in e){const s=e[a];Fp(s,r,a,n)}return r},Fp=(e,n,r,a)=>{const s=e.length;for(let l=0;l{if(typeof e=="string"){BN(e,n,r);return}if(typeof e=="function"){qN(e,n,r,a);return}GN(e,n,r,a)},BN=(e,n,r)=>{const a=e===""?n:Y1(n,e);a.classGroupId=r},qN=(e,n,r,a)=>{if(ZN(e)){Fp(e(a),n,r,a);return}n.validators===null&&(n.validators=[]),n.validators.push($N(r,e))},GN=(e,n,r,a)=>{const s=Object.entries(e),l=s.length;for(let u=0;u{let r=e;const a=n.split(bu),s=a.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,KN=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),a=Object.create(null);const s=(l,u)=>{r[l]=u,n++,n>e&&(n=0,a=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=a[l])!==void 0)return s(l,u),u},set(l,u){l in r?r[l]=u:s(l,u)}}},Om="!",Wb=":",YN=[],ex=(e,n,r,a,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:a,isExternal:s}),QN=e=>{const{prefix:n,experimentalParseClassName:r}=e;let a=s=>{const l=[];let u=0,d=0,m=0,p;const y=s.length;for(let C=0;Cm?p-m:void 0;return ex(l,x,b,_)};if(n){const s=n+Wb,l=a;a=u=>u.startsWith(s)?l(u.slice(s.length)):ex(YN,!1,u,void 0,!0)}if(r){const s=a;a=l=>r({className:l,parseClassName:s})}return a},XN=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,a)=>{n.set(r,1e6+a)}),r=>{const a=[];let s=[];for(let l=0;l0&&(s.sort(),a.push(...s),s=[]),a.push(u)):s.push(u)}return s.length>0&&(s.sort(),a.push(...s)),a}},JN=e=>({cache:KN(e.cacheSize),parseClassName:QN(e),sortModifiers:XN(e),postfixLookupClassGroupIds:WN(e),...PN(e)}),WN=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let a=0;a{const{parseClassName:r,getClassGroupId:a,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],m=e.trim().split(eD);let p="";for(let y=m.length-1;y>=0;y-=1){const v=m[y],{isExternal:b,modifiers:x,hasImportantModifier:_,baseClassName:C,maybePostfixModifierPosition:E}=r(v);if(b){p=v+(p.length>0?" "+p:p);continue}let j=!!E,O;if(j){const H=C.substring(0,E);O=a(H);const F=O&&u[O]?a(C):void 0;F&&F!==O&&(O=F,j=!1)}else O=a(C);if(!O){if(!j){p=v+(p.length>0?" "+p:p);continue}if(O=a(C),!O){p=v+(p.length>0?" "+p:p);continue}j=!1}const T=x.length===0?"":x.length===1?x[0]:l(x).join(":"),A=_?T+Om:T,L=A+O;if(d.indexOf(L)>-1)continue;d.push(L);const B=s(O,j);for(let H=0;H0?" "+p:p)}return p},nD=(...e)=>{let n=0,r,a,s="";for(;n{if(typeof e=="string")return e;let n,r="";for(let a=0;a{let r,a,s,l;const u=m=>{const p=n.reduce((y,v)=>v(y),e());return r=JN(p),a=r.cache.get,s=r.cache.set,l=d,d(m)},d=m=>{const p=a(m);if(p)return p;const y=tD(m,r);return s(m,y),y};return l=u,(...m)=>l(nD(...m))},iD=[],Ut=e=>{const n=r=>r[e]||iD;return n.isThemeGetter=!0,n},X1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,J1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,aD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,oD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,sD=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,lD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,cD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,uD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mi=e=>aD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Cr=e=>!!e&&Number.isInteger(Number(e)),Uh=e=>e.endsWith("%")&&He(e.slice(0,-1)),Wr=e=>oD.test(e),W1=()=>!0,dD=e=>sD.test(e)&&!lD.test(e),Vp=()=>!1,fD=e=>cD.test(e),hD=e=>uD.test(e),mD=e=>!_e(e)&&!Ce(e),pD=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),gD=e=>Qi(e,n_,Vp),_e=e=>X1.test(e),ya=e=>Qi(e,r_,dD),tx=e=>Qi(e,CD,He),vD=e=>Qi(e,a_,W1),yD=e=>Qi(e,i_,Vp),nx=e=>Qi(e,e_,Vp),bD=e=>Qi(e,t_,hD),Gc=e=>Qi(e,o_,fD),Ce=e=>J1.test(e),Vs=e=>ka(e,r_),xD=e=>ka(e,i_),rx=e=>ka(e,e_),wD=e=>ka(e,n_),SD=e=>ka(e,t_),Zc=e=>ka(e,o_,!0),_D=e=>ka(e,a_,!0),Qi=(e,n,r)=>{const a=X1.exec(e);return a?a[1]?n(a[1]):r(a[2]):!1},ka=(e,n,r=!1)=>{const a=J1.exec(e);return a?a[1]?n(a[1]):r:!1},e_=e=>e==="position"||e==="percentage",t_=e=>e==="image"||e==="url",n_=e=>e==="length"||e==="size"||e==="bg-size",r_=e=>e==="length",CD=e=>e==="number",i_=e=>e==="family-name",a_=e=>e==="number"||e==="weight",o_=e=>e==="shadow",ED=()=>{const e=Ut("color"),n=Ut("font"),r=Ut("text"),a=Ut("font-weight"),s=Ut("tracking"),l=Ut("leading"),u=Ut("breakpoint"),d=Ut("container"),m=Ut("spacing"),p=Ut("radius"),y=Ut("shadow"),v=Ut("inset-shadow"),b=Ut("text-shadow"),x=Ut("drop-shadow"),_=Ut("blur"),C=Ut("perspective"),E=Ut("aspect"),j=Ut("ease"),O=Ut("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...A(),Ce,_e],B=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],F=()=>[Ce,_e,m],pe=()=>[Mi,"full","auto",...F()],ge=()=>[Cr,"none","subgrid",Ce,_e],fe=()=>["auto",{span:["full",Cr,Ce,_e]},Cr,Ce,_e],Q=()=>[Cr,"auto",Ce,_e],le=()=>["auto","min","max","fr",Ce,_e],ue=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...F()],q=()=>[Mi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],ie=()=>[Mi,"screen","full","dvw","lvw","svw","min","max","fit",...F()],te=()=>[Mi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...F()],ne=()=>[e,Ce,_e],k=()=>[...A(),rx,nx,{position:[Ce,_e]}],N=()=>["no-repeat",{repeat:["","x","y","space","round"]}],U=()=>["auto","cover","contain",wD,gD,{size:[Ce,_e]}],X=()=>[Uh,Vs,ya],K=()=>["","none","full",p,Ce,_e],se=()=>["",He,Vs,ya],ee=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[He,Uh,rx,nx],Ne=()=>["","none",_,Ce,_e],Ie=()=>["none",He,Ce,_e],Fe=()=>["none",He,Ce,_e],dt=()=>[He,Ce,_e],Qe=()=>[Mi,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wr],breakpoint:[Wr],color:[W1],container:[Wr],"drop-shadow":[Wr],ease:["in","out","in-out"],font:[mD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wr],shadow:[Wr],spacing:["px",He],text:[Wr],"text-shadow":[Wr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Mi,_e,Ce,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,_e]}],"container-named":[pD],columns:[{columns:[He,_e,Ce,d]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:L()}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:pe()}],"inset-x":[{"inset-x":pe()}],"inset-y":[{"inset-y":pe()}],start:[{"inset-s":pe(),start:pe()}],end:[{"inset-e":pe(),end:pe()}],"inset-bs":[{"inset-bs":pe()}],"inset-be":[{"inset-be":pe()}],top:[{top:pe()}],right:[{right:pe()}],bottom:[{bottom:pe()}],left:[{left:pe()}],visibility:["visible","invisible","collapse"],z:[{z:[Cr,"auto",Ce,_e]}],basis:[{basis:[Mi,"full","auto",d,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Mi,"auto","initial","none",_e]}],grow:[{grow:["",He,Ce,_e]}],shrink:[{shrink:["",He,Ce,_e]}],order:[{order:[Cr,"first","last","none",Ce,_e]}],"grid-cols":[{"grid-cols":ge()}],"col-start-end":[{col:fe()}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":ge()}],"row-start-end":[{row:fe()}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":le()}],"auto-rows":[{"auto-rows":le()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...ue(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...ue()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":ue()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pbs:[{pbs:F()}],pbe:[{pbe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],"inline-size":[{inline:["auto",...ie()]}],"min-inline-size":[{"min-inline":["auto",...ie()]}],"max-inline-size":[{"max-inline":["none",...ie()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[d,"screen",...q()]}],"min-w":[{"min-w":[d,"screen","none",...q()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,Vs,ya]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,_D,vD]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Uh,_e]}],"font-family":[{font:[xD,yD,n]}],"font-features":[{"font-features":[_e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ce,_e]}],"line-clamp":[{"line-clamp":[He,"none",Ce,tx]}],leading:[{leading:[l,...F()]}],"list-image":[{"list-image":["none",Ce,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ce,ya]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ce,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"tab-size":[{tab:[Cr,Ce,_e]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:k()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:U()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Cr,Ce,_e],radial:["",Ce,_e],conic:[Cr,Ce,_e]},SD,bD]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ce,_e]}],"outline-w":[{outline:["",He,Vs,ya]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Zc,Gc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Zc,Gc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,ya]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Zc,Gc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ce,_e]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ce,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:k()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:U()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,_e]}],filter:[{filter:["","none",Ce,_e]}],blur:[{blur:Ne()}],brightness:[{brightness:[He,Ce,_e]}],contrast:[{contrast:[He,Ce,_e]}],"drop-shadow":[{"drop-shadow":["","none",x,Zc,Gc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ce,_e]}],"hue-rotate":[{"hue-rotate":[He,Ce,_e]}],invert:[{invert:["",He,Ce,_e]}],saturate:[{saturate:[He,Ce,_e]}],sepia:[{sepia:["",He,Ce,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,_e]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ce,_e]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ce,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ce,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ce,_e]}],"backdrop-invert":[{"backdrop-invert":["",He,Ce,_e]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ce,_e]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ce,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ce,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ce,_e]}],ease:[{ease:["linear","initial",j,Ce,_e]}],delay:[{delay:[He,Ce,_e]}],animate:[{animate:["none",O,Ce,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,Ce,_e]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Fe()}],"scale-x":[{"scale-x":Fe()}],"scale-y":[{"scale-y":Fe()}],"scale-z":[{"scale-z":Fe()}],"scale-3d":["scale-3d"],skew:[{skew:dt()}],"skew-x":[{"skew-x":dt()}],"skew-y":[{"skew-y":dt()}],transform:[{transform:[Ce,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Cr,Ce,_e]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mbs":[{"scroll-mbs":F()}],"scroll-mbe":[{"scroll-mbe":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pbs":[{"scroll-pbs":F()}],"scroll-pbe":[{"scroll-pbe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,_e]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Vs,ya,tx]}],stroke:[{stroke:["none",...ne()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},RD=rD(ED);function Xe(...e){return RD(G1(e))}function jD({delayDuration:e=0,...n}){return h.jsx(AN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function TD({...e}){return h.jsx(MN,{"data-slot":"tooltip",...e})}function OD({...e}){return h.jsx(NN,{"data-slot":"tooltip-trigger",...e})}function AD({className:e,sideOffset:n=0,children:r,...a}){return h.jsx(DN,{children:h.jsxs(zN,{"data-slot":"tooltip-content",sideOffset:n,className:Xe("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...a,children:[r,h.jsx(kN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Am=new Set;function MD(e){return Am.add(e),()=>Am.delete(e)}function ND(){for(const e of Am)e()}const s_=(...e)=>e.filter((n,r,a)=>!!n&&n.trim()!==""&&a.indexOf(n)===r).join(" ").trim();const DD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const zD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,a)=>a?a.toUpperCase():r.toLowerCase());const ix=e=>{const n=zD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Hh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const kD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},LD=w.createContext({}),$D=()=>w.useContext(LD),ID=w.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:a,className:s="",children:l,iconNode:u,...d},m)=>{const{size:p=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=$D()??{},_=a??v?Number(r??y)*24/Number(n??p):r??y;return w.createElement("svg",{ref:m,...Hh,width:n??p??Hh.width,height:n??p??Hh.height,stroke:e??b,strokeWidth:_,className:s_("lucide",x,s),...!l&&!kD(d)&&{"aria-hidden":"true"},...d},[...u.map(([C,E])=>w.createElement(C,E)),...Array.isArray(l)?l:[l]])});const Ae=(e,n)=>{const r=w.forwardRef(({className:a,...s},l)=>w.createElement(ID,{ref:l,iconNode:n,className:s_(`lucide-${DD(ix(e))}`,`lucide-${e}`,a),...s}));return r.displayName=ix(e),r};const PD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],FD=Ae("beaker",PD);const VD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],UD=Ae("book-open",VD);const HD=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],BD=Ae("briefcase",HD);const qD=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],GD=Ae("bug",qD);const ZD=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],KD=Ae("calendar",ZD);const YD=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],l_=Ae("check",YD);const QD=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Up=Ae("chevron-down",QD);const XD=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],JD=Ae("chevron-right",XD);const WD=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],ez=Ae("chevron-up",WD);const tz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],nz=Ae("circle-check",tz);const rz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],c_=Ae("clock",rz);const iz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],az=Ae("code",iz);const oz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],sz=Ae("compass",oz);const lz=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],cz=Ae("copy",lz);const uz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],dz=Ae("credit-card",uz);const fz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],hz=Ae("database",fz);const mz=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],pz=Ae("download",mz);const gz=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],vz=Ae("ellipsis",gz);const yz=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],u_=Ae("file-text",yz);const bz=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],xz=Ae("flag",bz);const wz=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Hp=Ae("folder",wz);const Sz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],_z=Ae("gauge",Sz);const Cz=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],Ez=Ae("gavel",Cz);const Rz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],d_=Ae("globe",Rz);const jz=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Tz=Ae("graduation-cap",jz);const Oz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Az=Ae("heart",Oz);const Mz=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Nz=Ae("history",Mz);const Dz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],zz=Ae("image",Dz);const kz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Lz=Ae("info",kz);const $z=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Iz=Ae("layout-dashboard",$z);const Pz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Fz=Ae("lightbulb",Pz);const Vz=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Uz=Ae("link",Vz);const Hz=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Bz=Ae("loader-circle",Hz);const qz=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],f_=Ae("lock",qz);const Gz=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Zz=Ae("log-out",Gz);const Kz=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],Yz=Ae("megaphone",Kz);const Qz=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Xz=Ae("menu",Qz);const Jz=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],Wz=Ae("music",Jz);const ek=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],tk=Ae("octagon-x",ek);const nk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],rk=Ae("package",nk);const ik=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],ak=Ae("pen-line",ik);const ok=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],sk=Ae("plus",ok);const lk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],ck=Ae("rocket",lk);const uk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],h_=Ae("search",uk);const dk=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],fk=Ae("settings",dk);const hk=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],mk=Ae("share-2",hk);const pk=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],m_=Ae("shield",pk);const gk=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],p_=Ae("square-terminal",gk);const vk=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],yk=Ae("star",vk);const bk=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],xk=Ae("trash-2",bk);const wk=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],g_=Ae("triangle-alert",wk);const Sk=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],_k=Ae("upload",Sk);const Ck=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],v_=Ae("users",Ck);const Ek=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Rk=Ae("wrench",Ek);const jk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],y_=Ae("x",jk);function Tk(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Ku(),e?document.getElementById("sidebar")?.querySelector(Ok)?.focus():document.getElementById("menu-btn")?.focus()}const Ok='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function pr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Ku(),e&&window.innerWidth<=au&&document.getElementById("menu-btn")?.focus()}const au=900;function Ku(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=au&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const a=document.getElementById("main");a&&(n&&window.innerWidth<=au?a.setAttribute("inert",""):a.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=au)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Ku),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&pr()}));const Ak={alert:g_,card:dz,check:l_,chev:JD,chevd:Up,clock:c_,copy:cz,doc:u_,dots:vz,download:pz,folder:Hp,dashboard:Iz,gear:fk,globe:d_,hist:Nz,link:Uz,lock:f_,menu:Xz,plus:sk,power:Zz,search:h_,share:mk,shield:m_,terminal:p_,trash:xk,upload:_k,users:v_,x:y_};function ht({name:e}){const n=Ak[e];return n?h.jsx(n,{className:"ico","aria-hidden":"true"}):null}const b_={folder:Hp,"book-open":UD,"file-text":u_,"pen-line":ak,users:v_,briefcase:BD,megaphone:Yz,rocket:ck,lightbulb:Fz,flag:xz,star:yk,heart:Az,code:az,"square-terminal":p_,bug:GD,wrench:Rk,database:hz,package:rk,beaker:FD,gauge:_z,shield:m_,lock:f_,gavel:Ez,globe:d_,compass:sz,calendar:KD,clock:c_,"graduation-cap":Tz,image:zz,music:Wz};function $o({name:e,className:n}){const r=b_[e??""]??Hp;return h.jsx(r,{className:n,"aria-hidden":"true"})}function Mk({size:e=22}){return h.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[h.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),h.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),h.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function xu(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return h.jsx("div",{className:n,children:e.children})}function Nk(e){e&&Ku()}function sl(e){return h.jsxs(h.Fragment,{children:[h.jsx("div",{id:"sb-backdrop",onClick:pr}),h.jsxs("aside",{id:"sidebar",ref:Nk,children:[e.vault,e.projectsNav,e.tree??h.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),h.jsxs("main",{id:"main",children:[e.topbar,h.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Yu(e){const{name:n,onHome:r,showSignout:a,search:s}=e;return h.jsxs("header",{id:"vault",children:[h.jsx("span",{id:"vault-badge",children:h.jsx(Mk,{size:22})}),h.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),h.jsxs("div",{className:"vault-actions",children:[s&&h.jsxs(TD,{delayDuration:150,children:[h.jsx(OD,{asChild:!0,children:h.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{ND(),pr()},children:h.jsx(ht,{name:"search"})})}),h.jsxs(AD,{className:"tipcard",sideOffset:6,children:["Search ",h.jsx("kbd",{children:"⌘K"})]})]}),a&&h.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:h.jsx(ht,{name:"power"})})]})]})}function ll(e){return h.jsxs("header",{id:"topbar",children:[h.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:Tk,children:h.jsx(ht,{name:"menu"})}),h.jsx("span",{id:"crumb",children:e.crumb}),h.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function Dk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const zk=e=>{switch(e){case"success":return $k;case"info":return Pk;case"warning":return Ik;case"error":return Fk;default:return null}},kk=Array(12).fill(0),Lk=({visible:e,className:n})=>he.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},he.createElement("div",{className:"sonner-spinner"},kk.map((r,a)=>he.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),$k=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Ik=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Pk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Fk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},he.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Vk=he.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},he.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),he.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Uk=()=>{const[e,n]=he.useState(document.hidden);return he.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Mm=1;class Hk{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:a,...s}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Mm++,u=this.toasts.find(m=>m.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...n,id:l,title:a}),{...m,...n,id:l,dismissible:d,title:a}):m):this.addToast({title:a,...s,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(a=>a({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let a;r.loading!==void 0&&(a=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const s=Promise.resolve(n instanceof Function?n():n);let l=a!==void 0,u;const d=s.then(async p=>{if(u=["resolve",p],he.isValidElement(p))l=!1,this.create({id:a,type:"default",message:p});else if(qk(p)&&!p.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${p.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${p.status}`):r.description,_=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:a,type:"error",description:b,..._})}else if(p instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(p):r.error,b=typeof r.description=="function"?await r.description(p):r.description,_=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:a,type:"error",description:b,..._})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(p):r.success,b=typeof r.description=="function"?await r.description(p):r.description,_=typeof v=="object"&&!he.isValidElement(v)?v:{message:v};this.create({id:a,type:"success",description:b,..._})}}).catch(async p=>{if(u=["reject",p],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(p):r.error,v=typeof r.description=="function"?await r.description(p):r.description,x=typeof y=="object"&&!he.isValidElement(y)?y:{message:y};this.create({id:a,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(a),a=void 0),r.finally==null||r.finally.call(r)}),m=()=>new Promise((p,y)=>d.then(()=>u[0]==="reject"?y(u[1]):p(u[1])).catch(y));return typeof a!="string"&&typeof a!="number"?{unwrap:m}:Object.assign(a,{unwrap:m})},this.custom=(n,r)=>{const a=r?.id||Mm++;return this.create({jsx:n(a),id:a,...r}),a},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const An=new Hk,Bk=(e,n)=>{const r=n?.id||Mm++;return An.addToast({title:e,...n,id:r}),r},qk=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Gk=Bk,Zk=()=>An.toasts,Kk=()=>An.getActiveToasts(),ax=Object.assign(Gk,{success:An.success,info:An.info,warning:An.warning,error:An.error,custom:An.custom,message:An.message,promise:An.promise,dismiss:An.dismiss,loading:An.loading},{getHistory:Zk,getToasts:Kk});Dk("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Kc(e){return e.label!==void 0}const Yk=3,Qk="24px",Xk="16px",ox=4e3,Jk=356,Wk=14,e3=45,t3=200;function Er(...e){return e.filter(Boolean).join(" ")}function n3(e){const[n,r]=e.split("-"),a=[];return n&&a.push(n),r&&a.push(r),a}const r3=e=>{var n,r,a,s,l,u,d,m,p;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:_,visibleToasts:C,heights:E,index:j,toasts:O,expanded:T,removeToast:A,defaultRichColors:L,closeButton:B,style:H,cancelButtonStyle:F,actionButtonStyle:pe,className:ge="",descriptionClassName:fe="",duration:Q,position:le,gap:ue,expandByDefault:xe,classNames:D,icons:q,closeButtonAriaLabel:ie="Close toast"}=e,[te,ne]=he.useState(null),[k,N]=he.useState(null),[U,X]=he.useState(!1),[K,se]=he.useState(!1),[ee,ve]=he.useState(!1),[ye,Ne]=he.useState(!1),[Ie,Fe]=he.useState(!1),[dt,Qe]=he.useState(0),[vn,cn]=he.useState(0),Kt=he.useRef(v.duration||Q||ox),ir=he.useRef(null),Dt=he.useRef(null),ar=j===0,Dr=j+1<=C,Tt=v.type,Un=v.dismissible!==!1,wt=v.className||"",oi=v.descriptionClassName||"",yn=he.useMemo(()=>E.findIndex(Me=>Me.toastId===v.id)||0,[E,v.id]),zr=he.useMemo(()=>{var Me;return(Me=v.closeButton)!=null?Me:B},[v.closeButton,B]),or=he.useMemo(()=>v.duration||Q||ox,[v.duration,Q]),Yt=he.useRef(0),bn=he.useRef(0),M=he.useRef(0),z=he.useRef(null),[I,J]=le.split("-"),ce=he.useMemo(()=>E.reduce((Me,ft,yt)=>yt>=yn?Me:Me+ft.height,0),[E,yn]),me=Uk(),be=v.invert||y,we=Tt==="loading";bn.current=he.useMemo(()=>yn*ue+ce,[yn,ce]),he.useEffect(()=>{Kt.current=or},[or]),he.useEffect(()=>{X(!0)},[]),he.useEffect(()=>{const Me=Dt.current;if(Me){const ft=Me.getBoundingClientRect().height;return cn(ft),_(yt=>[{toastId:v.id,height:ft,position:v.position},...yt]),()=>_(yt=>yt.filter(Ht=>Ht.toastId!==v.id))}},[_,v.id]),he.useLayoutEffect(()=>{if(!U)return;const Me=Dt.current,ft=Me.style.height;Me.style.height="auto";const yt=Me.getBoundingClientRect().height;Me.style.height=ft,cn(yt),_(Ht=>Ht.find(_t=>_t.toastId===v.id)?Ht.map(_t=>_t.toastId===v.id?{..._t,height:yt}:_t):[{toastId:v.id,height:yt,position:v.position},...Ht])},[U,v.title,v.description,_,v.id,v.jsx,v.action,v.cancel]);const je=he.useCallback(()=>{se(!0),Qe(bn.current),_(Me=>Me.filter(ft=>ft.toastId!==v.id)),setTimeout(()=>{A(v)},t3)},[v,A,_,bn]);he.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Me;return T||x||me?(()=>{if(M.current{v.onAutoClose==null||v.onAutoClose.call(v,v),je()},Kt.current)),()=>clearTimeout(Me)},[T,x,v,Tt,me,je]),he.useEffect(()=>{v.delete&&(je(),v.onDismiss==null||v.onDismiss.call(v,v))},[je,v.delete]);function et(){var Me;if(q?.loading){var ft;return he.createElement("div",{className:Er(D?.loader,v==null||(ft=v.classNames)==null?void 0:ft.loader,"sonner-loader"),"data-visible":Tt==="loading"},q.loading)}return he.createElement(Lk,{className:Er(D?.loader,v==null||(Me=v.classNames)==null?void 0:Me.loader),visible:Tt==="loading"})}const St=v.icon||q?.[Tt]||zk(Tt);var Qt,zt;return he.createElement("li",{tabIndex:0,ref:Dt,className:Er(ge,wt,D?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,D?.default,D?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Qt=v.richColors)!=null?Qt:L,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":U,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":K,"data-visible":Dr,"data-y-position":I,"data-x-position":J,"data-index":j,"data-front":ar,"data-swiping":ee,"data-dismissible":Un,"data-type":Tt,"data-invert":be,"data-swipe-out":ye,"data-swipe-direction":k,"data-expanded":!!(T||xe&&U),"data-testid":v.testId,style:{"--index":j,"--toasts-before":j,"--z-index":O.length-j,"--offset":`${K?dt:bn.current}px`,"--initial-height":xe?"auto":`${vn}px`,...H,...v.style},onDragEnd:()=>{ve(!1),ne(null),z.current=null},onPointerDown:Me=>{Me.button!==2&&(we||!Un||(ir.current=new Date,Qe(bn.current),Me.target.setPointerCapture(Me.pointerId),Me.target.tagName!=="BUTTON"&&(ve(!0),z.current={x:Me.clientX,y:Me.clientY})))},onPointerUp:()=>{var Me,ft,yt;if(ye||!Un)return;z.current=null;const Ht=Number(((Me=Dt.current)==null?void 0:Me.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),sr=Number(((ft=Dt.current)==null?void 0:ft.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),_t=new Date().getTime()-((yt=ir.current)==null?void 0:yt.getTime()),xn=te==="x"?Ht:sr,Wi=Math.abs(xn)/_t;if(Math.abs(xn)>=e3||Wi>.11){Qe(bn.current),v.onDismiss==null||v.onDismiss.call(v,v),N(te==="x"?Ht>0?"right":"left":sr>0?"down":"up"),je(),Ne(!0);return}else{var wn,Sn;(wn=Dt.current)==null||wn.style.setProperty("--swipe-amount-x","0px"),(Sn=Dt.current)==null||Sn.style.setProperty("--swipe-amount-y","0px")}Fe(!1),ve(!1),ne(null)},onPointerMove:Me=>{var ft,yt,Ht;if(!z.current||!Un||((ft=window.getSelection())==null?void 0:ft.toString().length)>0)return;const _t=Me.clientY-z.current.y,xn=Me.clientX-z.current.x;var Wi;const wn=(Wi=e.swipeDirections)!=null?Wi:n3(le);!te&&(Math.abs(xn)>1||Math.abs(_t)>1)&&ne(Math.abs(xn)>Math.abs(_t)?"x":"y");let Sn={x:0,y:0};const $a=lr=>1/(1.5+Math.abs(lr)/20);if(te==="y"){if(wn.includes("top")||wn.includes("bottom"))if(wn.includes("top")&&_t<0||wn.includes("bottom")&&_t>0)Sn.y=_t;else{const lr=_t*$a(_t);Sn.y=Math.abs(lr)0)Sn.x=xn;else{const lr=xn*$a(xn);Sn.x=Math.abs(lr)0||Math.abs(Sn.y)>0)&&Fe(!0),(yt=Dt.current)==null||yt.style.setProperty("--swipe-amount-x",`${Sn.x}px`),(Ht=Dt.current)==null||Ht.style.setProperty("--swipe-amount-y",`${Sn.y}px`)}},zr&&!v.jsx&&Tt!=="loading"?he.createElement("button",{"aria-label":ie,"data-disabled":we,"data-close-button":!0,onClick:we||!Un?()=>{}:()=>{je(),v.onDismiss==null||v.onDismiss.call(v,v)},className:Er(D?.closeButton,v==null||(a=v.classNames)==null?void 0:a.closeButton)},(zt=q?.close)!=null?zt:Vk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(q?.[Tt]!==null||v.icon)?he.createElement("div",{"data-icon":"",className:Er(D?.icon,v==null||(s=v.classNames)==null?void 0:s.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||et():null,v.type!=="loading"?St:null):null,he.createElement("div",{"data-content":"",className:Er(D?.content,v==null||(l=v.classNames)==null?void 0:l.content)},he.createElement("div",{"data-title":"",className:Er(D?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?he.createElement("div",{"data-description":"",className:Er(fe,oi,D?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),he.isValidElement(v.cancel)?v.cancel:v.cancel&&Kc(v.cancel)?he.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||F,onClick:Me=>{Kc(v.cancel)&&Un&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Me),je())},className:Er(D?.cancelButton,v==null||(m=v.classNames)==null?void 0:m.cancelButton)},v.cancel.label):null,he.isValidElement(v.action)?v.action:v.action&&Kc(v.action)?he.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||pe,onClick:Me=>{Kc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Me),!Me.defaultPrevented&&je())},className:Er(D?.actionButton,v==null||(p=v.classNames)==null?void 0:p.actionButton)},v.action.label):null)};function sx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function i3(e,n){const r={};return[e,n].forEach((a,s)=>{const l=s===1,u=l?"--mobile-offset":"--offset",d=l?Xk:Qk;function m(p){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof p=="number"?`${p}px`:p})}typeof a=="number"||typeof a=="string"?m(a):typeof a=="object"?["top","right","bottom","left"].forEach(p=>{a[p]===void 0?r[`${u}-${p}`]=d:r[`${u}-${p}`]=typeof a[p]=="number"?`${a[p]}px`:a[p]}):m(d)}),r}const a3=he.forwardRef(function(n,r){const{id:a,invert:s,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:m,className:p,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:_,style:C,visibleToasts:E=Yk,toastOptions:j,dir:O=sx(),gap:T=Wk,icons:A,containerAriaLabel:L="Notifications"}=n,[B,H]=he.useState([]),F=he.useMemo(()=>a?B.filter(U=>U.toasterId===a):B.filter(U=>!U.toasterId),[B,a]),pe=he.useMemo(()=>Array.from(new Set([l].concat(F.filter(U=>U.position).map(U=>U.position)))),[F,l]),[ge,fe]=he.useState([]),[Q,le]=he.useState(!1),[ue,xe]=he.useState(!1),[D,q]=he.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ie=he.useRef(null),te=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=he.useRef(null),k=he.useRef(!1),N=he.useCallback(U=>{H(X=>{var K;return(K=X.find(se=>se.id===U.id))!=null&&K.delete||An.dismiss(U.id),X.filter(({id:se})=>se!==U.id)})},[]);return he.useEffect(()=>An.subscribe(U=>{if(U.dismiss){requestAnimationFrame(()=>{H(X=>X.map(K=>K.id===U.id?{...K,delete:!0}:K))});return}setTimeout(()=>{lj.flushSync(()=>{H(X=>{const K=X.findIndex(se=>se.id===U.id);return K!==-1?[...X.slice(0,K),{...X[K],...U},...X.slice(K+1)]:[U,...X]})})})}),[B]),he.useEffect(()=>{if(b!=="system"){q(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;const U=window.matchMedia("(prefers-color-scheme: dark)");try{U.addEventListener("change",({matches:X})=>{q(X?"dark":"light")})}catch{U.addListener(({matches:K})=>{try{q(K?"dark":"light")}catch(se){console.error(se)}})}},[b]),he.useEffect(()=>{B.length<=1&&le(!1)},[B]),he.useEffect(()=>{const U=X=>{var K;if(u.every(ve=>X[ve]||X.code===ve)){var ee;le(!0),(ee=ie.current)==null||ee.focus()}X.code==="Escape"&&(document.activeElement===ie.current||(K=ie.current)!=null&&K.contains(document.activeElement))&&le(!1)};return document.addEventListener("keydown",U),()=>document.removeEventListener("keydown",U)},[u]),he.useEffect(()=>{if(ie.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,k.current=!1)}},[ie.current]),he.createElement("section",{ref:r,"aria-label":`${L} ${te}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},pe.map((U,X)=>{var K;const[se,ee]=U.split("-");return F.length?he.createElement("ol",{key:U,dir:O==="auto"?sx():O,tabIndex:-1,ref:ie,className:p,"data-sonner-toaster":!0,"data-sonner-theme":D,"data-y-position":se,"data-x-position":ee,style:{"--front-toast-height":`${((K=ge[0])==null?void 0:K.height)||0}px`,"--width":`${Jk}px`,"--gap":`${T}px`,...C,...i3(y,v)},onBlur:ve=>{k.current&&!ve.currentTarget.contains(ve.relatedTarget)&&(k.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||k.current||(k.current=!0,ne.current=ve.relatedTarget)},onMouseEnter:()=>le(!0),onMouseMove:()=>le(!0),onMouseLeave:()=>{ue||le(!1)},onDragEnd:()=>le(!1),onPointerDown:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||xe(!0)},onPointerUp:()=>xe(!1)},F.filter(ve=>!ve.position&&X===0||ve.position===U).map((ve,ye)=>{var Ne,Ie;return he.createElement(r3,{key:ve.id,icons:A,index:ye,toast:ve,defaultRichColors:x,duration:(Ne=j?.duration)!=null?Ne:_,className:j?.className,descriptionClassName:j?.descriptionClassName,invert:s,visibleToasts:E,closeButton:(Ie=j?.closeButton)!=null?Ie:m,interacting:ue,position:U,style:j?.style,unstyled:j?.unstyled,classNames:j?.classNames,cancelButtonStyle:j?.cancelButtonStyle,actionButtonStyle:j?.actionButtonStyle,closeButtonAriaLabel:j?.closeButtonAriaLabel,removeToast:N,toasts:F.filter(Fe=>Fe.position==ve.position),heights:ge.filter(Fe=>Fe.position==ve.position),setHeights:fe,expandByDefault:d,gap:T,expanded:Q,swipeDirections:n.swipeDirections})})):null}))}),o3=({...e})=>h.jsx(a3,{theme:"dark",className:"toaster group",icons:{success:h.jsx(nz,{className:"size-4"}),info:h.jsx(Lz,{className:"size-4"}),warning:h.jsx(g_,{className:"size-4"}),error:h.jsx(tk,{className:"size-4"}),loading:h.jsx(Bz,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?ax.error(e,{duration:1/0,closeButton:!0}):ax(e)}function s3(){return h.jsx(o3,{position:"bottom-center"})}const lx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,cx=G1,l3=(e,n)=>r=>{var a;if(n?.variants==null)return cx(e,r?.class,r?.className);const{variants:s,defaultVariants:l}=n,u=Object.keys(s).map(p=>{const y=r?.[p],v=l?.[p];if(y===null)return null;const b=lx(y)||lx(v);return s[p][b]}),d=r&&Object.entries(r).reduce((p,y)=>{let[v,b]=y;return b===void 0||(p[v]=b),p},{}),m=n==null||(a=n.compoundVariants)===null||a===void 0?void 0:a.reduce((p,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(_=>{let[C,E]=_;return Array.isArray(E)?E.includes({...l,...d}[C]):{...l,...d}[C]===E})?[...p,v,b]:p},[]);return cx(e,u,m,r?.class,r?.className)},c3=l3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:a=!1,...s}){const l=a?cj:"button";return h.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Xe(c3({variant:n,size:r,className:e})),...s})}function Qu({...e}){return h.jsx(dp,{"data-slot":"dialog",...e})}function u3({...e}){return h.jsx(hp,{"data-slot":"dialog-portal",...e})}function d3({className:e,...n}){return h.jsx(mp,{"data-slot":"dialog-overlay",className:Xe("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Xu({className:e,children:n,showCloseButton:r=!0,...a}){return h.jsxs(u3,{"data-slot":"dialog-portal",children:[h.jsx(d3,{}),h.jsxs(pp,{"data-slot":"dialog-content",className:Xe("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...a,children:[n,r&&h.jsxs(Jw,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[h.jsx(y_,{}),h.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function xl({className:e,...n}){return h.jsx(Yw,{"data-slot":"dialog-title",className:Xe("text-lg leading-none font-semibold",e),...n})}let x_=null,ou=[];function wl(e){x_=e,ou.forEach(n=>n())}function w_(e,n,r="",a="OK",s={}){return new Promise(l=>wl({kind:"prompt",title:e,label:n,value:r,okLabel:a,...s,resolve:l}))}function Sl(e,n,r="Confirm",a=!1){return new Promise(s=>wl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:a,resolve:s}))}function f3(){const e=w.useSyncExternalStore(r=>(ou.push(r),()=>{ou=ou.filter(a=>a!==r)}),()=>x_);if(!e)return null;const n=()=>{wl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return h.jsx(Qu,{open:!0,onOpenChange:r=>!r&&n(),children:h.jsx(Xu,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?h.jsx(h3,{m:e}):h.jsx(m3,{m:e})})})}function h3({m:e}){const n=w.useRef(null),r=p=>{wl(null),e.resolve(p)},[a,s]=w.useState(""),[l,u]=w.useState(e.value),d=e.match===void 0||l.trim()===e.match,m=()=>{const p=l;if(d){if(!p.trim()){s("Give it a name."),n.current.focus();return}r(p)}};return h.jsxs(h.Fragment,{children:[h.jsx(xl,{asChild:!0,children:h.jsx("h3",{children:e.title})}),h.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),h.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:p=>p.currentTarget.select(),"aria-invalid":!!a,"aria-describedby":a?"modal-input-err":void 0,onChange:p=>{u(p.currentTarget.value),a&&s("")},onKeyDown:p=>p.key==="Enter"&&m()}),a&&h.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:a}),h.jsxs("div",{className:"modal-actions",children:[h.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),h.jsx(vt,{variant:e.danger?"danger":"primary",onClick:m,disabled:!d,children:e.okLabel})]})]})}function m3({m:e}){const n=r=>{wl(null),e.resolve(r)};return h.jsxs(h.Fragment,{children:[h.jsx(xl,{asChild:!0,children:h.jsx("h3",{children:e.title})}),h.jsx("p",{className:"modal-msg",children:e.message}),h.jsxs("div",{className:"modal-actions",children:[h.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),h.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function p3(e){return Zt({queryKey:["projects"],queryFn:()=>sn("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function g3(e){return Zt({queryKey:["orgs"],queryFn:()=>sn("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function v3(e){return Zt({queryKey:["permissions",e],queryFn:()=>sn(`/api/p/${e}/permissions`),enabled:!!e})}function S_(e,n=!0){return Zt({queryKey:["shares",e],queryFn:()=>sn(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function __(e){return Zt({queryKey:["admin","pending"],queryFn:()=>sn("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function C_(){const e=Aa();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function E_(e){return e.split("/").map(encodeURIComponent).join("/")}function y3(e){return e.split("/").map(decodeURIComponent).join("/")}const b3=new Set(["dashboard","history","install","settings"]),Bh={insights:"dashboard"};function R_(e,n){const r=e.indexOf("?"),a=r===-1?null:new URLSearchParams(e.slice(r)),s=a?.get("v")||"",l=a?.get("connect")||"",u=x3(r===-1?e:e.slice(0,r),n);return s&&(u.version=s),l&&(u.connect=l),u}function ux(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?y3(r):"",e}function x3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return ux({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const a=r.indexOf("/");if(a===-1)return{project:r,path:""};const s=ux({project:r.slice(0,a),path:""},r.slice(a+1)),l=s.path.indexOf("/"),u=l===-1?s.path:s.path.slice(0,l);return(b3.has(u)||Bh[u])&&(s.view=Bh[u]||u,Bh[u]&&(s.legacyView=!0),s.viewTarget=l===-1?"":s.path.slice(l+1).replace(/\/+$/,""),s.path=""),s}function Ju(e,n,r){const a=E_(e),s=r?"?v="+r:"";return n?"/"+n+(a?"/"+a:"")+s:"/"+a+s}function mr(e,n,r){let a=(n?"/"+n:"")+"/"+e;return r&&(a+="/"+E_(r.replace(/\/+$/,""))),a}let Bp="POP";const Nm=new Set;function j_(){for(const e of Nm)e()}window.addEventListener("popstate",()=>{Bp="POP",j_()});function fn(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Bp=n?.replace?"REPLACE":"PUSH",j_())}function qp(){return w.useSyncExternalStore(e=>(Nm.add(e),()=>{Nm.delete(e)}),()=>location.pathname+location.search)}function w3(){return Bp}function cl(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),fn(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function su({to:e}){return w.useEffect(()=>{fn(e,{replace:!0})},[e]),null}function T_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Di(e,n){return typeof e=="function"?e(n):e}function Vn(e,n){return r=>{n.setState(a=>({...a,[e]:Di(r,a[e])}))}}function Wu(e){return e instanceof Function}function S3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function _3(e,n){const r=[],a=s=>{s.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&a(u)})};return a(e),r}function ze(e,n,r){let a=[],s;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==a.length||d.some((y,v)=>a[v]!==y)))return s;a=d;let p;if(r.key&&r.debug&&(p=Date.now()),s=n(...d),r==null||r.onChange==null||r.onChange(s),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-p)*100)/100,b=v/16,x=(_,C)=>{for(_=String(_);_.length{var s;return(s=e?.debugAll)!=null?s:e[n]},key:!1,onChange:a}}function C3(e,n,r,a){const s=()=>{var u;return(u=l.getValue())!=null?u:e.options.renderFallbackValue},l={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(a),renderValue:s,getContext:ze(()=>[e,r,n,l],(u,d,m,p)=>({table:u,column:d,row:m,cell:p,getValue:p.getValue,renderValue:p.renderValue}),ke(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(l,r,n,e)},{}),l}function E3(e,n,r,a){var s,l;const d={...e._getDefaultColumnDef(),...n},m=d.accessorKey;let p=(s=(l=d.id)!=null?l:m?typeof String.prototype.replaceAll=="function"?m.replaceAll(".","_"):m.replace(/\./g,"_"):void 0)!=null?s:typeof d.header=="string"?d.header:void 0,y;if(d.accessorFn?y=d.accessorFn:m&&(m.includes(".")?y=b=>{let x=b;for(const C of m.split(".")){var _;x=(_=x)==null?void 0:_[C]}return x}:y=b=>b[d.accessorKey]),!p)throw new Error;let v={id:`${String(p)}`,accessorFn:y,parent:a,depth:r,columnDef:d,columns:[],getFlatColumns:ze(()=>[!0],()=>{var b;return[v,...(b=v.columns)==null?void 0:b.flatMap(x=>x.getFlatColumns())]},ke(e.options,"debugColumns")),getLeafColumns:ze(()=>[e._getOrderColumnsFn()],b=>{var x;if((x=v.columns)!=null&&x.length){let _=v.columns.flatMap(C=>C.getLeafColumns());return b(_)}return[v]},ke(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(v,e);return v}const dn="debugHeaders";function dx(e,n,r){var a;let l={id:(a=r.id)!=null?a:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],d=m=>{m.subHeaders&&m.subHeaders.length&&m.subHeaders.map(d),u.push(m)};return d(l),u},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(l,e)}),l}const R3={createTable:e=>{e.getHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,a,s)=>{var l,u;const d=(l=a?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?l:[],m=(u=s?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?u:[],p=r.filter(v=>!(a!=null&&a.includes(v.id))&&!(s!=null&&s.includes(v.id)));return Yc(n,[...d,...p,...m],e)},ke(e.options,dn)),e.getCenterHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,a,s)=>(r=r.filter(l=>!(a!=null&&a.includes(l.id))&&!(s!=null&&s.includes(l.id))),Yc(n,r,e,"center")),ke(e.options,dn)),e.getLeftHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,a)=>{var s;const l=(s=a?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Yc(n,l,e,"left")},ke(e.options,dn)),e.getRightHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,a)=>{var s;const l=(s=a?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Yc(n,l,e,"right")},ke(e.options,dn)),e.getFooterGroups=ze(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ke(e.options,dn)),e.getLeftFooterGroups=ze(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ke(e.options,dn)),e.getCenterFooterGroups=ze(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ke(e.options,dn)),e.getRightFooterGroups=ze(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ke(e.options,dn)),e.getFlatHeaders=ze(()=>[e.getHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,dn)),e.getLeftFlatHeaders=ze(()=>[e.getLeftHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,dn)),e.getCenterFlatHeaders=ze(()=>[e.getCenterHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,dn)),e.getRightFlatHeaders=ze(()=>[e.getRightHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,dn)),e.getCenterLeafHeaders=ze(()=>[e.getCenterFlatHeaders()],n=>n.filter(r=>{var a;return!((a=r.subHeaders)!=null&&a.length)}),ke(e.options,dn)),e.getLeftLeafHeaders=ze(()=>[e.getLeftFlatHeaders()],n=>n.filter(r=>{var a;return!((a=r.subHeaders)!=null&&a.length)}),ke(e.options,dn)),e.getRightLeafHeaders=ze(()=>[e.getRightFlatHeaders()],n=>n.filter(r=>{var a;return!((a=r.subHeaders)!=null&&a.length)}),ke(e.options,dn)),e.getLeafHeaders=ze(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,a)=>{var s,l,u,d,m,p;return[...(s=(l=n[0])==null?void 0:l.headers)!=null?s:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[],...(m=(p=a[0])==null?void 0:p.headers)!=null?m:[]].map(y=>y.getLeafHeaders()).flat()},ke(e.options,dn))}};function Yc(e,n,r,a){var s,l;let u=0;const d=function(b,x){x===void 0&&(x=1),u=Math.max(u,x),b.filter(_=>_.getIsVisible()).forEach(_=>{var C;(C=_.columns)!=null&&C.length&&d(_.columns,x+1)},0)};d(e);let m=[];const p=(b,x)=>{const _={depth:x,id:[a,`${x}`].filter(Boolean).join("_"),headers:[]},C=[];b.forEach(E=>{const j=[...C].reverse()[0],O=E.column.depth===_.depth;let T,A=!1;if(O&&E.column.parent?T=E.column.parent:(T=E.column,A=!0),j&&j?.column===T)j.subHeaders.push(E);else{const L=dx(r,T,{id:[a,x,T.id,E?.id].filter(Boolean).join("_"),isPlaceholder:A,placeholderId:A?`${C.filter(B=>B.column===T).length}`:void 0,depth:x,index:C.length});L.subHeaders.push(E),C.push(L)}_.headers.push(E),E.headerGroup=_}),m.push(_),x>0&&p(C,x-1)},y=n.map((b,x)=>dx(r,b,{depth:u,index:x}));p(y,u-1),m.reverse();const v=b=>b.filter(_=>_.column.getIsVisible()).map(_=>{let C=0,E=0,j=[0];_.subHeaders&&_.subHeaders.length?(j=[],v(_.subHeaders).forEach(T=>{let{colSpan:A,rowSpan:L}=T;C+=A,j.push(L)})):C=1;const O=Math.min(...j);return E=E+O,_.colSpan=C,_.rowSpan=E,{colSpan:C,rowSpan:E}});return v((s=(l=m[0])==null?void 0:l.headers)!=null?s:[]),m}const j3=(e,n,r,a,s,l,u)=>{let d={id:n,index:a,original:r,depth:s,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:m=>{if(d._valuesCache.hasOwnProperty(m))return d._valuesCache[m];const p=e.getColumn(m);if(p!=null&&p.accessorFn)return d._valuesCache[m]=p.accessorFn(d.original,a),d._valuesCache[m]},getUniqueValues:m=>{if(d._uniqueValuesCache.hasOwnProperty(m))return d._uniqueValuesCache[m];const p=e.getColumn(m);if(p!=null&&p.accessorFn)return p.columnDef.getUniqueValues?(d._uniqueValuesCache[m]=p.columnDef.getUniqueValues(d.original,a),d._uniqueValuesCache[m]):(d._uniqueValuesCache[m]=[d.getValue(m)],d._uniqueValuesCache[m])},renderValue:m=>{var p;return(p=d.getValue(m))!=null?p:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>_3(d.subRows,m=>m.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let m=[],p=d;for(;;){const y=p.getParentRow();if(!y)break;m.push(y),p=y}return m.reverse()},getAllCells:ze(()=>[e.getAllLeafColumns()],m=>m.map(p=>C3(e,d,p,p.id)),ke(e.options,"debugRows")),_getAllCellsByColumnId:ze(()=>[d.getAllCells()],m=>m.reduce((p,y)=>(p[y.column.id]=y,p),{}),ke(e.options,"debugRows"))};for(let m=0;m{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},O_=(e,n,r)=>{var a,s;const l=r==null||(a=r.toString())==null?void 0:a.toLowerCase();return!!(!((s=e.getValue(n))==null||(s=s.toString())==null||(s=s.toLowerCase())==null)&&s.includes(l))};O_.autoRemove=e=>vr(e);const A_=(e,n,r)=>{var a;return!!(!((a=e.getValue(n))==null||(a=a.toString())==null)&&a.includes(r))};A_.autoRemove=e=>vr(e);const M_=(e,n,r)=>{var a;return((a=e.getValue(n))==null||(a=a.toString())==null?void 0:a.toLowerCase())===r?.toLowerCase()};M_.autoRemove=e=>vr(e);const N_=(e,n,r)=>{var a;return(a=e.getValue(n))==null?void 0:a.includes(r)};N_.autoRemove=e=>vr(e);const D_=(e,n,r)=>!r.some(a=>{var s;return!((s=e.getValue(n))!=null&&s.includes(a))});D_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const z_=(e,n,r)=>r.some(a=>{var s;return(s=e.getValue(n))==null?void 0:s.includes(a)});z_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const k_=(e,n,r)=>e.getValue(n)===r;k_.autoRemove=e=>vr(e);const L_=(e,n,r)=>e.getValue(n)==r;L_.autoRemove=e=>vr(e);const Gp=(e,n,r)=>{let[a,s]=r;const l=e.getValue(n);return l>=a&&l<=s};Gp.resolveFilterValue=e=>{let[n,r]=e,a=typeof n!="number"?parseFloat(n):n,s=typeof r!="number"?parseFloat(r):r,l=n===null||Number.isNaN(a)?-1/0:a,u=r===null||Number.isNaN(s)?1/0:s;if(l>u){const d=l;l=u,u=d}return[l,u]};Gp.autoRemove=e=>vr(e)||vr(e[0])&&vr(e[1]);const ei={includesString:O_,includesStringSensitive:A_,equalsString:M_,arrIncludes:N_,arrIncludesAll:D_,arrIncludesSome:z_,equals:k_,weakEquals:L_,inNumberRange:Gp};function vr(e){return e==null||e===""}const O3={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Vn("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const r=n.getCoreRowModel().flatRows[0],a=r?.getValue(e.id);return typeof a=="string"?ei.includesString:typeof a=="number"?ei.inNumberRange:typeof a=="boolean"||a!==null&&typeof a=="object"?ei.equals:Array.isArray(a)?ei.arrIncludes:ei.weakEquals},e.getFilterFn=()=>{var r,a;return Wu(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(a=n.options.filterFns)==null?void 0:a[e.columnDef.filterFn])!=null?r:ei[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,a,s;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((a=n.options.enableColumnFilters)!=null?a:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find(a=>a.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,a;return(r=(a=n.getState().columnFilters)==null?void 0:a.findIndex(s=>s.id===e.id))!=null?r:-1},e.setFilterValue=r=>{n.setColumnFilters(a=>{const s=e.getFilterFn(),l=a?.find(y=>y.id===e.id),u=Di(r,l?l.value:void 0);if(fx(s,u,e)){var d;return(d=a?.filter(y=>y.id!==e.id))!=null?d:[]}const m={id:e.id,value:u};if(l){var p;return(p=a?.map(y=>y.id===e.id?m:y))!=null?p:[]}return a!=null&&a.length?[...a,m]:[m]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const r=e.getAllLeafColumns(),a=s=>{var l;return(l=Di(n,s))==null?void 0:l.filter(u=>{const d=r.find(m=>m.id===u.id);if(d){const m=d.getFilterFn();if(fx(m,u.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(a)},e.resetColumnFilters=n=>{var r,a;e.setColumnFilters(n?[]:(r=(a=e.initialState)==null?void 0:a.columnFilters)!=null?r:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function fx(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n=="string"&&!n}const A3=(e,n,r)=>r.reduce((a,s)=>{const l=s.getValue(e);return a+(typeof l=="number"?l:0)},0),M3=(e,n,r)=>{let a;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(a>l||a===void 0&&l>=l)&&(a=l)}),a},N3=(e,n,r)=>{let a;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(a=l)&&(a=l)}),a},D3=(e,n,r)=>{let a,s;return r.forEach(l=>{const u=l.getValue(e);u!=null&&(a===void 0?u>=u&&(a=s=u):(a>u&&(a=u),s{let r=0,a=0;if(n.forEach(s=>{let l=s.getValue(e);l!=null&&(l=+l)>=l&&(++r,a+=l)}),r)return a/r},k3=(e,n)=>{if(!n.length)return;const r=n.map(l=>l.getValue(e));if(!S3(r))return;if(r.length===1)return r[0];const a=Math.floor(r.length/2),s=r.sort((l,u)=>l-u);return r.length%2!==0?s[a]:(s[a-1]+s[a])/2},L3=(e,n)=>Array.from(new Set(n.map(r=>r.getValue(e))).values()),$3=(e,n)=>new Set(n.map(r=>r.getValue(e))).size,I3=(e,n)=>n.length,qh={sum:A3,min:M3,max:N3,extent:D3,mean:z3,median:k3,unique:L3,uniqueCount:$3,count:I3},P3={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Vn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(r=>r!=null&&r.includes(e.id)?r.filter(a=>a!==e.id):[...r??[],e.id])},e.getCanGroup=()=>{var r,a;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((a=n.options.enableGrouping)!=null?a:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const r=e.getCanGroup();return()=>{r&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const r=n.getCoreRowModel().flatRows[0],a=r?.getValue(e.id);if(typeof a=="number")return qh.sum;if(Object.prototype.toString.call(a)==="[object Date]")return qh.extent},e.getAggregationFn=()=>{var r,a;if(!e)throw new Error;return Wu(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(a=n.options.aggregationFns)==null?void 0:a[e.columnDef.aggregationFn])!=null?r:qh[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var r,a;e.setGrouping(n?[]:(r=(a=e.initialState)==null?void 0:a.grouping)!=null?r:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=r=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];const a=n.getColumn(r);return a!=null&&a.columnDef.getGroupingValue?(e._groupingValuesCache[r]=a.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]):e.getValue(r)},e._groupingValuesCache={}},createCell:(e,n,r,a)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var s;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((s=r.subRows)!=null&&s.length)}}};function F3(e,n,r){if(!(n!=null&&n.length)||!r)return e;const a=e.filter(l=>!n.includes(l.id));return r==="remove"?a:[...n.map(l=>e.find(u=>u.id===l)).filter(Boolean),...a]}const V3={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Vn("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=ze(r=>[Xs(n,r)],r=>r.findIndex(a=>a.id===e.id),ke(n.options,"debugColumns")),e.getIsFirstColumn=r=>{var a;return((a=Xs(n,r)[0])==null?void 0:a.id)===e.id},e.getIsLastColumn=r=>{var a;const s=Xs(n,r);return((a=s[s.length-1])==null?void 0:a.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=ze(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,a)=>s=>{let l=[];if(!(n!=null&&n.length))l=s;else{const u=[...n],d=[...s];for(;d.length&&u.length;){const m=u.shift(),p=d.findIndex(y=>y.id===m);p>-1&&l.push(d.splice(p,1)[0])}l=[...l,...d]}return F3(l,r,a)},ke(e.options,"debugTable"))}},Gh=()=>({left:[],right:[]}),U3={getInitialState:e=>({columnPinning:Gh(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Vn("columnPinning",e)}),createColumn:(e,n)=>{e.pin=r=>{const a=e.getLeafColumns().map(s=>s.id).filter(Boolean);n.setColumnPinning(s=>{var l,u;if(r==="right"){var d,m;return{left:((d=s?.left)!=null?d:[]).filter(v=>!(a!=null&&a.includes(v))),right:[...((m=s?.right)!=null?m:[]).filter(v=>!(a!=null&&a.includes(v))),...a]}}if(r==="left"){var p,y;return{left:[...((p=s?.left)!=null?p:[]).filter(v=>!(a!=null&&a.includes(v))),...a],right:((y=s?.right)!=null?y:[]).filter(v=>!(a!=null&&a.includes(v)))}}return{left:((l=s?.left)!=null?l:[]).filter(v=>!(a!=null&&a.includes(v))),right:((u=s?.right)!=null?u:[]).filter(v=>!(a!=null&&a.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(a=>{var s,l,u;return((s=a.columnDef.enablePinning)!=null?s:!0)&&((l=(u=n.options.enableColumnPinning)!=null?u:n.options.enablePinning)!=null?l:!0)}),e.getIsPinned=()=>{const r=e.getLeafColumns().map(d=>d.id),{left:a,right:s}=n.getState().columnPinning,l=r.some(d=>a?.includes(d)),u=r.some(d=>s?.includes(d));return l?"left":u?"right":!1},e.getPinnedIndex=()=>{var r,a;const s=e.getIsPinned();return s?(r=(a=n.getState().columnPinning)==null||(a=a[s])==null?void 0:a.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,a,s)=>{const l=[...a??[],...s??[]];return r.filter(u=>!l.includes(u.column.id))},ke(n.options,"debugRows")),e.getLeftVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,a)=>(a??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"left"})),ke(n.options,"debugRows")),e.getRightVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,a)=>(a??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"right"})),ke(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var r,a;return e.setColumnPinning(n?Gh():(r=(a=e.initialState)==null?void 0:a.columnPinning)!=null?r:Gh())},e.getIsSomeColumnsPinned=n=>{var r;const a=e.getState().columnPinning;if(!n){var s,l;return!!((s=a.left)!=null&&s.length||(l=a.right)!=null&&l.length)}return!!((r=a[n])!=null&&r.length)},e.getLeftLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r??[]).map(a=>n.find(s=>s.id===a)).filter(Boolean),ke(e.options,"debugColumns")),e.getRightLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r??[]).map(a=>n.find(s=>s.id===a)).filter(Boolean),ke(e.options,"debugColumns")),e.getCenterLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,a)=>{const s=[...r??[],...a??[]];return n.filter(l=>!s.includes(l.id))},ke(e.options,"debugColumns"))}};function H3(e){return e||(typeof document<"u"?document:null)}const Qc={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Zh=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),B3={getDefaultColumnDef:()=>Qc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Zh(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Vn("columnSizing",e),onColumnSizingInfoChange:Vn("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,a,s;const l=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Qc.minSize,(a=l??e.columnDef.size)!=null?a:Qc.size),(s=e.columnDef.maxSize)!=null?s:Qc.maxSize)},e.getStart=ze(r=>[r,Xs(n,r),n.getState().columnSizing],(r,a)=>a.slice(0,e.getIndex(r)).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.getAfter=ze(r=>[r,Xs(n,r),n.getState().columnSizing],(r,a)=>a.slice(e.getIndex(r)+1).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(r=>{let{[e.id]:a,...s}=r;return s})},e.getCanResize=()=>{var r,a;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((a=n.options.enableColumnResizing)!=null?a:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0;const a=s=>{if(s.subHeaders.length)s.subHeaders.forEach(a);else{var l;r+=(l=s.column.getSize())!=null?l:0}};return a(e),r},e.getStart=()=>{if(e.index>0){const r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=r=>{const a=n.getColumn(e.column.id),s=a?.getCanResize();return l=>{if(!a||!s||(l.persist==null||l.persist(),Kh(l)&&l.touches&&l.touches.length>1))return;const u=e.getSize(),d=e?e.getLeafHeaders().map(j=>[j.column.id,j.column.getSize()]):[[a.id,a.getSize()]],m=Kh(l)?Math.round(l.touches[0].clientX):l.clientX,p={},y=(j,O)=>{typeof O=="number"&&(n.setColumnSizingInfo(T=>{var A,L;const B=n.options.columnResizeDirection==="rtl"?-1:1,H=(O-((A=T?.startOffset)!=null?A:0))*B,F=Math.max(H/((L=T?.startSize)!=null?L:0),-.999999);return T.columnSizingStart.forEach(pe=>{let[ge,fe]=pe;p[ge]=Math.round(Math.max(fe+fe*F,0)*100)/100}),{...T,deltaOffset:H,deltaPercentage:F}}),(n.options.columnResizeMode==="onChange"||j==="end")&&n.setColumnSizing(T=>({...T,...p})))},v=j=>y("move",j),b=j=>{y("end",j),n.setColumnSizingInfo(O=>({...O,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},x=H3(r),_={moveHandler:j=>v(j.clientX),upHandler:j=>{x?.removeEventListener("mousemove",_.moveHandler),x?.removeEventListener("mouseup",_.upHandler),b(j.clientX)}},C={moveHandler:j=>(j.cancelable&&(j.preventDefault(),j.stopPropagation()),v(j.touches[0].clientX),!1),upHandler:j=>{var O;x?.removeEventListener("touchmove",C.moveHandler),x?.removeEventListener("touchend",C.upHandler),j.cancelable&&(j.preventDefault(),j.stopPropagation()),b((O=j.touches[0])==null?void 0:O.clientX)}},E=q3()?{passive:!1}:!1;Kh(l)?(x?.addEventListener("touchmove",C.moveHandler,E),x?.addEventListener("touchend",C.upHandler,E)):(x?.addEventListener("mousemove",_.moveHandler,E),x?.addEventListener("mouseup",_.upHandler,E)),n.setColumnSizingInfo(j=>({...j,startOffset:m,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:a.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=n=>{var r;e.setColumnSizingInfo(n?Zh():(r=e.initialState.columnSizingInfo)!=null?r:Zh())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((a,s)=>a+s.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((a,s)=>a+s.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((a,s)=>a+s.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((a,s)=>a+s.getSize(),0))!=null?n:0}}};let Xc=null;function q3(){if(typeof Xc=="boolean")return Xc;let e=!1;try{const n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch{e=!1}return Xc=e,Xc}function Kh(e){return e.type==="touchstart"}const G3={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Vn("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=r=>{e.getCanHide()&&n.setColumnVisibility(a=>({...a,[e.id]:r??!e.getIsVisible()}))},e.getIsVisible=()=>{var r,a;const s=e.columns;return(r=s.length?s.some(l=>l.getIsVisible()):(a=n.getState().columnVisibility)==null?void 0:a[e.id])!=null?r:!0},e.getCanHide=()=>{var r,a;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((a=n.options.enableHiding)!=null?a:!0)},e.getToggleVisibilityHandler=()=>r=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=ze(()=>[e.getAllCells(),n.getState().columnVisibility],r=>r.filter(a=>a.column.getIsVisible()),ke(n.options,"debugRows")),e.getVisibleCells=ze(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,a,s)=>[...r,...a,...s],ke(n.options,"debugRows"))},createTable:e=>{const n=(r,a)=>ze(()=>[a(),a().filter(s=>s.getIsVisible()).map(s=>s.id).join("_")],s=>s.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),ke(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=r=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=r=>{var a;e.setColumnVisibility(r?{}:(a=e.initialState.columnVisibility)!=null?a:{})},e.toggleAllColumnsVisible=r=>{var a;r=(a=r)!=null?a:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((s,l)=>({...s,[l.id]:r||!(l.getCanHide!=null&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(r=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(r=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>r=>{var a;e.toggleAllColumnsVisible((a=r.target)==null?void 0:a.checked)}}};function Xs(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const Z3={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},K3={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Vn("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var r;const a=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof a=="string"||typeof a=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,a,s,l;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((a=n.options.enableGlobalFilter)!=null?a:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ei.includesString,e.getGlobalFilterFn=()=>{var n,r;const{globalFilterFn:a}=e.options;return Wu(a)?a:a==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[a])!=null?n:ei[a]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},Y3={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Vn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var a,s;if(!n){e._queue(()=>{n=!0});return}if((a=(s=e.options.autoResetAll)!=null?s:e.options.autoResetExpanded)!=null?a:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=a=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(a),e.toggleAllRowsExpanded=a=>{a??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=a=>{var s,l;e.setExpanded(a?{}:(s=(l=e.initialState)==null?void 0:l.expanded)!=null?s:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(a=>a.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>a=>{a.persist==null||a.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const a=e.getState().expanded;return a===!0||Object.values(a).some(Boolean)},e.getIsAllRowsExpanded=()=>{const a=e.getState().expanded;return typeof a=="boolean"?a===!0:!(!Object.keys(a).length||e.getRowModel().flatRows.some(s=>!s.getIsExpanded()))},e.getExpandedDepth=()=>{let a=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{const u=l.split(".");a=Math.max(a,u.length)}),a},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=r=>{n.setExpanded(a=>{var s;const l=a===!0?!0:!!(a!=null&&a[e.id]);let u={};if(a===!0?Object.keys(n.getRowModel().rowsById).forEach(d=>{u[d]=!0}):u=a,r=(s=r)!=null?s:!l,!l&&r)return{...u,[e.id]:!0};if(l&&!r){const{[e.id]:d,...m}=u;return m}return a})},e.getIsExpanded=()=>{var r;const a=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:a===!0||a?.[e.id])},e.getCanExpand=()=>{var r,a,s;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((a=n.options.enableExpanding)!=null?a:!0)&&!!((s=e.subRows)!=null&&s.length)},e.getIsAllParentsExpanded=()=>{let r=!0,a=e;for(;r&&a.parentId;)a=n.getRow(a.parentId,!0),r=a.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{const r=e.getCanExpand();return()=>{r&&e.toggleExpanded()}}}},Dm=0,zm=10,Yh=()=>({pageIndex:Dm,pageSize:zm}),Q3={getInitialState:e=>({...e,pagination:{...Yh(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Vn("pagination",e)}),createTable:e=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var a,s;if(!n){e._queue(()=>{n=!0});return}if((a=(s=e.options.autoResetAll)!=null?s:e.options.autoResetPageIndex)!=null?a:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=a=>{const s=l=>Di(a,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(s)},e.resetPagination=a=>{var s;e.setPagination(a?Yh():(s=e.initialState.pagination)!=null?s:Yh())},e.setPageIndex=a=>{e.setPagination(s=>{let l=Di(a,s.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,u)),{...s,pageIndex:l}})},e.resetPageIndex=a=>{var s,l;e.setPageIndex(a?Dm:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageIndex)!=null?s:Dm)},e.resetPageSize=a=>{var s,l;e.setPageSize(a?zm:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageSize)!=null?s:zm)},e.setPageSize=a=>{e.setPagination(s=>{const l=Math.max(1,Di(a,s.pageSize)),u=s.pageSize*s.pageIndex,d=Math.floor(u/l);return{...s,pageIndex:d,pageSize:l}})},e.setPageCount=a=>e.setPagination(s=>{var l;let u=Di(a,(l=e.options.pageCount)!=null?l:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...s,pageCount:u}}),e.getPageOptions=ze(()=>[e.getPageCount()],a=>{let s=[];return a&&a>0&&(s=[...new Array(a)].fill(null).map((l,u)=>u)),s},ke(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:a}=e.getState().pagination,s=e.getPageCount();return s===-1?!0:s===0?!1:ae.setPageIndex(a=>a-1),e.nextPage=()=>e.setPageIndex(a=>a+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var a;return(a=e.options.pageCount)!=null?a:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var a;return(a=e.options.rowCount)!=null?a:e.getPrePaginationRowModel().rows.length}}},Qh=()=>({top:[],bottom:[]}),X3={getInitialState:e=>({rowPinning:Qh(),...e}),getDefaultOptions:e=>({onRowPinningChange:Vn("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,a,s)=>{const l=a?e.getLeafRows().map(m=>{let{id:p}=m;return p}):[],u=s?e.getParentRows().map(m=>{let{id:p}=m;return p}):[],d=new Set([...u,e.id,...l]);n.setRowPinning(m=>{var p,y;if(r==="bottom"){var v,b;return{top:((v=m?.top)!=null?v:[]).filter(C=>!(d!=null&&d.has(C))),bottom:[...((b=m?.bottom)!=null?b:[]).filter(C=>!(d!=null&&d.has(C))),...Array.from(d)]}}if(r==="top"){var x,_;return{top:[...((x=m?.top)!=null?x:[]).filter(C=>!(d!=null&&d.has(C))),...Array.from(d)],bottom:((_=m?.bottom)!=null?_:[]).filter(C=>!(d!=null&&d.has(C)))}}return{top:((p=m?.top)!=null?p:[]).filter(C=>!(d!=null&&d.has(C))),bottom:((y=m?.bottom)!=null?y:[]).filter(C=>!(d!=null&&d.has(C)))}})},e.getCanPin=()=>{var r;const{enableRowPinning:a,enablePinning:s}=n.options;return typeof a=="function"?a(e):(r=a??s)!=null?r:!0},e.getIsPinned=()=>{const r=[e.id],{top:a,bottom:s}=n.getState().rowPinning,l=r.some(d=>a?.includes(d)),u=r.some(d=>s?.includes(d));return l?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var r,a;const s=e.getIsPinned();if(!s)return-1;const l=(r=s==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map(u=>{let{id:d}=u;return d});return(a=l?.indexOf(e.id))!=null?a:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var r,a;return e.setRowPinning(n?Qh():(r=(a=e.initialState)==null?void 0:a.rowPinning)!=null?r:Qh())},e.getIsSomeRowsPinned=n=>{var r;const a=e.getState().rowPinning;if(!n){var s,l;return!!((s=a.top)!=null&&s.length||(l=a.bottom)!=null&&l.length)}return!!((r=a[n])!=null&&r.length)},e._getPinnedRows=(n,r,a)=>{var s;return((s=e.options.keepPinnedRows)==null||s?(r??[]).map(u=>{const d=e.getRow(u,!0);return d.getIsAllParentsExpanded()?d:null}):(r??[]).map(u=>n.find(d=>d.id===u))).filter(Boolean).map(u=>({...u,position:a}))},e.getTopRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),ke(e.options,"debugRows")),e.getBottomRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),ke(e.options,"debugRows")),e.getCenterRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,a)=>{const s=new Set([...r??[],...a??[]]);return n.filter(l=>!s.has(l.id))},ke(e.options,"debugRows"))}},J3={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Vn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(r=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const a={...r},s=e.getPreGroupedRowModel().flatRows;return n?s.forEach(l=>{l.getCanSelect()&&(a[l.id]=!0)}):s.forEach(l=>{delete a[l.id]}),a})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(r=>{const a=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),s={...r};return e.getRowModel().rows.forEach(l=>{km(s,l.id,a,!0,e)}),s}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getFilteredSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getGroupedSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState();let a=!!(n.length&&Object.keys(r).length);return a&&n.some(s=>s.getCanSelect()&&!r[s.id])&&(a=!1),a},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(s=>s.getCanSelect()),{rowSelection:r}=e.getState();let a=!!n.length;return a&&n.some(s=>!r[s.id])&&(a=!1),a},e.getIsSomeRowsSelected=()=>{var n;const r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(r=>r.getCanSelect()).some(r=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,a)=>{const s=e.getIsSelected();n.setRowSelection(l=>{var u;if(r=typeof r<"u"?r:!s,e.getCanSelect()&&s===r)return l;const d={...l};return km(d,e.id,r,(u=a?.selectChildren)!=null?u:!0,n),d})},e.getIsSelected=()=>{const{rowSelection:r}=n.getState();return Zp(e,r)},e.getIsSomeSelected=()=>{const{rowSelection:r}=n.getState();return Lm(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=n.getState();return Lm(e,r)==="all"},e.getCanSelect=()=>{var r;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{const r=e.getCanSelect();return a=>{var s;r&&e.toggleSelected((s=a.target)==null?void 0:s.checked)}}}},km=(e,n,r,a,s)=>{var l;const u=s.getRow(n,!0);r?(u.getCanMultiSelect()||Object.keys(e).forEach(d=>delete e[d]),u.getCanSelect()&&(e[n]=!0)):delete e[n],a&&(l=u.subRows)!=null&&l.length&&u.getCanSelectSubRows()&&u.subRows.forEach(d=>km(e,d.id,r,a,s))};function Xh(e,n){const r=e.getState().rowSelection,a=[],s={},l=function(u,d){return u.map(m=>{var p;const y=Zp(m,r);if(y&&(a.push(m),s[m.id]=m),(p=m.subRows)!=null&&p.length&&(m={...m,subRows:l(m.subRows)}),y)return m}).filter(Boolean)};return{rows:l(n.rows),flatRows:a,rowsById:s}}function Zp(e,n){var r;return(r=n[e.id])!=null?r:!1}function Lm(e,n,r){var a;if(!((a=e.subRows)!=null&&a.length))return!1;let s=!0,l=!1;return e.subRows.forEach(u=>{if(!(l&&!s)&&(u.getCanSelect()&&(Zp(u,n)?l=!0:s=!1),u.subRows&&u.subRows.length)){const d=Lm(u,n);d==="all"?l=!0:(d==="some"&&(l=!0),s=!1)}}),s?"all":l?"some":!1}const $m=/([0-9]+)/gm,W3=(e,n,r)=>$_(Bi(e.getValue(r)).toLowerCase(),Bi(n.getValue(r)).toLowerCase()),e4=(e,n,r)=>$_(Bi(e.getValue(r)),Bi(n.getValue(r))),t4=(e,n,r)=>Kp(Bi(e.getValue(r)).toLowerCase(),Bi(n.getValue(r)).toLowerCase()),n4=(e,n,r)=>Kp(Bi(e.getValue(r)),Bi(n.getValue(r))),r4=(e,n,r)=>{const a=e.getValue(r),s=n.getValue(r);return a>s?1:aKp(e.getValue(r),n.getValue(r));function Kp(e,n){return e===n?0:e>n?1:-1}function Bi(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function $_(e,n){const r=e.split($m).filter(Boolean),a=n.split($m).filter(Boolean);for(;r.length&&a.length;){const s=r.shift(),l=a.shift(),u=parseInt(s,10),d=parseInt(l,10),m=[u,d].sort();if(isNaN(m[0])){if(s>l)return 1;if(l>s)return-1;continue}if(isNaN(m[1]))return isNaN(u)?-1:1;if(u>d)return 1;if(d>u)return-1}return r.length-a.length}const Us={alphanumeric:W3,alphanumericCaseSensitive:e4,text:t4,textCaseSensitive:n4,datetime:r4,basic:i4},a4={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Vn("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const r=n.getFilteredRowModel().flatRows.slice(10);let a=!1;for(const s of r){const l=s?.getValue(e.id);if(Object.prototype.toString.call(l)==="[object Date]")return Us.datetime;if(typeof l=="string"&&(a=!0,l.split($m).length>1))return Us.alphanumeric}return a?Us.text:Us.basic},e.getAutoSortDir=()=>{const r=n.getFilteredRowModel().flatRows[0];return typeof r?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var r,a;if(!e)throw new Error;return Wu(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(a=n.options.sortingFns)==null?void 0:a[e.columnDef.sortingFn])!=null?r:Us[e.columnDef.sortingFn]},e.toggleSorting=(r,a)=>{const s=e.getNextSortingOrder(),l=typeof r<"u"&&r!==null;n.setSorting(u=>{const d=u?.find(x=>x.id===e.id),m=u?.findIndex(x=>x.id===e.id);let p=[],y,v=l?r:s==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&a?d?y="toggle":y="add":u!=null&&u.length&&m!==u.length-1?y="replace":d?y="toggle":y="replace",y==="toggle"&&(l||s||(y="remove")),y==="add"){var b;p=[...u,{id:e.id,desc:v}],p.splice(0,p.length-((b=n.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else y==="toggle"?p=u.map(x=>x.id===e.id?{...x,desc:v}:x):y==="remove"?p=u.filter(x=>x.id!==e.id):p=[{id:e.id,desc:v}];return p})},e.getFirstSortDir=()=>{var r,a;return((r=(a=e.columnDef.sortDescFirst)!=null?a:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=r=>{var a,s;const l=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==l&&((a=n.options.enableSortingRemoval)==null||a)&&(!(r&&(s=n.options.enableMultiRemove)!=null)||s)?!1:u==="desc"?"asc":"desc":l},e.getCanSort=()=>{var r,a;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((a=n.options.enableSorting)!=null?a:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,a;return(r=(a=e.columnDef.enableMultiSort)!=null?a:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;const a=(r=n.getState().sorting)==null?void 0:r.find(s=>s.id===e.id);return a?a.desc?"desc":"asc":!1},e.getSortIndex=()=>{var r,a;return(r=(a=n.getState().sorting)==null?void 0:a.findIndex(s=>s.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting(r=>r!=null&&r.length?r.filter(a=>a.id!==e.id):[])},e.getToggleSortingHandler=()=>{const r=e.getCanSort();return a=>{r&&(a.persist==null||a.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(a):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var r,a;e.setSorting(n?[]:(r=(a=e.initialState)==null?void 0:a.sorting)!=null?r:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},o4=[R3,G3,V3,U3,T3,O3,Z3,K3,a4,P3,Y3,Q3,X3,J3,B3];function s4(e){var n,r;const a=[...o4,...(n=e._features)!=null?n:[]];let s={_features:a};const l=s._features.reduce((b,x)=>Object.assign(b,x.getDefaultOptions==null?void 0:x.getDefaultOptions(s)),{}),u=b=>s.options.mergeOptions?s.options.mergeOptions(l,b):{...l,...b};let m={...{},...(r=e.initialState)!=null?r:{}};s._features.forEach(b=>{var x;m=(x=b.getInitialState==null?void 0:b.getInitialState(m))!=null?x:m});const p=[];let y=!1;const v={_features:a,options:{...l,...e},initialState:m,_queue:b=>{p.push(b),y||(y=!0,Promise.resolve().then(()=>{for(;p.length;)p.shift()();y=!1}).catch(x=>setTimeout(()=>{throw x})))},reset:()=>{s.setState(s.initialState)},setOptions:b=>{const x=Di(b,s.options);s.options=u(x)},getState:()=>s.options.state,setState:b=>{s.options.onStateChange==null||s.options.onStateChange(b)},_getRowId:(b,x,_)=>{var C;return(C=s.options.getRowId==null?void 0:s.options.getRowId(b,x,_))!=null?C:`${_?[_.id,x].join("."):x}`},getCoreRowModel:()=>(s._getCoreRowModel||(s._getCoreRowModel=s.options.getCoreRowModel(s)),s._getCoreRowModel()),getRowModel:()=>s.getPaginationRowModel(),getRow:(b,x)=>{let _=(x?s.getPrePaginationRowModel():s.getRowModel()).rowsById[b];if(!_&&(_=s.getCoreRowModel().rowsById[b],!_))throw new Error;return _},_getDefaultColumnDef:ze(()=>[s.options.defaultColumn],b=>{var x;return b=(x=b)!=null?x:{},{header:_=>{const C=_.header.column.columnDef;return C.accessorKey?C.accessorKey:C.accessorFn?C.id:null},cell:_=>{var C,E;return(C=(E=_.renderValue())==null||E.toString==null?void 0:E.toString())!=null?C:null},...s._features.reduce((_,C)=>Object.assign(_,C.getDefaultColumnDef==null?void 0:C.getDefaultColumnDef()),{}),...b}},ke(e,"debugColumns")),_getColumnDefs:()=>s.options.columns,getAllColumns:ze(()=>[s._getColumnDefs()],b=>{const x=function(_,C,E){return E===void 0&&(E=0),_.map(j=>{const O=E3(s,j,E,C),T=j;return O.columns=T.columns?x(T.columns,O,E+1):[],O})};return x(b)},ke(e,"debugColumns")),getAllFlatColumns:ze(()=>[s.getAllColumns()],b=>b.flatMap(x=>x.getFlatColumns()),ke(e,"debugColumns")),_getAllFlatColumnsById:ze(()=>[s.getAllFlatColumns()],b=>b.reduce((x,_)=>(x[_.id]=_,x),{}),ke(e,"debugColumns")),getAllLeafColumns:ze(()=>[s.getAllColumns(),s._getOrderColumnsFn()],(b,x)=>{let _=b.flatMap(C=>C.getLeafColumns());return x(_)},ke(e,"debugColumns")),getColumn:b=>s._getAllFlatColumnsById()[b]};Object.assign(s,v);for(let b=0;bze(()=>[e.options.data],n=>{const r={rows:[],flatRows:[],rowsById:{}},a=function(s,l,u){l===void 0&&(l=0);const d=[];for(let p=0;pe._autoResetPageIndex()))}function P_(){return e=>ze(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,r)=>{if(!r.rows.length||!(n!=null&&n.length))return r;const a=e.getState().sorting,s=[],l=a.filter(m=>{var p;return(p=e.getColumn(m.id))==null?void 0:p.getCanSort()}),u={};l.forEach(m=>{const p=e.getColumn(m.id);p&&(u[m.id]={sortUndefined:p.columnDef.sortUndefined,invertSorting:p.columnDef.invertSorting,sortingFn:p.getSortingFn()})});const d=m=>{const p=m.map(y=>({...y}));return p.sort((y,v)=>{for(let x=0;x{var v;s.push(y),(v=y.subRows)!=null&&v.length&&(y.subRows=d(y.subRows))}),p};return{rows:d(r.rows),flatRows:s,rowsById:r.rowsById}},ke(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function Im(e,n){return e?l4(e)?w.createElement(e,n):e:null}function l4(e){return c4(e)||typeof e=="function"||u4(e)}function c4(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function u4(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function F_(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=w.useState(()=>({current:s4(n)})),[a,s]=w.useState(()=>r.current.initialState);return r.current.setOptions(l=>({...l,...e,state:{...a,...e.state},onStateChange:u=>{s(u),e.onStateChange==null||e.onStateChange(u)}})),r.current}var _l=e=>e.type==="checkbox",zi=e=>e instanceof Date,rn=e=>e==null;const Yp=e=>typeof e=="object";var jt=e=>!rn(e)&&!Array.isArray(e)&&Yp(e)&&!zi(e),d4=e=>jt(e)&&e.target?_l(e.target)?e.target.checked:e.target.value:e,f4=(e,n)=>n.split(".").some((r,a,s)=>!isNaN(Number(r))&&e.has(s.slice(0,a).join("."))),V_=e=>{const n=e.constructor&&e.constructor.prototype;return jt(n)&&n.hasOwnProperty("isPrototypeOf")},ed=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Mt(e){if(e instanceof Date)return new Date(e);const n=typeof FileList<"u"&&e instanceof FileList;if(ed&&(e instanceof Blob||n))return e;const r=Array.isArray(e);if(!r&&!(jt(e)&&V_(e)))return e;const a=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(a[s]=Mt(e[s]));return a}const jo={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},gr={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},hr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},U_="root",Qp=["__proto__","constructor","prototype"],h4=/^\w*$/;var Cl=e=>h4.test(e),gt=e=>e===void 0;const m4=/[.[\]'"]/;var td=e=>e.split(m4).filter(Boolean),Se=(e,n,r)=>{if(!n||!jt(e))return r;const a=Cl(n)?[n]:td(n);if(a.some(l=>Qp.includes(l)))return r;const s=a.reduce((l,u)=>rn(l)?void 0:l[u],e);return gt(s)||s===e?gt(e[n])?r:e[n]:s},Rr=e=>typeof e=="boolean",Wn=e=>typeof e=="function",lt=(e,n,r)=>{let a=-1;const s=Cl(n)?[n]:td(n),l=s.length,u=l-1;for(;++a{const s={};for(const l in e)Object.defineProperty(s,l,{get:()=>{const u=l;return n._proxyFormState[u]!==gr.all&&(n._proxyFormState[u]=!a||gr.all),e[u]}});return s};const v4=ed?he.useLayoutEffect:he.useEffect;var on=e=>typeof e=="string",y4=(e,n,r,a,s)=>on(e)?(a&&n.watch.add(e),Se(r,e,s)):Array.isArray(e)?e.map(l=>(a&&n.watch.add(l),Se(r,l))):(a&&(n.watchAll=!0),r),Pm=e=>rn(e)||!Yp(e);const hx=(e,n)=>n.length===0&&!Array.isArray(e)&&!V_(e);function jr(e,n,r=new WeakMap){if(e===n)return!0;if(Pm(e)||Pm(n))return Object.is(e,n);if(zi(e)&&zi(n))return Object.is(e.getTime(),n.getTime());const a=Object.keys(e),s=Object.keys(n);if(a.length!==s.length)return!1;if(hx(e,a)||hx(n,s))return Object.is(e,n);if(!a.length&&Array.isArray(e)!==Array.isArray(n))return!1;const l=r.get(e);if(l&&l.has(n))return!0;if(l)l.add(n);else{const u=new WeakSet;u.add(n),r.set(e,u)}for(const u of a){const d=e[u];if(!(u in n))return!1;if(u!=="ref"){const m=n[u];if(zi(d)&&zi(m)||(jt(d)||Array.isArray(d))&&(jt(m)||Array.isArray(m))?!jr(d,m,r):!Object.is(d,m))return!1}}return!0}var Jc=e=>({isOnSubmit:!e||e===gr.onSubmit,isOnBlur:e===gr.onBlur,isOnChange:e===gr.onChange,isOnAll:e===gr.all,isOnTouch:e===gr.onTouched}),Jh=(e,n,r)=>{if(r)return!1;if(n.watchAll||n.watch.has(e))return!0;for(const a of n.watch)if(e.startsWith(a)&&e.charAt(a.length)===".")return!0;return!1};const Js=(e,n,r,a)=>{for(const s of r||Object.keys(e)){const l=Se(e,s);if(l){const{_f:u,...d}=l;if(u){if(u.refs&&u.refs[0]&&n(u.refs[0],s)&&!a)return!0;if(u.ref&&n(u.ref,u.name)&&!a)return!0;if(Js(d,n))break}else if(jt(d)&&Js(d,n))break}}};var mx=(e,n,r)=>{const a=Se(e,r),s=Array.isArray(a)?a:[];return lt(s,U_,n[r]),lt(e,r,s),e},nn=e=>jt(e)&&!Object.keys(e).length,Xp=e=>e.type==="file",wu=e=>{if(!ed)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},Jp=e=>e.type==="radio",Su=e=>e instanceof RegExp,Wp=(e,n,r,a,s)=>n?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:s||!0}}:{};const px={value:!1,isValid:!1},gx={value:!0,isValid:!0};var H_=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gt(e[0].attributes.value)?gt(e[0].value)||e[0].value===""?gx:{value:e[0].value,isValid:!0}:gx:px}return px};const vx={isValid:!1,value:null};var B_=e=>Array.isArray(e)?e.reduce((n,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:n,vx):vx;function yx(e,n,r="validate"){if(on(e)||Array.isArray(e)&&e.every(on)||Rr(e)&&!e)return{type:r,message:on(e)?e:"",ref:n}}var To=e=>jt(e)&&!Su(e)?e:{value:e,message:""},bx=async(e,n,r,a,s,l)=>{const{ref:u,refs:d,required:m,maxLength:p,minLength:y,min:v,max:b,pattern:x,validate:_,name:C,valueAsNumber:E,mount:j}=e._f,O=Se(r,C);if(!j||n.has(C))return{};const T=d?d[0]:u,A=Q=>{if(s&&T.reportValidity){const le=Rr(Q)?"":Q||"";d?d.forEach(ue=>ue.setCustomValidity(le)):T.setCustomValidity(le),T.reportValidity()}},L={},B=Jp(u),H=_l(u),F=B||H,pe=(E||Xp(u))&>(u.value)&>(O)||wu(u)&&u.value===""||O===""||Array.isArray(O)&&!O.length,ge=Wp.bind(null,C,a,L),fe=(Q,le,ue,xe=hr.maxLength,D=hr.minLength)=>{const q=Q?le:ue;L[C]={type:Q?xe:D,message:q,ref:u,...ge(Q?xe:D,q)}};if(l?!Array.isArray(O)||!O.length:m&&(!F&&(pe||rn(O))||Rr(O)&&!O||H&&!H_(d).isValid||B&&!B_(d).isValid)){const{value:Q,message:le}=on(m)?{value:!!m,message:m}:To(m);if(Q&&(L[C]={type:hr.required,message:le,ref:T,...ge(hr.required,le)},!a))return A(le),L}if(!pe&&(!rn(v)||!rn(b))){let Q,le;const ue=To(b),xe=To(v);if(!rn(O)&&!isNaN(O)){const D=u.valueAsNumber||O&&+O;rn(ue.value)||(Q=D>ue.value),rn(xe.value)||(le=Dnew Date(new Date().toDateString()+" "+ne),ie=u.type=="time",te=u.type=="week";on(ue.value)&&O&&(Q=ie?q(O)>q(ue.value):te?O>ue.value:D>new Date(ue.value)),on(xe.value)&&O&&(le=ie?q(O)+Q.value,xe=!rn(le.value)&&O.length<+le.value;if((ue||xe)&&(fe(ue,Q.message,le.message),!a))return A(L[C].message),L}if(x&&!pe&&on(O)){const{value:Q,message:le}=To(x);if(Su(Q)&&!O.match(Q)&&(L[C]={type:hr.pattern,message:le,ref:u,...ge(hr.pattern,le)},!a))return A(le),L}if(_){if(Wn(_)){const Q=await _(O,r),le=yx(Q,T);if(le&&(L[C]={...le,...ge(hr.validate,le.message)},!a))return A(le.message),L}else if(jt(_)){let Q={};for(const le in _){if(!nn(Q)&&!a)break;const ue=yx(await _[le](O,r),T,le);ue&&(Q={...ue,...ge(le,ue.message)},A(ue.message),a&&(L[C]=Q))}if(!nn(Q)&&(L[C]={ref:T,...Q},!a))return L}}return A(!0),L},lu=e=>Array.isArray(e)?e:[e],q_=e=>Array.isArray(e)?e.filter(Boolean):[];function b4(e,n){const r=n.slice(0,-1).length;let a=0;for(;aQp.includes(String(u))))return e;const a=r.length===1?e:b4(e,r),s=r.length-1,l=r[s];return a&&delete a[l],s!==0&&(jt(a)&&nn(a)||Array.isArray(a)&&x4(a))&&Nt(e,r.slice(0,-1)),e}const G_=e=>{const n={};for(const r of Object.keys(e))if(Yp(e[r])&&e[r]!==null&&!zi(e[r])){const a=G_(e[r]);for(const s of Object.keys(a))n[`${r}.${s}`]=a[s]}else n[r]=e[r];return n},w4=he.createContext(null);w4.displayName="HookFormContext";var xx=()=>{let e=[];return{get observers(){return e},next:s=>{for(const l of e)l.next&&l.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(l=>l!==s)}}),unsubscribe:()=>{e=[]}}};function Z_(e,n){const r={};for(const a in e)if(e.hasOwnProperty(a)){const s=e[a],l=n[a];if(s&&jt(s)&&l){const u=Z_(s,l);jt(u)&&(r[a]=u)}else e[a]&&(r[a]=l)}return r}var K_=e=>e.type==="select-multiple",S4=e=>Jp(e)||_l(e),Wh=e=>wu(e)&&e.isConnected,_4=e=>{for(const n in e)if(Wn(e[n]))return!0;return!1};function Y_(e){return Array.isArray(e)||jt(e)&&!_4(e)}function Q_(e){return!!(e&&"_f"in e)}function X_(e){return Array.isArray(e)?!e.some(n=>!gt(n)):!Object.keys(e).length}function Fm(e,n){Array.isArray(e)?e[n]=void 0:delete e[n]}function Vm(e,n={},r){for(const a in e){const s=e[a],l=r&&r[a];Y_(s)&&(!Array.isArray(s)||!Q_(l))?(n[a]=Array.isArray(s)?[]:{},Vm(s,n[a],l),X_(n[a])&&Fm(n,a)):gt(s)||(n[a]=!0)}return n}function ba(e,n,r,a){r||(r=Vm(n,{},a));for(const s in e){const l=e[s],u=a&&a[s];Y_(l)&&(!Array.isArray(l)||!Q_(u))?(gt(n)||Pm(r[s])?r[s]=Vm(l,Array.isArray(l)?[]:{},u):ba(l,rn(n)?{}:n[s],r[s],u),X_(r[s])&&Fm(r,s)):jr(l,n[s])?Fm(r,s):r[s]=!0}return r}var J_=(e,{valueAsNumber:n,valueAsDate:r,setValueAs:a})=>gt(e)?e:n?e===""?NaN:e&&+e:r&&on(e)?new Date(e):a?a(e):e;function wx(e){const n=e.ref;return Xp(n)?n.files:Jp(n)?B_(e.refs).value:K_(n)?[...n.selectedOptions].map(({value:r})=>r):_l(n)?H_(e.refs).value:J_(gt(n.value)?e.ref.value:n.value,e)}var C4=(e,n,r,a)=>{const s={};for(const l of e){const u=Se(n,l);u&<(s,l,u._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:a}},Hs=e=>gt(e)?e:Su(e)?e.source:jt(e)?Su(e.value)?e.value.source:e.value:e;const Sx="AsyncFunction";var E4=e=>{if(!e||!e.validate)return!1;if(Wn(e.validate))return e.validate.constructor.name===Sx;if(jt(e.validate)){for(const n in e.validate)if(e.validate[n].constructor.name===Sx)return!0}return!1},R4=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function _x(e,n,r){const a=Se(e,r);if(a||Cl(r))return{error:a,name:r};const s=r.split(".");for(;s.length;){const l=s.join("."),u=Se(n,l),d=Se(e,l);if(u&&!Array.isArray(u)&&r!==l)return{name:r};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};s.pop()}return{name:r}}var j4=(e,n,r,a)=>{r(e);const{name:s,...l}=e,u=Object.keys(l);return!u.length||a&&u.length>=Object.keys(n).length||u.find(d=>n[d]===(!a||gr.all))},T4=(e,n,r)=>!e||!n||e===n||lu(e).some(a=>a&&(r?a===n||a.startsWith(n+"."):a.startsWith(n)||n.startsWith(a))),O4=(e,n,r,a,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(n||e):(r?a.isOnBlur:s.isOnBlur)?!e:(r?a.isOnChange:s.isOnChange)?e:!0,A4=(e,n)=>!q_(Se(e,n)).length&&Nt(e,n);const M4={mode:gr.onSubmit,reValidateMode:gr.onChange,shouldFocusError:!0},em="form",W_={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function N4(e={}){let n={...M4,...e},r={...Mt(W_),isLoading:Wn(n.defaultValues),errors:n.errors||{},disabled:n.disabled||!1},a={},s=jt(n.defaultValues)||jt(n.values)?Mt(n.defaultValues||n.values)||{}:{},l=n.shouldUnregister?{}:Mt(s),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const m={},p={};let y=0,v=Jc(n.mode),b=Jc(n.reValidateMode);const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_={...x};let C={..._};const E={array:xx(),state:xx()};let j=0;const O=n.criteriaMode===gr.all,T=(M,z)=>I=>{clearTimeout(p[M]),p[M]=setTimeout(z,I)},A=async M=>{if(!u.keepIsValid&&!n.disabled&&(_.isValid||C.isValid||M)){const z=++j;let I;n.resolver?(I=nn((await ue()).errors),z===j&&L()):I=await q({fields:a,onlyCheckValid:!0,eventType:jo.VALID}),z===j&&I!==r.isValid&&E.state.next({isValid:I})}},L=(M,z)=>{!n.disabled&&(_.isValidating||_.validatingFields||C.isValidating||C.validatingFields)&&((M||Array.from(d.mount)).forEach(I=>{I&&(z?lt(r.validatingFields,I,z):Nt(r.validatingFields,I))}),E.state.next({validatingFields:r.validatingFields,isValidating:!nn(r.validatingFields)}))},B=()=>{r.dirtyFields=ba(s,l,void 0,a)},H=(M,z=[],I,J,ce=!0,me=!0)=>{if(J&&I&&!n.disabled){if(u.action=!0,me&&Array.isArray(Se(a,M))){const be=I(Se(a,M),J.argA,J.argB);ce&<(a,M,be)}if(me&&Array.isArray(Se(r.errors,M))){const be=I(Se(r.errors,M),J.argA,J.argB);ce&<(r.errors,M,be),A4(r.errors,M)}if((_.touchedFields||C.touchedFields)&&me&&Array.isArray(Se(r.touchedFields,M))){const be=I(Se(r.touchedFields,M),J.argA,J.argB);ce&<(r.touchedFields,M,be)}(_.dirtyFields||C.dirtyFields)&&B(),E.state.next({name:M,isDirty:te(M,z),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else lt(l,M,z)},F=(M,z)=>{lt(r.errors,M,z),r.errors={...r.errors},E.state.next({errors:r.errors})},pe=M=>{r.errors=M,E.state.next({errors:r.errors,isValid:!1})},ge=M=>{const z=Cl(M)?[M]:td(M);let I=l,J=s;for(let ce=0;ce{const ce=Se(a,M);if(ce){if(ge(M))return;const me=gt(Se(l,M)),be=Se(l,M,gt(I)?Se(s,M):I);gt(be)||J&&J.defaultChecked||z?lt(l,M,z?be:wx(ce._f)):N(M,be),u.mount&&!u.action&&(A(),me&&r.isDirty&&(_.isDirty||C.isDirty)&&(te()||(r.isDirty=!1,E.state.next({...r}))),e.shouldUnregister&&me&&!gt(Se(l,M))&&Jh(M,d)&&(u.watch=!0))}},Q=(M,z,I,J,ce)=>{let me=!1,be=!1;const we={name:M};if(!n.disabled||J===!0){if(!I||J){const je=jr(Se(s,M),z);(_.isDirty||C.isDirty)&&(be=r.isDirty,r.isDirty=we.isDirty=!je||te(),me=be!==we.isDirty),be=!!Se(r.dirtyFields,M),je!==r.isDirty?r.dirtyFields=ba(s,l,void 0,a):je?Nt(r.dirtyFields,M):lt(r.dirtyFields,M,!0),we.dirtyFields=r.dirtyFields,me=me||(_.dirtyFields||C.dirtyFields)&&be!==!je}if(I){const je=Se(r.touchedFields,M);je||(lt(r.touchedFields,M,I),we.touchedFields=r.touchedFields,me=me||(_.touchedFields||C.touchedFields)&&je!==I)}me&&ce&&E.state.next(we)}return me?we:{}},le=(M,z,I,J)=>{const ce=Se(r.errors,M),me=(_.isValid||C.isValid)&&Rr(z)&&r.isValid!==z;if(n.delayError&&I?(m[M]=T(M,()=>F(M,I)),m[M](n.delayError)):(clearTimeout(p[M]),delete m[M],I?lt(r.errors,M,I):Nt(r.errors,M),r.errors={...r.errors}),(I?!jr(ce,I):ce)||!nn(J)||me){const be={...J,...me&&Rr(z)?{isValid:z}:{},errors:r.errors,name:M};r={...r,...be},E.state.next(be)}},ue=async M=>(L(M,!0),await n.resolver(l,n.context,C4(M||d.mount,a,n.criteriaMode,n.shouldUseNativeValidation))),xe=async M=>{const{errors:z}=await ue(M);if(L(M),M){for(const I of M){const J=Se(z,I);J?d.array.has(I)&&jt(J)&&!Object.keys(J).some(ce=>!Number.isNaN(Number(ce)))?mx(r.errors,{[I]:J},I):lt(r.errors,I,J):Nt(r.errors,I)}r.errors={...r.errors}}else r.errors=z;return z},D=async({name:M,eventType:z})=>{if(e.validate){const I=await e.validate({formValues:l,formState:r,name:M,eventType:z});if(jt(I))for(const J in I){const ce=I[J];ce&&dt(`${em}.${J}`,{message:on(ce.message)?ce.message:"",type:ce.type||hr.validate})}else on(I)||!I?dt(em,{message:I||"",type:hr.validate}):Fe(em);return I}return!0},q=async({fields:M,onlyCheckValid:z,name:I,eventType:J,context:ce={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(ce.runRootValidation=!0,!await D({name:I,eventType:J})&&(ce.valid=!1,z)))return ce.valid;for(const me in M){const be=M[me];if(be){const{_f:we,...je}=be;if(we){const et=d.array.has(we.name),St=be._f&&E4(be._f),Qt=_.validatingFields||_.isValidating||C.validatingFields||C.isValidating;St&&Qt&&L([we.name],!0);const zt=await bx(be,d.disabled,l,O,n.shouldUseNativeValidation&&!z,et);if(St&&Qt&&L([we.name]),zt[we.name]&&(ce.valid=!1,z)||(!z&&(Se(zt,we.name)?et?mx(r.errors,zt,we.name):lt(r.errors,we.name,zt[we.name]):Nt(r.errors,we.name)),e.shouldUseNativeValidation&&zt[we.name]))break}!nn(je)&&await q({context:ce,onlyCheckValid:z,fields:je,name:me,eventType:J})}}return ce.valid},ie=()=>{for(const M of d.unMount){const z=Se(a,M);z&&(z._f.refs?z._f.refs.every(I=>!Wh(I)):!Wh(z._f.ref))&&Kt(M)}d.unMount=new Set},te=(M,z)=>(M&&z&<(l,M,z),!jr(u.mount?l:s,s)),ne=(M,z,I)=>y4(M,d,{...u.mount?l:gt(z)?s:on(M)?{[M]:z}:z},I,z),k=M=>q_(Se(u.mount?l:s,M,n.shouldUnregister?Se(s,M,[]):[])),N=(M,z,I={},J=!1,ce=!1)=>{const me=Se(a,M);let be=z;if(me){const we=me._f;we&&(!we.disabled&<(l,M,J_(z,we)),be=wu(we.ref)&&rn(z)?"":z,K_(we.ref)?[...we.ref.options].forEach(je=>je.selected=be.includes(je.value)):we.refs?_l(we.ref)?we.refs.forEach(je=>{(!je.defaultChecked||!je.disabled)&&(Array.isArray(be)?je.checked=!!be.find(et=>et===je.value):je.checked=be===je.value||!!be)}):we.refs.forEach(je=>je.checked=je.value===be):Xp(we.ref)?we.ref.value="":(we.ref.value=be,!we.ref.type&&!ce&&E.state.next({name:M,values:J?l:Mt(l)})))}(I.shouldDirty||I.shouldTouch)&&Q(M,be,I.shouldTouch,I.shouldDirty,!ce),I.shouldValidate&&ye(M,{delayError:I.delayError})},U=(M,z,I,J=!1,ce=!1)=>{for(const me in z){if(!z.hasOwnProperty(me))return;const be=z[me],we=M+"."+me,je=Se(a,we);(d.array.has(M)||jt(be)||je&&!je._f)&&!zi(be)?U(we,be,I,J,ce):N(we,be,I,J,ce)}},X=(M,z,I,J,ce=!1)=>{const me=Se(a,M),be=d.array.has(M),we=J?z:Mt(z),je=Se(l,M),et=jr(je,we);if(et||lt(l,M,we),be)E.array.next({name:M,values:J?l:Mt(l)}),(_.isDirty||_.dirtyFields||C.isDirty||C.dirtyFields)&&I.shouldDirty&&(B(),ce||E.state.next({name:M,dirtyFields:r.dirtyFields,isDirty:te(M,we)}));else{const St=Array.isArray(we)&&!we.length||nn(we);!me||me._f||rn(we)||St?N(M,we,I,J,ce):U(M,we,I,J,ce)}if(!et&&!ce){const St=Jh(M,d),Qt=J?l:Mt(l);E.state.next({...St&&r,name:u.mount||St?M:void 0,values:Qt})}},K=(M,z,I={})=>X(M,z,I,!1),se=(M,z={})=>{const I=Wn(M)?M(l):M;if(!jr(l,I)){l={...l,...I};const J=G_(I);for(const ce of d.mount)ce in J&&X(ce,J[ce],z,!0,!0);E.state.next({...r,name:void 0,type:void 0,...y?{values:l}:{}}),z.shouldValidate&&A()}},ee=async M=>{u.mount=!0;const z=M.target;let I=z.name,J=!0;const ce=Se(a,I),me=be=>{J=Number.isNaN(be)||zi(be)&&isNaN(be.getTime())||jr(be,Se(l,I,be))};if(ce){let be,we;const je=z.type?wx(ce._f):d4(M),et=M.type===jo.BLUR||M.type===jo.FOCUS_OUT,St=!R4(ce._f)&&!e.validate&&!n.resolver&&!Se(r.errors,I)&&!ce._f.deps,Qt=St||O4(et,Se(r.touchedFields,I),r.isSubmitted,b,v),zt=Jh(I,d,et);if(lt(l,I,je),et){if(!z||!z.readOnly){ce._f.onBlur&&ce._f.onBlur(M);const yt=m[I];yt&&yt(0)}}else ce._f.onChange&&ce._f.onChange(M);const Me=Q(I,je,et),ft=!nn(Me)||zt;if(!et&&E.state.next({name:I,type:M.type,...y?{values:Mt(l)}:{}}),Qt)return(!St||!r.isValid)&&(_.isValid||C.isValid)&&(n.mode==="onBlur"?et&&A():et||A()),ft&&E.state.next({name:I,...zt?{}:Me});if(!n.resolver&&e.validate&&await D({name:I,eventType:M.type}),!et&&zt&&E.state.next({...r}),n.resolver){const{errors:yt}=await ue([I]);if(L([I]),me(je),!J){!nn(Me)&&E.state.next(Me);return}const Ht=_x(r.errors,a,I),sr=_x(yt,a,Ht.name||I);be=sr.error,I=sr.name,we=nn(yt)}else L([I],!0),be=(await bx(ce,d.disabled,l,O,n.shouldUseNativeValidation))[I],L([I]),me(je),J&&(be?we=!1:(_.isValid||C.isValid)&&(we=await q({fields:a,onlyCheckValid:!0,name:I,eventType:M.type})));J&&(ce._f.deps&&(!Array.isArray(ce._f.deps)||ce._f.deps.length>0)&&ye(ce._f.deps),le(I,we,be,Me))}},ve=(M,z)=>{if(Se(r.errors,z)&&M.focus)return M.focus(),1},ye=async(M,z={})=>{let I,J;const ce=lu(M);if(n.resolver){const me=await xe(gt(M)?M:ce);I=nn(me),J=M?!ce.some(be=>Se(me,be)):I}else M?(J=(await Promise.all(ce.map(async me=>{const be=Se(a,me);return await q({fields:be&&be._f?{[me]:be}:be,eventType:jo.TRIGGER})}))).every(Boolean),!(!J&&!r.isValid)&&A()):J=I=await q({fields:a,name:M,eventType:jo.TRIGGER});if(z.delayError&&n.delayError&&on(M)){const me=Se(r.errors,M);me?(Nt(r.errors,M),m[M]=T(M,()=>F(M,me)),m[M](n.delayError)):(clearTimeout(p[M]),delete m[M])}return E.state.next({...!on(M)||(_.isValid||C.isValid)&&I!==r.isValid?{}:{name:M},...n.resolver||!M?{isValid:I}:{},errors:r.errors}),z.shouldFocus&&!J&&Js(a,ve,M?ce:d.mount),J},Ne=(M,z)=>{let I={...u.mount?l:s};return z&&(I=Z_(z.dirtyFields?r.dirtyFields:r.touchedFields,I)),gt(M)?I:on(M)?Se(I,M):M.map(J=>Se(I,J))},Ie=(M,z)=>({invalid:!!Se((z||r).errors,M),isDirty:!!Se((z||r).dirtyFields,M),error:Se((z||r).errors,M),isValidating:!!Se(r.validatingFields,M),isTouched:!!Se((z||r).touchedFields,M)}),Fe=M=>{const z=M?lu(M):void 0;z?.forEach(I=>Nt(r.errors,I)),z?z.forEach(I=>{E.state.next({name:I,errors:r.errors})}):E.state.next({errors:{}})},dt=(M,z,I)=>{const J=(Se(a,M,{_f:{}})._f||{}).ref,ce=Se(r.errors,M)||{},{ref:me,message:be,type:we,...je}=ce;lt(r.errors,M,{...je,...z,ref:J}),E.state.next({name:M,errors:r.errors,isValid:!1}),I&&I.shouldFocus&&J&&J.focus&&J.focus()},Qe=(M,z)=>{if(Wn(M)){y++;const{unsubscribe:I}=E.state.subscribe({next:ce=>"values"in ce&&M(ce.values||ne(void 0,z),ce)});let J=!1;return{unsubscribe:()=>{J||(J=!0,y--,I())}}}return ne(M,z,!0)},vn=M=>{var z;const I=!!(!((z=M.formState)===null||z===void 0)&&z.values);I&&y++;const{unsubscribe:J}=E.state.subscribe({next:me=>{if(T4(M.name,me.name,M.exact)&&j4(me,M.formState||_,zr,M.reRenderRoot)){const be={...l};M.callback({values:be,...r,...me,defaultValues:s})}}});if(!I)return J;let ce=!1;return()=>{ce||(ce=!0,y--,J())}},cn=M=>(u.mount=!0,C={...C,...M.formState},vn({...M,formState:{...x,...M.formState}})),Kt=(M,z={})=>{for(const I of M?lu(M):d.mount)d.mount.delete(I),d.array.delete(I),z.keepValue||(Nt(a,I),Nt(l,I)),!z.keepError&&Nt(r.errors,I),!z.keepDirty&&Nt(r.dirtyFields,I),!z.keepTouched&&Nt(r.touchedFields,I),!z.keepIsValidating&&Nt(r.validatingFields,I),!n.shouldUnregister&&!z.keepDefaultValue&&Nt(s,I);E.state.next({values:Mt(l)}),E.state.next({...r,...z.keepDirty?{isDirty:te()}:{}}),!z.keepIsValid&&A()},ir=({disabled:M,name:z})=>{if(Rr(M)&&u.mount||M||d.disabled.has(z)){const ce=d.disabled.has(z)!==!!M;M?d.disabled.add(z):d.disabled.delete(z),ce&&u.mount&&!u.action&&A()}},Dt=(M,z={})=>{let I=Se(a,M);const J=Rr(z.disabled)||Rr(n.disabled),ce=!d.registerName.has(M)&&I&&I._f&&!I._f.mount;return lt(a,M,{...I||{},_f:{...I&&I._f?I._f:{ref:{name:M}},name:M,mount:!0,...z}}),d.mount.add(M),I&&!ce?ir({disabled:Rr(z.disabled)?z.disabled:n.disabled,name:M}):fe(M,!0,z.value),{...J?{disabled:z.disabled||n.disabled}:{},...n.progressive?{required:!!z.required,min:Hs(z.min),max:Hs(z.max),minLength:Hs(z.minLength),maxLength:Hs(z.maxLength),pattern:Hs(z.pattern)}:{},name:M,onChange:ee,onBlur:ee,ref:me=>{if(me){d.registerName.add(M),Dt(M,z),d.registerName.delete(M),I=Se(a,M);const be=gt(me.value)&&me.querySelectorAll&&me.querySelectorAll("input,select,textarea")[0]||me,we=S4(be),je=I._f.refs||[];if(we?je.find(et=>et===be):be===I._f.ref)return;lt(a,M,{_f:{...I._f,...we?{refs:[...je.filter(Wh),be,...Array.isArray(Se(s,M))?[{}]:[]],ref:{type:be.type,name:M}}:{ref:be}}}),fe(M,!1,void 0,be)}else I=Se(a,M,{}),I._f&&(I._f.mount=!1),(n.shouldUnregister||z.shouldUnregister)&&!(f4(d.array,M)&&u.action)&&d.unMount.add(M)}}},ar=()=>n.shouldFocusError&&!n.shouldUseNativeValidation&&Js(a,ve,d.mount),Dr=M=>{Rr(M)&&(E.state.next({disabled:M}),Js(a,(z,I)=>{const J=Se(a,I);J&&(z.disabled=J._f.disabled||M,Array.isArray(J._f.refs)&&J._f.refs.forEach(ce=>{ce.disabled=J._f.disabled||M}))},0,!1))},Tt=(M,z)=>async I=>{let J;I&&(I.preventDefault&&I.preventDefault(),I.persist&&I.persist());let ce=Mt(l);if(E.state.next({isSubmitting:!0}),n.resolver){const{errors:me,values:be}=await ue();L(),r.errors=me,ce=Mt(be)}else await q({fields:a,eventType:jo.SUBMIT});if(d.disabled.size)for(const me of d.disabled)Nt(ce,me);if(Nt(r.errors,U_),nn(r.errors)){E.state.next({errors:{}});try{await M(ce,I)}catch(me){J=me}}else z&&await z({...r.errors},I),ar(),setTimeout(ar);if(E.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:nn(r.errors)&&!J,submitCount:r.submitCount+1,errors:r.errors}),J)throw J},Un=(M,z={})=>{Se(a,M)&&(gt(z.defaultValue)?K(M,Mt(Se(s,M))):(K(M,z.defaultValue),lt(s,M,Mt(z.defaultValue))),z.keepTouched||Nt(r.touchedFields,M),z.keepDirty||(Nt(r.dirtyFields,M),r.isDirty=z.defaultValue?te(M,Mt(Se(s,M))):te()),z.keepError||(Nt(r.errors,M),_.isValid&&A()),E.state.next({...r}))},wt=(M,z={})=>{const I=M?Mt(M):s,J=Mt(I),ce=nn(M),me=J,be=a;if(z.keepDefaultValues||(s=I),!z.keepValues){if(z.keepDirtyValues){const we=new Set([...d.mount,...Object.keys(ba(s,l,void 0,be))]);for(const je of Array.from(we)){const et=Se(r.dirtyFields,je),St=Se(l,je),Qt=Se(me,je);et&&!gt(St)?lt(me,je,St):!et&&!gt(Qt)&&K(je,Qt)}}else{if(ed&>(M))for(const we of d.mount){const je=Se(a,we);if(je&&je._f){const et=Array.isArray(je._f.refs)?je._f.refs[0]:je._f.ref;if(wu(et)){const St=et.closest("form");if(St){St.reset();break}}}}if(z.keepFieldsRef)for(const we of d.mount)K(we,Se(me,we));else a={}}if(n.shouldUnregister){if(l=z.keepDefaultValues?Mt(s):{},z.keepFieldsRef)for(const we of d.mount)lt(l,we,Se(me,we))}else l=Mt(me);E.array.next({values:{...me}}),E.state.next({name:void 0,type:void 0,values:{...me}})}d={mount:z.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!_.isValid||!!z.keepIsValid||!!z.keepDirtyValues||!n.shouldUnregister&&!nn(me),u.watch=!!n.shouldUnregister,u.keepIsValid=!!z.keepIsValid,u.action=!1,z.keepErrors||(r.errors={}),E.state.next({submitCount:z.keepSubmitCount?r.submitCount:0,isDirty:ce?!1:z.keepDirty?r.isDirty:z.keepValues?te():!!(z.keepDefaultValues&&!jr(M,s)),isSubmitted:z.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:ce?{}:z.keepDirtyValues?z.keepDefaultValues&&l?ba(s,l,void 0,be):r.dirtyFields:z.keepDefaultValues&&M?ba(s,M,void 0,be):z.keepDirty?r.dirtyFields:{},touchedFields:z.keepTouched?r.touchedFields:{},errors:z.keepErrors?r.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},oi=(M,z)=>wt(Wn(M)?M(l):M,{...n.resetOptions,...z}),yn=(M,z={})=>{const I=Se(a,M),J=I&&I._f;if(J){const ce=J.refs?J.refs[0]:J.ref;ce.focus&&setTimeout(()=>{ce.focus(),z.shouldSelect&&Wn(ce.select)&&ce.select()})}},zr=M=>{const{name:z,type:I,values:J,...ce}=M;r={...r,...ce}},bn={control:{register:Dt,unregister:Kt,getFieldState:Ie,handleSubmit:Tt,setError:dt,_subscribe:vn,_runSchema:ue,_updateIsValidating:L,_focusError:ar,_getWatch:ne,_getDirty:te,_setValid:A,_setFieldArray:H,_setDisabledField:ir,_setErrors:pe,_getFieldArray:k,_reset:wt,_resetDefaultValues:()=>Wn(n.defaultValues)&&n.defaultValues().then(M=>{oi(M,n.resetOptions),E.state.next({isLoading:!1})}),_removeUnmounted:ie,_disableForm:Dr,_subjects:E,_proxyFormState:_,get _fields(){return a},get _formValues(){return l},get _state(){return u},set _state(M){u=M},get _defaultValues(){return s},get _names(){return d},set _names(M){d=M},get _formState(){return r},get _options(){return n},set _options(M){n={...n,...M},v=Jc(n.mode),b=Jc(n.reValidateMode)}},subscribe:cn,trigger:ye,register:Dt,handleSubmit:Tt,watch:Qe,setValue:K,setValues:se,getValues:Ne,reset:oi,resetField:Un,resetDefaultValues:(M,z={})=>{if(s=Mt(M),!z.keepDirty){const I=ba(s,l,void 0,a);r.dirtyFields=I,r.isDirty=!nn(I)}z.keepIsValid||A(),E.state.next({...r,defaultValues:s})},clearErrors:Fe,unregister:Kt,setError:dt,setFocus:yn,getFieldState:Ie};return{...bn,formControl:bn}}function eg(e={}){const n=he.useRef(void 0),r=he.useRef(void 0),a=he.useRef(e.formControl),[s,l]=he.useState(()=>({...Mt(W_),isLoading:Wn(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Wn(e.defaultValues)?void 0:e.defaultValues}));if(!n.current||e.formControl&&a.current!==e.formControl)if(a.current=e.formControl,e.formControl)n.current={...e.formControl,formState:s},e.defaultValues&&!Wn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...m}=N4(e);n.current={...m,formState:s}}const u=n.current.control;return u._options=e,v4(()=>{const d=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(m=>({...m,isReady:!0})),u._formState.isReady=!0,d},[u]),he.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),he.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),he.useEffect(()=>{e.errors&&(u._setErrors(e.errors),u._focusError())},[u,e.errors]),he.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),he.useEffect(()=>{if(u._proxyFormState.isDirty){const d=u._getDirty();d!==s.isDirty&&u._subjects.state.next({isDirty:d})}},[u,s.isDirty]),he.useEffect(()=>{var d;e.values&&!jr(e.values,r.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),!((d=u._options.resetOptions)===null||d===void 0)&&d.keepIsValid||u._setValid(),r.current=e.values,l(m=>({...m}))):u._resetDefaultValues()},[u,e.values]),he.useEffect(()=>{u._state.mount||(u._setValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),n.current.formState=he.useMemo(()=>g4(s,u),[u,s]),n.current}const Cx=(e,n,r)=>{if(e&&"reportValidity"in e){const a=Se(r,n);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},Um=(e,n)=>{for(const r in n.fields){const a=n.fields[r];a&&a.ref&&"reportValidity"in a.ref?Cx(a.ref,r,e):a&&a.refs&&a.refs.forEach(s=>Cx(s,r,e))}},Ex=(e,n)=>{n.shouldUseNativeValidation&&Um(e,n);const r={};for(const a in e){const s=Se(n.fields,a),l=Object.assign(e[a]||{},{ref:s&&s.ref});if(D4(n.names||Object.keys(e),a)){const u=Object.assign({},Se(r,a));lt(u,"root",l),lt(r,a,u)}else lt(r,a,l)}return r},D4=(e,n)=>{const r=Rx(n).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(a=>Rx(a).match(`^${r}\\.\\d+`))};function Rx(e){return e.replace(/[\[\]]/g,"")}var jx;function de(e,n,r){function a(d,m){if(d._zod||Object.defineProperty(d,"_zod",{value:{def:m,constr:u,traits:new Set},enumerable:!1}),d._zod.traits.has(e))return;d._zod.traits.add(e),n(d,m);const p=u.prototype,y=Object.keys(p);for(let v=0;vr?.Parent&&d instanceof r.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class Io extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class eC extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}(jx=globalThis).__zod_globalConfig??(jx.__zod_globalConfig={});const tg=globalThis.__zod_globalConfig;function ja(e){return tg}function tC(e){const n=Object.values(e).filter(a=>typeof a=="number");return Object.entries(e).filter(([a,s])=>n.indexOf(+a)===-1).map(([a,s])=>s)}function Hm(e,n){return typeof n=="bigint"?n.toString():n}function ng(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function rg(e){return e==null}function ig(e){const n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}const Tx=Symbol("evaluating");function ct(e,n,r){let a;Object.defineProperty(e,n,{get(){if(a!==Tx)return a===void 0&&(a=Tx,a=r()),a},set(s){Object.defineProperty(e,n,{value:s})},configurable:!0})}function La(e,n,r){Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Xi(...e){const n={};for(const r of e){const a=Object.getOwnPropertyDescriptors(r);Object.assign(n,a)}return Object.defineProperties({},n)}function Ox(e){return JSON.stringify(e)}function z4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const nC="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function _u(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const k4=ng(()=>{if(tg.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ul(e){if(_u(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const r=n.prototype;return!(_u(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function rC(e){return ul(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const L4=new Set(["string","number","symbol"]);function nd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ji(e,n,r){const a=new e._zod.constr(n??e._zod.def);return(!n||r?.parent)&&(a._zod.parent=e),a}function Le(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function $4(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}function I4(e,n){const r=e._zod.def,a=r.checks;if(a&&a.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const l=Xi(e._zod.def,{get shape(){const u={};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=r.shape[d])}return La(this,"shape",u),u},checks:[]});return Ji(e,l)}function P4(e,n){const r=e._zod.def,a=r.checks;if(a&&a.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const l=Xi(e._zod.def,{get shape(){const u={...e._zod.def.shape};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&delete u[d]}return La(this,"shape",u),u},checks:[]});return Ji(e,l)}function F4(e,n){if(!ul(n))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const l=e._zod.def.shape;for(const u in n)if(Object.getOwnPropertyDescriptor(l,u)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=Xi(e._zod.def,{get shape(){const l={...e._zod.def.shape,...n};return La(this,"shape",l),l}});return Ji(e,s)}function V4(e,n){if(!ul(n))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Xi(e._zod.def,{get shape(){const a={...e._zod.def.shape,...n};return La(this,"shape",a),a}});return Ji(e,r)}function U4(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r=Xi(e._zod.def,{get shape(){const a={...e._zod.def.shape,...n._zod.def.shape};return La(this,"shape",a),a},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return Ji(e,r)}function H4(e,n,r){const s=n._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const u=Xi(n._zod.def,{get shape(){const d=n._zod.def.shape,m={...d};if(r)for(const p in r){if(!(p in d))throw new Error(`Unrecognized key: "${p}"`);r[p]&&(m[p]=e?new e({type:"optional",innerType:d[p]}):d[p])}else for(const p in d)m[p]=e?new e({type:"optional",innerType:d[p]}):d[p];return La(this,"shape",m),m},checks:[]});return Ji(n,u)}function B4(e,n,r){const a=Xi(n._zod.def,{get shape(){const s=n._zod.def.shape,l={...s};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=new e({type:"nonoptional",innerType:s[u]}))}else for(const u in s)l[u]=new e({type:"nonoptional",innerType:s[u]});return La(this,"shape",l),l}});return Ji(n,a)}function Do(e,n=0){if(e.aborted===!0)return!0;for(let r=n;r{var a;return(a=r).path??(a.path=[]),r.path.unshift(e),r})}function Wc(e){return typeof e=="string"?e:e?.message}function Ta(e,n,r){const a=e.message?e.message:Wc(e.inst?._zod.def?.error?.(e))??Wc(n?.error?.(e))??Wc(r.customError?.(e))??Wc(r.localeError?.(e))??"Invalid input",{inst:s,continue:l,input:u,...d}=e;return d.path??(d.path=[]),d.message=a,n?.reportInput&&(d.input=u),d}function ag(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function dl(...e){const[n,r,a]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:a}:{...n}}const aC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,Hm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},og=de("$ZodError",aC),rd=de("$ZodError",aC,{Parent:Error});function G4(e,n=r=>r.message){const r={},a=[];for(const s of e.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(n(s))):a.push(n(s));return{formErrors:a,fieldErrors:r}}function Z4(e,n=r=>r.message){const r={_errors:[]},a=(s,l=[])=>{for(const u of s.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(d=>a({issues:d},[...l,...u.path]));else if(u.code==="invalid_key")a({issues:u.issues},[...l,...u.path]);else if(u.code==="invalid_element")a({issues:u.issues},[...l,...u.path]);else{const d=[...l,...u.path];if(d.length===0)r._errors.push(n(u));else{let m=r,p=0;for(;p(n,r,a,s)=>{const l=a?{...a,async:!1}:{async:!1},u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise)throw new Io;if(u.issues.length){const d=new(s?.Err??e)(u.issues.map(m=>Ta(m,l,ja())));throw nC(d,s?.callee),d}return u.value},K4=id(rd),ad=e=>async(n,r,a,s)=>{const l=a?{...a,async:!0}:{async:!0};let u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise&&(u=await u),u.issues.length){const d=new(s?.Err??e)(u.issues.map(m=>Ta(m,l,ja())));throw nC(d,s?.callee),d}return u.value},Y4=ad(rd),od=e=>(n,r,a)=>{const s=a?{...a,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Io;return l.issues.length?{success:!1,error:new(e??og)(l.issues.map(u=>Ta(u,s,ja())))}:{success:!0,data:l.value}},Q4=od(rd),sd=e=>async(n,r,a)=>{const s=a?{...a,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},s);return l instanceof Promise&&(l=await l),l.issues.length?{success:!1,error:new e(l.issues.map(u=>Ta(u,s,ja())))}:{success:!0,data:l.value}},X4=sd(rd),J4=e=>(n,r,a)=>{const s=a?{...a,direction:"backward"}:{direction:"backward"};return id(e)(n,r,s)},W4=e=>(n,r,a)=>id(e)(n,r,a),e5=e=>async(n,r,a)=>{const s=a?{...a,direction:"backward"}:{direction:"backward"};return ad(e)(n,r,s)},t5=e=>async(n,r,a)=>ad(e)(n,r,a),n5=e=>(n,r,a)=>{const s=a?{...a,direction:"backward"}:{direction:"backward"};return od(e)(n,r,s)},r5=e=>(n,r,a)=>od(e)(n,r,a),i5=e=>async(n,r,a)=>{const s=a?{...a,direction:"backward"}:{direction:"backward"};return sd(e)(n,r,s)},a5=e=>async(n,r,a)=>sd(e)(n,r,a),o5=/^[cC][0-9a-z]{6,}$/,s5=/^[0-9a-z]+$/,l5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,c5=/^[0-9a-vA-V]{20}$/,u5=/^[A-Za-z0-9]{27}$/,d5=/^[a-zA-Z0-9_-]{21}$/,f5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,h5=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ax=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,m5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,p5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function g5(){return new RegExp(p5,"u")}const v5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,y5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,b5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,x5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,w5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,oC=/^[A-Za-z0-9_-]*$/,S5=/^https?$/,_5=/^\+[1-9]\d{6,14}$/,sC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",C5=new RegExp(`^${sC}$`);function lC(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function E5(e){return new RegExp(`^${lC(e)}$`)}function R5(e){const n=lC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const a=`${n}(?:${r.join("|")})`;return new RegExp(`^${sC}T(?:${a})$`)}const j5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},T5=/^(?:true|false)$/i,O5=/^[^A-Z]*$/,A5=/^[^a-z]*$/,Nr=de("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[])}),M5=de("$ZodCheckMaxLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=a=>{const s=a.value;return!rg(s)&&s.length!==void 0}),e._zod.onattach.push(a=>{const s=a._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum{const s=a.value;if(s.length<=n.maximum)return;const u=ag(s);a.issues.push({origin:u,code:"too_big",maximum:n.maximum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),N5=de("$ZodCheckMinLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=a=>{const s=a.value;return!rg(s)&&s.length!==void 0}),e._zod.onattach.push(a=>{const s=a._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>s&&(a._zod.bag.minimum=n.minimum)}),e._zod.check=a=>{const s=a.value;if(s.length>=n.minimum)return;const u=ag(s);a.issues.push({origin:u,code:"too_small",minimum:n.minimum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),D5=de("$ZodCheckLengthEquals",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=a=>{const s=a.value;return!rg(s)&&s.length!==void 0}),e._zod.onattach.push(a=>{const s=a._zod.bag;s.minimum=n.length,s.maximum=n.length,s.length=n.length}),e._zod.check=a=>{const s=a.value,l=s.length;if(l===n.length)return;const u=ag(s),d=l>n.length;a.issues.push({origin:u,...d?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!n.abort})}}),ld=de("$ZodCheckStringFormat",(e,n)=>{var r,a;Nr.init(e,n),e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=n.format,n.pattern&&(l.patterns??(l.patterns=new Set),l.patterns.add(n.pattern))}),n.pattern?(r=e._zod).check??(r.check=s=>{n.pattern.lastIndex=0,!n.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:n.format,input:s.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(a=e._zod).check??(a.check=()=>{})}),z5=de("$ZodCheckRegex",(e,n)=>{ld.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),k5=de("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=O5),ld.init(e,n)}),L5=de("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=A5),ld.init(e,n)}),$5=de("$ZodCheckIncludes",(e,n)=>{Nr.init(e,n);const r=nd(n.includes),a=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=a,e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(a)}),e._zod.check=s=>{s.value.includes(n.includes,n.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:s.value,inst:e,continue:!n.abort})}}),I5=de("$ZodCheckStartsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`^${nd(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(a=>{const s=a._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=a=>{a.value.startsWith(n.prefix)||a.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:a.value,inst:e,continue:!n.abort})}}),P5=de("$ZodCheckEndsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`.*${nd(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(a=>{const s=a._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=a=>{a.value.endsWith(n.suffix)||a.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:a.value,inst:e,continue:!n.abort})}}),F5=de("$ZodCheckOverwrite",(e,n)=>{Nr.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value)}});class V5{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const a=n.split(` -`).filter(u=>u),s=Math.min(...a.map(u=>u.length-u.trimStart().length)),l=a.map(u=>u.slice(s)).map(u=>" ".repeat(this.indent*2)+u);for(const u of l)this.content.push(u)}compile(){const n=Function,r=this?.args,s=[...(this?.content??[""]).map(l=>` ${l}`)];return new n(...r,s.join(` -`))}}const U5={major:4,minor:4,patch:3},Pt=de("$ZodType",(e,n)=>{var r;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=U5;const a=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&a.unshift(e);for(const s of a)for(const l of s._zod.onattach)l(e);if(a.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(u,d,m)=>{let p=Do(u),y;for(const v of d){if(v._zod.def.when){if(q4(u)||!v._zod.def.when(u))continue}else if(p)continue;const b=u.issues.length,x=v._zod.check(u);if(x instanceof Promise&&m?.async===!1)throw new Io;if(y||x instanceof Promise)y=(y??Promise.resolve()).then(async()=>{await x,u.issues.length!==b&&(p||(p=Do(u,b)))});else{if(u.issues.length===b)continue;p||(p=Do(u,b))}}return y?y.then(()=>u):u},l=(u,d,m)=>{if(Do(u))return u.aborted=!0,u;const p=s(d,a,m);if(p instanceof Promise){if(m.async===!1)throw new Io;return p.then(y=>e._zod.parse(y,m))}return e._zod.parse(p,m)};e._zod.run=(u,d)=>{if(d.skipChecks)return e._zod.parse(u,d);if(d.direction==="backward"){const p=e._zod.parse({value:u.value,issues:[]},{...d,skipChecks:!0});return p instanceof Promise?p.then(y=>l(y,u,d)):l(p,u,d)}const m=e._zod.parse(u,d);if(m instanceof Promise){if(d.async===!1)throw new Io;return m.then(p=>s(p,a,d))}return s(m,a,d)}}ct(e,"~standard",()=>({validate:s=>{try{const l=Q4(e,s);return l.success?{value:l.data}:{issues:l.error?.issues}}catch{return X4(e,s).then(u=>u.success?{value:u.data}:{issues:u.error?.issues})}},vendor:"zod",version:1}))}),sg=de("$ZodString",(e,n)=>{Pt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??j5(e._zod.bag),e._zod.parse=(r,a)=>{if(n.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),xt=de("$ZodStringFormat",(e,n)=>{ld.init(e,n),sg.init(e,n)}),H5=de("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=h5),xt.init(e,n)}),B5=de("$ZodUUID",(e,n)=>{if(n.version){const a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(a===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=Ax(a))}else n.pattern??(n.pattern=Ax());xt.init(e,n)}),q5=de("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=m5),xt.init(e,n)}),G5=de("$ZodURL",(e,n)=>{xt.init(e,n),e._zod.check=r=>{try{const a=r.value.trim();if(!n.normalize&&n.protocol?.source===S5.source&&!/^https?:\/\//i.test(a)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!n.abort});return}const s=new URL(a);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(s.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:r.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:r.value,inst:e,continue:!n.abort})),n.normalize?r.value=s.href:r.value=a;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!n.abort})}}}),Z5=de("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=g5()),xt.init(e,n)}),K5=de("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=d5),xt.init(e,n)}),Y5=de("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=o5),xt.init(e,n)}),Q5=de("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=s5),xt.init(e,n)}),X5=de("$ZodULID",(e,n)=>{n.pattern??(n.pattern=l5),xt.init(e,n)}),J5=de("$ZodXID",(e,n)=>{n.pattern??(n.pattern=c5),xt.init(e,n)}),W5=de("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=u5),xt.init(e,n)}),e6=de("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=R5(n)),xt.init(e,n)}),t6=de("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=C5),xt.init(e,n)}),n6=de("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=E5(n)),xt.init(e,n)}),r6=de("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=f5),xt.init(e,n)}),i6=de("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=v5),xt.init(e,n),e._zod.bag.format="ipv4"}),a6=de("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=y5),xt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!n.abort})}}}),o6=de("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=b5),xt.init(e,n)}),s6=de("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=x5),xt.init(e,n),e._zod.check=r=>{const a=r.value.split("/");try{if(a.length!==2)throw new Error;const[s,l]=a;if(!l)throw new Error;const u=Number(l);if(`${u}`!==l)throw new Error;if(u<0||u>128)throw new Error;new URL(`http://[${s}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!n.abort})}}});function cC(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const l6=de("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=w5),xt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{cC(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!n.abort})}});function c6(e){if(!oC.test(e))return!1;const n=e.replace(/[-_]/g,a=>a==="-"?"+":"/"),r=n.padEnd(Math.ceil(n.length/4)*4,"=");return cC(r)}const u6=de("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=oC),xt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{c6(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!n.abort})}}),d6=de("$ZodE164",(e,n)=>{n.pattern??(n.pattern=_5),xt.init(e,n)});function f6(e,n=null){try{const r=e.split(".");if(r.length!==3)return!1;const[a]=r;if(!a)return!1;const s=JSON.parse(atob(a));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||n&&(!("alg"in s)||s.alg!==n))}catch{return!1}}const h6=de("$ZodJWT",(e,n)=>{xt.init(e,n),e._zod.check=r=>{f6(r.value,n.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!n.abort})}}),m6=de("$ZodBoolean",(e,n)=>{Pt.init(e,n),e._zod.pattern=T5,e._zod.parse=(r,a)=>{if(n.coerce)try{r.value=!!r.value}catch{}const s=r.value;return typeof s=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),r}}),p6=de("$ZodUnknown",(e,n)=>{Pt.init(e,n),e._zod.parse=r=>r}),g6=de("$ZodNever",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,a)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Mx(e,n,r){e.issues.length&&n.issues.push(...iC(r,e.issues)),n.value[r]=e.value}const v6=de("$ZodArray",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,a)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),r;r.value=Array(s.length);const l=[];for(let u=0;uMx(p,r,u))):Mx(m,r,u)}return l.length?Promise.all(l).then(()=>r):r}});function Cu(e,n,r,a,s,l){const u=r in a;if(e.issues.length){if(s&&l&&!u)return;n.issues.push(...iC(r,e.issues))}if(!u&&!s){e.issues.length||n.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?u&&(n.value[r]=void 0):n.value[r]=e.value}function uC(e){const n=Object.keys(e.shape);for(const a of n)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${a}": expected a Zod schema`);const r=$4(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(r)}}function dC(e,n,r,a,s,l){const u=[],d=s.keySet,m=s.catchall._zod,p=m.def.type,y=m.optin==="optional",v=m.optout==="optional";for(const b in n){if(b==="__proto__"||d.has(b))continue;if(p==="never"){u.push(b);continue}const x=m.run({value:n[b],issues:[]},a);x instanceof Promise?e.push(x.then(_=>Cu(_,r,b,n,y,v))):Cu(x,r,b,n,y,v)}return u.length&&r.issues.push({code:"unrecognized_keys",keys:u,input:n,inst:l}),e.length?Promise.all(e).then(()=>r):r}const y6=de("$ZodObject",(e,n)=>{if(Pt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const d=n.shape;Object.defineProperty(n,"shape",{get:()=>{const m={...d};return Object.defineProperty(n,"shape",{value:m}),m}})}const a=ng(()=>uC(n));ct(e._zod,"propValues",()=>{const d=n.shape,m={};for(const p in d){const y=d[p]._zod;if(y.values){m[p]??(m[p]=new Set);for(const v of y.values)m[p].add(v)}}return m});const s=_u,l=n.catchall;let u;e._zod.parse=(d,m)=>{u??(u=a.value);const p=d.value;if(!s(p))return d.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),d;d.value={};const y=[],v=u.shape;for(const b of u.keys){const x=v[b],_=x._zod.optin==="optional",C=x._zod.optout==="optional",E=x._zod.run({value:p[b],issues:[]},m);E instanceof Promise?y.push(E.then(j=>Cu(j,d,b,p,_,C))):Cu(E,d,b,p,_,C)}return l?dC(y,p,d,m,a.value,e):y.length?Promise.all(y).then(()=>d):d}}),b6=de("$ZodObjectJIT",(e,n)=>{y6.init(e,n);const r=e._zod.parse,a=ng(()=>uC(n)),s=b=>{const x=new V5(["shape","payload","ctx"]),_=a.value,C=T=>{const A=Ox(T);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};x.write("const input = payload.value;");const E=Object.create(null);let j=0;for(const T of _.keys)E[T]=`key_${j++}`;x.write("const newResult = {};");for(const T of _.keys){const A=E[T],L=Ox(T),B=b[T],H=B?._zod?.optin==="optional",F=B?._zod?.optout==="optional";x.write(`const ${A} = ${C(T)};`),H&&F?x.write(` - if (${A}.issues.length) { - if (${L} in input) { - payload.issues = payload.issues.concat(${A}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${L}, ...iss.path] : [${L}] - }))); - } - } - - if (${A}.value === undefined) { - if (${L} in input) { - newResult[${L}] = undefined; - } - } else { - newResult[${L}] = ${A}.value; - } - - `):H?x.write(` - if (${A}.issues.length) { - payload.issues = payload.issues.concat(${A}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${L}, ...iss.path] : [${L}] - }))); - } - - if (${A}.value === undefined) { - if (${L} in input) { - newResult[${L}] = undefined; - } - } else { - newResult[${L}] = ${A}.value; - } - - `):x.write(` - const ${A}_present = ${L} in input; - if (${A}.issues.length) { - payload.issues = payload.issues.concat(${A}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${L}, ...iss.path] : [${L}] - }))); - } - if (!${A}_present && !${A}.issues.length) { - payload.issues.push({ - code: "invalid_type", - expected: "nonoptional", - input: undefined, - path: [${L}] - }); - } - - if (${A}_present) { - if (${A}.value === undefined) { - newResult[${L}] = undefined; - } else { - newResult[${L}] = ${A}.value; - } - } - - `)}x.write("payload.value = newResult;"),x.write("return payload;");const O=x.compile();return(T,A)=>O(b,T,A)};let l;const u=_u,d=!tg.jitless,p=d&&k4.value,y=n.catchall;let v;e._zod.parse=(b,x)=>{v??(v=a.value);const _=b.value;return u(_)?d&&p&&x?.async===!1&&x.jitless!==!0?(l||(l=s(n.shape)),b=l(b,x),y?dC([],_,b,x,v,e):b):r(b,x):(b.issues.push({expected:"object",code:"invalid_type",input:_,inst:e}),b)}});function Nx(e,n,r,a){for(const l of e)if(l.issues.length===0)return n.value=l.value,n;const s=e.filter(l=>!Do(l));return s.length===1?(n.value=s[0].value,s[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(l=>l.issues.map(u=>Ta(u,a,ja())))}),n)}const x6=de("$ZodUnion",(e,n)=>{Pt.init(e,n),ct(e._zod,"optin",()=>n.options.some(a=>a._zod.optin==="optional")?"optional":void 0),ct(e._zod,"optout",()=>n.options.some(a=>a._zod.optout==="optional")?"optional":void 0),ct(e._zod,"values",()=>{if(n.options.every(a=>a._zod.values))return new Set(n.options.flatMap(a=>Array.from(a._zod.values)))}),ct(e._zod,"pattern",()=>{if(n.options.every(a=>a._zod.pattern)){const a=n.options.map(s=>s._zod.pattern);return new RegExp(`^(${a.map(s=>ig(s.source)).join("|")})$`)}});const r=n.options.length===1?n.options[0]._zod.run:null;e._zod.parse=(a,s)=>{if(r)return r(a,s);let l=!1;const u=[];for(const d of n.options){const m=d._zod.run({value:a.value,issues:[]},s);if(m instanceof Promise)u.push(m),l=!0;else{if(m.issues.length===0)return m;u.push(m)}}return l?Promise.all(u).then(d=>Nx(d,a,e,s)):Nx(u,a,e,s)}}),w6=de("$ZodIntersection",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,a)=>{const s=r.value,l=n.left._zod.run({value:s,issues:[]},a),u=n.right._zod.run({value:s,issues:[]},a);return l instanceof Promise||u instanceof Promise?Promise.all([l,u]).then(([m,p])=>Dx(r,m,p)):Dx(r,l,u)}});function Bm(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(ul(e)&&ul(n)){const r=Object.keys(n),a=Object.keys(e).filter(l=>r.indexOf(l)!==-1),s={...e,...n};for(const l of a){const u=Bm(e[l],n[l]);if(!u.valid)return{valid:!1,mergeErrorPath:[l,...u.mergeErrorPath]};s[l]=u.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let a=0;ad.l&&d.r).map(([d])=>d);if(l.length&&s&&e.issues.push({...s,keys:l}),Do(e))return e;const u=Bm(n.value,r.value);if(!u.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`);return e.value=u.data,e}const S6=de("$ZodEnum",(e,n)=>{Pt.init(e,n);const r=tC(n.entries),a=new Set(r);e._zod.values=a,e._zod.pattern=new RegExp(`^(${r.filter(s=>L4.has(typeof s)).map(s=>typeof s=="string"?nd(s):s.toString()).join("|")})$`),e._zod.parse=(s,l)=>{const u=s.value;return a.has(u)||s.issues.push({code:"invalid_value",values:r,input:u,inst:e}),s}}),_6=de("$ZodTransform",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.parse=(r,a)=>{if(a.direction==="backward")throw new eC(e.constructor.name);const s=n.transform(r.value,r);if(a.async)return(s instanceof Promise?s:Promise.resolve(s)).then(u=>(r.value=u,r.fallback=!0,r));if(s instanceof Promise)throw new Io;return r.value=s,r.fallback=!0,r}});function zx(e,n){return n===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const fC=de("$ZodOptional",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",ct(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),ct(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${ig(r.source)})?$`):void 0}),e._zod.parse=(r,a)=>{if(n.innerType._zod.optin==="optional"){const s=r.value,l=n.innerType._zod.run(r,a);return l instanceof Promise?l.then(u=>zx(u,s)):zx(l,s)}return r.value===void 0?r:n.innerType._zod.run(r,a)}}),C6=de("$ZodExactOptional",(e,n)=>{fC.init(e,n),ct(e._zod,"values",()=>n.innerType._zod.values),ct(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(r,a)=>n.innerType._zod.run(r,a)}),E6=de("$ZodNullable",(e,n)=>{Pt.init(e,n),ct(e._zod,"optin",()=>n.innerType._zod.optin),ct(e._zod,"optout",()=>n.innerType._zod.optout),ct(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${ig(r.source)}|null)$`):void 0}),ct(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(r,a)=>r.value===null?r:n.innerType._zod.run(r,a)}),R6=de("$ZodDefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,a)=>{if(a.direction==="backward")return n.innerType._zod.run(r,a);if(r.value===void 0)return r.value=n.defaultValue,r;const s=n.innerType._zod.run(r,a);return s instanceof Promise?s.then(l=>kx(l,n)):kx(s,n)}});function kx(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const j6=de("$ZodPrefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,a)=>(a.direction==="backward"||r.value===void 0&&(r.value=n.defaultValue),n.innerType._zod.run(r,a))}),T6=de("$ZodNonOptional",(e,n)=>{Pt.init(e,n),ct(e._zod,"values",()=>{const r=n.innerType._zod.values;return r?new Set([...r].filter(a=>a!==void 0)):void 0}),e._zod.parse=(r,a)=>{const s=n.innerType._zod.run(r,a);return s instanceof Promise?s.then(l=>Lx(l,e)):Lx(s,e)}});function Lx(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const O6=de("$ZodCatch",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"optout",()=>n.innerType._zod.optout),ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,a)=>{if(a.direction==="backward")return n.innerType._zod.run(r,a);const s=n.innerType._zod.run(r,a);return s instanceof Promise?s.then(l=>(r.value=l.value,l.issues.length&&(r.value=n.catchValue({...r,error:{issues:l.issues.map(u=>Ta(u,a,ja()))},input:r.value}),r.issues=[],r.fallback=!0),r)):(r.value=s.value,s.issues.length&&(r.value=n.catchValue({...r,error:{issues:s.issues.map(l=>Ta(l,a,ja()))},input:r.value}),r.issues=[],r.fallback=!0),r)}}),A6=de("$ZodPipe",(e,n)=>{Pt.init(e,n),ct(e._zod,"values",()=>n.in._zod.values),ct(e._zod,"optin",()=>n.in._zod.optin),ct(e._zod,"optout",()=>n.out._zod.optout),ct(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,a)=>{if(a.direction==="backward"){const l=n.out._zod.run(r,a);return l instanceof Promise?l.then(u=>eu(u,n.in,a)):eu(l,n.in,a)}const s=n.in._zod.run(r,a);return s instanceof Promise?s.then(l=>eu(l,n.out,a)):eu(s,n.out,a)}});function eu(e,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}const M6=de("$ZodReadonly",(e,n)=>{Pt.init(e,n),ct(e._zod,"propValues",()=>n.innerType._zod.propValues),ct(e._zod,"values",()=>n.innerType._zod.values),ct(e._zod,"optin",()=>n.innerType?._zod?.optin),ct(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(r,a)=>{if(a.direction==="backward")return n.innerType._zod.run(r,a);const s=n.innerType._zod.run(r,a);return s instanceof Promise?s.then($x):$x(s)}});function $x(e){return e.value=Object.freeze(e.value),e}const N6=de("$ZodCustom",(e,n)=>{Nr.init(e,n),Pt.init(e,n),e._zod.parse=(r,a)=>r,e._zod.check=r=>{const a=r.value,s=n.fn(a);if(s instanceof Promise)return s.then(l=>Ix(l,r,a,e));Ix(s,r,a,e)}});function Ix(e,n,r,a){if(!e){const s={code:"custom",input:r,inst:a,path:[...a._zod.def.path??[]],continue:!a._zod.def.abort};a._zod.def.params&&(s.params=a._zod.def.params),n.issues.push(dl(s))}}var Px;class D6{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...r){const a=r[0];return this._map.set(n,a),a&&typeof a=="object"&&"id"in a&&this._idmap.set(a.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const r=this._map.get(n);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(n),this}get(n){const r=n._zod.parent;if(r){const a={...this.get(r)??{}};delete a.id;const s={...a,...this._map.get(n)};return Object.keys(s).length?s:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function z6(){return new D6}(Px=globalThis).__zod_globalRegistry??(Px.__zod_globalRegistry=z6());const Ks=globalThis.__zod_globalRegistry;function k6(e,n){return new e({type:"string",...Le(n)})}function L6(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Le(n)})}function Fx(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Le(n)})}function $6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Le(n)})}function I6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Le(n)})}function P6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Le(n)})}function F6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Le(n)})}function V6(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Le(n)})}function U6(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Le(n)})}function H6(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Le(n)})}function B6(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Le(n)})}function q6(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Le(n)})}function G6(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Le(n)})}function Z6(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Le(n)})}function K6(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Le(n)})}function Y6(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Le(n)})}function Q6(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Le(n)})}function X6(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Le(n)})}function J6(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Le(n)})}function W6(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Le(n)})}function eL(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Le(n)})}function tL(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Le(n)})}function nL(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Le(n)})}function rL(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Le(n)})}function iL(e,n){return new e({type:"string",format:"date",check:"string_format",...Le(n)})}function aL(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Le(n)})}function oL(e,n){return new e({type:"string",format:"duration",check:"string_format",...Le(n)})}function sL(e,n){return new e({type:"boolean",...Le(n)})}function lL(e){return new e({type:"unknown"})}function cL(e,n){return new e({type:"never",...Le(n)})}function hC(e,n){return new M5({check:"max_length",...Le(n),maximum:e})}function Eu(e,n){return new N5({check:"min_length",...Le(n),minimum:e})}function mC(e,n){return new D5({check:"length_equals",...Le(n),length:e})}function uL(e,n){return new z5({check:"string_format",format:"regex",...Le(n),pattern:e})}function dL(e){return new k5({check:"string_format",format:"lowercase",...Le(e)})}function fL(e){return new L5({check:"string_format",format:"uppercase",...Le(e)})}function hL(e,n){return new $5({check:"string_format",format:"includes",...Le(n),includes:e})}function mL(e,n){return new I5({check:"string_format",format:"starts_with",...Le(n),prefix:e})}function pL(e,n){return new P5({check:"string_format",format:"ends_with",...Le(n),suffix:e})}function Ko(e){return new F5({check:"overwrite",tx:e})}function gL(e){return Ko(n=>n.normalize(e))}function vL(){return Ko(e=>e.trim())}function yL(){return Ko(e=>e.toLowerCase())}function bL(){return Ko(e=>e.toUpperCase())}function xL(){return Ko(e=>z4(e))}function wL(e,n,r){return new e({type:"array",element:n,...Le(r)})}function SL(e,n,r){return new e({type:"custom",check:"custom",fn:n,...Le(r)})}function _L(e,n){const r=CL(a=>(a.addIssue=s=>{if(typeof s=="string")a.issues.push(dl(s,a.value,r._zod.def));else{const l=s;l.fatal&&(l.continue=!1),l.code??(l.code="custom"),l.input??(l.input=a.value),l.inst??(l.inst=r),l.continue??(l.continue=!r._zod.def.abort),a.issues.push(dl(l))}},e(a.value,a)),n);return r}function CL(e,n){const r=new Nr({check:"custom",...Le(n)});return r._zod.check=e,r}function pC(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Ks,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function ln(e,n,r={path:[],schemaPath:[]}){var a;const s=e._zod.def,l=n.seen.get(e);if(l)return l.count++,r.schemaPath.includes(e)&&(l.cycle=r.path),l.schema;const u={schema:{},count:1,cycle:void 0,path:r.path};n.seen.set(e,u);const d=e._zod.toJSONSchema?.();if(d)u.schema=d;else{const y={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,u.schema,y);else{const b=u.schema,x=n.processors[s.type];if(!x)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);x(e,n,b,y)}const v=e._zod.parent;v&&(u.ref||(u.ref=v),ln(v,n,y),n.seen.get(v).isParent=!0)}const m=n.metadataRegistry.get(e);return m&&Object.assign(u.schema,m),n.io==="input"&&pn(e)&&(delete u.schema.examples,delete u.schema.default),n.io==="input"&&"_prefault"in u.schema&&((a=u.schema).default??(a.default=u.schema._prefault)),delete u.schema._prefault,n.seen.get(e).schema}function gC(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const a=new Map;for(const u of e.seen.entries()){const d=e.metadataRegistry.get(u[0])?.id;if(d){const m=a.get(d);if(m&&m!==u[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);a.set(d,u[0])}}const s=u=>{const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const v=e.external.registry.get(u[0])?.id,b=e.external.uri??(_=>_);if(v)return{ref:b(v)};const x=u[1].defId??u[1].schema.id??`schema${e.counter++}`;return u[1].defId=x,{defId:x,ref:`${b("__shared")}#/${d}/${x}`}}if(u[1]===r)return{ref:"#"};const p=`#/${d}/`,y=u[1].schema.id??`__schema${e.counter++}`;return{defId:y,ref:p+y}},l=u=>{if(u[1].schema.$ref)return;const d=u[1],{ref:m,defId:p}=s(u);d.def={...d.schema},p&&(d.defId=p);const y=d.schema;for(const v in y)delete y[v];y.$ref=m};if(e.cycles==="throw")for(const u of e.seen.entries()){const d=u[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ - -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const u of e.seen.entries()){const d=u[1];if(n===u[0]){l(u);continue}if(e.external){const p=e.external.registry.get(u[0])?.id;if(n!==u[0]&&p){l(u);continue}}if(e.metadataRegistry.get(u[0])?.id){l(u);continue}if(d.cycle){l(u);continue}if(d.count>1&&e.reused==="ref"){l(u);continue}}}function vC(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const a=d=>{const m=e.seen.get(d);if(m.ref===null)return;const p=m.def??m.schema,y={...p},v=m.ref;if(m.ref=null,v){a(v);const x=e.seen.get(v),_=x.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(p.allOf=p.allOf??[],p.allOf.push(_)):Object.assign(p,_),Object.assign(p,y),d._zod.parent===v)for(const E in p)E==="$ref"||E==="allOf"||E in y||delete p[E];if(_.$ref&&x.def)for(const E in p)E==="$ref"||E==="allOf"||E in x.def&&JSON.stringify(p[E])===JSON.stringify(x.def[E])&&delete p[E]}const b=d._zod.parent;if(b&&b!==v){a(b);const x=e.seen.get(b);if(x?.schema.$ref&&(p.$ref=x.schema.$ref,x.def))for(const _ in p)_==="$ref"||_==="allOf"||_ in x.def&&JSON.stringify(p[_])===JSON.stringify(x.def[_])&&delete p[_]}e.override({zodSchema:d,jsonSchema:p,path:m.path??[]})};for(const d of[...e.seen.entries()].reverse())a(d[0]);const s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const d=e.external.registry.get(n)?.id;if(!d)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(d)}Object.assign(s,r.def??r.schema);const l=e.metadataRegistry.get(n)?.id;l!==void 0&&s.id===l&&delete s.id;const u=e.external?.defs??{};for(const d of e.seen.entries()){const m=d[1];m.def&&m.defId&&(m.def.id===m.defId&&delete m.def.id,u[m.defId]=m.def)}e.external||Object.keys(u).length>0&&(e.target==="draft-2020-12"?s.$defs=u:s.definitions=u);try{const d=JSON.parse(JSON.stringify(s));return Object.defineProperty(d,"~standard",{value:{...n["~standard"],jsonSchema:{input:Ru(n,"input",e.processors),output:Ru(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function pn(e,n){const r=n??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const a=e._zod.def;if(a.type==="transform")return!0;if(a.type==="array")return pn(a.element,r);if(a.type==="set")return pn(a.valueType,r);if(a.type==="lazy")return pn(a.getter(),r);if(a.type==="promise"||a.type==="optional"||a.type==="nonoptional"||a.type==="nullable"||a.type==="readonly"||a.type==="default"||a.type==="prefault")return pn(a.innerType,r);if(a.type==="intersection")return pn(a.left,r)||pn(a.right,r);if(a.type==="record"||a.type==="map")return pn(a.keyType,r)||pn(a.valueType,r);if(a.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:pn(a.in,r)||pn(a.out,r);if(a.type==="object"){for(const s in a.shape)if(pn(a.shape[s],r))return!0;return!1}if(a.type==="union"){for(const s of a.options)if(pn(s,r))return!0;return!1}if(a.type==="tuple"){for(const s of a.items)if(pn(s,r))return!0;return!!(a.rest&&pn(a.rest,r))}return!1}const EL=(e,n={})=>r=>{const a=pC({...r,processors:n});return ln(e,a),gC(a,e),vC(a,e)},Ru=(e,n,r={})=>a=>{const{libraryOptions:s,target:l}=a??{},u=pC({...s??{},target:l,io:n,processors:r});return ln(e,u),gC(u,e),vC(u,e)},RL={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},jL=(e,n,r,a)=>{const s=r;s.type="string";const{minimum:l,maximum:u,format:d,patterns:m,contentEncoding:p}=e._zod.bag;if(typeof l=="number"&&(s.minLength=l),typeof u=="number"&&(s.maxLength=u),d&&(s.format=RL[d]??d,s.format===""&&delete s.format,d==="time"&&delete s.format),p&&(s.contentEncoding=p),m&&m.size>0){const y=[...m];y.length===1?s.pattern=y[0].source:y.length>1&&(s.allOf=[...y.map(v=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:v.source}))])}},TL=(e,n,r,a)=>{r.type="boolean"},OL=(e,n,r,a)=>{r.not={}},AL=(e,n,r,a)=>{},ML=(e,n,r,a)=>{const s=e._zod.def,l=tC(s.entries);l.every(u=>typeof u=="number")&&(r.type="number"),l.every(u=>typeof u=="string")&&(r.type="string"),r.enum=l},NL=(e,n,r,a)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},DL=(e,n,r,a)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},zL=(e,n,r,a)=>{const s=r,l=e._zod.def,{minimum:u,maximum:d}=e._zod.bag;typeof u=="number"&&(s.minItems=u),typeof d=="number"&&(s.maxItems=d),s.type="array",s.items=ln(l.element,n,{...a,path:[...a.path,"items"]})},kL=(e,n,r,a)=>{const s=r,l=e._zod.def;s.type="object",s.properties={};const u=l.shape;for(const p in u)s.properties[p]=ln(u[p],n,{...a,path:[...a.path,"properties",p]});const d=new Set(Object.keys(u)),m=new Set([...d].filter(p=>{const y=l.shape[p]._zod;return n.io==="input"?y.optin===void 0:y.optout===void 0}));m.size>0&&(s.required=Array.from(m)),l.catchall?._zod.def.type==="never"?s.additionalProperties=!1:l.catchall?l.catchall&&(s.additionalProperties=ln(l.catchall,n,{...a,path:[...a.path,"additionalProperties"]})):n.io==="output"&&(s.additionalProperties=!1)},LL=(e,n,r,a)=>{const s=e._zod.def,l=s.inclusive===!1,u=s.options.map((d,m)=>ln(d,n,{...a,path:[...a.path,l?"oneOf":"anyOf",m]}));l?r.oneOf=u:r.anyOf=u},$L=(e,n,r,a)=>{const s=e._zod.def,l=ln(s.left,n,{...a,path:[...a.path,"allOf",0]}),u=ln(s.right,n,{...a,path:[...a.path,"allOf",1]}),d=p=>"allOf"in p&&Object.keys(p).length===1,m=[...d(l)?l.allOf:[l],...d(u)?u.allOf:[u]];r.allOf=m},IL=(e,n,r,a)=>{const s=e._zod.def,l=ln(s.innerType,n,a),u=n.seen.get(e);n.target==="openapi-3.0"?(u.ref=s.innerType,r.nullable=!0):r.anyOf=[l,{type:"null"}]},PL=(e,n,r,a)=>{const s=e._zod.def;ln(s.innerType,n,a);const l=n.seen.get(e);l.ref=s.innerType},FL=(e,n,r,a)=>{const s=e._zod.def;ln(s.innerType,n,a);const l=n.seen.get(e);l.ref=s.innerType,r.default=JSON.parse(JSON.stringify(s.defaultValue))},VL=(e,n,r,a)=>{const s=e._zod.def;ln(s.innerType,n,a);const l=n.seen.get(e);l.ref=s.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},UL=(e,n,r,a)=>{const s=e._zod.def;ln(s.innerType,n,a);const l=n.seen.get(e);l.ref=s.innerType;let u;try{u=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=u},HL=(e,n,r,a)=>{const s=e._zod.def,l=s.in._zod.traits.has("$ZodTransform"),u=n.io==="input"?l?s.out:s.in:s.out;ln(u,n,a);const d=n.seen.get(e);d.ref=u},BL=(e,n,r,a)=>{const s=e._zod.def;ln(s.innerType,n,a);const l=n.seen.get(e);l.ref=s.innerType,r.readOnly=!0},yC=(e,n,r,a)=>{const s=e._zod.def;ln(s.innerType,n,a);const l=n.seen.get(e);l.ref=s.innerType};function qm(){return qm=Object.assign?Object.assign.bind():function(e){for(var n=1;n0){var m=s.errors[0][0];r[d]={message:m.message,type:m.code}}else r[d]={message:u,type:l};if(s.code==="invalid_union"&&s.errors.forEach(function(v){return v.forEach(function(b){return e.push(qm({},b,{path:[].concat(s.path,b.path)}))})}),n){var p=r[d].types,y=p&&p[s.code];r[d]=Wp(d,n,r,l,y?[].concat(y,s.message):s.message)}e.shift()};e.length;)a();return r}function lg(e,n,r){if(r===void 0&&(r={}),(function(a){return"_def"in a&&typeof a._def=="object"&&"typeName"in a._def})(e))return function(a,s,l){try{return Promise.resolve(Vx(function(){return Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](a,n)).then(function(u){return l.shouldUseNativeValidation&&Um({},l),{errors:{},values:r.raw?Object.assign({},a):u}})},function(u){if((function(d){return Array.isArray(d?.issues)})(u))return{values:{},errors:Ex(qL(u.errors,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};if((function(a){return"_zod"in a&&typeof a._zod=="object"})(e))return function(a,s,l){try{return Promise.resolve(Vx(function(){return Promise.resolve((r.mode==="sync"?K4:Y4)(e,a,n)).then(function(u){return l.shouldUseNativeValidation&&Um({},l),{errors:{},values:r.raw?Object.assign({},a):u}})},function(u){if((function(d){return d instanceof og})(u))return{values:{},errors:Ex(GL(u.issues,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};throw new Error("Invalid input: not a Zod schema")}const ZL=de("ZodISODateTime",(e,n)=>{e6.init(e,n),Ct.init(e,n)});function KL(e){return rL(ZL,e)}const YL=de("ZodISODate",(e,n)=>{t6.init(e,n),Ct.init(e,n)});function QL(e){return iL(YL,e)}const XL=de("ZodISOTime",(e,n)=>{n6.init(e,n),Ct.init(e,n)});function JL(e){return aL(XL,e)}const WL=de("ZodISODuration",(e,n)=>{r6.init(e,n),Ct.init(e,n)});function e8(e){return oL(WL,e)}const t8=(e,n)=>{og.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Z4(e,r)},flatten:{value:r=>G4(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Hm,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Hm,2)}},isEmpty:{get(){return e.issues.length===0}}})},rr=de("ZodError",t8,{Parent:Error}),n8=id(rr),r8=ad(rr),i8=od(rr),a8=sd(rr),o8=J4(rr),s8=W4(rr),l8=e5(rr),c8=t5(rr),u8=n5(rr),d8=r5(rr),f8=i5(rr),h8=a5(rr),Ux=new WeakMap;function cd(e,n,r){const a=Object.getPrototypeOf(e);let s=Ux.get(a);if(s||(s=new Set,Ux.set(a,s)),!s.has(n)){s.add(n);for(const l in r){const u=r[l];Object.defineProperty(a,l,{configurable:!0,enumerable:!1,get(){const d=u.bind(this);return Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d}),d},set(d){Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d})}})}}}const Ft=de("ZodType",(e,n)=>(Pt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Ru(e,"input"),output:Ru(e,"output")}}),e.toJSONSchema=EL(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.parse=(r,a)=>n8(e,r,a,{callee:e.parse}),e.safeParse=(r,a)=>i8(e,r,a),e.parseAsync=async(r,a)=>r8(e,r,a,{callee:e.parseAsync}),e.safeParseAsync=async(r,a)=>a8(e,r,a),e.spa=e.safeParseAsync,e.encode=(r,a)=>o8(e,r,a),e.decode=(r,a)=>s8(e,r,a),e.encodeAsync=async(r,a)=>l8(e,r,a),e.decodeAsync=async(r,a)=>c8(e,r,a),e.safeEncode=(r,a)=>u8(e,r,a),e.safeDecode=(r,a)=>d8(e,r,a),e.safeEncodeAsync=async(r,a)=>f8(e,r,a),e.safeDecodeAsync=async(r,a)=>h8(e,r,a),cd(e,"ZodType",{check(...r){const a=this.def;return this.clone(Xi(a,{checks:[...a.checks??[],...r.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,a){return Ji(this,r,a)},brand(){return this},register(r,a){return r.add(this,a),this},refine(r,a){return this.check(o$(r,a))},superRefine(r,a){return this.check(s$(r,a))},overwrite(r){return this.check(Ko(r))},optional(){return Gx(this)},exactOptional(){return Z8(this)},nullable(){return Zx(this)},nullish(){return Gx(Zx(this))},nonoptional(r){return W8(this,r)},array(){return $8(this)},or(r){return F8([this,r])},and(r){return U8(this,r)},transform(r){return Kx(this,q8(r))},default(r){return Q8(this,r)},prefault(r){return J8(this,r)},catch(r){return t$(this,r)},pipe(r){return Kx(this,r)},readonly(){return i$(this)},describe(r){const a=this.clone();return Ks.add(a,{description:r}),a},meta(...r){if(r.length===0)return Ks.get(this);const a=this.clone();return Ks.add(a,r[0]),a},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return Ks.get(e)?.description},configurable:!0}),e)),bC=de("_ZodString",(e,n)=>{sg.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(a,s,l)=>jL(e,a,s);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,cd(e,"_ZodString",{regex(...a){return this.check(uL(...a))},includes(...a){return this.check(hL(...a))},startsWith(...a){return this.check(mL(...a))},endsWith(...a){return this.check(pL(...a))},min(...a){return this.check(Eu(...a))},max(...a){return this.check(hC(...a))},length(...a){return this.check(mC(...a))},nonempty(...a){return this.check(Eu(1,...a))},lowercase(a){return this.check(dL(a))},uppercase(a){return this.check(fL(a))},trim(){return this.check(vL())},normalize(...a){return this.check(gL(...a))},toLowerCase(){return this.check(yL())},toUpperCase(){return this.check(bL())},slugify(){return this.check(xL())}})}),m8=de("ZodString",(e,n)=>{sg.init(e,n),bC.init(e,n),e.email=r=>e.check(L6(p8,r)),e.url=r=>e.check(V6(g8,r)),e.jwt=r=>e.check(nL(M8,r)),e.emoji=r=>e.check(U6(v8,r)),e.guid=r=>e.check(Fx(Hx,r)),e.uuid=r=>e.check($6(tu,r)),e.uuidv4=r=>e.check(I6(tu,r)),e.uuidv6=r=>e.check(P6(tu,r)),e.uuidv7=r=>e.check(F6(tu,r)),e.nanoid=r=>e.check(H6(y8,r)),e.guid=r=>e.check(Fx(Hx,r)),e.cuid=r=>e.check(B6(b8,r)),e.cuid2=r=>e.check(q6(x8,r)),e.ulid=r=>e.check(G6(w8,r)),e.base64=r=>e.check(W6(T8,r)),e.base64url=r=>e.check(eL(O8,r)),e.xid=r=>e.check(Z6(S8,r)),e.ksuid=r=>e.check(K6(_8,r)),e.ipv4=r=>e.check(Y6(C8,r)),e.ipv6=r=>e.check(Q6(E8,r)),e.cidrv4=r=>e.check(X6(R8,r)),e.cidrv6=r=>e.check(J6(j8,r)),e.e164=r=>e.check(tL(A8,r)),e.datetime=r=>e.check(KL(r)),e.date=r=>e.check(QL(r)),e.time=r=>e.check(JL(r)),e.duration=r=>e.check(e8(r))});function cu(e){return k6(m8,e)}const Ct=de("ZodStringFormat",(e,n)=>{xt.init(e,n),bC.init(e,n)}),p8=de("ZodEmail",(e,n)=>{q5.init(e,n),Ct.init(e,n)}),Hx=de("ZodGUID",(e,n)=>{H5.init(e,n),Ct.init(e,n)}),tu=de("ZodUUID",(e,n)=>{B5.init(e,n),Ct.init(e,n)}),g8=de("ZodURL",(e,n)=>{G5.init(e,n),Ct.init(e,n)}),v8=de("ZodEmoji",(e,n)=>{Z5.init(e,n),Ct.init(e,n)}),y8=de("ZodNanoID",(e,n)=>{K5.init(e,n),Ct.init(e,n)}),b8=de("ZodCUID",(e,n)=>{Y5.init(e,n),Ct.init(e,n)}),x8=de("ZodCUID2",(e,n)=>{Q5.init(e,n),Ct.init(e,n)}),w8=de("ZodULID",(e,n)=>{X5.init(e,n),Ct.init(e,n)}),S8=de("ZodXID",(e,n)=>{J5.init(e,n),Ct.init(e,n)}),_8=de("ZodKSUID",(e,n)=>{W5.init(e,n),Ct.init(e,n)}),C8=de("ZodIPv4",(e,n)=>{i6.init(e,n),Ct.init(e,n)}),E8=de("ZodIPv6",(e,n)=>{a6.init(e,n),Ct.init(e,n)}),R8=de("ZodCIDRv4",(e,n)=>{o6.init(e,n),Ct.init(e,n)}),j8=de("ZodCIDRv6",(e,n)=>{s6.init(e,n),Ct.init(e,n)}),T8=de("ZodBase64",(e,n)=>{l6.init(e,n),Ct.init(e,n)}),O8=de("ZodBase64URL",(e,n)=>{u6.init(e,n),Ct.init(e,n)}),A8=de("ZodE164",(e,n)=>{d6.init(e,n),Ct.init(e,n)}),M8=de("ZodJWT",(e,n)=>{h6.init(e,n),Ct.init(e,n)}),N8=de("ZodBoolean",(e,n)=>{m6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>TL(e,r,a)});function Bx(e){return sL(N8,e)}const D8=de("ZodUnknown",(e,n)=>{p6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>AL()});function qx(){return lL(D8)}const z8=de("ZodNever",(e,n)=>{g6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>OL(e,r,a)});function k8(e){return cL(z8,e)}const L8=de("ZodArray",(e,n)=>{v6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>zL(e,r,a,s),e.element=n.element,cd(e,"ZodArray",{min(r,a){return this.check(Eu(r,a))},nonempty(r){return this.check(Eu(1,r))},max(r,a){return this.check(hC(r,a))},length(r,a){return this.check(mC(r,a))},unwrap(){return this.element}})});function $8(e,n){return wL(L8,e,n)}const I8=de("ZodObject",(e,n)=>{b6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>kL(e,r,a,s),ct(e,"shape",()=>n.shape),cd(e,"ZodObject",{keyof(){return H8(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:qx()})},loose(){return this.clone({...this._zod.def,catchall:qx()})},strict(){return this.clone({...this._zod.def,catchall:k8()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return F4(this,r)},safeExtend(r){return V4(this,r)},merge(r){return U4(this,r)},pick(r){return I4(this,r)},omit(r){return P4(this,r)},partial(...r){return H4(xC,this,r[0])},required(...r){return B4(wC,this,r[0])}})});function cg(e,n){const r={type:"object",shape:e??{},...Le(n)};return new I8(r)}const P8=de("ZodUnion",(e,n)=>{x6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>LL(e,r,a,s),e.options=n.options});function F8(e,n){return new P8({type:"union",options:e,...Le(n)})}const V8=de("ZodIntersection",(e,n)=>{w6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>$L(e,r,a,s)});function U8(e,n){return new V8({type:"intersection",left:e,right:n})}const Gm=de("ZodEnum",(e,n)=>{S6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(a,s,l)=>ML(e,a,s),e.enum=n.entries,e.options=Object.values(n.entries);const r=new Set(Object.keys(n.entries));e.extract=(a,s)=>{const l={};for(const u of a)if(r.has(u))l[u]=n.entries[u];else throw new Error(`Key ${u} not found in enum`);return new Gm({...n,checks:[],...Le(s),entries:l})},e.exclude=(a,s)=>{const l={...n.entries};for(const u of a)if(r.has(u))delete l[u];else throw new Error(`Key ${u} not found in enum`);return new Gm({...n,checks:[],...Le(s),entries:l})}});function H8(e,n){const r=Array.isArray(e)?Object.fromEntries(e.map(a=>[a,a])):e;return new Gm({type:"enum",entries:r,...Le(n)})}const B8=de("ZodTransform",(e,n)=>{_6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>DL(e,r),e._zod.parse=(r,a)=>{if(a.direction==="backward")throw new eC(e.constructor.name);r.addIssue=l=>{if(typeof l=="string")r.issues.push(dl(l,r.value,n));else{const u=l;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=r.value),u.inst??(u.inst=e),r.issues.push(dl(u))}};const s=n.transform(r.value,r);return s instanceof Promise?s.then(l=>(r.value=l,r.fallback=!0,r)):(r.value=s,r.fallback=!0,r)}});function q8(e){return new B8({type:"transform",transform:e})}const xC=de("ZodOptional",(e,n)=>{fC.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>yC(e,r,a,s),e.unwrap=()=>e._zod.def.innerType});function Gx(e){return new xC({type:"optional",innerType:e})}const G8=de("ZodExactOptional",(e,n)=>{C6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>yC(e,r,a,s),e.unwrap=()=>e._zod.def.innerType});function Z8(e){return new G8({type:"optional",innerType:e})}const K8=de("ZodNullable",(e,n)=>{E6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>IL(e,r,a,s),e.unwrap=()=>e._zod.def.innerType});function Zx(e){return new K8({type:"nullable",innerType:e})}const Y8=de("ZodDefault",(e,n)=>{R6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>FL(e,r,a,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Q8(e,n){return new Y8({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():rC(n)}})}const X8=de("ZodPrefault",(e,n)=>{j6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>VL(e,r,a,s),e.unwrap=()=>e._zod.def.innerType});function J8(e,n){return new X8({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():rC(n)}})}const wC=de("ZodNonOptional",(e,n)=>{T6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>PL(e,r,a,s),e.unwrap=()=>e._zod.def.innerType});function W8(e,n){return new wC({type:"nonoptional",innerType:e,...Le(n)})}const e$=de("ZodCatch",(e,n)=>{O6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>UL(e,r,a,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function t$(e,n){return new e$({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const n$=de("ZodPipe",(e,n)=>{A6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>HL(e,r,a,s),e.in=n.in,e.out=n.out});function Kx(e,n){return new n$({type:"pipe",in:e,out:n})}const r$=de("ZodReadonly",(e,n)=>{M6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>BL(e,r,a,s),e.unwrap=()=>e._zod.def.innerType});function i$(e){return new r$({type:"readonly",innerType:e})}const a$=de("ZodCustom",(e,n)=>{N6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,a,s)=>NL(e,r)});function o$(e,n={}){return SL(a$,e,n)}function s$(e,n){return _L(e,n)}const l$=/\.(md|markdown)$/i,c$=/\.(png|jpe?g|gif|svg|webp|ico|bmp|avif)$/i,SC=/\.html?$/i,_C=/\.pdf$/i,u$=/\.(txt|log|json|ya?ml|toml|csv|go|py|js|ts|jsx|tsx|sh|bash|zsh|rb|rs|c|h|cpp|java|kt|swift|sql|css|xml|ini|conf|env|mod|sum|jsonl)$/i;function ug(e){if(e<1024)return e+" B";const n=["KB","MB","GB","TB"];let r=-1;do e/=1024,r++;while(e>=1024&&r`:e.user||e.author||"unknown"}function d$({className:e,...n}){return h.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:h.jsx("table",{"data-slot":"table",className:Xe("w-full caption-bottom text-sm",e),...n})})}function f$({className:e,...n}){return h.jsx("thead",{"data-slot":"table-header",className:Xe("[&_tr]:border-b",e),...n})}function h$({className:e,...n}){return h.jsx("tbody",{"data-slot":"table-body",className:Xe("[&_tr:last-child]:border-0",e),...n})}function Yx({className:e,...n}){return h.jsx("tr",{"data-slot":"table-row",className:Xe("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...n})}function Qx({className:e,...n}){return h.jsx("th",{"data-slot":"table-head",className:Xe("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function m$({className:e,...n}){return h.jsx("td",{"data-slot":"table-cell",className:Xe("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function p$({header:e}){const n=e.column.getIsSorted();return e.column.getCanSort()?h.jsx(Qx,{"data-sort":n||void 0,"aria-sort":n==="asc"?"ascending":n==="desc"?"descending":"none",children:h.jsxs("button",{type:"button",className:"th-sort",onClick:e.column.getToggleSortingHandler(),children:[Im(e.column.columnDef.header,e.getContext()),n==="asc"?" ↑":n==="desc"?" ↓":""]})}):h.jsx(Qx,{children:Im(e.column.columnDef.header,e.getContext())})}function EC({table:e,className:n}){return h.jsx("div",{className:"admin-list admin-card-table"+(n?" "+n:""),children:h.jsxs(d$,{className:"admin-table",children:[h.jsx(f$,{children:e.getHeaderGroups().map(r=>h.jsx(Yx,{children:r.headers.map(a=>h.jsx(p$,{header:a},a.id))},r.id))}),h.jsx(h$,{children:e.getRowModel().rows.map(r=>h.jsx(Yx,{className:"admin-item",children:r.getVisibleCells().map(a=>h.jsx(m$,{children:Im(a.column.columnDef.cell,a.getContext())},a.id))},r.id))})]})})}function RC(e){return e?"expires "+new Date(e).toLocaleDateString():"no expiry"}function jC(e,n){const r=[];return n&&e.project_name&&r.push(e.project_name),e.creator&&r.push("by "+e.creator),e.created&&r.push(new Date(e.created).toLocaleDateString()),r.push(RC(e.expires)),r.join(" · ")}function TC({shares:e,onChanged:n,showProject:r=!1,canRevoke:a=!0,empty:s="No public shares."}){const[l,u]=w.useState([]),d=w.useMemo(()=>T_(),[]),m=w.useMemo(()=>[d.accessor("path",{header:"Path",cell:y=>h.jsx("a",{className:"ai-main mono",title:y.getValue(),...cl(Ju(y.getValue(),y.row.original.project)),children:y.getValue()})}),d.accessor(y=>jC(y,r),{id:"detail",header:r?"Project":"Shared",cell:y=>h.jsx("span",{className:"ai-tag",children:y.getValue()})}),d.display({id:"actions",header:"",cell:y=>a?h.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${y.row.original.path}`,onClick:()=>OC(y.row.original,n),children:"Revoke"}):null})],[d,n,r,a]),p=F_({data:e,columns:m,state:{sorting:l},onSortingChange:u,getCoreRowModel:I_(),getSortedRowModel:P_()});return e.length===0?h.jsx("div",{className:"admin-list",children:h.jsx("div",{className:"admin-empty",children:s})}):h.jsx(EC,{table:p,className:"shares-table"})}async function OC(e,n){if(await Sl("Revoke share link",`Revoke the public link to “${e.path}”? Anyone with the URL will lose access.`,"Revoke",!0))try{await er("DELETE","/api/shares/"+e.token),Ke("Share revoked."),n()}catch(r){Ke(r.message,!0)}}const g$=cg({name:cu().trim().min(1,"Give the organization a name.").max(60,"Keep it under 60 characters.")});function v$({org:e,projects:n,myEmail:r}){const a=Aa(),s=e.role==="owner",l=()=>a.invalidateQueries({queryKey:["orgs"]}),u=()=>a.invalidateQueries({queryKey:["invites",e.id]}),d=()=>a.invalidateQueries({queryKey:["orgShares",e.id]}),m=eg({resolver:lg(g$),values:{name:e.name}}),{data:p}=Zt({queryKey:["invites",e.id],queryFn:()=>sn(`/api/orgs/${e.id}/invites`),enabled:s,select:b=>b.invites||[]}),{data:y}=Zt({queryKey:["orgShares",e.id],queryFn:()=>sn(`/api/orgs/${e.id}/shares`),enabled:s,select:b=>b.shares||[]}),v=n.filter(b=>b.org===e.id);return h.jsxs("div",{className:"admin",children:[h.jsx("h1",{id:"org-title",children:e.name}),!s&&h.jsx("p",{className:"role-chip-row",children:h.jsx("span",{className:"ai-tag role-chip",children:"Member"})}),!s&&h.jsx("p",{className:"admin-sub",children:"Only owners can rename this organization, manage members, or issue invite links."}),s&&h.jsxs("form",{className:"admin-row",onSubmit:m.handleSubmit(async({name:b})=>{try{await er("PATCH","/api/orgs/"+e.id,{name:b}),Ke("Renamed."),l()}catch(x){Ke(x.message,!0)}}),children:[h.jsx("label",{className:"admin-lbl",htmlFor:"org-rename",children:"Organization name"}),h.jsx("input",{id:"org-rename",type:"text","aria-invalid":!!m.formState.errors.name,"aria-describedby":m.formState.errors.name?"org-rename-err":void 0,...m.register("name")}),h.jsx(vt,{variant:"subtle",id:"org-rename-btn",type:"submit",disabled:!m.formState.isDirty,children:"Rename org"}),m.formState.errors.name&&h.jsx("span",{id:"org-rename-err",role:"alert",className:"field-err",children:m.formState.errors.name.message})]}),h.jsx("h3",{children:"Members"}),h.jsx(y$,{org:e,owner:s,myEmail:r,onChanged:l}),h.jsx("h3",{children:"Projects"}),h.jsxs("div",{className:"admin-list",children:[v.length===0&&h.jsx("div",{className:"admin-empty",children:"No projects yet."}),v.map(b=>h.jsx("div",{className:"admin-item",children:h.jsx("span",{className:"ai-main",title:b.name,children:b.name})},b.id))]}),s&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"admin-h",children:[h.jsx("h3",{children:"Invite links"}),h.jsx(vt,{variant:"primary",onClick:async()=>{try{const b=await Sa(`/api/orgs/${e.id}/invites`),x=await Bo(b.url);Ke(x?"Invite link copied to clipboard.":"Invite created — copy it from the list below."),u()}catch(b){Ke(b.message,!0)}},children:"New invite"})]}),h.jsxs("div",{className:"admin-list",children:[p&&p.length===0&&h.jsx("div",{className:"admin-empty",children:"No active invite links."}),(p||[]).map(b=>h.jsxs("div",{className:"admin-item",children:[h.jsx("button",{type:"button",className:"ai-main mono ai-copy","aria-label":`Copy invite link ${b.url}`,title:b.url,onClick:()=>Bo(b.url).then(x=>Ke(x?"Copied.":"Select and copy the link.")),children:b.url}),h.jsx("span",{className:"ai-tag",children:(b.creator?"by "+b.creator+" · ":"")+(b.uses?b.uses+" joined · ":"unused · ")+"expires "+new Date(b.expires).toLocaleDateString()}),h.jsx("button",{className:"ai-del","aria-label":`Revoke invite ${b.token.slice(0,8)}`,onClick:async()=>{if(await Sl("Revoke invite",`Revoke the link starting ${b.token.slice(0,8)}…? Anyone still holding it won't be able to join.`,"Revoke",!0))try{await er("DELETE",`/api/orgs/${e.id}/invites/${b.token}`),Ke("Revoked."),u()}catch(x){Ke(x.message,!0)}},children:"Revoke"})]},b.token))]}),h.jsx("h3",{children:"Public share links"}),h.jsx("p",{className:"admin-sub",children:"Every live link across this organization's projects. A project's own links are on its Settings page, and on the file itself."}),h.jsx(TC,{shares:y||[],onChanged:d,showProject:!0})]})]})}function y$({org:e,owner:n,myEmail:r,onChanged:a}){const[s,l]=w.useState([{id:"email",desc:!1}]),u=w.useMemo(()=>T_(),[]),d=w.useMemo(()=>[u.accessor("email",{id:"email",header:"Member",cell:p=>{const y=!!r&&p.getValue().toLowerCase()===r.toLowerCase();return h.jsx("span",{className:"ai-main",title:p.getValue(),children:p.getValue()+(y?" (you)":"")})}}),u.accessor("role",{id:"role",header:"Role",cell:p=>{const y=p.row.original,v=!!r&&y.email.toLowerCase()===r.toLowerCase();return!n||v?h.jsx("span",{className:"ai-tag role-static",children:y.role}):h.jsxs("span",{className:"role-cell",children:[h.jsxs("select",{"aria-label":`Role for ${y.email}`,value:y.role,onChange:async b=>{try{await er("PATCH",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`,{role:b.target.value}),Ke("Role updated.")}catch(x){Ke(x.message,!0)}a()},children:[h.jsx("option",{value:"owner",children:"owner"}),h.jsx("option",{value:"member",children:"member"})]}),h.jsx("button",{className:"ai-del","aria-label":`Remove ${y.email}`,onClick:async()=>{if(await Sl("Remove member",`Remove ${y.email} from ${e.name}?`,"Remove",!0))try{await er("DELETE",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`),Ke("Removed."),a()}catch(b){Ke(b.message,!0)}},children:"Remove"})]})}})],[u,e.id,e.name,n,r]),m=F_({data:e.members,columns:d,state:{sorting:s},onSortingChange:l,getCoreRowModel:I_(),getSortedRowModel:P_()});return h.jsx(EC,{table:m})}const b$=cg({require_verification:Bx(),require_approval:Bx()});function x$(){const e=Aa(),{data:n,error:r}=Zt({queryKey:["admin","policy"],queryFn:()=>sn("/api/admin/policy")}),{data:a}=__(!0),s=eg({resolver:lg(b$),values:n?{require_verification:n.require_verification&&n.mailer,require_approval:n.require_approval}:{require_verification:!1,require_approval:!1}});if(w.useEffect(()=>{r&&Ke(r.message,!0)},[r]),!n)return null;const l=async(u,d,m)=>{try{await Sa(`/api/admin/pending/${u}/${d}`),Ke((d==="approve"?"Approved ":"Denied ")+m),e.invalidateQueries({queryKey:["admin","pending"]})}catch(p){Ke(p.message,!0)}};return h.jsxs("div",{className:"admin",children:[h.jsx("h1",{children:"Signup & access"}),h.jsx("p",{className:"admin-sub",children:"Who can create an account on this hub, and how new accounts are vetted."}),h.jsx("h3",{children:"New-account vetting"}),h.jsxs("form",{onSubmit:s.handleSubmit(async u=>{try{await Sa("/api/admin/policy",u),Ke("Signup policy saved."),e.invalidateQueries({queryKey:["admin","policy"]})}catch(d){Ke(d.message,!0)}}),children:[h.jsxs("div",{className:"admin-list",children:[h.jsx(Xx,{label:"Require email verification",desc:n.mailer?"New accounts must click an emailed link before they can sign in — proves they control the address.":"Configure SMTP on the server (auth.smtp) to enable email verification.",disabled:!n.mailer,inputProps:s.register("require_verification")}),h.jsx(Xx,{label:"Require admin approval",desc:"New accounts wait for a hub admin to approve them before they gain access.",inputProps:s.register("require_approval")})]}),h.jsx(vt,{variant:"primary",type:"submit",style:{marginTop:14},disabled:!s.formState.isDirty,children:"Save policy"})]}),h.jsx("h3",{children:"Who can sign up"}),h.jsxs("div",{className:"admin-list",children:[h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:"Allowed email domains"}),h.jsx("span",{className:"ai-tag",children:n.allowed_domains&&n.allowed_domains.length?n.allowed_domains.map(u=>"@"+u).join(", "):"any"})]}),h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:"Self-signup"}),h.jsx("span",{className:"ai-tag",children:n.allow_signup?"open":"invite-only"})]}),h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:"Hub admins"}),h.jsx("span",{className:"ai-tag",children:n.admins&&n.admins.length?n.admins.join(", "):"none"})]})]}),h.jsx("p",{className:"admin-sub",children:"Domains and admins are set in the server config file (they can't be widened from the browser)."}),h.jsx("h3",{children:"Pending signups"}),h.jsxs("div",{className:"admin-list",children:[(!a||a.length===0)&&h.jsx("div",{className:"admin-empty",children:"No one is waiting for approval."}),(a||[]).map(u=>h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:(u.name?u.name+" · ":"")+u.email}),h.jsx(vt,{variant:"primary",onClick:()=>l(u.id,"approve",u.email),children:"Approve"}),h.jsx("button",{className:"ai-del",onClick:()=>l(u.id,"deny",u.email),children:"Deny"})]},u.id))]})]})}function Xx({label:e,desc:n,disabled:r,inputProps:a}){return h.jsxs("label",{className:"admin-item toggle",style:r?{opacity:.55}:void 0,children:[h.jsxs("span",{className:"ai-main",children:[h.jsx("div",{className:"tg-label",children:e}),h.jsx("div",{className:"tg-desc",children:n})]}),h.jsx("input",{type:"checkbox",disabled:r,...a})]})}function w$({...e}){return h.jsx(o1,{"data-slot":"select",...e})}function S$({...e}){return h.jsx(u1,{"data-slot":"select-value",...e})}function _$({className:e,size:n="default",children:r,...a}){return h.jsxs(l1,{"data-slot":"select-trigger","data-size":n,className:Xe("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...a,children:[r,h.jsx(d1,{asChild:!0,children:h.jsx(Up,{className:"size-4 opacity-50"})})]})}function C$({className:e,children:n,position:r="item-aligned",align:a="center",...s}){return h.jsx(h1,{children:h.jsxs(m1,{"data-slot":"select-content",className:Xe("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:a,...s,children:[h.jsx(R$,{}),h.jsx(b1,{className:Xe("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),h.jsx(j$,{})]})})}function E$({className:e,children:n,...r}){return h.jsxs(_1,{"data-slot":"select-item",className:Xe("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[h.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:h.jsx(R1,{children:h.jsx(l_,{className:"size-4"})})}),h.jsx(C1,{children:n})]})}function R$({className:e,...n}){return h.jsx(j1,{"data-slot":"select-scroll-up-button",className:Xe("flex cursor-default items-center justify-center py-1",e),...n,children:h.jsx(ez,{className:"size-4"})})}function j$({className:e,...n}){return h.jsx(T1,{"data-slot":"select-scroll-down-button",className:Xe("flex cursor-default items-center justify-center py-1",e),...n,children:h.jsx(Up,{className:"size-4"})})}const Jx=["#5b8def","#f5a623","#4cc38a","#e0679b","#8b7bf0","#3ec8c8","#e6934a"];function fl(e){let n=0;for(const r of e)n=n*31+r.charCodeAt(0)>>>0;return Jx[n%Jx.length]}function Wx({projects:e,currentId:n,menu:r,onNew:a}){const s=e.find(l=>l.id===n);return h.jsxs("nav",{id:"projects","aria-label":"Projects",children:[h.jsxs("div",{className:"nav-head",children:[h.jsx("span",{children:"Projects"}),h.jsx("button",{className:"nav-add",title:"New project","aria-label":"New project",onClick:a,children:"+"})]}),h.jsx("div",{className:"proj-row",children:h.jsxs(w$,{value:n||"",onValueChange:l=>{l&&l!==n&&(fn("/"+l),pr())},children:[h.jsxs(_$,{id:"project-select","aria-label":`Switch project — current: ${s?.name??"none"}`,title:s?.name,className:"proj-trigger",children:[s&&h.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(s.name)},children:h.jsx($o,{name:s.icon})}),s?h.jsx("span",{"data-slot":"select-value",children:s.name}):h.jsx(S$,{placeholder:"Select a project"})]}),h.jsx(C$,{className:"proj-menu",position:"popper",sideOffset:4,children:e.map(l=>h.jsxs(E$,{value:l.id,children:[h.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(l.name)},children:h.jsx($o,{name:l.icon})}),l.name]},l.id))})]})}),r&&h.jsx("ul",{className:"nav-menu","aria-label":"Project pages",children:[["dashboard","Dashboard","dashboard",r.onDashboard],["install","Installation","terminal",r.onInstall],["history","History","hist",r.onHistory],["settings","Settings","gear",r.onSettings]].map(([l,u,d,m])=>h.jsx("li",{children:h.jsxs("div",{id:"nav-"+l,className:"row"+(r.active===l?" active":""),role:"button",tabIndex:0,onClick:m,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),m())},children:[h.jsx(ht,{name:d}),h.jsx("span",{className:"label",children:u})]})},l))})]})}function AC({...e}){return h.jsx(NM,{"data-slot":"dropdown-menu",...e})}function MC({...e}){return h.jsx(DM,{"data-slot":"dropdown-menu-trigger",...e})}function NC({className:e,sideOffset:n=4,...r}){return h.jsx(zM,{children:h.jsx(kM,{"data-slot":"dropdown-menu-content",sideOffset:n,className:Xe("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...r})})}function zo({className:e,inset:n,variant:r="default",...a}){return h.jsx($M,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":r,className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...a})}function tm({className:e,inset:n,...r}){return h.jsx(LM,{"data-slot":"dropdown-menu-label","data-inset":n,className:Xe("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}const T$="https://github.com/runbear-io/beardrive";function O$(){return h.jsx("svg",{viewBox:"0 0 16 16",className:"gh-mark",fill:"currentColor","aria-hidden":"true",children:h.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"})})}function A$({me:e,org:n,admin:r,orgActive:a,billing:s}){const l=e.name||e.email,[u,d]=w.useState(!1),m=n?cl(n.manage_url):null,p=s?cl(s.url):null;return h.jsxs("footer",{id:"accountbar",children:[h.jsxs("a",{className:"gh-star",href:T$,target:"_blank",rel:"noreferrer",children:[h.jsx(O$,{}),h.jsx("span",{children:"Star on GitHub"}),h.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),h.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]}),h.jsxs(AC,{modal:!1,open:u,onOpenChange:d,children:[h.jsx(MC,{asChild:!0,children:h.jsxs("button",{id:"account-btn",className:a?"active":void 0,"aria-label":"Account menu",children:[h.jsx("span",{className:"avatar",style:{background:fl(e.email)},"aria-hidden":"true",children:(l.trim()[0]||"?").toUpperCase()}),h.jsxs("span",{className:"acct",children:[h.jsx("b",{children:l}),e.name&&h.jsx("small",{children:e.email})]}),h.jsx(ht,{name:"chev"})]})}),h.jsxs(NC,{id:"account-menu",side:"top",align:"start",sideOffset:6,className:"acct-menu",children:[n&&h.jsxs(h.Fragment,{children:[h.jsx(tm,{className:"menu-sec",children:"Organization"}),h.jsx(zo,{asChild:!0,children:h.jsxs("a",{id:"menu-org-settings","aria-current":a?"page":void 0,...m,onClick:y=>{m?.onClick?.(y),d(!1)},children:[h.jsx(ht,{name:"gear"}),h.jsxs("span",{children:[h.jsx("b",{children:n.name})," Settings"]}),!n.manage_url.startsWith("/")&&h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),h.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]})}),s&&h.jsx(zo,{asChild:!0,children:h.jsxs("a",{id:"menu-billing",...p,onClick:y=>{p?.onClick?.(y),d(!1)},children:[h.jsx(ht,{name:"card"}),h.jsx("span",{children:"Billing"}),h.jsx("span",{className:"ps-chip plan-chip",children:s.plan})]})})]}),r&&h.jsxs(h.Fragment,{children:[h.jsx(tm,{className:"menu-sec",children:"Hub"}),h.jsxs(zo,{id:"menu-hub-admin",onSelect:r.onClick,children:[h.jsx(ht,{name:"shield"}),h.jsxs("span",{children:["Signup & access",r.pending?` · ${r.pending}`:""]})]})]}),h.jsx(tm,{className:"menu-sec",children:"Account"}),h.jsx(zo,{asChild:!0,children:h.jsxs("a",{id:"signout",href:"/auth/logout",children:[h.jsx(ht,{name:"power"}),h.jsx("span",{children:"Log out"})]})})]})]})]})}function $i({className:e,...n}){return h.jsx("div",{"data-slot":"card",className:Xe("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...n})}function Ii({className:e,...n}){return h.jsx("div",{"data-slot":"card-header",className:Xe("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...n})}function Pi({className:e,...n}){return h.jsx("div",{"data-slot":"card-title",className:Xe("leading-none font-semibold",e),...n})}function Po({className:e,...n}){return h.jsx("div",{"data-slot":"card-description",className:Xe("text-muted-foreground text-sm",e),...n})}function Fi({className:e,...n}){return h.jsx("div",{"data-slot":"card-content",className:Xe("px-6",e),...n})}function ti({className:e,orientation:n="horizontal",decorative:r=!0,...a}){return h.jsx(mN,{"data-slot":"separator",decorative:r,orientation:n,className:Xe("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...a})}function M$({url:e}){const n=Zt({queryKey:["billing"],queryFn:()=>sn(e)});if(n.isLoading)return h.jsx("div",{className:"empty",children:"Loading…"});if(n.error||!n.data)return h.jsxs("div",{className:"empty",children:[h.jsx("h3",{children:"Billing is unavailable"}),h.jsx("p",{children:n.error?.message||"Try again shortly."})]});const r=n.data;return h.jsxs("div",{className:"project-settings",id:"billing-view",children:[h.jsxs("h2",{children:["Billing",h.jsx("span",{className:"ps-chip plan-chip",children:r.plan.name})]}),h.jsxs($i,{children:[h.jsxs(Ii,{children:[h.jsxs(Pi,{children:[r.plan.name," plan",r.plan.status?` (${r.plan.status})`:""]}),h.jsxs(Po,{children:["Organization ",r.org," · ",r.usage.used," of ",r.usage.cap," used · ",r.seats.used," of ",r.seats.cap," ",r.seats.cap===1?"seat":"seats"]})]}),h.jsx(ti,{}),h.jsx(Fi,{children:h.jsx("div",{className:"usage-bar",children:h.jsx("div",{style:{width:`${r.usage.pct}%`}})})})]}),r.owner?h.jsx("div",{className:"plan-grid",children:r.plans.map(a=>h.jsxs($i,{children:[h.jsxs(Ii,{children:[h.jsx(Pi,{children:a.name}),h.jsx(Po,{children:a.blurb})]}),h.jsx(ti,{}),h.jsxs(Fi,{children:[h.jsxs("p",{className:"plan-price",children:[a.price,h.jsx("small",{children:" / user / month"})]}),h.jsxs("form",{method:"post",action:r.checkout_url,children:[h.jsx("input",{type:"hidden",name:"plan",value:a.id}),h.jsx(vt,{type:"submit",disabled:a.current,variant:a.current?"subtle":"default",children:a.current?"Current plan":`Upgrade to ${a.name}`})]})]})]},a.id))}):h.jsx("p",{className:"muted-note",children:"Only an organization owner can change the plan."}),r.owner&&r.has_customer&&h.jsxs($i,{children:[h.jsxs(Ii,{children:[h.jsx(Pi,{children:"Manage subscription"}),h.jsx(Po,{children:"Change seats, update the card, download invoices, or cancel."})]}),h.jsx(ti,{}),h.jsx(Fi,{children:h.jsx("form",{method:"post",action:r.portal_url,children:h.jsx(vt,{type:"submit",variant:"subtle",children:"Open the billing portal"})})})]})]})}function N$({className:e,type:n,...r}){return h.jsx("input",{type:n,"data-slot":"input",className:Xe("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r})}function nm({className:e,...n}){return h.jsx(PM,{"data-slot":"label",className:Xe("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}function D$({className:e,...n}){return h.jsx("textarea",{"data-slot":"textarea",className:Xe("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...n})}const ew={read:1,write:2,admin:3};function wa(e,n){return(ew[e||""]||0)>=(ew[n]||0)}const Zm=280,z$=cg({name:cu().trim().min(1,"Give the project a name.").max(120,"Keep the name under 120 characters."),description:cu().max(Zm,`Keep the description under ${Zm} characters.`),icon:cu()});function k$({project:e,org:n,onDeleted:r}){const a=C_(),s=wa(e.perm,"admin"),l=eg({resolver:lg(z$),defaultValues:{name:e.name,description:e.description??"",icon:e.icon??""}});w.useEffect(()=>{l.reset({name:e.name,description:e.description??"",icon:e.icon??""})},[e.id,e.name,e.description,e.icon]);const u=l.watch("icon"),d=l.watch("description"),m=l.handleSubmit(async p=>{const y=l.formState.dirtyFields,v={};if(y.name&&(v.name=p.name.trim()),y.description&&(v.description=p.description),y.icon&&(v.icon=p.icon),Object.keys(v).length!==0)try{await er("PATCH","/api/projects/"+e.id,v),Ke("Saved."),l.reset({...p,name:p.name.trim()}),await a()}catch(b){Ke(b.message,!0)}});return h.jsxs("div",{className:"project-settings",children:[h.jsxs("h2",{children:[e.name,!wa(e.perm,"write")&&h.jsx("span",{className:"ps-chip",children:"Read-only"})]}),h.jsxs($i,{children:[h.jsxs(Ii,{children:[h.jsx(Pi,{children:"General"}),h.jsx(Po,{children:"Name, description and icon for this project."})]}),h.jsx(ti,{}),h.jsx(Fi,{children:h.jsxs("form",{className:"ps-form",onSubmit:m,children:[h.jsxs("div",{className:"ps-field",children:[h.jsx(nm,{htmlFor:"ps-icon-btn",children:"Icon"}),h.jsxs("div",{className:"ps-icon-row",children:[h.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(e.name)},children:h.jsx($o,{name:u})}),h.jsxs(AC,{children:[h.jsx(MC,{asChild:!0,children:h.jsx(vt,{id:"ps-icon-btn",type:"button",variant:"subtle",disabled:!s,children:"Change"})}),h.jsxs(NC,{align:"start",className:"ps-icon-grid",children:[h.jsx(zo,{className:"ps-icon-cell"+(u===""?" active":""),title:"Default","aria-label":"Default icon",onSelect:()=>l.setValue("icon","",{shouldDirty:!0}),children:h.jsx($o,{})}),Object.keys(b_).map(p=>h.jsx(zo,{className:"ps-icon-cell"+(u===p?" active":""),title:p,"aria-label":p,onSelect:()=>l.setValue("icon",p,{shouldDirty:!0}),children:h.jsx($o,{name:p})},p))]})]})]})]}),h.jsxs("div",{className:"ps-field",children:[h.jsx(nm,{htmlFor:"ps-name",children:"Name"}),h.jsx(N$,{id:"ps-name",disabled:!s,"aria-invalid":!!l.formState.errors.name,"aria-describedby":l.formState.errors.name?"ps-name-err":void 0,...l.register("name")}),l.formState.errors.name&&h.jsx("span",{id:"ps-name-err",role:"alert",className:"field-err",children:l.formState.errors.name.message})]}),h.jsxs("div",{className:"ps-field",children:[h.jsxs(nm,{htmlFor:"ps-desc",children:["Description ",h.jsx("span",{className:"ps-opt",children:"(optional)"})]}),h.jsx(D$,{id:"ps-desc",rows:2,disabled:!s,placeholder:"What this project is for.","aria-invalid":!!l.formState.errors.description,"aria-describedby":l.formState.errors.description?"ps-desc-err":void 0,...l.register("description")}),h.jsxs("div",{className:"ps-meta",children:[l.formState.errors.description?h.jsx("span",{id:"ps-desc-err",role:"alert",className:"field-err",children:l.formState.errors.description.message}):h.jsx("span",{}),h.jsxs("span",{className:"ps-count",children:[d.length," / ",Zm]})]})]}),s&&h.jsxs(h.Fragment,{children:[h.jsx(ti,{}),h.jsx("div",{className:"ps-actions",children:h.jsx(vt,{id:"ps-save",type:"submit",variant:"primary",disabled:!l.formState.isDirty||l.formState.isSubmitting,children:"Save changes"})})]})]})})]}),h.jsxs($i,{children:[h.jsx(Ii,{children:h.jsx(Pi,{children:"About"})}),h.jsx(ti,{}),h.jsx(Fi,{children:h.jsxs("dl",{className:"ps-facts",children:[h.jsx("dt",{children:"Project id"}),h.jsx("dd",{children:h.jsx("code",{children:e.id})}),n&&h.jsxs(h.Fragment,{children:[h.jsx("dt",{children:"Workspace"}),h.jsx("dd",{children:n.name})]}),e.created&&h.jsxs(h.Fragment,{children:[h.jsx("dt",{children:"Created"}),h.jsx("dd",{children:new Date(e.created).toLocaleDateString()})]})]})})]}),h.jsx(I$,{project:e,org:n}),h.jsx(L$,{project:e}),s&&h.jsxs($i,{className:"ps-danger",children:[h.jsx(Ii,{children:h.jsx(Pi,{children:"Danger zone"})}),h.jsx(ti,{}),h.jsxs(Fi,{children:[h.jsx("p",{children:"Deleting removes the project from this hub. Its files stay in storage. This can't be undone."}),h.jsx(vt,{variant:"danger",onClick:async()=>{if(await w_(`Delete “${e.name}”?`,"This can't be undone. Type the project name to confirm:","","Delete project",{match:e.name,danger:!0})!==null)try{await er("DELETE","/api/projects/"+e.id),Ke(`Deleted “${e.name}”.`),await r()}catch(y){Ke(y.message,!0)}},children:"Delete project"})]})]})]})}function L$({project:e}){const n=Aa(),{data:r,error:a}=S_(e.id);return a?null:h.jsxs($i,{children:[h.jsxs(Ii,{children:[h.jsx(Pi,{children:"Public links"}),h.jsx(Po,{children:"Files in this project that anyone with the URL can read — no account needed."})]}),h.jsx(ti,{}),h.jsx(Fi,{children:h.jsx(TC,{shares:r||[],canRevoke:wa(e.perm,"write"),onChanged:()=>n.invalidateQueries({queryKey:["shares",e.id]}),empty:"No public links."})})]})}const Km=[{value:"admin",label:"Admin"},{value:"write",label:"Write"},{value:"read",label:"Read"},{value:"none",label:"No access"}],$$=Object.fromEntries(Km.map(e=>[e.value,e.label]));function I$({project:e,org:n}){const r=Aa(),{data:a,error:s}=v3(e.id),l=wa(e.perm,"admin"),u=()=>{r.invalidateQueries({queryKey:["permissions",e.id]}),r.invalidateQueries({queryKey:["projects"]})},d=async(x,_)=>{try{await x(),Ke(_)}catch(C){Ke(C.message,!0)}u()};if(s||!a)return null;const m=a,p=`/api/p/${e.id}/permissions`,y=new Set((n?.members||[]).filter(x=>x.role==="owner").map(x=>x.email.toLowerCase())),v=[...m.grants.filter(x=>!y.has(x.email.toLowerCase())),...[...y].sort().map(x=>({email:x,level:"admin",owner:!0}))],b=async()=>{const x=await w_("Add an exception","Email of a workspace member. They get Read access; change it in the table.","","Add");x===null||!x.trim()||await d(()=>er("PUT",`${p}/${encodeURIComponent(x.trim())}`,{level:"read"}),"Added.")};return h.jsxs($i,{className:"ps-people",children:[h.jsxs(Ii,{children:[h.jsx(Pi,{children:"People"}),h.jsx(Po,{children:"Who can see and change this project."})]}),h.jsx(ti,{}),h.jsxs(Fi,{children:[h.jsxs("p",{className:"ps-row",children:[h.jsxs("span",{children:["Everyone in ",n?.name||"this workspace"," can"]}),h.jsx("select",{"aria-label":"Default access for workspace members",disabled:!l,value:m.default,onChange:async x=>{const _=x.target.value;if(_==="none"&&!await Sl("Make this project invite-only?","Only people listed below (and workspace owners) will see this project.","Make invite-only")){u();return}await d(()=>er("PUT",p,{default:_}),"Default access updated.")},children:Km.filter(x=>x.value!=="admin").map(x=>h.jsx("option",{value:x.value,children:x.label},x.value))})]}),m.default==="none"&&h.jsx("p",{className:"ps-note",children:"This project is invite-only: only the people below and workspace owners can see it."}),h.jsxs("div",{className:"ps-people-head",children:[h.jsx("h4",{children:"Exceptions"}),l&&h.jsx(vt,{type:"button",variant:"subtle",onClick:b,children:"+ Add"})]}),v.length===0?h.jsx("p",{className:"ps-note",children:"No exceptions — everyone gets the access above."}):h.jsx("div",{className:"admin-list",children:v.map(x=>{const _="owner"in x;return h.jsxs("div",{className:"admin-item",children:[h.jsxs("span",{className:"ai-main",title:x.email,children:[x.email,m.creator&&x.email.toLowerCase()===m.creator.toLowerCase()&&h.jsx("span",{className:"ai-tag",children:" (creator)"})]}),_?h.jsx("span",{className:"ai-tag",children:"Workspace owner — always admin"}):h.jsxs("span",{className:"role-cell",children:[h.jsx("select",{"aria-label":`Access for ${x.email}`,disabled:!l,value:x.level,onChange:C=>d(()=>er("PUT",`${p}/${encodeURIComponent(x.email)}`,{level:C.target.value}),`${x.email} is now ${$$[C.target.value]||C.target.value}.`),children:Km.map(C=>h.jsx("option",{value:C.value,children:C.label},C.value))}),l&&h.jsx("button",{className:"ai-del","aria-label":`Remove exception for ${x.email}`,onClick:()=>d(()=>er("DELETE",`${p}/${encodeURIComponent(x.email)}`),"Reverted to the default access."),children:"Remove"})]})]},x.email)})})]})]})}const DC="https://raw.githubusercontent.com/runbear-io/beardrive/main/INSTALL_FOR_AGENTS.md";function zC({project:e,existing:n}){const r=window.location.origin,a=n?'. I already have a folder of notes — ask me which one to sync (the project is named "':'. Ask me which folder to sync (the project is named "',s="Follow "+DC+` -to set up BearDrive project `+e.id+" on "+r+a+e.name+'").',l=`brew install runbear-io/tap/beardrive -bdrive login `+r+` -bdrive init --project `+e.id;return h.jsxs("div",{className:"guide",children:[h.jsxs("h1",{className:"in-title gd-head",children:[h.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:fl(e.name)},children:h.jsx($o,{name:e.icon})}),e.name]}),e.description&&h.jsx("p",{className:"in-desc",children:e.description}),h.jsxs("div",{className:"gd-body",children:[h.jsx("p",{className:"gd-desc",children:n?"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder you already have:":"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files:"}),n&&h.jsx("p",{className:"gd-note",children:"Your files stay exactly where they are. Connecting a folder never moves, renames or overwrites anything in it — it uploads what is there and keeps it in sync."}),h.jsx(Ym,{code:s}),h.jsx("p",{className:"gd-desc",children:"The agent installs the CLI, signs this machine in, and registers the sync hooks — asking before anything it changes."}),h.jsxs("details",{className:"gd-manual",children:[h.jsx("summary",{children:"What exactly happens"}),h.jsxs("ul",{className:"gd-desc gd-list",children:[h.jsx("li",{children:"Sign-in uses a device code you approve in this browser — the folder itself never holds credentials."}),h.jsx("li",{children:"Sync hooks pull the latest before every agent turn, push edits seconds after they happen, and stamp each change with the session that made it; agent reads feed Insights. They register once per machine in your agent's own config, so every session is covered and nothing is written into the synced folder."}),h.jsx("li",{children:"Codex hooks are off by default: set [features] codex_hooks = true in ~/.codex/config.toml."})]})]}),h.jsxs("details",{className:"gd-manual",children:[h.jsx("summary",{children:"Or run it yourself"}),h.jsx("p",{className:"gd-desc",children:"Same result, in the folder you want the files. One command: init signs this device in, registers the sync hooks and starts syncing."}),h.jsx(Ym,{code:l}),h.jsx("p",{className:"gd-desc",children:h.jsx("a",{href:"https://docs.beardrive.ai/manual/install/",target:"_blank",rel:"noreferrer",children:"Full manual setup guide →"})})]})]})]})}function Ym({code:e}){const[n,r]=w.useState("Copy");return h.jsxs("pre",{className:"gd-code",children:[h.jsx("code",{children:e}),h.jsx("button",{className:"gd-copy",onClick:async()=>{r(await Bo(e)?"Copied":"Copy failed"),setTimeout(()=>r("Copy"),1400)},children:n})]})}function P$({onNew:e,canCreate:n}){return h.jsxs("div",{className:"onboard",children:[h.jsx("h1",{children:"Welcome to BearDrive"}),h.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),n&&h.jsxs("div",{className:"ob-card ob-start",children:[h.jsx("h3",{children:"Start a project"}),h.jsx("p",{children:"Name it and pick what it starts from — a structure, or nothing at all. Then connect a folder on any machine and it stays in sync."}),h.jsx(vt,{variant:"primary",id:"ob-new",onClick:e,children:"New project"})]}),h.jsxs("div",{className:"ob-card ob-agent",children:[h.jsx("h3",{children:n?"Or let your agent do it":"Connect a new drive to your project"}),h.jsx("p",{children:"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files. It creates the project and starts syncing:"}),h.jsx(Ym,{code:"Follow "+DC+` -to set up a new BearDrive project on `+window.location.origin+". Ask me which folder to sync."}),h.jsx("p",{className:"ob-alt",children:h.jsx("a",{href:"https://docs.beardrive.ai/manual/setup-by-hand/",target:"_blank",rel:"noreferrer",children:"Or start a project manually →"})})]})]})}const kC="__existing__";function F$({templates:e,onCreate:n,onClose:r}){const[a,s]=w.useState(""),[l,u]=w.useState(""),[d,m]=w.useState(""),[p,y]=w.useState(!1),v=async()=>{if(!p){if(!a.trim()){m("Give it a name.");return}y(!0);try{await n(a.trim(),l)}finally{y(!1)}}},b=[...e.map(x=>({value:x.name,title:x.title,blurb:x.blurb,rule:!1})),{value:kC,title:"I already have a folder",blurb:"nothing is seeded — connect it and your files stay as they are",rule:!0},{value:"",title:"Empty project",blurb:"just the folder",rule:!1}];return h.jsx(Qu,{open:!0,onOpenChange:x=>!x&&r(),children:h.jsxs(Xu,{className:"modal",showCloseButton:!1,children:[h.jsx(xl,{asChild:!0,children:h.jsx("h3",{children:"New project"})}),h.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:"Name"}),h.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",id:"modal-input",autoFocus:!0,value:a,"aria-invalid":!!d,"aria-describedby":d?"modal-input-err":void 0,onChange:x=>{s(x.currentTarget.value),d&&m("")},onKeyDown:x=>x.key==="Enter"&&v()}),d&&h.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:d}),b.length>1&&h.jsxs("fieldset",{className:"start-points",children:[h.jsx("legend",{className:"modal-label",children:"Starting point"}),b.map((x,_)=>h.jsxs("label",{className:"start-point"+(l===x.value?" on":"")+(x.rule?" sp-rule":""),children:[h.jsx("input",{type:"radio",name:"template",value:x.value,checked:l===x.value,onChange:()=>u(x.value)}),h.jsxs("span",{className:"sp-text",children:[h.jsxs("span",{className:"sp-title",children:[x.title,_===0&&h.jsx("span",{className:"sp-rec",children:"Recommended"})]}),h.jsx("span",{className:"sp-blurb",children:x.blurb})]})]},x.value))]}),h.jsxs("div",{className:"modal-actions",children:[h.jsx(vt,{variant:"subtle",onClick:r,children:"Cancel"}),h.jsx(vt,{variant:"primary",onClick:v,disabled:p,children:"Create"})]})]})})}function tw(e,n,r){if(!e)return null;if(!r)return e[n]||null;const a={human:0,agent:0,share:0};for(const[s,l]of Object.entries(e))s.startsWith(n+"/")&&(a.human+=l.human||0,a.agent+=l.agent||0,a.share+=l.share||0);return a.human||a.agent||a.share?a:null}function ki(e){return(e.human||0)+(e.agent||0)+(e.share||0)}function Ys(e){const n=ki(e);if(!n)return"";const r=n+(n===1?" read":" reads");if(!e.agent&&!e.share)return r;const a=[];return e.human&&a.push(e.human+" human"),e.agent&&a.push(e.agent+" agent"),e.share&&a.push(e.share+" shared"),r+" ("+a.join(", ")+")"}function V$(e){const n=ki(e);return n?n<3?1:n<10?2:n<30?3:4:0}function U$(e){const n=ki(e);return n?{agent:(e.agent||0)/n,human:(e.human||0)/n,share:(e.share||0)/n}:{agent:0,human:0,share:0}}function H$(e,n){return e?Object.keys(e).filter(r=>!n.has(r)).sort():[]}const B$=7;function q$(e){if(!e.length)return null;let n=e[0],r=e[0];for(const a of e)ar&&(r=a);return{min:n,max:r}}const G$=(e,n)=>n-esn(e+"tree"),enabled:n,refetchInterval:15e3}),a=w.useMemo(()=>{const s=[],l=new Map,u=d=>{for(const m of d.children||[])m.dir?(l.set(m.path,m),u(m)):s.push(m)};return r.data&&u(r.data),{flatFiles:s,dirIndex:l}},[r.data]);return{tree:r.data,...a,loaded:!!r.data}}function Y$(e,n){return Zt({queryKey:["heat",e],queryFn:()=>sn(e+"heat?days=30"),enabled:n,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function Q$(e,n,r){return Zt({queryKey:["history",e,"prefix",n,20],queryFn:()=>sn(e+"history?prefix="+encodeURIComponent(n)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function X$(e,n,r){const a=new Array(e);return new Proxy(a,{get(s,l,u){if(typeof l=="string"){const d=l.charCodeAt(0);if(d>=48&&d<=57){const m=+l;if(Number.isInteger(m)&&m>=0&&ma[y]!==p))&&(a=d,s=n(...d),r?.onChange&&!(l&&r.skipInitialOnChange)&&r.onChange(s),l=!1),s}return u.updateDeps=d=>{a=d},u}function nw(e,n){if(e===void 0)throw new Error("Unexpected undefined");return e}const J$=(e,n)=>Math.abs(e-n)<1.01,W$=(e,n,r)=>{let a;return function(...s){e.clearTimeout(a),a=e.setTimeout(()=>n.apply(this,s),r)}};let Bs;const rm=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},rw=e=>{const{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},eI=e=>e,tI=e=>{const n=Math.max(e.startIndex-e.overscan,0),a=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,s=new Array(a);for(let l=0;l{const r=e.scrollElement;if(!r)return;const a=e.targetWindow;if(!a)return;const s=u=>{const{width:d,height:m}=u;n({width:Math.round(d),height:Math.round(m)})};if(s(rw(r)),!a.ResizeObserver)return()=>{};const l=new a.ResizeObserver(u=>{const d=()=>{const m=u[0];if(m?.borderBoxSize){const p=m.borderBoxSize[0];if(p){s({width:p.inlineSize,height:p.blockSize});return}}s(rw(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return l.observe(r,{box:"border-box"}),()=>{l.unobserve(r)}},ju={passive:!0},rI=typeof window>"u"?!0:"onscrollend"in window,iI=(e,n,r)=>{const a=e.scrollElement;if(!a)return;const s=e.targetWindow;if(!s)return;const l=e.options.useScrollendEvent&&rI;let u=0;const d=l?null:W$(s,()=>n(u,!1),e.options.isScrollingResetDelay),m=v=>()=>{u=r(a),d?.(),n(u,v)},p=m(!0),y=m(!1);return a.addEventListener("scroll",p,ju),l&&a.addEventListener("scrollend",y,ju),()=>{a.removeEventListener("scroll",p),l&&a.removeEventListener("scrollend",y)}},aI=(e,n)=>iI(e,n,r=>{const{horizontal:a,isRtl:s}=e.options;return a?r.scrollLeft*(s&&-1||1):r.scrollTop}),oI=(e,n,r)=>{if(r.options.useCachedMeasurements){const a=r.indexFromElement(e),s=r.options.getItemKey(a);return r.itemSizeCache.get(s)??r.options.estimateSize(a)}if(n?.borderBoxSize){const a=n.borderBoxSize[0];if(a)return Math.round(a[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){const a=r.indexFromElement(e),s=r.options.getItemKey(a),l=r.itemSizeCache.get(s);if(l!==void 0)return l}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},sI=(e,{adjustments:n=0,behavior:r},a)=>{var s,l;(l=(s=a.scrollElement)==null?void 0:s.scrollTo)==null||l.call(s,{[a.options.horizontal?"left":"top"]:e+n,behavior:r})},lI=sI;class cI{constructor(n){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var r,a,s;return((s=(a=(r=this.targetWindow)==null?void 0:r.performance)==null?void 0:a.now)==null?void 0:s.call(a))??Date.now()},this.observer=(()=>{let r=null;const a=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(s=>{s.forEach(l=>{const u=()=>{const d=l.target,m=this.indexFromElement(d);if(!d.isConnected){this.observer.unobserve(d);for(const[p,y]of this.elementsCache)if(y===d){this.elementsCache.delete(p);break}return}this.shouldMeasureDuringScroll(m)&&this.resizeItem(m,this.options.measureElement(d,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()})}));return{disconnect:()=>{var s;(s=a())==null||s.disconnect(),r=null},observe:s=>{var l;return(l=a())==null?void 0:l.observe(s,{box:"border-box"})},unobserve:s=>{var l;return(l=a())==null?void 0:l.unobserve(s)}}})(),this.range=null,this.setOptions=r=>{var a,s;const l={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:eI,rangeExtractor:tI,onChange:()=>{},measureElement:oI,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const b in r){const x=r[b];x!==void 0&&(l[b]=x)}const u=this.options;let d=null,m=null,p=!1;if(u!==void 0&&u.enabled&&l.enabled&&l.anchorTo==="end"&&this.scrollElement!==null){const b=u.count,x=l.count,_=this.getMeasurements(),C=b>0?((a=_[0])==null?void 0:a.key)??u.getItemKey(0):null,E=b>0?((s=_[b-1])==null?void 0:s.key)??u.getItemKey(b-1):null;if(x!==b||b>0&&x>0&&(l.getItemKey(0)!==C||l.getItemKey(x-1)!==E)){p=!0;const T=b>0?this.getVirtualItemForOffset(this.getScrollOffset())??_[0]:null;T&&(d=[T.key,this.getScrollOffset()-T.start]);const A=l.followOnAppend===!0?"auto":l.followOnAppend||null;A&&x>b&&this.isAtEnd(u.scrollEndThreshold)&&(b===0||l.getItemKey(x-1)!==E)&&(m=A)}}this.options=l,p&&(this.pendingMin=0,this.itemSizeCacheVersion++);let y=!1,v=0;if(d&&this.scrollOffset!==null){const[b,x]=d,_=this.getMeasurements(),{count:C,getItemKey:E}=this.options;let j=0;for(;j{var a,s;(s=(a=this.options).onChange)==null||s.call(a,this,r)},this.maybeNotify=Oo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;const a=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==a){if(this.cleanup(),!a){this.maybeNotify();return}if(this.scrollElement=a,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((r=this.scrollElement)==null?void 0:r.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,u)=>{if(u&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const d=this.getScrollOffset();this.scrollDirection=u?d===l?this.scrollDirection:d{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},d=()=>{this._iosTouching=!1,!(!rm()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",u,ju),l.addEventListener("touchend",d,ju),this.unsubs.push(()=>{l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[l,u,d,m]=s;l!==null&&!d&&(rm()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?m!==0&&(this._iosDeferredAdjustment+=m):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),d&&this.scrollToEnd({behavior:d})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const r=this.getScrollOffset(),a=this.getMaxScrollOffset();if(r<0||r>a)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(r,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Oo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(r,a,s,l,u,d,m,p)=>(this.prevLanes!==void 0&&this.prevLanes!==d&&(this.lanesChangedFlag=!0),this.prevLanes=d,this.pendingMin=null,{count:r,paddingStart:a,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:m,gap:p}),{key:!1}),this.getMeasurements=Oo(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:r,paddingStart:a,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:m,gap:p},y)=>{const v=this.itemSizeCache;if(!u)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>r)for(const j of this.laneAssignments.keys())j>=r&&this.laneAssignments.delete(j);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(j=>{this.itemSizeCache.set(j.key,j.size)}));const b=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===r&&(this.lanesSettling=!1),d===1){const j=r*2;let O=this._flatMeasurements;if(!O||O.length0&&L.set(O.subarray(0,b*2)),O=L,this._flatMeasurements=O}let T;if(b===0)T=a+s;else{const L=b-1;T=O[L*2]+O[L*2+1]+p}for(let L=b;L1){A=T;const ge=_[A],fe=ge!==void 0?x[ge]:void 0;L=fe?fe.end+p:a+s}else if(E===d){let ge=0,fe=C[0],Q=_[0];for(let le=1;lethis.options.debug}),this.calculateRange=Oo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,a,s,l)=>r.length===0||a===0?(this.range=null,null):(this.range=dI(r,a,s,l,l===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Oo(()=>{let r=null,a=null;const s=this.calculateRange();return s&&(r=s.startIndex,a=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,a]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,a]},(r,a,s,l,u)=>l===null||u===null?[]:r({startIndex:l,endIndex:u,overscan:a,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=r=>{const a=this.options.indexAttribute,s=r.getAttribute(a);return s?parseInt(s,10):(console.warn(`Missing attribute name '${a}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=r=>{var a;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((a=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:a.index);if(s!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),u=Math.max(0,s-l),d=Math.min(this.options.count-1,s+l);return r>=u&&r<=d}return!0},this.measureElement=r=>{if(!r){this.elementsCache.forEach((u,d)=>{u.isConnected||(this.observer.unobserve(u),this.elementsCache.delete(d))});return}const a=this.indexFromElement(r),s=this.options.getItemKey(a),l=this.elementsCache.get(s);l!==r&&(l&&this.observer.unobserve(l),this.observer.observe(r),this.elementsCache.set(s,r)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(a)&&this.resizeItem(a,this.options.measureElement(r,void 0,this))},this.resizeItem=(r,a)=>{var s,l;if(r<0||r>=this.options.count)return;let u,d,m;const p=this._flatMeasurements;if(this.options.lanes===1&&p!==null)m=this.options.getItemKey(r),d=p[r*2],u=p[r*2+1];else{const b=this.measurementsCache[r];if(!b)return;m=b.key,d=b.start,u=b.size}const y=this.itemSizeCache.get(m)??u,v=a-y;if(v!==0){const b=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=b?this.getTotalSize():0,_=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[r]??{index:r,key:m,start:d,size:u,end:d+u,lane:0},v,this):d[this.getVirtualIndexes(),this.getMeasurements()],(r,a)=>{const s=[];for(let l=0,u=r.length;lthis.options.debug}),this.getVirtualItemForOffset=r=>{const a=this.getMeasurements();if(a.length===0)return;const s=this._flatMeasurements,l=this.options.lanes===1&&s!=null,u=LC(0,a.length-1,l?d=>s[d*2]:d=>nw(a[d]).start,r);return nw(a[u])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const r=this.scrollElement.document.documentElement;return this.options.horizontal?r.scrollWidth-this.scrollElement.innerWidth:r.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(r=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=r,this.getOffsetForAlignment=(r,a,s=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),u=this.getScrollOffset();a==="auto"&&(a=r>=u+l?"end":"start"),a==="center"?r+=(s-l)/2:a==="end"&&(r-=l);const d=this.getMaxScrollOffset();return Math.max(Math.min(d,r),0)},this.getOffsetForIndex=(r,a="auto")=>{r=Math.max(0,Math.min(r,this.options.count-1));const s=this.getSize(),l=this.getScrollOffset(),u=this.measurementsCache[r];if(!u)return;if(a==="auto")if(u.end>=l+s-this.options.scrollPaddingEnd)a="end";else if(u.start<=l+this.options.scrollPaddingStart)a="start";else return[l,a];if(a==="end"&&r===this.options.count-1)return[this.getMaxScrollOffset(),a];const d=a==="end"?u.end+this.options.scrollPaddingEnd:u.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(d,a,u.size),a]},this.scrollToOffset=(r,{align:a="start",behavior:s="auto"}={})=>{const l=this.getOffsetForAlignment(r,a),u=this.now();this.scrollState={index:null,align:a,behavior:s,startedAt:u,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(r,{align:a="auto",behavior:s="auto"}={})=>{r=Math.max(0,Math.min(r,this.options.count-1));const l=this.getOffsetForIndex(r,a);if(!l)return;const[u,d]=l,m=this.now();this.scrollState={index:r,align:d,behavior:s,startedAt:m,lastTargetOffset:u,stableFrames:0},this._scrollToOffset(u,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(r,{behavior:a="auto"}={})=>{const s=this.getScrollOffset()+r,l=this.now();this.scrollState={index:null,align:"start",behavior:a,startedAt:l,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:a}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:r="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:r});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:r})},this.getTotalSize=()=>{var r;const a=this.getMeasurements();let s;if(a.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){const l=a.length-1,u=this._flatMeasurements;u!=null?s=u[l*2]+u[l*2+1]:s=((r=a[l])==null?void 0:r.end)??0}else{const l=Array(this.options.lanes).fill(null);let u=a.length-1;for(;u>=0&&l.some(d=>d===null);){const d=a[u];l[d.lane]===null&&(l[d.lane]=d.end),u--}s=Math.max(...l.filter(d=>d!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const r=[];if(this.itemSizeCache.size===0)return r;const a=this.getMeasurements();for(const s of a)s&&this.itemSizeCache.has(s.key)&&r.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return r},this._scrollToOffset=(r,{adjustments:a,behavior:s})=>{this._intendedScrollOffset=r+(a??0),this.options.scrollToFn(r,{behavior:s,adjustments:a},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(n)}applyScrollAdjustment(n,r){n!==0&&(rm()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=n:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:r}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const a=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=a?a[0]:this.scrollState.lastTargetOffset,l=1,u=s!==this.scrollState.lastTargetOffset;if(!u&&J$(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,u){const d=this.getSize()||600,m=Math.abs(s-this.getScrollOffset()),p=this.scrollState.behavior==="smooth"&&m>d;this.scrollState.lastTargetOffset=s,p||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:p?"smooth":"auto"})}this.scheduleScrollReconcile()}}const LC=(e,n,r,a)=>{for(;e<=n;){const s=(e+n)/2|0,l=r(s);if(la)n=s-1;else return s}return e>0?e-1:0};function uI(e,n,r){let a=0;for(;a<=n;){const s=(a+n)/2|0,l=e[s*2];if(lr)n=s-1;else return s}return a>0?a-1:0}function dI(e,n,r,a,s){const l=e.length-1;if(e.length<=a)return{startIndex:0,endIndex:l};if(a===1&&s!==null){const p=uI(s,l,r);let y=p;const v=r+n;for(;ye[p].start,r),m=d;if(a===1)for(;m1){const p=Array(a).fill(0);for(;mv=0&&y.some(v=>v>=r);){const v=e[d];y[v.lane]=v.start,d--}d=Math.max(0,d-d%a),m=Math.min(l,m+(a-1-m%a))}return{startIndex:d,endIndex:m}}const im=typeof document<"u"?w.useLayoutEffect:w.useEffect;function fI({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...a}){const s=w.useReducer(p=>p+1,0)[1],l=w.useRef({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=n,l.current.mode=r;const u=p=>{const y=l.current;if(!y.enabled||!y.container)return;const v=p.getTotalSize();if(v!==y.lastSize){y.lastSize=v;const j=p.options.horizontal?"width":"height";y.container.style[j]=`${v}px`}const b=!!p.options.horizontal,x=y.mode==="transform",_=b?"left":"top",C=p.options.scrollMargin,E=p.getVirtualItems();for(const j of E){const O=j.start-C,T=p.elementsCache.get(j.key);T&&y.lastPositions.get(T)!==O&&(y.lastPositions.set(T,O),x?T.style.transform=b?`translate3d(${O}px, 0, 0)`:`translate3d(0, ${O}px, 0)`:T.style[_]=`${O}px`)}},d={...a,onChange:(p,y)=>{var v;const b=l.current;let x=!0;if(b.enabled){u(p);const _=p.range,C=b.prevRange;x=!C||C.isScrolling!==p.isScrolling||C.startIndex!==_?.startIndex||C.endIndex!==_?.endIndex,x&&(b.prevRange=_?{startIndex:_.startIndex,endIndex:_.endIndex,isScrolling:p.isScrolling}:null)}x&&(e&&y?Ma.flushSync(s):s()),(v=a.onChange)==null||v.call(a,p,y)}},[m]=w.useState(()=>{const p=new cI(d);return Object.assign(p,{containerRef:y=>{const v=l.current;if(v.container=y,v.lastSize=null,y&&v.enabled){const b=p.getTotalSize();v.lastSize=b;const x=p.options.horizontal?"width":"height";y.style[x]=`${b}px`}}})});return m.setOptions(d),im(()=>m._didMount(),[]),im(()=>m._willUpdate()),im(()=>{u(m)}),m}function hI(e){return fI({observeElementRect:nI,observeElementOffset:aI,scrollToFn:lI,...e})}function mI(e,n){const r=[],a=(s,l)=>{for(const u of s)r.push({node:u,depth:l}),u.dir&&n.has(u.path)&&a(u.children||[],l+1)};return a(e?.children||[],0),r}function pI(e){const{root:n,expanded:r,onToggle:a,currentPath:s,listingShowing:l,onOpen:u}=e,d=w.useRef(null),m=w.useMemo(()=>mI(n,r),[n,r]),p=hI({count:m.length,getScrollElement:()=>d.current,estimateSize:()=>window.matchMedia("(max-width: 768px)").matches?44:28,overscan:12,getItemKey:y=>m[y].node.path});return w.useEffect(()=>{if(!s)return;const y=m.findIndex(v=>v.node.path===s);y>=0&&p.scrollToIndex(y,{align:"auto"})},[s,m]),h.jsx("nav",{id:"tree","aria-label":"Files",ref:d,children:h.jsx("div",{style:{height:p.getTotalSize(),position:"relative"},children:p.getVirtualItems().map(y=>{const{node:v,depth:b}=m[y.index],x=v.dir?r.has(v.path):!1,_=()=>{if(v.dir&&s===v.path&&l){a(v.path);return}u(v.path),v.dir||pr()};return h.jsxs("div",{className:"row "+(v.dir?"dir":"file")+(s===v.path?" active":"")+(v.dir&&!x?" collapsed":""),"data-path":v.path,tabIndex:0,role:"button",title:v.name,"aria-expanded":v.dir?x:void 0,style:{position:"absolute",top:0,left:0,right:0,transform:`translateY(${y.start}px)`,paddingLeft:8+b*13},onClick:_,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),_())},children:[Array.from({length:b},(C,E)=>h.jsx("span",{className:"tguide",style:{left:8+E*13+5},"aria-hidden":"true"},E)),h.jsx("span",{className:"chev",onClick:C=>{v.dir&&(C.stopPropagation(),a(v.path))},children:h.jsx(ht,{name:"chevd"})}),h.jsx("span",{className:"ticon",children:h.jsx(ht,{name:v.dir?"folder":"doc"})}),h.jsx("span",{className:"label",children:v.name})]},y.key)})})})}function gI(e){const n=e.split("/"),r=[];let a="";for(let s=0;s{a=a?a+"/"+s:s;const u=a,d=l===r.length-1;return h.jsxs("span",{children:[l>0&&h.jsx("span",{className:"crumb-sep",children:"/"}),d?h.jsx("span",{children:s}):h.jsx("span",{className:"crumb-seg",title:u,onClick:()=>n(u),children:s})]},u)})})}function iw(e){if(e==="")return[];const n=e.split(` -`);return n[n.length-1]===""&&n.pop(),n}const yI=4e6;function bI(e,n){let r=0;for(;rs.push({op:"-",line:l[v],an:r+v+1}),y=v=>s.push({op:"+",line:u[v],bn:r+v+1});if(d*m>yI){for(let v=0;v=0;_--)for(let C=m-1;C>=0;C--)v[_][C]=l[_]===u[C]?v[_+1][C+1]+1:Math.max(v[_+1][C],v[_][C+1]);let b=0,x=0;for(;b=v[b][x+1]?p(b++):y(x++);for(;ba.op==="+").length,del:r.filter(a=>a.op==="-").length}}const $C=1<<20,wI=8192;function SI(e){if(e.byteLength>$C)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,wI).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Qm(e,n,r,a){let s=e+"blob?sha="+encodeURIComponent(n);return r&&(s+="&name="+encodeURIComponent(r)),a&&(s+="&download=1"),s}async function _I(e){const n=await oj(e),r=Number(n.headers.get("Content-Length"));return r>$C?{kind:"too-large",size:r}:SI(new Uint8Array(await n.arrayBuffer()))}function IC(e,n,r,a){return Zt({queryKey:n,queryFn:()=>_I(e),enabled:r,...a?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function aw(e,n,r){return IC(n?Qm(e,n):"",["blob",e,n],!!n,!0)}function CI(e){return e.slice(e.lastIndexOf("/")+1)}function EI({apiBase:e,path:n,prev:r,cur:a}){const s=CI(n);return h.jsxs("span",{className:"dv-dl",children:[h.jsx("a",{href:Qm(e,r,s,!0),children:"download previous"}),h.jsx("a",{href:Qm(e,a,s,!0),children:"download this version"})]})}function RI({apiBase:e,path:n,prev:r,cur:a}){const s=aw(e,r),l=aw(e,a),u=s.data?.kind==="text"&&l.data?.kind==="text",d=w.useMemo(()=>s.data?.kind==="text"&&l.data?.kind==="text"?xI(s.data.text,l.data.text):null,[s.data,l.data]);if(s.error||l.error)return h.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!s.data||!l.data)return h.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=s.data.kind==="too-large"||l.data.kind==="too-large";return h.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",h.jsx(EI,{apiBase:e,path:n,prev:r,cur:a})]})}const{lines:m,add:p,del:y}=d;return h.jsxs("div",{className:"dv",children:[h.jsxs("div",{className:"dv-head",children:[h.jsxs("span",{className:"dv-stat",children:[h.jsxs("span",{className:"dv-add",children:["+",p]})," ",h.jsxs("span",{className:"dv-del",children:["−",y]})]}),p===0&&y===0&&h.jsx("span",{className:"dv-same",children:"No line changes"})]}),h.jsx("div",{className:"dv-body",children:m.map((v,b)=>h.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[h.jsx("span",{className:"dv-n",children:v.an??""}),h.jsx("span",{className:"dv-n",children:v.bn??""}),h.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),h.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const jI={add:"added",edit:"edited",delete:"deleted"};function PC({text:e}){return h.jsx(h.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?h.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function dg({entry:e,apiBase:n,onOpen:r,diff:a,restore:s,remove:l,restoreSha:u,inRun:d}){const[m,p]=w.useState(!1),[y,v]=w.useState(!1),b=e.kind==="put"?"edit":e.kind,x=ud(e),_=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),C=b!=="delete",E=!!a&&b!=="delete"&&!!e.blob,j=!!d&&b==="add",O=!!s&&!!u&&!j,T=!!l&&j,A=!!s?.busy&&s.busy===e.path+u,L=!!l?.busy&&l.busy===e.path,B=C&&!!e.blob,H=e.path.split("/").pop()||e.path,F=new Date(e.time).toLocaleString(),pe=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(H)+"&download=1",ge=()=>v(!y),fe=Q=>{Q.target.tagName!=="A"&&C&&r(e.path,e.blob)};return h.jsxs("div",{className:"hentry "+b+(C?" clickable":""),tabIndex:C?0:void 0,role:C?"button":void 0,onClick:fe,onKeyDown:Q=>{C&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),r(e.path,e.blob))},children:[h.jsxs("div",{className:"hline",children:[h.jsx("span",{className:"hkind",children:jI[b]||b}),h.jsx("span",{className:"hpath",children:e.path}),h.jsx("span",{className:"htime",children:F})]}),h.jsxs("div",{className:"hmeta",children:[h.jsx("span",{className:"hwho",children:x}),h.jsx("span",{className:"hdev",children:_}),h.jsx("span",{className:"hsize",children:e.size?ug(e.size):""}),O&&h.jsxs("button",{type:"button",className:"hrestore-btn",disabled:A,title:"Put this version of "+e.path+" back as a new change",onClick:Q=>{Q.stopPropagation(),s.onRestore(e.path,u)},onKeyDown:Q=>Q.stopPropagation(),children:[h.jsx(ht,{name:"hist"}),A?"restoring…":"restore"]}),T&&h.jsxs("button",{type:"button",className:"hremove-btn",disabled:L,title:"Remove "+e.path+" — this run created it",onClick:Q=>{Q.stopPropagation(),l.onRemove(e.path)},onKeyDown:Q=>Q.stopPropagation(),children:[h.jsx(ht,{name:"trash"}),L?"removing…":"undo — remove file"]})]}),e.note&&!d&&h.jsx("div",{className:"hnote"+(m?" open":""),tabIndex:0,role:"button",title:m?"Collapse note":"Show full note","aria-expanded":m,onClick:Q=>{Q.stopPropagation(),Q.target.tagName!=="A"&&p(!m)},onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),p(!m))},children:h.jsx(PC,{text:e.note})}),(E||B)&&h.jsxs("div",{className:"hactions",children:[E&&(a.prev?h.jsxs("button",{type:"button",className:"hdiff-btn"+(y?" open":""),"aria-expanded":y,onClick:Q=>{Q.stopPropagation(),ge()},onKeyDown:Q=>Q.stopPropagation(),children:[h.jsx(ht,{name:y?"chevd":"chev"}),y?"hide changes":"show changes"]}):h.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),B&&h.jsxs(h.Fragment,{children:[h.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${H} as of ${F}`,onClick:Q=>{Q.stopPropagation(),r(e.path,e.blob)},onKeyDown:Q=>Q.stopPropagation(),children:[h.jsx(ht,{name:"clock"}),"Open this version"]}),h.jsxs("a",{className:"hver-btn",download:!0,href:pe,"aria-label":`Download ${H} as of ${F}`,onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>{Q.stopPropagation(),Q.key===" "&&(Q.preventDefault(),Q.currentTarget.click())},children:[h.jsx(ht,{name:"download"}),"Download"]})]})]}),E&&a.prev&&y&&h.jsx("div",{onClick:Q=>Q.stopPropagation(),children:h.jsx(RI,{apiBase:a.apiBase,path:e.path,prev:a.prev,cur:e.blob})})]})}function TI(e){const{node:n,heatMap:r,onOpen:a}=e,s=(n.children||[]).slice().sort((p,y)=>Number(y.dir||!1)-Number(p.dir||!1)||p.name.localeCompare(y.name)),l=s.filter(p=>p.dir).length,u=s.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const m=tw(r,n.path,!0);return m&&d.push(Ys(m)+" in 30 days"),h.jsxs("div",{className:"dirlist",children:[h.jsxs("h1",{className:"dl-title",children:[h.jsx("span",{className:"dl-title-icon",children:h.jsx(ht,{name:"folder"})}),h.jsx("span",{children:n.name})]}),h.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),s.length===0?h.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):h.jsx("div",{className:"dl-items",children:s.map(p=>{let y="";if(p.dir){const b=(p.children||[]).length;y=b+(b===1?" item":" items")}else y=[p.size?ug(p.size):"",p.time?new Date(p.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=tw(r,p.path,!!p.dir);return v&&(y=Ys(v)+(y?" · "+y:"")),h.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:p.path,onClick:()=>a(p.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),a(p.path))},children:[h.jsx("span",{className:"ticon",children:h.jsx(ht,{name:p.dir?"folder":"doc"})}),h.jsx("span",{className:"dl-name",children:p.name}),v&&h.jsx("span",{className:"heatdot lvl"+V$(v),role:"img","aria-label":Ys(v)+" in 30 days",title:Ys(v)+" in 30 days"}),h.jsx("span",{className:"dl-meta",children:y})]},p.path)})}),e.hub&&h.jsx(OI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:a,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function OI(e){const n=Q$(e.apiBase,e.prefix,!0),{onRendered:r}=e;return w.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:h.jsxs("div",{className:"dl-history",children:[h.jsx("h3",{className:"dl-h3",children:"Recent changes"}),h.jsx("div",{className:"history dl-hlist",children:n.map((a,s)=>h.jsx(dg,{entry:a,apiBase:e.apiBase,onOpen:e.onOpen},s))}),h.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}function AI(e){const{apiBase:n,path:r,version:a,onMeta:s}=e,l=a?n+"blob?sha="+a+"&name="+encodeURIComponent(r):n+"file?path="+encodeURIComponent(r);return w.useEffect(()=>()=>s(""),[r,s]),l$.test(r)?h.jsx(DI,{...e}):SC.test(r)?h.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):_C.test(r)?h.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):c$.test(r)?h.jsx(LI,{src:l,alt:r,version:a,onRendered:e.onRendered}):u$.test(r)?h.jsx($I,{...e,fileURL:l}):h.jsx(MI,{...e,fileURL:l})}function MI(e){const{apiBase:n,path:r,version:a,fileURL:s,onRendered:l}=e,{data:u,error:d}=IC(s,["text",s],!0,!!a);return w.useEffect(()=>{u&&l?.()},[u,l]),d?h.jsx(dd,{version:a,err:d}):u?u.kind==="text"?h.jsx("pre",{className:"plain",children:u.text},r):h.jsx(NI,{apiBase:n,path:r,version:a,fileURL:s,children:u.kind==="too-large"?`Too large to preview (${ug(u.size)}).`:"No preview for this file type."}):null}function NI(e){const{apiBase:n,path:r,version:a,fileURL:s}=e;return h.jsxs("div",{className:"filecard",children:[h.jsx("div",{className:"name",children:r.split("/").pop()}),h.jsx("p",{children:e.children}),h.jsx("a",{className:"btn",download:!0,href:a?s+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function DI(e){const{apiBase:n,path:r,version:a,heatMap:s,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:m}=e,{data:p,error:y}=Zt({queryKey:["render",n,r,a||""],queryFn:()=>sn(n+"render?path="+encodeURIComponent(r)+(a?"&sha="+a:"")),retry:a?!1:void 0}),v=w.useMemo(()=>p?kI(p.html,r,n):"",[p,r,n]);return w.useEffect(()=>{if(!p)return;const b=[];(p.user_name||p.user||p.author)&&b.push(ud(p)+(p.device?" on "+p.device:"")),p.time&&b.push(new Date(p.time).toLocaleString());const x=a?null:s&&s[p.path];x&&ki(x)&&b.push(Ys(x)+" / 30d"),d(b.join(" · ")),m?.()},[p,a,s,d,m]),y?h.jsx(dd,{version:a,err:y}):p?h.jsx("div",{dangerouslySetInnerHTML:{__html:v},onClick:b=>zI(b,r,l,u)}):null}function zI(e,n,r,a){const s=e.target.closest("a");if(!s||!e.currentTarget.contains(s))return;const l=s.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),II(decodeURIComponent(l.slice(5)),r,a)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),a(CC(u,decodeURIComponent(l))))}function kI(e,n,r){const a=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",s=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",s(CC(a,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function LI(e){const[n,r]=w.useState(!1);return n?h.jsx(dd,{version:e.version,err:new Error("could not be loaded")}):h.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function dd({version:e,err:n}){return h.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function $I(e){const{path:n,version:r,fileURL:a,onRendered:s}=e,{data:l,error:u}=Zt({queryKey:["text",a],queryFn:async()=>{const d=await fetch(a);if(!d.ok)throw new Error(await d.text());return d.text()},retry:r?!1:void 0});return w.useEffect(()=>{l!=null&&s?.()},[l,s]),u?h.jsx(dd,{version:r,err:u}):l==null?null:h.jsx("pre",{className:"plain",children:l},n)}function II(e,n,r){const a=e.toLowerCase(),s=n.find(l=>l.path.toLowerCase()===a||l.path.toLowerCase()===a+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===a||u===a+".md"});s&&r(s.path)}const PI=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function FI({url:e,copied:n,onClose:r}){const a=e.split("/s/")[1],[s,l]=w.useState(""),[u,d]=w.useState(),[m,p]=w.useState(!1),y=w.useRef(null);async function v(b){const x=s;l(b),p(!0);try{const _=await er("PATCH","/api/shares/"+a,{expires_in:b});d(_.expires)}catch(_){Ke(_.message,!0),l(x)}finally{p(!1)}}return h.jsx(Qu,{open:!0,onOpenChange:b=>!b&&r(),children:h.jsxs(Xu,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[h.jsx(xl,{asChild:!0,children:h.jsx("h3",{children:"Public link"})}),h.jsxs("p",{children:[h.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),h.jsx("div",{className:"modal-url",children:e}),h.jsxs("div",{className:"modal-expiry",children:[h.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),h.jsx("select",{id:"share-expiry",value:s,disabled:m,onChange:b=>v(b.target.value),children:PI.map(b=>h.jsx("option",{value:b.value,children:b.label},b.value))}),h.jsx("span",{className:"modal-expiry-note",children:RC(u)})]}),h.jsxs("div",{className:"modal-actions",children:[h.jsx(vt,{ref:y,variant:"primary",onClick:()=>Bo(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),h.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),h.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function VI({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:h.jsxs("div",{className:"share-banner",role:"status",children:[h.jsxs("div",{className:"sb-head",children:[h.jsx(ht,{name:"share"}),h.jsx("b",{children:"Publicly shared"}),h.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),h.jsxs("p",{className:"sb-note",children:[h.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it."]}),e.map(a=>h.jsxs("div",{className:"sb-link",children:[h.jsx("span",{className:"sb-url mono",title:a.url,children:a.url}),h.jsx("span",{className:"sb-meta",children:jC(a,!1)}),h.jsxs("span",{className:"sb-actions",children:[h.jsx(vt,{variant:"subtle",onClick:()=>Bo(a.url).then(s=>Ke(s?"Copied.":"Select and copy the link.")),children:"Copy link"}),h.jsx(vt,{variant:"subtle",onClick:()=>window.open(a.url,"_blank"),children:"Open"}),n&&h.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${a.path}`,onClick:()=>OC(a,r),children:"Revoke"})]})]},a.token))]})}var ow=1,UI=.9,HI=.8,BI=.17,am=.1,om=.999,qI=.9999,GI=.99,ZI=/[\\\/_+.#"@\[\(\{&]/,KI=/[\\\/_+.#"@\[\(\{&]/g,YI=/[\s-]/,FC=/[\s-]/g;function Xm(e,n,r,a,s,l,u){if(l===n.length)return s===e.length?ow:GI;var d=`${s},${l}`;if(u[d]!==void 0)return u[d];for(var m=a.charAt(l),p=r.indexOf(m,s),y=0,v,b,x,_;p>=0;)v=Xm(e,n,r,a,p+1,l+1,u),v>y&&(p===s?v*=ow:ZI.test(e.charAt(p-1))?(v*=HI,x=e.slice(s,p-1).match(KI),x&&s>0&&(v*=Math.pow(om,x.length))):YI.test(e.charAt(p-1))?(v*=UI,_=e.slice(s,p-1).match(FC),_&&s>0&&(v*=Math.pow(om,_.length))):(v*=BI,s>0&&(v*=Math.pow(om,p-s))),e.charAt(p)!==n.charAt(l)&&(v*=qI)),(vv&&(v=b*am)),v>y&&(y=v),p=r.indexOf(m,p+1);return u[d]=y,y}function sw(e){return e.toLowerCase().replace(FC," ")}function QI(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Xm(e,n,sw(e),sw(n),0,0,{})}var qs='[cmdk-group=""]',sm='[cmdk-group-items=""]',XI='[cmdk-group-heading=""]',VC='[cmdk-item=""]',lw=`${VC}:not([aria-disabled="true"])`,Jm="cmdk-item-select",Ao="data-value",JI=(e,n,r)=>QI(e,n,r),UC=w.createContext(void 0),El=()=>w.useContext(UC),HC=w.createContext(void 0),fg=()=>w.useContext(HC),BC=w.createContext(void 0),qC=w.forwardRef((e,n)=>{let r=Mo(()=>{var N,U;return{search:"",value:(U=(N=e.value)!=null?N:e.defaultValue)!=null?U:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),a=Mo(()=>new Set),s=Mo(()=>new Map),l=Mo(()=>new Map),u=Mo(()=>new Set),d=GC(e),{label:m,children:p,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:_,disablePointerSelection:C=!1,vimBindings:E=!0,...j}=e,O=hn(),T=hn(),A=hn(),L=w.useRef(null),B=cP();Oa(()=>{if(y!==void 0){let N=y.trim();r.current.value=N,H.emit()}},[y]),Oa(()=>{B(6,le)},[]);let H=w.useMemo(()=>({subscribe:N=>(u.current.add(N),()=>u.current.delete(N)),snapshot:()=>r.current,setState:(N,U,X)=>{var K,se,ee,ve;if(!Object.is(r.current[N],U)){if(r.current[N]=U,N==="search")Q(),ge(),B(1,fe);else if(N==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ye=document.getElementById(A);ye?ye.focus():(K=document.getElementById(O))==null||K.focus()}if(B(7,()=>{var ye;r.current.selectedItemId=(ye=ue())==null?void 0:ye.id,H.emit()}),X||B(5,le),((se=d.current)==null?void 0:se.value)!==void 0){let ye=U??"";(ve=(ee=d.current).onValueChange)==null||ve.call(ee,ye);return}}H.emit()}},emit:()=>{u.current.forEach(N=>N())}}),[]),F=w.useMemo(()=>({value:(N,U,X)=>{var K;U!==((K=l.current.get(N))==null?void 0:K.value)&&(l.current.set(N,{value:U,keywords:X}),r.current.filtered.items.set(N,pe(U,X)),B(2,()=>{ge(),H.emit()}))},item:(N,U)=>(a.current.add(N),U&&(s.current.has(U)?s.current.get(U).add(N):s.current.set(U,new Set([N]))),B(3,()=>{Q(),ge(),r.current.value||fe(),H.emit()}),()=>{l.current.delete(N),a.current.delete(N),r.current.filtered.items.delete(N);let X=ue();B(4,()=>{Q(),X?.getAttribute("id")===N&&fe(),H.emit()})}),group:N=>(s.current.has(N)||s.current.set(N,new Set),()=>{l.current.delete(N),s.current.delete(N)}),filter:()=>d.current.shouldFilter,label:m||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:O,inputId:A,labelId:T,listInnerRef:L}),[]);function pe(N,U){var X,K;let se=(K=(X=d.current)==null?void 0:X.filter)!=null?K:JI;return N?se(N,r.current.search,U):0}function ge(){if(!r.current.search||d.current.shouldFilter===!1)return;let N=r.current.filtered.items,U=[];r.current.filtered.groups.forEach(K=>{let se=s.current.get(K),ee=0;se.forEach(ve=>{let ye=N.get(ve);ee=Math.max(ye,ee)}),U.push([K,ee])});let X=L.current;xe().sort((K,se)=>{var ee,ve;let ye=K.getAttribute("id"),Ne=se.getAttribute("id");return((ee=N.get(Ne))!=null?ee:0)-((ve=N.get(ye))!=null?ve:0)}).forEach(K=>{let se=K.closest(sm);se?se.appendChild(K.parentElement===se?K:K.closest(`${sm} > *`)):X.appendChild(K.parentElement===X?K:K.closest(`${sm} > *`))}),U.sort((K,se)=>se[1]-K[1]).forEach(K=>{var se;let ee=(se=L.current)==null?void 0:se.querySelector(`${qs}[${Ao}="${encodeURIComponent(K[0])}"]`);ee?.parentElement.appendChild(ee)})}function fe(){let N=xe().find(X=>X.getAttribute("aria-disabled")!=="true"),U=N?.getAttribute(Ao);H.setState("value",U||void 0)}function Q(){var N,U,X,K;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=a.current.size;return}r.current.filtered.groups=new Set;let se=0;for(let ee of a.current){let ve=(U=(N=l.current.get(ee))==null?void 0:N.value)!=null?U:"",ye=(K=(X=l.current.get(ee))==null?void 0:X.keywords)!=null?K:[],Ne=pe(ve,ye);r.current.filtered.items.set(ee,Ne),Ne>0&&se++}for(let[ee,ve]of s.current)for(let ye of ve)if(r.current.filtered.items.get(ye)>0){r.current.filtered.groups.add(ee);break}r.current.filtered.count=se}function le(){var N,U,X;let K=ue();K&&(((N=K.parentElement)==null?void 0:N.firstChild)===K&&((X=(U=K.closest(qs))==null?void 0:U.querySelector(XI))==null||X.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function ue(){var N;return(N=L.current)==null?void 0:N.querySelector(`${VC}[aria-selected="true"]`)}function xe(){var N;return Array.from(((N=L.current)==null?void 0:N.querySelectorAll(lw))||[])}function D(N){let U=xe()[N];U&&H.setState("value",U.getAttribute(Ao))}function q(N){var U;let X=ue(),K=xe(),se=K.findIndex(ve=>ve===X),ee=K[se+N];(U=d.current)!=null&&U.loop&&(ee=se+N<0?K[K.length-1]:se+N===K.length?K[0]:K[se+N]),ee&&H.setState("value",ee.getAttribute(Ao))}function ie(N){let U=ue(),X=U?.closest(qs),K;for(;X&&!K;)X=N>0?sP(X,qs):lP(X,qs),K=X?.querySelector(lw);K?H.setState("value",K.getAttribute(Ao)):q(N)}let te=()=>D(xe().length-1),ne=N=>{N.preventDefault(),N.metaKey?te():N.altKey?ie(1):q(1)},k=N=>{N.preventDefault(),N.metaKey?D(0):N.altKey?ie(-1):q(-1)};return w.createElement($e.div,{ref:n,tabIndex:-1,...j,"cmdk-root":"",onKeyDown:N=>{var U;(U=j.onKeyDown)==null||U.call(j,N);let X=N.nativeEvent.isComposing||N.keyCode===229;if(!(N.defaultPrevented||X))switch(N.key){case"n":case"j":{E&&N.ctrlKey&&ne(N);break}case"ArrowDown":{ne(N);break}case"p":case"k":{E&&N.ctrlKey&&k(N);break}case"ArrowUp":{k(N);break}case"Home":{N.preventDefault(),D(0);break}case"End":{N.preventDefault(),te();break}case"Enter":{N.preventDefault();let K=ue();if(K){let se=new Event(Jm);K.dispatchEvent(se)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:dP},m),hd(e,N=>w.createElement(HC.Provider,{value:H},w.createElement(UC.Provider,{value:F},N))))}),WI=w.forwardRef((e,n)=>{var r,a;let s=hn(),l=w.useRef(null),u=w.useContext(BC),d=El(),m=GC(e),p=(a=(r=m.current)==null?void 0:r.forceMount)!=null?a:u?.forceMount;Oa(()=>{if(!p)return d.item(s,u?.id)},[p]);let y=ZC(s,l,[e.value,e.children,l],e.keywords),v=fg(),b=qi(B=>B.value&&B.value===y.current),x=qi(B=>p||d.filter()===!1?!0:B.search?B.filtered.items.get(s)>0:!0);w.useEffect(()=>{let B=l.current;if(!(!B||e.disabled))return B.addEventListener(Jm,_),()=>B.removeEventListener(Jm,_)},[x,e.onSelect,e.disabled]);function _(){var B,H;C(),(H=(B=m.current).onSelect)==null||H.call(B,y.current)}function C(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:j,onSelect:O,forceMount:T,keywords:A,...L}=e;return w.createElement($e.div,{ref:Fo(l,n),...L,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:C,onClick:E?void 0:_},e.children)}),eP=w.forwardRef((e,n)=>{let{heading:r,children:a,forceMount:s,...l}=e,u=hn(),d=w.useRef(null),m=w.useRef(null),p=hn(),y=El(),v=qi(x=>s||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Oa(()=>y.group(u),[]),ZC(u,d,[e.value,e.heading,m]);let b=w.useMemo(()=>({id:u,forceMount:s}),[s]);return w.createElement($e.div,{ref:Fo(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&w.createElement("div",{ref:m,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),hd(e,x=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},w.createElement(BC.Provider,{value:b},x))))}),tP=w.forwardRef((e,n)=>{let{alwaysRender:r,...a}=e,s=w.useRef(null),l=qi(u=>!u.search);return!r&&!l?null:w.createElement($e.div,{ref:Fo(s,n),...a,"cmdk-separator":"",role:"separator"})}),nP=w.forwardRef((e,n)=>{let{onValueChange:r,...a}=e,s=e.value!=null,l=fg(),u=qi(p=>p.search),d=qi(p=>p.selectedItemId),m=El();return w.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),w.createElement($e.input,{ref:n,...a,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":m.listId,"aria-labelledby":m.labelId,"aria-activedescendant":d,id:m.inputId,type:"text",value:s?e.value:u,onChange:p=>{s||l.setState("search",p.target.value),r?.(p.target.value)}})}),rP=w.forwardRef((e,n)=>{let{children:r,label:a="Suggestions",...s}=e,l=w.useRef(null),u=w.useRef(null),d=qi(p=>p.selectedItemId),m=El();return w.useEffect(()=>{if(u.current&&l.current){let p=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=p.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(p),()=>{cancelAnimationFrame(v),b.unobserve(p)}}},[]),w.createElement($e.div,{ref:Fo(l,n),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":a,id:m.listId},hd(e,p=>w.createElement("div",{ref:Fo(u,m.listInnerRef),"cmdk-list-sizer":""},p)))}),iP=w.forwardRef((e,n)=>{let{open:r,onOpenChange:a,overlayClassName:s,contentClassName:l,container:u,...d}=e;return w.createElement(dp,{open:r,onOpenChange:a},w.createElement(hp,{container:u},w.createElement(mp,{"cmdk-overlay":"",className:s}),w.createElement(pp,{"aria-label":e.label,"cmdk-dialog":"",className:l},w.createElement(qC,{ref:n,...d}))))}),aP=w.forwardRef((e,n)=>qi(r=>r.filtered.count===0)?w.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),oP=w.forwardRef((e,n)=>{let{progress:r,children:a,label:s="Loading...",...l}=e;return w.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},hd(e,u=>w.createElement("div",{"aria-hidden":!0},u)))}),fd=Object.assign(qC,{List:rP,Item:WI,Input:nP,Group:eP,Separator:tP,Dialog:iP,Empty:aP,Loading:oP});function sP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function lP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function GC(e){let n=w.useRef(e);return Oa(()=>{n.current=e}),n}var Oa=typeof window>"u"?w.useEffect:w.useLayoutEffect;function Mo(e){let n=w.useRef();return n.current===void 0&&(n.current=e()),n}function qi(e){let n=fg(),r=()=>e(n.snapshot());return w.useSyncExternalStore(n.subscribe,r,r)}function ZC(e,n,r,a=[]){let s=w.useRef(),l=El();return Oa(()=>{var u;let d=(()=>{var p;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(p=y.current.textContent)==null?void 0:p.trim():s.current}})(),m=a.map(p=>p.trim());l.value(e,d,m),(u=n.current)==null||u.setAttribute(Ao,d),s.current=d}),s}var cP=()=>{let[e,n]=w.useState(),r=Mo(()=>new Map);return Oa(()=>{r.current.forEach(a=>a()),r.current=new Map},[e]),(a,s)=>{r.current.set(a,s),n({})}};function uP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function hd({asChild:e,children:n},r){return e&&w.isValidElement(n)?w.cloneElement(uP(n),{ref:n.ref},r(n.props.children)):r(n)}var dP={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function fP({className:e,...n}){return h.jsx(fd,{"data-slot":"command",className:Xe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function hP({className:e,...n}){return h.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[h.jsx(h_,{className:"size-4 shrink-0 opacity-50"}),h.jsx(fd.Input,{"data-slot":"command-input",className:Xe("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function mP({className:e,...n}){return h.jsx(fd.List,{"data-slot":"command-list",className:Xe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function pP({className:e,...n}){return h.jsx(fd.Item,{"data-slot":"command-item",className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function cw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),a=n.toLowerCase();let s=0,l=0,u=0;const d=[];for(let m=0;m3&&a.endsWith("ies")?s=a.slice(0,-3)+"y":a.length>3&&a.endsWith("es")?s=a.slice(0,-2):a.length>2&&a.endsWith("s")&&(s=a.slice(0,-1)),s?cw(s,n):null}function vP({text:e,hits:n}){const r=[];let a=0;return n.forEach((s,l)=>{s>a&&r.push(e.slice(a,s)),r.push(h.jsx("b",{children:e[s]},l)),a=s+1}),r.push(e.slice(a)),h.jsx("span",{className:"plabel",children:r})}function yP({open:e,onClose:n,candidates:r}){const[a,s]=w.useState(""),l=w.useMemo(()=>{if(!e)return[];const d=[];for(const m of r()){const p=gP(a,m.label);p&&d.push({...m,score:p.score,hits:p.hits})}return d.sort((m,p)=>p.score-m.score),d.slice(0,40)},[e,a,r]);w.useEffect(()=>{e&&s("")},[e]);const u=d=>{n(),d.run()};return h.jsx(Qu,{open:e,onOpenChange:d=>!d&&n(),children:h.jsxs(Xu,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[h.jsx(xl,{className:"sr-only",children:"Search and quick actions"}),h.jsxs(fP,{shouldFilter:!1,loop:!0,children:[h.jsxs("div",{id:"palette-inputwrap",children:[h.jsx(ht,{name:"search"}),h.jsx(hP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:a,onValueChange:s})]}),h.jsx(mP,{children:l.length===0?h.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>h.jsxs(pP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[h.jsx("span",{className:"picon",children:h.jsx(ht,{name:d.icon})}),h.jsx(vP,{text:d.label,hits:d.hits}),h.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),h.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Qs=3,No=30;function bP(e,n){return Zt({queryKey:["heatDevices",e],queryFn:()=>sn(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}function uw(e){const[n,r]=w.useState("all"),{flatFiles:a,heatMap:s,devices:l,scope:u}=e,d=_=>!u||_===u||_.startsWith(u+"/"),m=u?a.filter(_=>d(_.path)):a;if(!e.loading&&!m.length)return h.jsxs("div",{className:"insights",children:[h.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?h.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),h.jsxs("div",{className:"dl-empty in-blank",children:[h.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),h.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&h.jsx("a",{className:"pbtn",...cl(e.installHref),children:"Set up a device →"})]})]});const p=l&&u?l.map(_=>{const C={};for(const[E,j]of Object.entries(_.folders||{}))d(E)&&(C[E]=j);return{..._,folders:C}}).filter(_=>Object.keys(_.folders).length>0):l,y=Date.now(),v=m.map(_=>{const C=s&&s[_.path]||{},E=_.time?Math.max(0,(y-new Date(_.time).getTime())/864e5):0,j=n==="all"?ki(C):C[n]||0;return{path:_.path,reads:j,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ki(C),days:E,danger:j>=Qs&&E>=No}}),b=H$(s,new Set(a.map(_=>_.path))).filter(d).map(_=>{const C=s[_];return{path:_,reads:n==="all"?ki(C):C[n]||0,agent:C.agent||0,human:C.human||0,share:C.share||0,total:ki(C),days:0,danger:!1,orphan:!0}}).filter(_=>_.reads>0),x=b.length>0?h.jsxs("p",{className:"in-legend in-orphan-note",children:[Wm(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return h.jsxs("div",{className:"insights",children:[h.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?h.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),h.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),h.jsx("div",{className:"in-lens",children:["all","human","agent"].map(_=>h.jsx("button",{className:"in-lens-btn"+(_===n?" active":""),onClick:()=>r(_),children:_==="all"?"All reads":_==="human"?"Human reads":"Agent reads"},_))}),h.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),h.jsx(xP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,h.jsx("h3",{className:"dl-h3",children:"Reads × freshness"}),h.jsx(SP,{pts:v,onOpenFile:e.onOpenFile}),x,h.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),h.jsx(_P,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),p&&p.length>0&&h.jsxs(h.Fragment,{children:[h.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),h.jsx(CP,{devices:p})]})]})}function KC(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),a=Math.min(n.length-2,Math.floor(r)),s=r-a,l=n[a].map((u,d)=>Math.round(u+(n[a+1][d]-u)*s));return`rgb(${l[0]},${l[1]},${l[2]})`}function dw(e,n,r,a,s){const l=e.reduce((p,y)=>p+y.value,0);if(!l||a<=0||s<=0)return[];const u=e.slice().sort((p,y)=>y.value-p.value).map(p=>({it:p,a:p.value/l*a*s})),d=(p,y)=>{const b=p.reduce((_,C)=>_+C.a,0)/y;let x=0;for(const _ of p){const C=_.a/b;x=Math.max(x,C/b,b/C)}return x},m=[];for(;u.length;){const p=a>=s,y=p?s:a,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((_,C)=>_+C.a,0)/y;let x=0;for(const _ of v){const C=_.a/b;p?m.push({item:_.it,x:n,y:r+x,w:b,h:C}):m.push({item:_.it,x:n+x,y:r,w:C,h:b}),x+=C}p?(n+=b,a-=b):(r+=b,s-=b)}return m}const lm=15;function fw(e,n,r){const a=Math.floor((r-8)/6),s=`${e} · ${n}`;return s.length<=a?{label:s,fit:a}:{label:e.length>a?e.slice(0,Math.max(1,a-1))+"…":e,fit:a}}const Wm=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function xP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:a}){const u=new Map;for(const m of e){const p=m.path.includes("/")?m.path.split("/")[0]:"/";let y=u.get(p);y||u.set(p,y={name:p,files:[],value:0,reads:0}),y.files.push(m),y.value+=m.reads+1,y.reads+=m.reads}const d=[];for(const m of dw([...u.values()],0,0,720,480)){const p=m.item,y=p.name==="/"?"":p.name,v=p.name==="/"?"(root)":p.name;if(d.push(h.jsx("rect",{x:m.x+1,y:m.y+1,width:Math.max(0,m.w-2),height:Math.max(0,m.h-2),rx:3,className:"in-tm-group","data-dir":y,children:h.jsx("title",{children:`${p.name==="/"?"(root)":p.name+"/"} — ${Wm(p.reads,"read")}/30d · ${Wm(p.files.length,"file")}`})},"g"+p.name)),m.w>46&&m.h>lm+10){const{label:x}=fw(v,p.reads,m.w);d.push(h.jsx("text",{x:m.x+5,y:m.y+12,className:"in-tm-glabel","data-dir":y,children:x},"gl"+p.name))}const b=dw(p.files.map(x=>({...x,name:x.path.split("/").pop(),value:x.reads+1})),m.x+2,m.y+lm,Math.max(0,m.w-4),Math.max(0,m.h-lm-2));for(const x of b)if(d.push(h.jsx("rect",{x:x.x+.6,y:x.y+.6,width:Math.max(.4,x.w-1.2),height:Math.max(.4,x.h-1.2),rx:1.5,fill:KC(x.item.days),className:"in-tm-cell","data-path":x.item.path,children:h.jsx("title",{children:`${x.item.path} — ${x.item.reads} read${x.item.reads===1?"":"s"}/30d · changed ${Math.round(x.item.days)}d ago`})},x.item.path)),x.w>54&&x.h>16){const{label:_,fit:C}=fw((x.item.danger?"⚠ ":"")+x.item.name,x.item.reads,x.w);C>=5&&d.push(h.jsx("text",{x:x.x+4.5,y:x.y+12.5,className:"in-tm-label","data-path":x.item.path,children:_},"l"+x.item.path))}}return h.jsxs(h.Fragment,{children:[h.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:m=>{const p=m.target.closest("[data-path], [data-dir]");if(!p)return;const y=p.getAttribute("data-path");if(y)return n(y);const v=p.getAttribute("data-dir");v&&a(v)&&r(v)},children:d}),h.jsx(wP,{pts:e})]})}function wP({pts:e}){const n=q$(e.map(a=>a.days));if(!n)return null;const r=Z$(n.min,n.max);return h.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",h.jsx("span",{className:"in-sw in-sw-age",style:{background:`linear-gradient(to right, ${[0,60,150,300].map(KC).join(", ")})`}}),"300d+",h.jsx("span",{className:"in-tm-range",children:G$(n.min,n.max)?`all files here: ${r} old — colour carries no signal in this range`:`observed: ${r} old`})]})}function SP({pts:e,onOpenFile:n}){const s={l:44,r:16,t:20,b:34},l=Math.max(No*2,...e.map(v=>v.days)),u=Math.max(Qs*2,...e.map(v=>v.reads)),d=v=>Math.log10(v+1)/Math.log10(l+1),m=v=>Math.log10(v+1)/Math.log10(u+1),p=v=>s.l+d(v)*(720-s.l-s.r),y=v=>360-s.b-m(v)*(360-s.t-s.b);return h.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[h.jsx("rect",{x:p(No),y:s.t,width:720-s.r-p(No),height:y(Qs)-s.t,className:"in-danger-zone"}),h.jsx("line",{x1:p(No),y1:s.t,x2:p(No),y2:360-s.b,className:"in-threshold"}),h.jsx("line",{x1:s.l,y1:y(Qs),x2:720-s.r,y2:y(Qs),className:"in-threshold"}),h.jsx("line",{x1:s.l,y1:360-s.b,x2:720-s.r,y2:360-s.b,className:"in-axis"}),h.jsx("line",{x1:s.l,y1:s.t,x2:s.l,y2:360-s.b,className:"in-axis"}),h.jsx("text",{x:(s.l+720-s.r)/2,y:352,className:"in-label",children:"days since last change →"}),h.jsx("text",{x:12,y:(s.t+360-s.b)/2,className:"in-label",transform:`rotate(-90 12 ${(s.t+360-s.b)/2})`,children:"reads / 30d →"}),h.jsx("text",{x:720-s.r-6,y:s.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),h.jsx("text",{x:s.l+6,y:s.t+14,className:"in-quad",children:"hot + fresh"}),h.jsx("text",{x:720-s.r-6,y:360-s.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),h.jsx("text",{x:s.l+6,y:360-s.b-8,className:"in-quad",children:"cold + fresh"}),h.jsx("text",{x:720-s.r-6,y:s.t+28,className:"in-label",textAnchor:"end",children:"dot size = agent share of reads"}),e.map(v=>{const b=v.total?(v.agent||0)/v.total:0;return h.jsx("circle",{cx:Number(p(v.days).toFixed(1)),cy:Number(y(v.reads).toFixed(1)),r:Number((3+4*b).toFixed(1)),className:"in-pt"+(v.danger?" danger":v.reads?"":" cold"),onClick:()=>n(v.path),children:h.jsx("title",{children:`${v.path} — ${v.reads} read${v.reads===1?"":"s"} / 30d · changed ${Math.round(v.days)}d ago`})},v.path)})]})}function _P({pts:e,lens:n,onOpenFile:r,onOpenHistory:a}){const s=e.filter(d=>d.reads>0).sort((d,m)=>m.reads-d.reads||m.days-d.days).slice(0,20);if(!s.length)return h.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=s[0].reads,u=s.some(d=>d.share>0);return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"in-hotpath",children:s.map(d=>{const m=n==="agent"?{agent:1,human:0,share:0}:n==="human"?{agent:0,human:1,share:0}:U$(d),p=d.reads/l*100,y=()=>d.orphan?a(d.path):r(d.path);return h.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[h.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&h.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),h.jsxs("span",{className:"in-hp-bar",children:[h.jsx("span",{className:"in-hp-agent",style:{width:(p*m.agent).toFixed(1)+"%"}}),h.jsx("span",{className:"in-hp-human",style:{width:(p*m.human).toFixed(1)+"%"}}),h.jsx("span",{className:"in-hp-share",style:{width:(p*m.share).toFixed(1)+"%"}})]}),h.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),h.jsxs("p",{className:"in-legend",children:[h.jsx("span",{className:"in-sw agent"})," agent reads ",h.jsx("span",{className:"in-sw human"})," human reads",u&&h.jsxs(h.Fragment,{children:[" ",h.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function CP({devices:e}){const n=new Map;for(const b of e)for(const[x,_]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+_);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),a=e.slice(0,12),s=140,l=6,u=Math.min(76,Math.max(34,(720-s-8)/r.length)),d=26,m=720,p=l+a.length*d+58,y=Math.max(1,...a.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],_=[245,166,35],C=x.map((E,j)=>Math.round(E+(_[j]-E)*b));return`rgb(${C[0]},${C[1]},${C[2]})`};return h.jsxs("svg",{viewBox:`0 0 ${m} ${p}`,className:"in-chart in-matrix",children:[a.map((b,x)=>{let _=b.name||b.id||"";return _.length>20&&(_=_.slice(0,19)+"…"),h.jsxs("g",{children:[h.jsx("text",{x:s-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:_}),r.map((C,E)=>{const j=(b.folders||{})[C]||0;return h.jsx("rect",{x:s+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(j/y)),children:h.jsx("title",{children:`${b.name||b.id} × ${C||"(root)"}: ${j} read${j===1?"":"s"}/30d`})},C)})]},b.id||x)}),r.map((b,x)=>{const _=s+x*u+(u-4)/2,C=l+a.length*d+14;return h.jsx("text",{x:_,y:C,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${_} ${C})`,children:b||"(root)"},b)})]})}function YC(e){return new Set(e.entries.map(n=>n.path)).size}function EP(e){const n=l=>l.note+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note,entries:[l],idx:[u]})});const a=[],s=new Set;return e.forEach((l,u)=>{const d=l.note?r.get(n(l)):void 0;if(!d||YC(d)<2){a.push({i:u});return}s.has(d)||(s.add(d),a.push({run:d,i:u}))}),a}function RP(e){const{apiBase:n,target:r,isFolder:a,onMeta:s,onRendered:l,restore:u,remove:d}=e,m=r?a(r)?{prefix:r+"/"}:{path:r}:{prefix:""},p="path"in m&&m.path!==void 0?"path="+encodeURIComponent(m.path):"prefix="+encodeURIComponent(m.prefix??""),{data:y,error:v,fetchNextPage:b,hasNextPage:x,isFetchingNextPage:_}=nj({queryKey:["history",n,p],queryFn:({pageParam:A})=>sn(n+"history?"+p+"&n=100"+(A?"&cursor="+encodeURIComponent(A):"")),initialPageParam:"",getNextPageParam:A=>A.next_cursor,staleTime:15e3});if(w.useEffect(()=>{v&&s("History unavailable: "+v.message)},[v,s]),w.useEffect(()=>{y&&l?.()},[y,l]),!y)return null;const C=y.pages.flatMap(A=>A.entries||[]),E=!!r&&!a(r),j=A=>{for(let L=A+1;L{const L=C[A].kind==="delete"?j(A):C[A].blob;return L&&L===O.get(C[A].path)?void 0:L};return h.jsxs("div",{className:"history",children:[C.length===0&&h.jsx("div",{className:"empty",children:"No history yet."}),EP(C).map((A,L)=>A.run?h.jsx(jP,{run:A.run,onOpen:e.onOpen,apiBase:n,perFile:E,prevBlob:j,restoreSha:T,restore:u,remove:d},"g"+L):h.jsx(dg,{entry:C[A.i],apiBase:n,onOpen:e.onOpen,diff:E?{apiBase:n,prev:j(A.i)}:void 0,restore:u,restoreSha:T(A.i)},"r"+A.i)),x&&h.jsx("button",{type:"button",className:"btn hmore",onClick:()=>b(),disabled:_,children:_?"Loading…":"Load more"})]})}function jP({run:e,onOpen:n,apiBase:r,perFile:a,prevBlob:s,restoreSha:l,restore:u,remove:d}){const[m,p]=w.useState(!0),y=e.entries[0],v=ud(y),b=[y.device.name||y.device.id,y.device.os].filter(Boolean).join(" · "),x=e.entries.map(E=>new Date(E.time).getTime()),_=TP(Math.min(...x),Math.max(...x)),C=YC(e);return h.jsxs("div",{className:"hrun"+(m?" open":""),children:[h.jsxs("div",{className:"hrun-head",children:[h.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":m,title:m?"Collapse this run":"Expand this run",onClick:()=>p(!m),children:h.jsx(ht,{name:m?"chevd":"chev"})}),h.jsx("span",{className:"hrun-note",children:h.jsx(PC,{text:e.note})}),h.jsxs("span",{className:"hrun-meta",children:[C," file",C===1?"":"s"," · ",v,b?" · "+b:""]}),h.jsx("span",{className:"hrun-time",children:_})]}),m&&h.jsx("div",{className:"hrun-body",children:e.entries.map((E,j)=>h.jsx(dg,{entry:E,apiBase:r,onOpen:n,diff:a?{apiBase:r,prev:s(e.idx[j])}:void 0,restore:u,remove:d,restoreSha:l(e.idx[j]),inRun:!0},j))})]})}function TP(e,n){const r=new Date(e),a=new Date(n),s=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==a.toDateString())return r.toLocaleString()+" – "+a.toLocaleString();const l=a.toLocaleDateString();return e===n?l+" "+s(a):l+" "+s(r)+" – "+s(a)}function OP(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function AP(e){const{apiBase:n,path:r,version:a}=e,s="path="+encodeURIComponent(r),{data:l}=Zt({queryKey:["history",n,s,200],queryFn:()=>sn(n+"history?"+s+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===a),d=u?ud(u):"",m=u?.time?new Date(u.time).toLocaleString():"",p=n+"blob?sha="+a+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return h.jsxs("div",{className:"vbanner",role:"status",children:[h.jsx("span",{className:"vb-icon",children:h.jsx(ht,{name:"clock"})}),h.jsxs("div",{className:"vb-text",children:[h.jsx("b",{children:[m&&"Version from "+m,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),h.jsx("span",{children:"This is not the current file."})]}),h.jsxs("div",{className:"vb-actions",children:[h.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),h.jsx("a",{className:"ai-btn",download:!0,href:p,children:"Download this version"})]})]})}function QC(e){const{config:n,apiBase:r,route:a,hub:s,project:l}=e,u=qp(),d=Aa(),{tree:m,flatFiles:p,dirIndex:y,loaded:v}=K$(r,!s||!!l),b=Y$(r,s&&!!l&&!!n.reads?.enabled),x=s&&!!l&&!a.path&&!a.view,_=a.view==="dashboard"||x,C=bP(r,_);w.useEffect(()=>{_&&d.invalidateQueries({queryKey:["heat",r]})},[_,r,d]);const E=a.path,j=a.view?void 0:a.version,O=E||(a.view==="dashboard"||a.view==="history")&&a.viewTarget||"",T=!!E&&y.has(E),A=!!E&&v&&!T&&p.some(z=>z.path===E),L=!!E&&v&&!T&&!A,B=T&&!a.view,[H,F]=w.useState(()=>new Set),pe=w.useRef(!0);w.useEffect(()=>{if(!m||!pe.current)return;pe.current=!1;const z=(m.children||[]).filter(I=>I.dir);z.length===1&&F(I=>new Set(I).add(z[0].path))},[m]),w.useEffect(()=>{!O||!v||F(z=>{const I=new Set(z);for(const J of gI(O))I.add(J);return y.has(O)&&I.add(O),I})},[O,v,y]);const ge=w.useCallback(z=>{F(I=>{const J=new Set(I);return J.has(z)?J.delete(z):J.add(z),J})},[]),fe=w.useRef(null),Q=w.useRef(new Map),le=w.useRef({key:"",want:0,attempts:0});w.useEffect(()=>{le.current={key:u,want:w3()==="POP"?Q.current.get(u)??0:0,attempts:0}},[u]);const ue=w.useCallback(()=>{const z=fe.current,I=le.current;!z||I.key!==u||I.attempts>=3||(I.attempts++,z.scrollTo({top:I.want,behavior:"instant"}))},[u]),xe=w.useCallback(()=>{fe.current&&Q.current.set(u,fe.current.scrollTop)},[u]),D=w.useCallback((z,I)=>{fn(Ju(z,l?.id,I)),pr()},[l?.id]),q=w.useCallback(z=>fn(mr("history",l?.id,z)),[l?.id]),[ie,te]=w.useState(""),[ne,k]=w.useState(null),[N,U]=w.useState(!1),[X,K]=w.useState(!1);w.useEffect(()=>MD(()=>K(!0)),[]);const se=w.useRef(null),ee=e.panel??null,ve=!ee&&s&&!!l&&A&&wa(l.perm,"write"),{data:ye}=S_(l?.id,s&&!!l),Ne=w.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Ie=A?(ye||[]).filter(z=>z.path===E):[],Fe=!ee&&s&&!!l,dt=!ee&&A,Qe=!ee&&(A||s&&!!l&&T),vn=j?r+"blob?sha="+j+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),cn=w.useCallback(async()=>{try{const z=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E})});if(!z.ok)throw new Error(await z.text());const I=await z.json();Tw("share_created");const J=await Bo(I.url);k({url:I.url,copied:J}),Ne()}catch(z){Ke("Share failed: "+z.message,!0)}},[r,E,Ne]),[Kt,ir]=w.useState(""),Dt=s&&!!l&&wa(l?.perm,"write"),ar=w.useCallback(async(z,I)=>{ir(z+I);try{await Sa(r+"restore",{path:z,sha:I}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+z+" — it syncs to every device like any other change.")}catch(J){Ke("Restore failed: "+J.message,!0)}finally{ir("")}},[r,d]),[Dr,Tt]=w.useState(""),Un=w.useCallback(async z=>{if(await Sl("Remove "+z+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){Tt(z);try{await Sa(r+"remove",{path:z}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+z+" — it syncs to every device like any other change.")}catch(I){Ke("Remove failed: "+I.message,!0)}finally{Tt("")}}},[r,d]),wt=w.useCallback(()=>{if(!E)return q("");q(T?E+"/":E)},[E,T,q]);w.useEffect(()=>{const z=I=>{(I.metaKey||I.ctrlKey)&&I.key.toLowerCase()==="k"&&(I.preventDefault(),K(J=>!J))};return window.addEventListener("keydown",z),()=>window.removeEventListener("keydown",z)},[]);const oi=w.useCallback(()=>{const z=[],I=(J,ce,me,be)=>z.push({icon:J,label:ce,kind:me,run:be});if(s&&l){const J=l.id,ce=me=>()=>{e.onClosePanel?.(),fn(me)};I("folder","Go to project root","action",ce("/"+J)),I("dashboard","Dashboard","action",ce(mr("dashboard",J))),I("terminal","Installation","action",ce(mr("install",J))),I("gear","Settings","action",ce(mr("settings",J)))}if(s&&l&&E&&(A&&I("share","Share: "+E,"action",cn),I("hist","History: "+E,"action",wt),A&&I("download","Download: "+E,"action",()=>se.current?.click())),s&&l&&I("hist","History: whole project","action",()=>q("")),s)for(const J of e.projects||[])(!l||J.id!==l.id)&&I("folder","Switch to project: "+J.name,"project",()=>fn("/"+J.id));n.auth?.enabled&&I("power","Sign out","action",()=>window.location.href="/auth/logout");for(const J of y.keys())I("folder",J,"folder",()=>D(J));for(const J of p)I("doc",J.path,"file",()=>D(J.path));return z},[s,l,E,A,n.auth?.enabled,y,p,e.projects,e.onClosePanel,cn,wt,q,D]);w.useEffect(()=>{if(!N)return;const z=()=>U(!1);return document.addEventListener("click",z),()=>document.removeEventListener("click",z)},[N]);const yn=w.useCallback(z=>y.has(z),[y]);let zr="app",or,Yt;ee?Yt=ee.body:a.view==="dashboard"?Yt=h.jsx(uw,{flatFiles:p,heatMap:b,devices:C,scope:a.viewTarget||"",loading:!v,installHref:l?mr("install",l.id):void 0,onOpenFile:D,onOpenFolder:D,onOpenHistory:q,isFolder:yn}):a.view==="history"?Yt=h.jsx(RP,{apiBase:r,target:a.viewTarget||"",isFolder:yn,onOpen:D,onMeta:te,onRendered:ue,restore:Dt?{onRestore:ar,busy:Kt}:void 0,remove:Dt?{onRemove:Un,busy:Dr}:void 0}):E?v?L?Yt=h.jsxs("div",{className:"notfound",children:[h.jsx("h1",{children:"Couldn't find that"}),h.jsxs("p",{children:[h.jsx("code",{children:E})," isn't in this project right now."]}),h.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),h.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):T?Yt=h.jsx(TI,{node:y.get(E),heatMap:b,hub:s&&!!l,apiBase:r,onOpen:D,onFullHistory:q,onRendered:ue}):(zr=SC.test(E)||_C.test(E)?"wide":"read",or="markdown",Yt=h.jsxs(h.Fragment,{children:[j&&h.jsx(AP,{apiBase:r,path:E,version:j,onViewCurrent:()=>D(E)}),h.jsx(AI,{apiBase:r,path:E,version:j,heatMap:b,flatFiles:p,onOpenFile:D,onMeta:te,onRendered:ue})]})):Yt=h.jsx("div",{className:"empty",children:"Loading…"}):x?Yt=h.jsxs(h.Fragment,{children:[h.jsx(zC,{project:l,existing:a.connect==="existing"}),h.jsx("div",{className:"home-insights",children:h.jsx(uw,{flatFiles:p,heatMap:b,devices:C,loading:!v,onOpenFile:D,onOpenFolder:D,onOpenHistory:q,isFolder:yn})})]}):Yt=h.jsx("div",{className:"empty",children:"Select a file to read it."});const bn=ee?ee.crumb:E?h.jsx(vI,{path:E,onOpenFolder:D}):a.view==="dashboard"?"Dashboard — "+(a.viewTarget||l?.name||""):a.view==="history"?"History — "+OP(a.viewTarget||"",yn):x?l.name:null,M=h.jsx(ll,{crumb:bn,meta:ie,actions:h.jsxs(h.Fragment,{children:[ve&&h.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:cn,children:h.jsx(ht,{name:"share"})}),Fe&&!E&&!a.view&&h.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:wt,children:[h.jsx(ht,{name:"hist"})," ",h.jsx("span",{className:"lbl",children:"History"})]}),dt&&h.jsx("a",{id:"download",hidden:!0,download:!0,href:vn,ref:se,children:"Download"}),Qe&&h.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:z=>{z.stopPropagation(),U(!N)},children:h.jsx(ht,{name:"dots"})}),N&&h.jsxs("div",{id:"more-menu",role:"menu",children:[Fe&&h.jsx("button",{className:"more-item",onClick:wt,children:"History"}),dt&&h.jsx("button",{className:"more-item",onClick:()=>se.current?.click(),children:"Download"}),s&&!!l&&h.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),fn(mr("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return h.jsxs(h.Fragment,{children:[h.jsx(sl,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:h.jsx(pI,{root:m,expanded:H,onToggle:ge,currentPath:O,listingShowing:B,onOpen:D}),topbar:M,contentRef:fe,onContentScroll:xe,children:h.jsxs(xu,{width:zr,className:or,children:[!ee&&A&&h.jsx(VI,{shares:Ie,canRevoke:!!l&&wa(l.perm,"write"),onChanged:Ne}),Yt]})}),ne&&h.jsx(FI,{url:ne.url,copied:ne.copied,onClose:()=>{k(null),Ne()}}),h.jsx(yP,{open:X,onClose:()=>K(!1),candidates:oi})]})}function MP({config:e}){const n=qp(),r=C_(),[a,s]=w.useState(null),[l,u]=w.useState(null);w.useEffect(()=>u(null),[n]);const d=w.useMemo(()=>{const ue=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ue?ue[1]:null},[n]),{data:m}=p3(!d),{data:p}=g3(!d),y=!!e.auth.admin,{data:v}=__(y),b=w.useMemo(()=>R_(n,"hub"),[n]),[x,_]=w.useState(!1),C=e.upload.enabled,E=async(ue,xe)=>{const D=xe===kC;try{const q=await Sa("/api/projects",{name:ue,template:D?"":xe});_(!1),await r(),fn("/"+q.project.id+(D?"?connect=existing":"")),Ke(`Created “${q.project.name}”.`)}catch(q){Ke("Could not create the project: "+q.message,!0)}},j=w.useRef(!1);w.useEffect(()=>{j.current||d||!m||m.length>0||!C||(j.current=!0,_(!0))},[m,C,d]);const O=x?h.jsx(F$,{templates:e.templates??[],onCreate:E,onClose:()=>_(!1)}):null,T=w.useMemo(()=>m&&(m.find(ue=>ue.id===b.project)||a&&m.find(ue=>ue.org===a)||m[0])||null,[m,b.project,a]);if(w.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive"},[T,e]),d)return h.jsx(NP,{token:d,onDone:async ue=>{s(ue),await r(),fn("/",{replace:!0})}});const A=e.brand||"BearDrive",L=T&&p?.find(ue=>ue.id===T.org)||null,B=h.jsx(Yu,{name:A,onHome:()=>fn("/"),search:!!T}),H=e.me?h.jsx(A$,{me:e.me,org:L,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),pr()}}:void 0}):void 0;if(!m||!p)return h.jsx(sl,{vault:B,topbar:h.jsx(ll,{}),children:h.jsx(xu,{children:h.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return h.jsxs(sl,{vault:B,projectsNav:h.jsx(Wx,{projects:m,onNew:()=>_(!0)}),orgBar:H,topbar:h.jsx(ll,{}),children:[h.jsx(xu,{children:h.jsx(P$,{onNew:()=>_(!0),canCreate:C})}),O]});const F=l?.kind==="hub"?{crumb:"Signup & access",body:h.jsx(x$,{})}:null,pe=b.org?p.find(ue=>ue.id===b.org):null,fe=b.org&&!pe?{crumb:"Organization",body:h.jsxs("div",{className:"empty",children:[h.jsx("h3",{children:"Organization not found"}),h.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),h.jsx("p",{children:h.jsxs("a",{...cl("/"+T.id),children:["Back to ",T.name]})})]})}:pe?{crumb:"Organization",body:h.jsx(v$,{org:pe,projects:m,myEmail:e.me?.email||""})}:null,Q=b.billing?{crumb:"Billing",body:e.billing?h.jsx(M$,{url:e.billing.url}):h.jsxs("div",{className:"empty",children:[h.jsx("h3",{children:"No billing on this hub"}),h.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,le=b.view==="settings"?{crumb:"Project settings",body:h.jsx(k$,{project:T,org:L,onDeleted:async()=>{await r(),fn("/")}})}:b.view==="install"?{crumb:"Installation",body:h.jsx(zC,{project:T,existing:b.connect==="existing"})}:null;return!b.org&&!b.billing&&b.project!==T.id?h.jsx(su,{to:"/"+T.id}):b.legacyView&&b.view?h.jsx(su,{to:mr(b.view,T.id,b.viewTarget)}):b.trailingSlash&&b.path?h.jsx(su,{to:Ju(b.path,T.id,b.version)}):h.jsxs(h.Fragment,{children:[h.jsx(QC,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:m,sidebar:{vault:B,projectsNav:h.jsx(Wx,{projects:m,currentId:T.id,onNew:()=>_(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),fn(mr("dashboard",T.id)),pr()},onInstall:()=>{u(null),fn(mr("install",T.id)),pr()},onHistory:()=>{u(null),fn(mr("history",T.id)),pr()},onSettings:()=>{u(null),fn(mr("settings",T.id)),pr()}}}),orgBar:H},panel:F||fe||Q||le,onClosePanel:()=>u(null)},T.id),O]})}function NP({token:e,onDone:n}){return w.useEffect(()=>{let r=!1;return Sa("/api/invites/"+e).then(a=>{r||(Ke(`Welcome — you joined the “${a.org.name}” team. Opening its projects…`),n(a.org.id))}).catch(a=>{r||String(a.message).includes("signing in")||(Ke("Could not accept the invite: "+a.message,!0),n(null))}),()=>{r=!0}},[e]),h.jsx(sl,{vault:h.jsx(Yu,{name:"BearDrive"}),topbar:h.jsx(ll,{}),children:h.jsx(xu,{children:h.jsx("div",{className:"empty",children:"Joining…"})})})}function DP({config:e}){const n=qp(),r=e.volume||"BearDrive";w.useEffect(()=>{document.title=e.brand||r},[e,r]);const a=w.useMemo(()=>R_(n,"volume"),[n]);return a.trailingSlash&&a.path?h.jsx(su,{to:Ju(a.path)}):h.jsx(QC,{config:e,apiBase:"/api/",route:a,hub:!1,sidebar:{vault:h.jsx(Yu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function zP(){const{data:e}=sj();return h.jsxs(jD,{delayDuration:150,children:[e?e.mode==="hub"?h.jsx(MP,{config:e}):h.jsx(DP,{config:e}):h.jsx(sl,{vault:h.jsx(Yu,{name:"…",showSignout:!1}),topbar:h.jsx(ll,{}),children:h.jsx("div",{className:"empty",children:"Loading…"})}),h.jsx(s3,{}),h.jsx(f3,{})]})}const kP=new B2({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});v2.createRoot(document.getElementById("root")).render(h.jsx(w.StrictMode,{children:h.jsx(q2,{client:kP,children:h.jsx(zP,{})})})); diff --git a/internal/webapp/static/index.html b/internal/webapp/static/index.html index 92e992a..f35af47 100644 --- a/internal/webapp/static/index.html +++ b/internal/webapp/static/index.html @@ -5,8 +5,8 @@ BearDrive - - + +
diff --git a/web/docs/src/content/docs/index.md b/web/docs/src/content/docs/index.md index 5102afc..05bf2d8 100644 --- a/web/docs/src/content/docs/index.md +++ b/web/docs/src/content/docs/index.md @@ -57,7 +57,7 @@ page. any object store suffices. - **Change tracking** — `bdrive log` and the web UI's History view show which account changed which file, when, from which device. Every version is - retained. + retained, and the feed narrows by path, author and date range. - **Read analytics** — the hub records what humans, share links, and *agents* actually read, and surfaces the knowledge nobody maintains. - **Cloud-provider agnostic** — a hub stores on Amazon S3, Google Cloud Storage, diff --git a/web/docs/src/content/docs/reference/cli.md b/web/docs/src/content/docs/reference/cli.md index acf3387..c2ceee7 100644 --- a/web/docs/src/content/docs/reference/cli.md +++ b/web/docs/src/content/docs/reference/cli.md @@ -106,6 +106,13 @@ versions in between stay in the history, the restore itself shows up in teammate like any other edit — so you can restore away from a restore. The hub has the same button on every history row. +The hub's History view narrows the feed by path substring, author and date +range (dates are UTC days, inclusive at both ends). The filters live in the +URL — `/history?q=runbook&user=mira@acme.io&since=2026-07-01&until=2026-07-31` +— so a narrowed feed is a link you can send, and it survives reload and Back. +Filtering happens on the server, so paging through a filtered feed shows every +match, not just the ones on the first page. + **Restore puts content back; it does not delete.** To un-create a file an agent run *created*, open that run in the hub's History view and use the row's **undo — remove file** button (it asks first: the file leaves every synced From bea0c1f65c32eb19823d017a9c8f7de636915a57 Mon Sep 17 00:00:00 2001 From: Snow Lee Date: Sun, 2 Aug 2026 20:25:42 -0700 Subject: [PATCH 2/2] docs(architecture): the frontend diagram parses again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The escaped quotes inside the NewProjectDialog note made the whole classDiagram fail to parse — it has been rendering as an error box, not a diagram, since that note landed. Same breakage on origin/main; noticed while adding HistoryFilters to the same file. Co-Authored-By: Claude Opus 5 (1M context) --- architecture/webapp-frontend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/architecture/webapp-frontend.md b/architecture/webapp-frontend.md index b1b6b4a..197a133 100644 --- a/architecture/webapp-frontend.md +++ b/architecture/webapp-frontend.md @@ -76,7 +76,7 @@ classDiagram OrgAdmin HubSettings ProjectSettings Palette shell AccountBar ... } - note for components "NewProjectDialog replaced ProjectNav's name-only modalPrompt: name + starting point, POSTing {name, template}. Its options come from useConfig()'s `templates`, never a hardcoded list, so a hub shipping another template needs no frontend change; \"Empty project\" (value \"\") stays preselected so an unpicked create behaves exactly as it did before templates. modal.tsx keeps its one-field API — teaching it about choices would tax every other caller" + note for components "NewProjectDialog replaced ProjectNav's name-only modalPrompt: name + starting point, POSTing {name, template}. Its options come from useConfig()'s `templates`, never a hardcoded list, so a hub shipping another template needs no frontend change; 'Empty project' (value: the empty string) stays preselected so an unpicked create behaves exactly as it did before templates. modal.tsx keeps its one-field API — teaching it about choices would tax every other caller" note for components "HistoryFilters drives the SERVER (?q=/?user=/?since=/?until= on the history API), never the loaded page — filtering what is on screen would lie about everything below the fold and break next_cursor. Its state is Route.filters, so a narrowed feed is linkable, survives reload, and Back undoes it; the author list accumulates across fetches, because filtering by one author leaves only their rows loaded" note for components "components/ui — shadcn/ui primitives (Radix, copied in), themed from BearDrive tokens in tw.css; rendered markdown is transformed as a string before mounting, link clicks delegated on the container — never patch the dangerouslySetInnerHTML subtree"