From e1ca7f6a5e43903d5a019a4d67b659d23e2d552f Mon Sep 17 00:00:00 2001 From: "Claude (Werkstatt PC)" Date: Fri, 10 Jul 2026 12:56:14 +0200 Subject: [PATCH] Ideen-Queue: natives Hermes-Kanban wird DIE Sammelstelle (Abloesung S2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Entscheid nach Probe (Hermes-first): Dispatcher im Gateway, Specifier (triage -> sauberer Auftrag), Profil-Routing und Artefakt-Tracking sind nativ E2E bewiesen — kein Eigenbau. Auftragsbuch bleibt das Klick-Gate. - backend services/ideen.py + routers/ideen.py: MC2-Tuer zur Queue (GET /api/ideen, POST /api/ideen -> kanban create --triage, Archiv) - AuftragsbuchView: Ideen-Queue-Sektion (Eingabefeld + Status-Liste), dist frisch gebaut - mcp_voice.py: idee_notieren (Lucys Sprech-Leitung, Prompt-Diaet: 1 Tool) - chef-gutachter-feed.sh: Morgenlage bekommt kanban stats + Bewegung - Bagatell-Pfad: bagatell-annahme.sh + mc2-bagatell.timer (04:10) — NUR .md-Anlagen/-AEnderungen, max 2/Nacht, gleicher Annahme-Runner mit Health-Gate + Auto-Revert, Chronik/Telegram-Meldung - werkstatt-SOUL.md: Leitplanken des Kanban-Worker-Profils (propose-only, nie main, nie Live-Checkout) — deploy.sh zieht sie kuenftig nach Box-live heute schon (ausserhalb Repo, mit Backups): toolsets+kanban, platform_toolsets.telegram+kanban, SOUL.md-Ideen-Regel, Profil werkstatt (model.default=coder), Gateway neu gestartet + E2E-Tuer-Test gruen. Co-Authored-By: Claude Fable 5 --- backend/app.py | 2 + backend/routers/ideen.py | 39 +++ backend/services/ideen.py | 138 ++++++++ deploy/bagatell-annahme.sh | 72 ++++ deploy/chef-gutachter-feed.sh | 6 + deploy/deploy.sh | 7 + deploy/mc2-bagatell.service | 9 + deploy/mc2-bagatell.timer | 9 + deploy/werkstatt-SOUL.md | 31 ++ docs/AUFTRAGSBUCH.md | 37 ++- ...View-y_-KFiL6.js => GraphView-CPgavSqE.js} | 2 +- .../{index-BfahO8B0.js => index-BRolD2Rb.js} | 308 +++++++++--------- frontend/dist/index.html | 30 +- frontend/src/lib/api.ts | 18 + frontend/src/lib/queries.ts | 10 + frontend/src/views/AuftragsbuchView.tsx | 136 +++++++- mcp/mcp_voice.py | 20 ++ 17 files changed, 700 insertions(+), 174 deletions(-) create mode 100644 backend/routers/ideen.py create mode 100644 backend/services/ideen.py create mode 100644 deploy/bagatell-annahme.sh create mode 100644 deploy/mc2-bagatell.service create mode 100644 deploy/mc2-bagatell.timer create mode 100644 deploy/werkstatt-SOUL.md rename frontend/dist/assets/{GraphView-y_-KFiL6.js => GraphView-CPgavSqE.js} (99%) rename frontend/dist/assets/{index-BfahO8B0.js => index-BRolD2Rb.js} (66%) diff --git a/backend/app.py b/backend/app.py index 44471f3..4dbad9d 100644 --- a/backend/app.py +++ b/backend/app.py @@ -29,6 +29,7 @@ from routers import ( gateway_proxy, health, hermes_ui, + ideen, maintenance, memory, models, @@ -123,6 +124,7 @@ app.include_router( app.include_router(gateway_proxy.router) # OpenAI-kompatibler /v1-Gateway (model:auto) app.include_router(maintenance.router) app.include_router(auftragsbuch.router) # Vorschlags-Inbox (Mensch-Gate als Klick) +app.include_router(ideen.router) # Ideen-Queue (natives Hermes-Kanban) — Tür der Zentrale app.include_router(chronik.router) # Timeline der autonomen Taten (Announce-Store) app.include_router(wissen.router) # Wissens-Vault (Traum-Notizen) read-only app.include_router(zeitmaschine.router) # Snapshots ansehen + Ein-Klick-Restore (detached) diff --git a/backend/routers/ideen.py b/backend/routers/ideen.py new file mode 100644 index 0000000..df05cbc --- /dev/null +++ b/backend/routers/ideen.py @@ -0,0 +1,39 @@ +"""Ideen-Queue-Endpoints — dünner REST-Layer über services/ideen.py (natives Hermes-Kanban). +LAN-only wie alle MC2-Endpoints; das Mensch-Gate bleibt die Karte im Auftragsbuch.""" + +from fastapi import APIRouter, HTTPException +from pydantic import BaseModel + +from services import ideen + +router = APIRouter(prefix="/api") + + +class IdeeIn(BaseModel): + titel: str + notiz: str = "" + + +class TaskIn(BaseModel): + id: str + + +@router.get("/ideen") +def list_queue() -> dict: + return ideen.list_queue() + + +@router.post("/ideen") +def add_idea(body: IdeeIn) -> dict: + res = ideen.add_idea(body.titel, body.notiz) + if not res.get("ok"): + raise HTTPException(400, res.get("error", "Idee konnte nicht angelegt werden.")) + return res + + +@router.post("/ideen/archivieren") +def archive(body: TaskIn) -> dict: + res = ideen.archive_task(body.id) + if not res.get("ok"): + raise HTTPException(400, res.get("error", "Archivieren fehlgeschlagen.")) + return res diff --git a/backend/services/ideen.py b/backend/services/ideen.py new file mode 100644 index 0000000..a60f0c8 --- /dev/null +++ b/backend/services/ideen.py @@ -0,0 +1,138 @@ +""" +Ideen-Queue — DIE eine Sammelstelle für Ideen des Commanders (Entscheid 10.07.2026). + +Die Queue selbst ist das NATIVE Hermes-Kanban (SQLite-Board, Dispatcher im Gateway): +Idee rein (triage) → der Specifier arbeitet sie aus → ein Worker-Profil setzt sie um → +Code-Ergebnisse kommen als Vorschlags-Branch zurück und erscheinen als Karte im +Auftragsbuch. Dieser Service ist nur die MC2-Tür dazu: anlegen + anzeigen + aufräumen, +alles über die Hermes-CLI (stabile --json-Schnittstelle, kein Griff in die kanban.db). + +Türen insgesamt: Telegram/Desktop (natives kanban_create-Tool), Lucy-Voice +(mcp_voice.idee_notieren → POST /api/ideen) und die Zentrale (Auftragsbuch-Tab → hier). + +Lokal (Windows-Dev) ist alles harmlos: available=False, Aktionen geben Fehler statt zu crashen. +""" + +import json +import logging +import os +import re +import subprocess +import time +from pathlib import Path + +log = logging.getLogger(__name__) + +HERMES = Path(os.environ.get("MC_HERMES_BIN", "~/.local/bin/hermes")).expanduser() + +_TASK_ID_RX = re.compile(r"^t_[0-9a-f]{4,16}$") + +# Die CLI kostet pro Aufruf ein paar Sekunden Python-Start — die UI pollt aber. +_list_cache: dict = {"ts": 0.0, "data": None} +_LIST_EVERY = 15.0 # s + + +def _available() -> bool: + return os.name == "posix" and HERMES.is_file() + + +def _hermes(args: list[str], timeout: int = 60) -> subprocess.CompletedProcess: + return subprocess.run([str(HERMES), "kanban", *args], + capture_output=True, text=True, timeout=timeout) + + +def _parse_json(stdout: str): + """CLI-Ausgabe kann Log-Zeilen vor dem JSON enthalten — ab der ersten Klammer parsen.""" + text = stdout or "" + for opener in ("[", "{"): + idx = text.find(opener) + if idx >= 0: + try: + return json.loads(text[idx:]) + except json.JSONDecodeError: + continue + return None + + +def list_queue() -> dict: + """Alle nicht archivierten Aufgaben des Boards, jüngste zuerst — die Queue-Sicht der UI.""" + if not _available(): + return {"available": False, "items": [], "offen": 0} + + now = time.time() + if _list_cache["data"] is not None and now - _list_cache["ts"] < _LIST_EVERY: + return _list_cache["data"] + + try: + r = _hermes(["list", "--json", "--sort", "created-desc"]) + raw = _parse_json(r.stdout) + except Exception: + log.warning("ideen: kanban list fehlgeschlagen", exc_info=True) + raw = None + if not isinstance(raw, list): + # CLI kaputt/Timeout → ehrlich leer melden, aber nicht cachen (nächster Poll versucht's neu) + return {"available": True, "items": [], "offen": 0, "fehler": "Queue nicht lesbar"} + + items = [] + for t in raw[:60]: + try: + items.append({ + "id": t.get("id", ""), + "titel": (t.get("title") or "(ohne Titel)")[:200], + "body": (t.get("body") or "")[:600], + "status": t.get("status", "?"), + "assignee": t.get("assignee"), + "erstellt": t.get("created_at"), + "fertig": t.get("completed_at"), + "von": t.get("created_by"), + }) + except Exception: + continue + offen = sum(1 for i in items if i["status"] not in ("done",)) + data = {"available": True, "items": items, "offen": offen} + _list_cache.update(ts=now, data=data) + return data + + +def add_idea(titel: str, notiz: str = "", created_by: str = "mc2-ui") -> dict: + """Idee in die Queue legen: triage — der Specifier der Box arbeitet sie selbst aus.""" + if not _available(): + return {"ok": False, "error": "Die Ideen-Queue lebt auf der Box."} + titel = (titel or "").strip() + if not (3 <= len(titel) <= 200): + return {"ok": False, "error": "Titel bitte zwischen 3 und 200 Zeichen."} + args = ["create", titel, "--triage", "--created-by", created_by, "--json"] + notiz = (notiz or "").strip() + if notiz: + args[2:2] = ["--body", notiz[:4000]] + try: + r = _hermes(args) + except Exception as exc: + return {"ok": False, "error": f"Queue nicht erreichbar: {exc}"} + task = _parse_json(r.stdout) + if r.returncode != 0 or not isinstance(task, dict) or not task.get("id"): + return {"ok": False, "error": (r.stderr or r.stdout or "kanban create fehlgeschlagen").strip()[:300]} + _list_cache["ts"] = 0.0 # nächster Poll zeigt die neue Idee sofort + try: + from services import announce + announce.add(f"Neue Idee in der Queue: „{titel}“ ({task['id']}) — die Box arbeitet sie aus.", + "[Ideen-Queue]", "ideen-queue", "silent") + except Exception: + pass + return {"ok": True, "id": task["id"], "status": task.get("status")} + + +def archive_task(task_id: str) -> dict: + """Erledigtes/Verworfenes aus der Sicht räumen (Kanban-Archiv, nichts wird gelöscht).""" + if not _available(): + return {"ok": False, "error": "Die Ideen-Queue lebt auf der Box."} + if not _TASK_ID_RX.match(task_id or ""): + return {"ok": False, "error": f"Keine gültige Aufgaben-Nummer: {task_id!r}"} + try: + r = _hermes(["archive", task_id]) + except Exception as exc: + return {"ok": False, "error": f"Queue nicht erreichbar: {exc}"} + if r.returncode != 0: + return {"ok": False, "error": (r.stderr or r.stdout or "Archivieren fehlgeschlagen").strip()[:300]} + _list_cache["ts"] = 0.0 + return {"ok": True} diff --git a/deploy/bagatell-annahme.sh b/deploy/bagatell-annahme.sh new file mode 100644 index 0000000..5e8e02c --- /dev/null +++ b/deploy/bagatell-annahme.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +# Bagatell-Annahme — „Harmloses darf selbst" (User-Entscheid 10.07.2026, konservativ geschnitten): +# Vorschlags-Branches, die AUSSCHLIESSLICH Markdown-Dateien anlegen oder ändern (Doku/Wiki — +# keine einzige Code-Zeile, keine Löschungen, keine Umbenennungen, keine Skripte), spielt die +# Box nachts OHNE Klick ein. Der Weg ist derselbe wie beim Klick im Auftragsbuch: +# auftrag-annehmen.sh (Merge im Worktree → py_compile-Gate → Push main → Deploy → Health → +# Auto-Revert). Fangnetz drumherum: Nacht-Sicherung 03:30 (Zeitmaschine) liegt davor, die +# Morgenlage 04:30 berichtet danach, jede Annahme steht in Chronik + Telegram. +# JEDE Code-Zeile bleibt Klick-pflichtig — dieses Skript weitet die Klasse NIE selbst aus. +# +# Läuft als mc2-bagatell.timer (04:10) über eine /tmp-Kopie (Selbst-Reset-Falle: die Annahme +# deployt und resettet damit das Repo, in dem dieses Skript liegt). +set -uo pipefail + +SRC="${MC2_SRC:-$HOME/mission-control-v2}" +STATUS="${MC2_AUFTRAG_STATUS:-/srv/models/mc2-auftragsbuch.json}" +MAX_PRO_NACHT=2 # jede Annahme startet die Zentrale kurz neu — Nachtruhe wahren + +cd "$SRC" || exit 0 +git fetch -q --prune origin 2>/dev/null || exit 0 + +angenommen=0 +for REF in $(git for-each-ref --format='%(refname:short)' refs/remotes/origin); do + [ "$angenommen" -ge "$MAX_PRO_NACHT" ] && break + BRANCH="${REF#origin/}" + case "$BRANCH" in wartung/*|orchestrator/*|doku/*|feature/*) ;; *) continue ;; esac + + AHEAD="$(git rev-list --count "origin/main..$REF" 2>/dev/null || echo 0)" + [ "${AHEAD:-0}" -gt 0 ] || continue + + # Nur unberührte Vorschläge: trägt der Branch schon irgendeinen Annahme-Status + # (läuft/fehlgeschlagen/zurückgerollt/…), entscheidet der Commander — nicht wir. + STATE="$(python3 - "$STATUS" "$BRANCH" <<'PY' +import json, sys +try: + print((json.load(open(sys.argv[1], encoding="utf-8")).get("branches", {}).get(sys.argv[2]) or {}).get("state", "")) +except Exception: + print("") +PY +)" + [ -z "$STATE" ] || continue + + # Bagatell-Klasse: JEDE geänderte Datei endet auf .md UND ist nur angelegt (A) oder + # geändert (M). Alles andere (Löschung, Rename R…, Copy C…, Nicht-Markdown) → Klick-Pflicht. + DIFF="$(git diff --name-status "origin/main...$REF" 2>/dev/null)" + [ -n "$DIFF" ] || continue + OK=1 + while IFS=$'\t' read -r st path _rest; do + [ -n "$st" ] || continue + case "$st" in A|M) ;; *) OK=0; break ;; esac + case "$path" in *.md) ;; *) OK=0; break ;; esac + done <<< "$DIFF" + [ "$OK" = 1 ] || continue + + N="$(printf '%s\n' "$DIFF" | wc -l | tr -d ' ')" + echo "Bagatelle erkannt: $BRANCH ($N Markdown-Datei(en))" + curl -sf -m 5 -X POST "${MC_ANNOUNCE_URL:-http://127.0.0.1:9001/api/voice/announce}" \ + -H 'Content-Type: application/json' \ + --data "$(jq -n --arg t "Bagatelle (nur Doku, $N Datei(en)): '$BRANCH' wird ohne Klick eingespielt — Fangnetz aktiv, Details in der Morgenlage." \ + '{text:$t, subject:"[Bagatell-Annahme]", source:"bagatell", priority:"silent"}')" >/dev/null 2>&1 || true + + RUNNER="/tmp/mc2-bagatell-annehmen-$$.sh" + cp "$SRC/deploy/auftrag-annehmen.sh" "$RUNNER" || continue + if bash "$RUNNER" "$BRANCH"; then + angenommen=$((angenommen+1)) + else + # auftrag-annehmen.sh hat selbst gemeldet (fehlgeschlagen/zurückgerollt) und aufgeräumt; + # der Branch trägt jetzt einen Status → nächste Nacht fasst ihn niemand mehr automatisch an. + echo "Bagatell-Annahme von $BRANCH nicht grün — Meldung kam vom Annahme-Runner." + fi +done +echo "Bagatell-Lauf fertig: $angenommen eingespielt." diff --git a/deploy/chef-gutachter-feed.sh b/deploy/chef-gutachter-feed.sh index 5f2c563..dae2e5f 100644 --- a/deploy/chef-gutachter-feed.sh +++ b/deploy/chef-gutachter-feed.sh @@ -34,6 +34,12 @@ EVID="$( echo "### Wissens-Vault (neue Traum-Notizen, 24 h):" git -C "$VAULT" log --since='24 hours ago' --name-only --pretty='— %s' 2>/dev/null | head -20 echo + echo "### Ideen-Queue (natives Kanban, Stand jetzt — offene Ideen des Commanders):" + bash -lc 'hermes kanban stats' 2>/dev/null | head -12 + echo + echo "### Ideen-Queue: zuletzt bewegte Aufgaben:" + bash -lc 'hermes kanban list --sort updated' 2>/dev/null | head -10 + echo echo "### Betriebs-Warnungen (journal, 24 h, je Dienst gezählt):" journalctl --user --since '24 hours ago' -p warning --no-pager 2>/dev/null \ | grep -oE 'hermes-gateway|mission-control-2|mem0-service|voice-service|hermes-builtin-ui' \ diff --git a/deploy/deploy.sh b/deploy/deploy.sh index 8163003..3e8b848 100644 --- a/deploy/deploy.sh +++ b/deploy/deploy.sh @@ -70,6 +70,9 @@ cp "$SRC/deploy/mc2-autoupdate.timer" "$HOME/.config/systemd/user/mc2-autoupdate # Tägliche Selbst-Smoke-Tests (Gateway/Tools/Voice aktiv, Alarm bei Rot) — Autonomie 0d. cp "$SRC/deploy/mc2-selfsmoke.service" "$HOME/.config/systemd/user/mc2-selfsmoke.service" cp "$SRC/deploy/mc2-selfsmoke.timer" "$HOME/.config/systemd/user/mc2-selfsmoke.timer" +# Bagatell-Annahme (Ideen-Queue, 10.07.2026): reine Doku-Vorschläge nachts ohne Klick einspielen. +cp "$SRC/deploy/mc2-bagatell.service" "$HOME/.config/systemd/user/mc2-bagatell.service" +cp "$SRC/deploy/mc2-bagatell.timer" "$HOME/.config/systemd/user/mc2-bagatell.timer" # Evolution-Radar-Feed (Autonomie E4): Hermes-cron speist ihn als Prompt ein. # Cron-Job selbst wird EINMALIG registriert (hermes cron create, siehe docs/RUNBOOK.md). mkdir -p "$HOME/.hermes/scripts" @@ -89,6 +92,9 @@ cp "$SRC/deploy/chef-gutachter-feed.sh" "$HOME/.hermes/scripts/chef-gutachter-fe # Release-Radar-Cron (10.07.2026): hält neue hermes-agent-Releases wöchentlich gegen die # Eigenbau-Landkarte im Wissens-Vault ("mehr Hermes nativ, weniger Eigenkreationen"). cp "$SRC/deploy/hermes-release-radar-feed.sh" "$HOME/.hermes/scripts/hermes-release-radar-feed.sh" +# Werkstatt-Kanban-Profil (Ideen-Queue, 10.07.2026): Leitplanken des Worker-Profils nachziehen +# (Profil selbst wurde einmalig per `hermes profile create werkstatt --clone` angelegt). +[ -d "$HOME/.hermes/profiles/werkstatt" ] && cp "$SRC/deploy/werkstatt-SOUL.md" "$HOME/.hermes/profiles/werkstatt/SOUL.md" chmod +x "$HOME/.hermes/scripts/fremdblick.sh" "$HOME/.hermes/scripts/dreaming-feed.sh" "$HOME/.hermes/scripts/worker.sh" "$HOME/.hermes/scripts/chef-gutachter-feed.sh" "$HOME/.hermes/scripts/hermes-release-radar-feed.sh" "$HOME/.hermes/scripts/radar-selbstkritik-wrapper.sh" # Werkstatt-Skill (Autonomie E6): Selbstwartungs-Kreislauf für Hermes. mkdir -p "$HOME/.hermes/skills/wartung" @@ -133,6 +139,7 @@ systemctl --user enable --now mc2-backup.timer >/dev/null 2>&1 || true # still rückgängig gemacht). Aktueller User-Entscheid (10.07.2026): Timer ist AN — # Router/Engine/Hermes dürfen So 04:30 automatisch (Fangnetz Backup→Postcheck→Rollback+Pin). systemctl --user enable --now mc2-selfsmoke.timer >/dev/null 2>&1 || true +systemctl --user enable --now mc2-bagatell.timer >/dev/null 2>&1 || true loginctl enable-linger "$USER" >/dev/null 2>&1 || true # Mem0-Sidecar VOR dem Backend (re)starten, damit /api/memory sofort bedient wird. [ -x "$HOME/.mem0/venv/bin/python" ] && systemctl --user restart mem0-service 2>/dev/null || true diff --git a/deploy/mc2-bagatell.service b/deploy/mc2-bagatell.service new file mode 100644 index 0000000..4a1985f --- /dev/null +++ b/deploy/mc2-bagatell.service @@ -0,0 +1,9 @@ +[Unit] +Description=MC2 Bagatell-Annahme (reine Doku-Vorschläge nachts ohne Klick, mit Fangnetz) +Documentation=file:%h/mission-control-v2/docs/AUFTRAGSBUCH.md + +[Service] +Type=oneshot +# Als /tmp-Kopie laufen lassen: die Annahme deployt (git reset --hard) und würde sonst das +# eigene Skript unter dem laufenden bash austauschen (bekannte Selbst-Reset-Falle). +ExecStart=/bin/bash -c 'cp "%h/mission-control-v2/deploy/bagatell-annahme.sh" /tmp/mc2-bagatell-run.sh && exec /bin/bash /tmp/mc2-bagatell-run.sh' diff --git a/deploy/mc2-bagatell.timer b/deploy/mc2-bagatell.timer new file mode 100644 index 0000000..0524507 --- /dev/null +++ b/deploy/mc2-bagatell.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Täglich 04:10 — Bagatell-Annahme (nach der Nacht-Sicherung 03:30, vor der Morgenlage 04:30) + +[Timer] +OnCalendar=*-*-* 04:10:00 +Persistent=false + +[Install] +WantedBy=timers.target diff --git a/deploy/werkstatt-SOUL.md b/deploy/werkstatt-SOUL.md new file mode 100644 index 0000000..d8721e9 --- /dev/null +++ b/deploy/werkstatt-SOUL.md @@ -0,0 +1,31 @@ +# Werkstatt-Worker (Profil „werkstatt") + +Du bist der Werkstatt-Coder der AI-Box. Du arbeitest EINE Kanban-Aufgabe ab — meist +Code-/Bau-Aufträge an MC2 (mission-control-v2) oder Lucy. Keine Persona, kein Smalltalk — +sauberes Handwerk. + +## Eiserne Regeln (nicht verhandelbar) +1. Arbeite NUR in deinem Task-Workspace (dein Startverzeichnis). Der Live-Checkout + `~/mission-control-v2` ist TABU: dort KEIN Schreiben, KEIN git-Befehl. (Lesen zur + Orientierung ist erlaubt.) +2. Ergebnis eines Code-Auftrags ist IMMER ein Vorschlags-Branch auf Gitea — NIEMALS Push + auf main, NIEMALS mergen, NIEMALS deployen, NIEMALS Dienste neu starten. Der Commander + klickt die Karte im Auftragsbuch. +3. Frisch klonen statt Live-Checkout nutzen: + `git clone https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2` + (Credentials liegen in `~/.git-credentials`; Lucy-Repo: `.../Hitonabi/lucy`). + Branch-Namen: `wartung/`, `feature/` oder `doku/`. +4. Gate vor dem Push: `python3 -m py_compile` für JEDE geänderte .py-Datei. Frontend + (`frontend/`) nur anfassen, wenn der Auftrag es verlangt — die Box kann kein + `npm build`; das ehrlich in Commit-Text und Summary sagen. +5. TABU-Zonen: approvals/Tokens/ufw/Security-Configs, `~/.hermes/config.yaml`, + systemd-Units, alles außerhalb deines Workspaces. Braucht der Auftrag so etwas → + `kanban_block` mit Begründung, nicht selbst machen. +6. Zu groß oder unklar? Lieber `kanban_block` mit ehrlicher Diagnose (was fehlt, wie man + kleiner schneidet) als Murks. Für große Umbauten: nur einen PLAN als Kommentar + liefern, keinen Code. +7. Am Ende `kanban_complete` mit deutscher Summary: was gebaut, der BRANCH-NAME, wie + geprüft. Der Branch-Name MUSS in der Summary stehen — daraus wird die Karte gefunden. + +## Stil +Deutsch in allem User-Sichtbaren. Kleine, ehrliche Commits. Keine Nebenbaustellen anfassen. diff --git a/docs/AUFTRAGSBUCH.md b/docs/AUFTRAGSBUCH.md index 3631bd1..064726f 100644 --- a/docs/AUFTRAGSBUCH.md +++ b/docs/AUFTRAGSBUCH.md @@ -4,6 +4,29 @@ Das Auftragsbuch ist das Mensch-Gate des propose-only-Kreislaufs als Klick statt Git-Handarbeit: alles, was die Box von allein baut oder sich ausdenkt, landet hier als Karte — du entscheidest mit **Annehmen** oder **Ablehnen**. +## Die Ideen-Queue davor (natives Hermes-Kanban, seit 10.07.2026) + +Vor dem Auftragsbuch liegt DIE eine Ideen-Queue: das native Hermes-Kanban +(`hermes kanban`, SQLite-Board, Dispatcher läuft im Gateway). Der Weg einer Idee: + +1. **Idee rein — Tür egal:** Eingabefeld im Auftragsbuch-Tab (`POST /api/ideen`), + Telegram/Desktop (natives Tool `kanban_create`, Regel in SOUL.md) oder Lucys + Sprech-Leitung (`idee_notieren` in `mcp/mcp_voice.py`). Alles landet als + `triage`-Aufgabe auf demselben Board. +2. **Die Box arbeitet sie aus:** der Kanban-Specifier macht aus der rohen Idee + einen sauberen Auftrag und wählt das Worker-Profil (Routing über die + Profil-Beschreibungen: Code → `werkstatt` [Qwen3-Coder-Next, Leitplanken in + `deploy/werkstatt-SOUL.md`], Doku/Analyse → `default`). +3. **Der Worker baut** im isolierten Workspace; Code-Ergebnisse pusht er als + Vorschlags-Branch auf Gitea — der hier als Karte erscheint. **Das Gate bleibt + dein Klick.** + +Die Queue-Sicht im Tab (Status, offene Ideen) kommt aus `hermes kanban list --json` +(`backend/services/ideen.py`); die Morgenlage bekommt `kanban stats` als +Beweismaterial. Entscheid nativ-vs-Eigenbau (Hermes-first): Probe 10.07.2026 — +Dispatcher, Specifier, Profil-Modellwahl und Artefakt-Tracking sind nativ E2E +bewiesen; ein Eigenbau hätte all das nur nachgebaut. + ## Woher die Karten kommen - **Fertige Patches** — Branches auf Gitea (`wartung/*`, `orchestrator/*`, `doku/*`, @@ -27,9 +50,21 @@ Der Lauf ist eine eigene systemd-Unit (detached) — er überlebt den Neustart d Backends, das ihn gestartet hat. Fortschritt steht live auf der Karte (`/srv/models/mc2-auftragsbuch.json`). +## Bagatellen ohne Klick (mc2-bagatell.timer, 04:10) + +Einzige Ausnahme vom Klick-Gate (User-Entscheid 10.07.2026, bewusst eng geschnitten): +`deploy/bagatell-annahme.sh` spielt nachts Vorschlags-Branches ein, deren Diff +**ausschließlich `.md`-Dateien anlegt oder ändert** — keine Code-Zeile, keine +Löschungen, keine Renames, keine Skripte. Der Weg ist derselbe Annahme-Runner wie +beim Klick (Merge → Gate → Deploy → Health → Auto-Revert), maximal 2 pro Nacht und +nur Branches ohne vorherige Fehl-Läufe. Fangnetz: Nacht-Sicherung 03:30 liegt davor, +jede Annahme steht in Chronik + Telegram, die Morgenlage 04:30 berichtet. Die Klasse +erweitert nur der Commander, nie das Skript. + ## Leitplanken -- Propose-only bleibt: **nichts geht ohne Klick live.** Das Gate ist dieses Buch. +- Propose-only bleibt: **keine Code-Zeile geht ohne Klick live.** Das Gate ist dieses + Buch; einzige Ausnahme sind die eng geschnittenen Doku-Bagatellen (oben). - „Frontend ohne Build"-Warnung: die Box kann kein Frontend bauen (kein Node) — enthält ein Branch `frontend/src` ohne frisches `frontend/dist`, bleibt die Oberfläche nach dem Annehmen alt, bis am PC gebaut wird. diff --git a/frontend/dist/assets/GraphView-y_-KFiL6.js b/frontend/dist/assets/GraphView-CPgavSqE.js similarity index 99% rename from frontend/dist/assets/GraphView-y_-KFiL6.js rename to frontend/dist/assets/GraphView-CPgavSqE.js index b0d5d84..452a82e 100644 --- a/frontend/dist/assets/GraphView-y_-KFiL6.js +++ b/frontend/dist/assets/GraphView-CPgavSqE.js @@ -1,4 +1,4 @@ -import{i as Lt,r as V,R as Zi,c as Gn,a as Vn,b as Ki,o as Qi,m as Wn,d as Bn,g as Ji,j as lt,e as to}from"./index-BfahO8B0.js";function eo(e,n){let r=0;for(let i of e)(i=+i)&&(r+=i);return r}var Xn=180/Math.PI,un={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vr(e,n,r,i,o,a){var s,u,f;return(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s),(f=e*r+n*i)&&(r-=e*f,i-=n*f),(u=Math.sqrt(r*r+i*i))&&(r/=u,i/=u,f/=u),e*i180?c+=360:c-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Lt(l,c)})):c&&h.push(o(h)+"rotate("+c+i)}function u(l,c,h,d){l!==c?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Lt(l,c)}):c&&h.push(o(h)+"skewX("+c+i)}function f(l,c,h,d,p,y){if(l!==h||c!==d){var v=p.push(o(p)+"scale(",null,",",null,")");y.push({i:v-4,x:Lt(l,h)},{i:v-2,x:Lt(c,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,c){var h=[],d=[];return l=e(l),c=e(c),a(l.translateX,l.translateY,c.translateX,c.translateY,h,d),s(l.rotate,c.rotate,h,d),u(l.skewX,c.skewX,h,d),f(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,d),l=c=null,function(p){for(var y=-1,v=d.length,_;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);r180?c+=360:c-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Lt(l,c)})):c&&h.push(o(h)+"rotate("+c+i)}function u(l,c,h,d){l!==c?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Lt(l,c)}):c&&h.push(o(h)+"skewX("+c+i)}function f(l,c,h,d,p,y){if(l!==h||c!==d){var v=p.push(o(p)+"scale(",null,",",null,")");y.push({i:v-4,x:Lt(l,h)},{i:v-2,x:Lt(c,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,c){var h=[],d=[];return l=e(l),c=e(c),a(l.translateX,l.translateY,c.translateX,c.translateY,h,d),s(l.rotate,c.rotate,h,d),u(l.skewX,c.skewX,h,d),f(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,d),l=c=null,function(p){for(var y=-1,v=d.length,_;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);ra,methodNames:i=[],initPropNames:o=[]}={}){return V.forwardRef((a,s)=>{const u=V.useRef(),f=V.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);Kn(()=>{f(r(u.current))},V.useLayoutEffect),Kn(()=>f._destructor instanceof Function?f._destructor:void 0);const l=V.useCallback((h,...d)=>f[h]instanceof Function?f[h](...d):void 0,[f]),c=V.useRef({});return Object.keys(xo(a,[...i,...o])).filter(h=>c.current[h]!==a[h]).forEach(h=>l(h,a[h])),c.current=a,V.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),Zi.createElement(n,{ref:u})})}function Kn(e,n=V.useEffect){const r=V.useRef(),i=V.useRef(!1),o=V.useRef(!1),[a,s]=V.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var fn="http://www.w3.org/1999/xhtml";const Qn={svg:"http://www.w3.org/2000/svg",xhtml:fn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function qe(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Qn.hasOwnProperty(n)?{space:Qn[n],local:e}:e}function ko(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===fn&&n.documentElement.namespaceURI===fn?n.createElement(e):n.createElementNS(r,e)}}function Co(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xr(e){var n=qe(e);return(n.local?Co:ko)(n)}function Ao(){}function An(e){return e==null?Ao:function(){return this.querySelector(e)}}function So(e){typeof e!="function"&&(e=An(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o=T&&(T=w+1);!(b=_[T])&&++T=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Ko(e){e||(e=Qo);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;an?1:e>=n?0:NaN}function Jo(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ta(){return Array.from(this)}function ea(){for(var e=this._groups,n=0,r=e.length;n1?this.each((n==null?ha:typeof n=="function"?pa:da)(e,n,r??"")):Bt(this.node(),e)}function Bt(e,n){return e.style.getPropertyValue(n)||Jr(e).getComputedStyle(e,null).getPropertyValue(n)}function ya(e){return function(){delete this[e]}}function _a(e,n){return function(){this[e]=n}}function va(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function ma(e,n){return arguments.length>1?this.each((n==null?ya:typeof n=="function"?va:_a)(e,n)):this.node()[e]}function ti(e){return e.trim().split(/^|\s+/)}function Sn(e){return e.classList||new ei(e)}function ei(e){this._node=e,this._names=ti(e.getAttribute("class")||"")}ei.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ni(e,n){for(var r=Sn(e),i=-1,o=n.length;++i=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function Ba(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r{}};function ve(){for(var e=0,n=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}Ae.prototype=ve.prototype={constructor:Ae,on:function(e,n){var r=this._,i=rs(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(o),i=0,o,a;i()=>e;function cn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:f,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}cn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function as(e){return!e.ctrlKey&&!e.button}function ss(){return this.parentNode}function us(e,n){return n??{x:e.x,y:e.y}}function ls(){return navigator.maxTouchPoints||"ontouchstart"in this}function fs(){var e=as,n=ss,r=us,i=ls,o={},a=ve("start","drag","end"),s=0,u,f,l,c,h=0;function d(x){x.on("mousedown.drag",p).filter(i).on("touchstart.drag",_).on("touchmove.drag",g,os).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(x,b){if(!(c||!e.call(this,x,b))){var C=T(this,n.call(this,x,b),x,b,"mouse");C&&(pt(x.view).on("mousemove.drag",y,pe).on("mouseup.drag",v,pe),ai(x.view),Ze(x),l=!1,u=x.clientX,f=x.clientY,C("start",x))}}function y(x){if(Wt(x),!l){var b=x.clientX-u,C=x.clientY-f;l=b*b+C*C>h}o.mouse("drag",x)}function v(x){pt(x.view).on("mousemove.drag mouseup.drag",null),si(x.view,l),Wt(x),o.mouse("end",x)}function _(x,b){if(e.call(this,x,b)){var C=x.changedTouches,S=n.call(this,x,b),M=C.length,N,P;for(N=0;N=0&&e._call.call(void 0,n),e=e._next;--Xt}function tr(){Ht=(Re=ge.now())+Ge,Xt=ae=0;try{hs()}finally{Xt=0,ps(),Ht=0}}function ds(){var e=ge.now(),n=e-Re;n>ui&&(Ge-=n,Re=e)}function ps(){for(var e,n=ze,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:ze=r);se=e,hn(i)}function hn(e){if(!Xt){ae&&(ae=clearTimeout(ae));var n=e-Ht;n>24?(e<1/0&&(ae=setTimeout(tr,e-ge.now()-Ge)),Qt&&(Qt=clearInterval(Qt))):(Qt||(Re=ge.now(),Qt=setInterval(ds,ui)),Xt=1,li(tr))}}function er(e,n,r){var i=new Ne;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var gs=ve("start","end","cancel","interrupt"),ys=[],fi=0,nr=1,dn=2,Se=3,rr=4,pn=5,Te=6;function Ve(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;_s(e,r,{name:n,index:i,group:o,on:gs,tween:ys,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:fi})}function Pn(e,n){var r=vt(e,n);if(r.state>fi)throw new Error("too late; already scheduled");return r}function Ct(e,n){var r=vt(e,n);if(r.state>Se)throw new Error("too late; already running");return r}function vt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function _s(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=Mn(a,0,r.time);function a(l){r.state=nr,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var c,h,d,p;if(r.state!==nr)return f();for(c in i)if(p=i[c],p.name===r.name){if(p.state===Se)return er(s);p.state===rr?(p.state=Te,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[c]):+cdn&&i.state=0&&(n=n.slice(0,r)),!n||n==="start"})}function Bs(e,n,r){var i,o,a=Ws(n)?Pn:Ct;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function Xs(e,n){var r=this._id;return arguments.length<2?vt(this.node(),r).on.on(e):this.each(Bs(r,e,n))}function Ys(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function Zs(){return this.on("end.remove",Ys(this._id))}function Ks(e){var n=this._name,r=this._id;typeof e!="function"&&(e=An(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s()=>e;function wu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Et(e,n,r){this.k=e,this.x=n,this.y=r}Et.prototype={constructor:Et,scale:function(e){return e===1?this:new Et(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Et(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var En=new Et(1,0,0);mt.prototype=Et.prototype;function mt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return En;return e.__zoom}function Ke(e){e.stopImmediatePropagation()}function Jt(e){e.preventDefault(),e.stopImmediatePropagation()}function ku(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Cu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ir(){return this.__zoom||En}function Au(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Su(){return navigator.maxTouchPoints||"ontouchstart"in this}function Tu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function Mu(){var e=ku,n=Cu,r=Tu,i=Au,o=Su,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,f=lo,l=ve("start","zoom","end"),c,h,d,p=500,y=150,v=0,_=10;function g(A){A.property("__zoom",ir).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",R).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(A,I,E,k){var O=A.selection?A.selection():A;O.property("__zoom",ir),A!==O?b(A,I,E,k):O.interrupt().each(function(){C(this,arguments).event(k).start().zoom(null,typeof I=="function"?I.apply(this,arguments):I).end()})},g.scaleBy=function(A,I,E,k){g.scaleTo(A,function(){var O=this.__zoom.k,j=typeof I=="function"?I.apply(this,arguments):I;return O*j},E,k)},g.scaleTo=function(A,I,E,k){g.transform(A,function(){var O=n.apply(this,arguments),j=this.__zoom,$=E==null?x(O):typeof E=="function"?E.apply(this,arguments):E,U=j.invert($),F=typeof I=="function"?I.apply(this,arguments):I;return r(T(w(j,F),$,U),O,s)},E,k)},g.translateBy=function(A,I,E,k){g.transform(A,function(){return r(this.__zoom.translate(typeof I=="function"?I.apply(this,arguments):I,typeof E=="function"?E.apply(this,arguments):E),n.apply(this,arguments),s)},null,k)},g.translateTo=function(A,I,E,k,O){g.transform(A,function(){var j=n.apply(this,arguments),$=this.__zoom,U=k==null?x(j):typeof k=="function"?k.apply(this,arguments):k;return r(En.translate(U[0],U[1]).scale($.k).translate(typeof I=="function"?-I.apply(this,arguments):-I,typeof E=="function"?-E.apply(this,arguments):-E),j,s)},k,O)};function w(A,I){return I=Math.max(a[0],Math.min(a[1],I)),I===A.k?A:new Et(I,A.x,A.y)}function T(A,I,E){var k=I[0]-E[0]*A.k,O=I[1]-E[1]*A.k;return k===A.x&&O===A.y?A:new Et(A.k,k,O)}function x(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function b(A,I,E,k){A.on("start.zoom",function(){C(this,arguments).event(k).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(k).end()}).tween("zoom",function(){var O=this,j=arguments,$=C(O,j).event(k),U=n.apply(O,j),F=E==null?x(U):typeof E=="function"?E.apply(O,j):E,q=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),G=O.__zoom,B=typeof I=="function"?I.apply(O,j):I,J=f(G.invert(F).concat(q/G.k),B.invert(F).concat(q/B.k));return function(Y){if(Y===1)Y=B;else{var at=J(Y),tt=q/at[2];Y=new Et(tt,F[0]-at[0]*tt,F[1]-at[1]*tt)}$.zoom(null,Y)}})}function C(A,I,E){return!E&&A.__zooming||new S(A,I)}function S(A,I){this.that=A,this.args=I,this.active=0,this.sourceEvent=null,this.extent=n.apply(A,I),this.taps=0}S.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,I){return this.mouse&&A!=="mouse"&&(this.mouse[1]=I.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=I.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=I.invert(this.touch1[0])),this.that.__zoom=I,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var I=pt(this.that).datum();l.call(A,this.that,new wu(A,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),I)}};function M(A,...I){if(!e.apply(this,arguments))return;var E=C(this,I).event(A),k=this.__zoom,O=Math.max(a[0],Math.min(a[1],k.k*Math.pow(2,i.apply(this,arguments)))),j=bt(A);if(E.wheel)(E.mouse[0][0]!==j[0]||E.mouse[0][1]!==j[1])&&(E.mouse[1]=k.invert(E.mouse[0]=j)),clearTimeout(E.wheel);else{if(k.k===O)return;E.mouse=[j,k.invert(j)],Me(this),E.start()}Jt(A),E.wheel=setTimeout($,y),E.zoom("mouse",r(T(w(k,O),E.mouse[0],E.mouse[1]),E.extent,s));function $(){E.wheel=null,E.end()}}function N(A,...I){if(d||!e.apply(this,arguments))return;var E=A.currentTarget,k=C(this,I,!0).event(A),O=pt(A.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",q,!0),j=bt(A,E),$=A.clientX,U=A.clientY;ai(A.view),Ke(A),k.mouse=[j,this.__zoom.invert(j)],Me(this),k.start();function F(G){if(Jt(G),!k.moved){var B=G.clientX-$,J=G.clientY-U;k.moved=B*B+J*J>v}k.event(G).zoom("mouse",r(T(k.that.__zoom,k.mouse[0]=bt(G,E),k.mouse[1]),k.extent,s))}function q(G){O.on("mousemove.zoom mouseup.zoom",null),si(G.view,k.moved),Jt(G),k.event(G).end()}}function P(A,...I){if(e.apply(this,arguments)){var E=this.__zoom,k=bt(A.changedTouches?A.changedTouches[0]:A,this),O=E.invert(k),j=E.k*(A.shiftKey?.5:2),$=r(T(w(E,j),k,O),n.apply(this,I),s);Jt(A),u>0?pt(this).transition().duration(u).call(b,$,k,A):pt(this).call(g.transform,$,k,A)}}function R(A,...I){if(e.apply(this,arguments)){var E=A.touches,k=E.length,O=C(this,I,A.changedTouches.length===k).event(A),j,$,U,F;for(Ke(A),$=0;$=n||S<0||h&&M>=a}function g(){var C=Qe();if(_(C))return w(C);u=setTimeout(g,v(C))}function w(C){return u=void 0,d&&i?p(C):(i=o=void 0,s)}function T(){u!==void 0&&clearTimeout(u),l=0,i=f=o=u=void 0}function x(){return u===void 0?s:w(Qe())}function b(){var C=Qe(),S=_(C);if(i=arguments,o=this,f=C,S){if(u===void 0)return y(f);if(h)return clearTimeout(u),u=setTimeout(g,n),p(f)}return u===void 0&&(u=setTimeout(g,n)),s}return b.cancel=T,b.flush=x,b}var tl="Expected a function";function el(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(tl);return De(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),yi(e,n,{leading:i,maxWait:n,trailing:o})}var Ut=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ut.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Ut.Bounce.In(e*2)*.5:Ut.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ue=function(){return performance.now()},_i=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ue()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},vi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),yn=new _i,ur=(function(){function e(n,r){r===void 0&&(r=yn),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ut.Linear.None,this._interpolationFunction=gn.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=vi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ue()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],f=Array.isArray(u),l=f?"array":typeof u,c=!f&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(c){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p"u"||a)&&(r[s]=u),f||(r[s]*=1),c?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ue()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ue()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;ns)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,nl)return 1;var _=Math.trunc(u/f),g=u-_*f,w=Math.min(g/i._duration,1);return w===0&&u===i._duration?1:w},h=c(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/f)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=f*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,v=this._chainedTweens.length;ye.length)&&(n=e.length);for(var r=0,i=Array(n);r=0,a=!r&&o&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return a?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(i=this.toRgbString()),n==="prgb"&&(i=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(i=this.toHexString()),n==="hex3"&&(i=this.toHexString(!0)),n==="hex4"&&(i=this.toHex8String(!0)),n==="hex8"&&(i=this.toHex8String()),n==="name"&&(i=this.toName()),n==="hsl"&&(i=this.toHslString()),n==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return H(this.toString())},_applyModification:function(n,r){var i=n.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(bl,arguments)},brighten:function(){return this._applyModification(xl,arguments)},darken:function(){return this._applyModification(wl,arguments)},desaturate:function(){return this._applyModification(_l,arguments)},saturate:function(){return this._applyModification(vl,arguments)},greyscale:function(){return this._applyModification(ml,arguments)},spin:function(){return this._applyModification(kl,arguments)},_applyCombination:function(n,r){return n.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Sl,arguments)},complement:function(){return this._applyCombination(Cl,arguments)},monochromatic:function(){return this._applyCombination(Tl,arguments)},splitcomplement:function(){return this._applyCombination(Al,arguments)},triad:function(){return this._applyCombination(pr,[3])},tetrad:function(){return this._applyCombination(pr,[4])}};H.fromRatio=function(e,n){if(je(e)=="object"){var r={};for(var i in e)e.hasOwnProperty(i)&&(i==="a"?r[i]=e[i]:r[i]=le(e[i]));e=r}return H(e,n)};function hl(e){var n={r:0,g:0,b:0},r=1,i=null,o=null,a=null,s=!1,u=!1;return typeof e=="string"&&(e=zl(e)),je(e)=="object"&&(Tt(e.r)&&Tt(e.g)&&Tt(e.b)?(n=dl(e.r,e.g,e.b),s=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Tt(e.h)&&Tt(e.s)&&Tt(e.v)?(i=le(e.s),o=le(e.v),n=gl(e.h,i,o),s=!0,u="hsv"):Tt(e.h)&&Tt(e.s)&&Tt(e.l)&&(i=le(e.s),a=le(e.l),n=pl(e.h,i,a),s=!0,u="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=mi(r),{ok:s,format:e.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:r}}function dl(e,n,r){return{r:K(e,255)*255,g:K(n,255)*255,b:K(r,255)*255}}function fr(e,n,r){e=K(e,255),n=K(n,255),r=K(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=(i+o)/2;if(i==o)a=s=0;else{var f=i-o;switch(s=u>.5?f/(2-i-o):f/(i+o),i){case e:a=(n-r)/f+(n1&&(h-=1),h<1/6?l+(c-l)*6*h:h<1/2?c:h<2/3?l+(c-l)*(2/3-h)*6:l}if(n===0)i=o=a=r;else{var u=r<.5?r*(1+n):r+n-r*n,f=2*r-u;i=s(f,u,e+1/3),o=s(f,u,e),a=s(f,u,e-1/3)}return{r:i*255,g:o*255,b:a*255}}function cr(e,n,r){e=K(e,255),n=K(n,255),r=K(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=i,f=i-o;if(s=i===0?0:f/i,i==o)a=0;else{switch(i){case e:a=(n-r)/f+(n>1)+720)%360;--n;)i.h=(i.h+o)%360,a.push(H(i));return a}function Tl(e,n){n=n||6;for(var r=H(e).toHsv(),i=r.h,o=r.s,a=r.v,s=[],u=1/n;n--;)s.push(H({h:i,s:o,v:a})),a=(a+u)%1;return s}H.mix=function(e,n,r){r=r===0?0:r||50;var i=H(e).toRgb(),o=H(n).toRgb(),a=r/100,s={r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a};return H(s)};H.readability=function(e,n){var r=H(e),i=H(n);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};H.isReadable=function(e,n,r){var i=H.readability(e,n),o,a;switch(a=!1,o=Rl(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7;break}return a};H.mostReadable=function(e,n,r){var i=null,o=0,a,s,u,f;r=r||{},s=r.includeFallbackColors,u=r.level,f=r.size;for(var l=0;lo&&(o=a,i=H(n[l]));return H.isReadable(e,i,{level:u,size:f})||!s?i:(r.includeFallbackColors=!1,H.mostReadable(e,["#fff","#000"],r))};var _n=H.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Ml=H.hexNames=Pl(_n);function Pl(e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[e[r]]=r);return n}function mi(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function K(e,n){Ol(e)&&(e="100%");var r=El(e);return e=Math.min(n,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*n,10)/100),Math.abs(e-n)<1e-6?1:e%n/parseFloat(n)}function We(e){return Math.min(1,Math.max(0,e))}function ft(e){return parseInt(e,16)}function Ol(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function El(e){return typeof e=="string"&&e.indexOf("%")!=-1}function _t(e){return e.length==1?"0"+e:""+e}function le(e){return e<=1&&(e=e*100+"%"),e}function bi(e){return Math.round(parseFloat(e)*255).toString(16)}function gr(e){return ft(e)/255}var yt=(function(){var e="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",r="(?:"+n+")|(?:"+e+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function Tt(e){return!!yt.CSS_UNIT.exec(e)}function zl(e){e=e.replace(fl,"").replace(cl,"").toLowerCase();var n=!1;if(_n[e])e=_n[e],n=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=yt.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=yt.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=yt.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=yt.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=yt.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=yt.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=yt.hex8.exec(e))?{r:ft(r[1]),g:ft(r[2]),b:ft(r[3]),a:gr(r[4]),format:n?"name":"hex8"}:(r=yt.hex6.exec(e))?{r:ft(r[1]),g:ft(r[2]),b:ft(r[3]),format:n?"name":"hex"}:(r=yt.hex4.exec(e))?{r:ft(r[1]+""+r[1]),g:ft(r[2]+""+r[2]),b:ft(r[3]+""+r[3]),a:gr(r[4]+""+r[4]),format:n?"name":"hex8"}:(r=yt.hex3.exec(e))?{r:ft(r[1]+""+r[1]),g:ft(r[2]+""+r[2]),b:ft(r[3]+""+r[3]),format:n?"name":"hex"}:!1}function Rl(e){var n,r;return e=e||{level:"AA",size:"small"},n=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:n,size:r}}function vn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r{throw TypeError(e)};var T4=(e,t,r)=>t in e?I4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ns=(e,t,r)=>T4(e,typeof t!="symbol"?t+"":t,r),Jp=(e,t,r)=>t.has(e)||mw("Cannot "+r);var $=(e,t,r)=>(Jp(e,t,"read from private field"),r?r.call(e):t.get(e)),Re=(e,t,r)=>t.has(e)?mw("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),je=(e,t,r,n)=>(Jp(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Ke=(e,t,r)=>(Jp(e,t,"access private method"),r);var Ed=(e,t,r,n)=>({set _(i){je(e,t,i,r)},get _(){return $(e,t,n)}});function D4(e,t){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();function Px(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eg={exports:{}},rc={},tg={exports:{}},He={};/** +var D_=Object.defineProperty;var gw=e=>{throw TypeError(e)};var L_=(e,t,r)=>t in e?D_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ns=(e,t,r)=>L_(e,typeof t!="symbol"?t+"":t,r),Jp=(e,t,r)=>t.has(e)||gw("Cannot "+r);var $=(e,t,r)=>(Jp(e,t,"read from private field"),r?r.call(e):t.get(e)),Re=(e,t,r)=>t.has(e)?gw("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),je=(e,t,r,n)=>(Jp(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Ke=(e,t,r)=>(Jp(e,t,"access private method"),r);var Ad=(e,t,r,n)=>({set _(i){je(e,t,i,r)},get _(){return $(e,t,n)}});function R_(e,t){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();function Ox(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eg={exports:{}},rc={},tg={exports:{}},He={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var I4=Object.defineProperty;var mw=e=>{throw TypeError(e)};var T4=(e,t,r)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var pw;function L4(){if(pw)return He;pw=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.iterator;function v(D){return D===null||typeof D!="object"?null:(D=p&&D[p]||D["@@iterator"],typeof D=="function"?D:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,w={};function k(D,M,q){this.props=D,this.context=M,this.refs=w,this.updater=q||b}k.prototype.isReactComponent={},k.prototype.setState=function(D,M){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,M,"setState")},k.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function N(){}N.prototype=k.prototype;function E(D,M,q){this.props=D,this.context=M,this.refs=w,this.updater=q||b}var C=E.prototype=new N;C.constructor=E,S(C,k.prototype),C.isPureReactComponent=!0;var A=Array.isArray,_=Object.prototype.hasOwnProperty,O={current:null},I={key:!0,ref:!0,__self:!0,__source:!0};function B(D,M,q){var le,oe={},ee=null,ne=null;if(M!=null)for(le in M.ref!==void 0&&(ne=M.ref),M.key!==void 0&&(ee=""+M.key),M)_.call(M,le)&&!I.hasOwnProperty(le)&&(oe[le]=M[le]);var he=arguments.length-2;if(he===1)oe.children=q;else if(1{throw TypeError(e)};var T4=(e,t,r)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vw;function R4(){if(vw)return rc;vw=1;var e=el(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function c(u,f,h){var m,p={},v=null,b=null;h!==void 0&&(v=""+h),f.key!==void 0&&(v=""+f.key),f.ref!==void 0&&(b=f.ref);for(m in f)n.call(f,m)&&!o.hasOwnProperty(m)&&(p[m]=f[m]);if(u&&u.defaultProps)for(m in f=u.defaultProps,f)p[m]===void 0&&(p[m]=f[m]);return{$$typeof:t,type:u,key:v,ref:b,props:p,_owner:i.current}}return rc.Fragment=r,rc.jsx=c,rc.jsxs=c,rc}var xw;function $4(){return xw||(xw=1,eg.exports=R4()),eg.exports}var s=$4(),x=el();const Ox=Px(x),fh=D4({__proto__:null,default:Ox},[x]);var Ad={},rg={exports:{}},Nr={},ng={exports:{}},ig={};/** + */var yw;function z_(){if(yw)return rc;yw=1;var e=el(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function c(u,f,h){var m,p={},v=null,b=null;h!==void 0&&(v=""+h),f.key!==void 0&&(v=""+f.key),f.ref!==void 0&&(b=f.ref);for(m in f)n.call(f,m)&&!o.hasOwnProperty(m)&&(p[m]=f[m]);if(u&&u.defaultProps)for(m in f=u.defaultProps,f)p[m]===void 0&&(p[m]=f[m]);return{$$typeof:t,type:u,key:v,ref:b,props:p,_owner:i.current}}return rc.Fragment=r,rc.jsx=c,rc.jsxs=c,rc}var bw;function F_(){return bw||(bw=1,eg.exports=z_()),eg.exports}var s=F_(),x=el();const _x=Ox(x),hh=R_({__proto__:null,default:_x},[x]);var Cd={},rg={exports:{}},Sr={},ng={exports:{}},ig={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var I4=Object.defineProperty;var mw=e=>{throw TypeError(e)};var T4=(e,t,r)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var yw;function z4(){return yw||(yw=1,(function(e){function t(Z,te){var ie=Z.length;Z.push(te);e:for(;0>>1,M=Z[D];if(0>>1;Di(oe,ie))eei(ne,oe)?(Z[D]=ne,Z[ee]=ie,D=ee):(Z[D]=oe,Z[le]=ie,D=le);else if(eei(ne,ie))Z[D]=ne,Z[ee]=ie,D=ee;else break e}}return te}function i(Z,te){var ie=Z.sortIndex-te.sortIndex;return ie!==0?ie:Z.id-te.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var c=Date,u=c.now();e.unstable_now=function(){return c.now()-u}}var f=[],h=[],m=1,p=null,v=3,b=!1,S=!1,w=!1,k=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function C(Z){for(var te=r(h);te!==null;){if(te.callback===null)n(h);else if(te.startTime<=Z)n(h),te.sortIndex=te.expirationTime,t(f,te);else break;te=r(h)}}function A(Z){if(w=!1,C(Z),!S)if(r(f)!==null)S=!0,se(_);else{var te=r(h);te!==null&&ae(A,te.startTime-Z)}}function _(Z,te){S=!1,w&&(w=!1,N(B),B=-1),b=!0;var ie=v;try{for(C(te),p=r(f);p!==null&&(!(p.expirationTime>te)||Z&&!Q());){var D=p.callback;if(typeof D=="function"){p.callback=null,v=p.priorityLevel;var M=D(p.expirationTime<=te);te=e.unstable_now(),typeof M=="function"?p.callback=M:p===r(f)&&n(f),C(te)}else n(f);p=r(f)}if(p!==null)var q=!0;else{var le=r(h);le!==null&&ae(A,le.startTime-te),q=!1}return q}finally{p=null,v=ie,b=!1}}var O=!1,I=null,B=-1,F=5,R=-1;function Q(){return!(e.unstable_now()-RZ||125D?(Z.sortIndex=ie,t(h,Z),r(f)===null&&Z===r(h)&&(w?(N(B),B=-1):w=!0,ae(A,ie-D))):(Z.sortIndex=M,t(f,Z),S||b||(S=!0,se(_))),Z},e.unstable_shouldYield=Q,e.unstable_wrapCallback=function(Z){var te=v;return function(){var ie=v;v=te;try{return Z.apply(this,arguments)}finally{v=ie}}}})(ig)),ig}var bw;function F4(){return bw||(bw=1,ng.exports=z4()),ng.exports}/** + */var ww;function B_(){return ww||(ww=1,(function(e){function t(Z,te){var ie=Z.length;Z.push(te);e:for(;0>>1,M=Z[D];if(0>>1;Di(oe,ie))eei(ne,oe)?(Z[D]=ne,Z[ee]=ie,D=ee):(Z[D]=oe,Z[le]=ie,D=le);else if(eei(ne,ie))Z[D]=ne,Z[ee]=ie,D=ee;else break e}}return te}function i(Z,te){var ie=Z.sortIndex-te.sortIndex;return ie!==0?ie:Z.id-te.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var c=Date,u=c.now();e.unstable_now=function(){return c.now()-u}}var f=[],h=[],m=1,p=null,v=3,b=!1,N=!1,w=!1,k=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function C(Z){for(var te=r(h);te!==null;){if(te.callback===null)n(h);else if(te.startTime<=Z)n(h),te.sortIndex=te.expirationTime,t(f,te);else break;te=r(h)}}function A(Z){if(w=!1,C(Z),!N)if(r(f)!==null)N=!0,se(_);else{var te=r(h);te!==null&&ae(A,te.startTime-Z)}}function _(Z,te){N=!1,w&&(w=!1,S(B),B=-1),b=!0;var ie=v;try{for(C(te),p=r(f);p!==null&&(!(p.expirationTime>te)||Z&&!Q());){var D=p.callback;if(typeof D=="function"){p.callback=null,v=p.priorityLevel;var M=D(p.expirationTime<=te);te=e.unstable_now(),typeof M=="function"?p.callback=M:p===r(f)&&n(f),C(te)}else n(f);p=r(f)}if(p!==null)var q=!0;else{var le=r(h);le!==null&&ae(A,le.startTime-te),q=!1}return q}finally{p=null,v=ie,b=!1}}var O=!1,I=null,B=-1,F=5,R=-1;function Q(){return!(e.unstable_now()-RZ||125D?(Z.sortIndex=ie,t(h,Z),r(f)===null&&Z===r(h)&&(w?(S(B),B=-1):w=!0,ae(A,ie-D))):(Z.sortIndex=M,t(f,Z),N||b||(N=!0,se(_))),Z},e.unstable_shouldYield=Q,e.unstable_wrapCallback=function(Z){var te=v;return function(){var ie=v;v=te;try{return Z.apply(this,arguments)}finally{v=ie}}}})(ig)),ig}var kw;function U_(){return kw||(kw=1,ng.exports=B_()),ng.exports}/** * @license React * react-dom.production.min.js * @@ -30,54 +30,54 @@ var I4=Object.defineProperty;var mw=e=>{throw TypeError(e)};var T4=(e,t,r)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ww;function B4(){if(ww)return Nr;ww=1;var e=el(),t=F4();function r(a){for(var l="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=1;d"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},p={};function v(a){return f.call(p,a)?!0:f.call(m,a)?!1:h.test(a)?p[a]=!0:(m[a]=!0,!1)}function b(a,l,d,g){if(d!==null&&d.type===0)return!1;switch(typeof l){case"function":case"symbol":return!0;case"boolean":return g?!1:d!==null?!d.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}function S(a,l,d,g){if(l===null||typeof l>"u"||b(a,l,d,g))return!0;if(g)return!1;if(d!==null)switch(d.type){case 3:return!l;case 4:return l===!1;case 5:return isNaN(l);case 6:return isNaN(l)||1>l}return!1}function w(a,l,d,g,y,j,P){this.acceptsBooleans=l===2||l===3||l===4,this.attributeName=g,this.attributeNamespace=y,this.mustUseProperty=d,this.propertyName=a,this.type=l,this.sanitizeURL=j,this.removeEmptyString=P}var k={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){k[a]=new w(a,0,!1,a,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var l=a[0];k[l]=new w(l,1,!1,a[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(a){k[a]=new w(a,2,!1,a.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){k[a]=new w(a,2,!1,a,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){k[a]=new w(a,3,!1,a.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(a){k[a]=new w(a,3,!0,a,null,!1,!1)}),["capture","download"].forEach(function(a){k[a]=new w(a,4,!1,a,null,!1,!1)}),["cols","rows","size","span"].forEach(function(a){k[a]=new w(a,6,!1,a,null,!1,!1)}),["rowSpan","start"].forEach(function(a){k[a]=new w(a,5,!1,a.toLowerCase(),null,!1,!1)});var N=/[\-:]([a-z])/g;function E(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var l=a.replace(N,E);k[l]=new w(l,1,!1,a,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var l=a.replace(N,E);k[l]=new w(l,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(a){var l=a.replace(N,E);k[l]=new w(l,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(a){k[a]=new w(a,1,!1,a.toLowerCase(),null,!1,!1)}),k.xlinkHref=new w("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(a){k[a]=new w(a,1,!1,a.toLowerCase(),null,!0,!0)});function C(a,l,d,g){var y=k.hasOwnProperty(l)?k[l]:null;(y!==null?y.type!==0:g||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},p={};function v(a){return f.call(p,a)?!0:f.call(m,a)?!1:h.test(a)?p[a]=!0:(m[a]=!0,!1)}function b(a,l,d,g){if(d!==null&&d.type===0)return!1;switch(typeof l){case"function":case"symbol":return!0;case"boolean":return g?!1:d!==null?!d.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}function N(a,l,d,g){if(l===null||typeof l>"u"||b(a,l,d,g))return!0;if(g)return!1;if(d!==null)switch(d.type){case 3:return!l;case 4:return l===!1;case 5:return isNaN(l);case 6:return isNaN(l)||1>l}return!1}function w(a,l,d,g,y,j,P){this.acceptsBooleans=l===2||l===3||l===4,this.attributeName=g,this.attributeNamespace=y,this.mustUseProperty=d,this.propertyName=a,this.type=l,this.sanitizeURL=j,this.removeEmptyString=P}var k={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){k[a]=new w(a,0,!1,a,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var l=a[0];k[l]=new w(l,1,!1,a[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(a){k[a]=new w(a,2,!1,a.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){k[a]=new w(a,2,!1,a,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){k[a]=new w(a,3,!1,a.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(a){k[a]=new w(a,3,!0,a,null,!1,!1)}),["capture","download"].forEach(function(a){k[a]=new w(a,4,!1,a,null,!1,!1)}),["cols","rows","size","span"].forEach(function(a){k[a]=new w(a,6,!1,a,null,!1,!1)}),["rowSpan","start"].forEach(function(a){k[a]=new w(a,5,!1,a.toLowerCase(),null,!1,!1)});var S=/[\-:]([a-z])/g;function E(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var l=a.replace(S,E);k[l]=new w(l,1,!1,a,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var l=a.replace(S,E);k[l]=new w(l,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(a){var l=a.replace(S,E);k[l]=new w(l,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(a){k[a]=new w(a,1,!1,a.toLowerCase(),null,!1,!1)}),k.xlinkHref=new w("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(a){k[a]=new w(a,1,!1,a.toLowerCase(),null,!0,!0)});function C(a,l,d,g){var y=k.hasOwnProperty(l)?k[l]:null;(y!==null?y.type!==0:g||!(2T||y[P]!==j[T]){var L=` -`+y[P].replace(" at new "," at ");return a.displayName&&L.includes("")&&(L=L.replace("",a.displayName)),L}while(1<=P&&0<=T);break}}}finally{q=!1,Error.prepareStackTrace=d}return(a=a?a.displayName||a.name:"")?M(a):""}function oe(a){switch(a.tag){case 5:return M(a.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return a=le(a.type,!1),a;case 11:return a=le(a.type.render,!1),a;case 1:return a=le(a.type,!0),a;default:return""}}function ee(a){if(a==null)return null;if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case I:return"Fragment";case O:return"Portal";case F:return"Profiler";case B:return"StrictMode";case ge:return"Suspense";case ue:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case Q:return(a.displayName||"Context")+".Consumer";case R:return(a._context.displayName||"Context")+".Provider";case U:var l=a.render;return a=a.displayName,a||(a=l.displayName||l.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case pe:return l=a.displayName||null,l!==null?l:ee(a.type)||"Memo";case se:l=a._payload,a=a._init;try{return ee(a(l))}catch{}}return null}function ne(a){var l=a.type;switch(a.tag){case 24:return"Cache";case 9:return(l.displayName||"Context")+".Consumer";case 10:return(l._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=l.render,a=a.displayName||a.name||"",l.displayName||(a!==""?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return l;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(l);case 8:return l===B?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof l=="function")return l.displayName||l.name||null;if(typeof l=="string")return l}return null}function he(a){switch(typeof a){case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function re(a){var l=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function ye(a){var l=re(a)?"checked":"value",d=Object.getOwnPropertyDescriptor(a.constructor.prototype,l),g=""+a[l];if(!a.hasOwnProperty(l)&&typeof d<"u"&&typeof d.get=="function"&&typeof d.set=="function"){var y=d.get,j=d.set;return Object.defineProperty(a,l,{configurable:!0,get:function(){return y.call(this)},set:function(P){g=""+P,j.call(this,P)}}),Object.defineProperty(a,l,{enumerable:d.enumerable}),{getValue:function(){return g},setValue:function(P){g=""+P},stopTracking:function(){a._valueTracker=null,delete a[l]}}}}function Oe(a){a._valueTracker||(a._valueTracker=ye(a))}function W(a){if(!a)return!1;var l=a._valueTracker;if(!l)return!0;var d=l.getValue(),g="";return a&&(g=re(a)?a.checked?"true":"false":a.value),a=g,a!==d?(l.setValue(a),!0):!1}function ke(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}function Ie(a,l){var d=l.checked;return ie({},l,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:d??a._wrapperState.initialChecked})}function be(a,l){var d=l.defaultValue==null?"":l.defaultValue,g=l.checked!=null?l.checked:l.defaultChecked;d=he(l.value!=null?l.value:d),a._wrapperState={initialChecked:g,initialValue:d,controlled:l.type==="checkbox"||l.type==="radio"?l.checked!=null:l.value!=null}}function We(a,l){l=l.checked,l!=null&&C(a,"checked",l,!1)}function Dt(a,l){We(a,l);var d=he(l.value),g=l.type;if(d!=null)g==="number"?(d===0&&a.value===""||a.value!=d)&&(a.value=""+d):a.value!==""+d&&(a.value=""+d);else if(g==="submit"||g==="reset"){a.removeAttribute("value");return}l.hasOwnProperty("value")?Ae(a,l.type,d):l.hasOwnProperty("defaultValue")&&Ae(a,l.type,he(l.defaultValue)),l.checked==null&&l.defaultChecked!=null&&(a.defaultChecked=!!l.defaultChecked)}function K(a,l,d){if(l.hasOwnProperty("value")||l.hasOwnProperty("defaultValue")){var g=l.type;if(!(g!=="submit"&&g!=="reset"||l.value!==void 0&&l.value!==null))return;l=""+a._wrapperState.initialValue,d||l===a.value||(a.value=l),a.defaultValue=l}d=a.name,d!==""&&(a.name=""),a.defaultChecked=!!a._wrapperState.initialChecked,d!==""&&(a.name=d)}function Ae(a,l,d){(l!=="number"||ke(a.ownerDocument)!==a)&&(d==null?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+d&&(a.defaultValue=""+d))}var _e=Array.isArray;function Xe(a,l,d,g){if(a=a.options,l){l={};for(var y=0;y"+l.valueOf().toString()+"",l=at.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}});function xl(a,l){if(l){var d=a.firstChild;if(d&&d===a.lastChild&&d.nodeType===3){d.nodeValue=l;return}}a.textContent=l}var yl={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},RO=["Webkit","ms","Moz","O"];Object.keys(yl).forEach(function(a){RO.forEach(function(l){l=l+a.charAt(0).toUpperCase()+a.substring(1),yl[l]=yl[a]})});function Py(a,l,d){return l==null||typeof l=="boolean"||l===""?"":d||typeof l!="number"||l===0||yl.hasOwnProperty(a)&&yl[a]?(""+l).trim():l+"px"}function Oy(a,l){a=a.style;for(var d in l)if(l.hasOwnProperty(d)){var g=d.indexOf("--")===0,y=Py(d,l[d],g);d==="float"&&(d="cssFloat"),g?a.setProperty(d,y):a[d]=y}}var $O=ie({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function dm(a,l){if(l){if($O[a]&&(l.children!=null||l.dangerouslySetInnerHTML!=null))throw Error(r(137,a));if(l.dangerouslySetInnerHTML!=null){if(l.children!=null)throw Error(r(60));if(typeof l.dangerouslySetInnerHTML!="object"||!("__html"in l.dangerouslySetInnerHTML))throw Error(r(61))}if(l.style!=null&&typeof l.style!="object")throw Error(r(62))}}function fm(a,l){if(a.indexOf("-")===-1)return typeof l.is=="string";switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var hm=null;function mm(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var pm=null,Io=null,To=null;function _y(a){if(a=Bl(a)){if(typeof pm!="function")throw Error(r(280));var l=a.stateNode;l&&(l=Bu(l),pm(a.stateNode,a.type,l))}}function My(a){Io?To?To.push(a):To=[a]:Io=a}function Iy(){if(Io){var a=Io,l=To;if(To=Io=null,_y(a),l)for(a=0;a>>=0,a===0?32:31-(QO(a)/YO|0)|0}var ju=64,Su=4194304;function jl(a){switch(a&-a){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: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&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function Nu(a,l){var d=a.pendingLanes;if(d===0)return 0;var g=0,y=a.suspendedLanes,j=a.pingedLanes,P=d&268435455;if(P!==0){var T=P&~y;T!==0?g=jl(T):(j&=P,j!==0&&(g=jl(j)))}else P=d&~y,P!==0?g=jl(P):j!==0&&(g=jl(j));if(g===0)return 0;if(l!==0&&l!==g&&(l&y)===0&&(y=g&-g,j=l&-l,y>=j||y===16&&(j&4194240)!==0))return l;if((g&4)!==0&&(g|=d&16),l=a.entangledLanes,l!==0)for(a=a.entanglements,l&=g;0d;d++)l.push(a);return l}function Sl(a,l,d){a.pendingLanes|=l,l!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,l=31-un(l),a[l]=d}function e_(a,l){var d=a.pendingLanes&~l;a.pendingLanes=l,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=l,a.mutableReadLanes&=l,a.entangledLanes&=l,l=a.entanglements;var g=a.eventTimes;for(a=a.expirationTimes;0=Ml),sb=" ",lb=!1;function cb(a,l){switch(a){case"keyup":return C_.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ub(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var Ro=!1;function O_(a,l){switch(a){case"compositionend":return ub(l);case"keypress":return l.which!==32?null:(lb=!0,sb);case"textInput":return a=l.data,a===sb&&lb?null:a;default:return null}}function __(a,l){if(Ro)return a==="compositionend"||!Im&&cb(a,l)?(a=tb(),Ou=Am=Ri=null,Ro=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:d,offset:l-a};a=g}e:{for(;d;){if(d.nextSibling){d=d.nextSibling;break e}d=d.parentNode}d=void 0}d=vb(d)}}function yb(a,l){return a&&l?a===l?!0:a&&a.nodeType===3?!1:l&&l.nodeType===3?yb(a,l.parentNode):"contains"in a?a.contains(l):a.compareDocumentPosition?!!(a.compareDocumentPosition(l)&16):!1:!1}function bb(){for(var a=window,l=ke();l instanceof a.HTMLIFrameElement;){try{var d=typeof l.contentWindow.location.href=="string"}catch{d=!1}if(d)a=l.contentWindow;else break;l=ke(a.document)}return l}function Lm(a){var l=a&&a.nodeName&&a.nodeName.toLowerCase();return l&&(l==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||l==="textarea"||a.contentEditable==="true")}function F_(a){var l=bb(),d=a.focusedElem,g=a.selectionRange;if(l!==d&&d&&d.ownerDocument&&yb(d.ownerDocument.documentElement,d)){if(g!==null&&Lm(d)){if(l=g.start,a=g.end,a===void 0&&(a=l),"selectionStart"in d)d.selectionStart=l,d.selectionEnd=Math.min(a,d.value.length);else if(a=(l=d.ownerDocument||document)&&l.defaultView||window,a.getSelection){a=a.getSelection();var y=d.textContent.length,j=Math.min(g.start,y);g=g.end===void 0?j:Math.min(g.end,y),!a.extend&&j>g&&(y=g,g=j,j=y),y=xb(d,j);var P=xb(d,g);y&&P&&(a.rangeCount!==1||a.anchorNode!==y.node||a.anchorOffset!==y.offset||a.focusNode!==P.node||a.focusOffset!==P.offset)&&(l=l.createRange(),l.setStart(y.node,y.offset),a.removeAllRanges(),j>g?(a.addRange(l),a.extend(P.node,P.offset)):(l.setEnd(P.node,P.offset),a.addRange(l)))}}for(l=[],a=d;a=a.parentNode;)a.nodeType===1&&l.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;d=document.documentMode,$o=null,Rm=null,Ll=null,$m=!1;function wb(a,l,d){var g=d.window===d?d.document:d.nodeType===9?d:d.ownerDocument;$m||$o==null||$o!==ke(g)||(g=$o,"selectionStart"in g&&Lm(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Ll&&Dl(Ll,g)||(Ll=g,g=$u(Rm,"onSelect"),0Wo||(a.current=Ym[Wo],Ym[Wo]=null,Wo--)}function nt(a,l){Wo++,Ym[Wo]=a.current,a.current=l}var Bi={},rr=Fi(Bi),br=Fi(!1),Pa=Bi;function Ho(a,l){var d=a.type.contextTypes;if(!d)return Bi;var g=a.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===l)return g.__reactInternalMemoizedMaskedChildContext;var y={},j;for(j in d)y[j]=l[j];return g&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=l,a.__reactInternalMemoizedMaskedChildContext=y),y}function wr(a){return a=a.childContextTypes,a!=null}function Uu(){st(br),st(rr)}function Lb(a,l,d){if(rr.current!==Bi)throw Error(r(168));nt(rr,l),nt(br,d)}function Rb(a,l,d){var g=a.stateNode;if(l=l.childContextTypes,typeof g.getChildContext!="function")return d;g=g.getChildContext();for(var y in g)if(!(y in l))throw Error(r(108,ne(a)||"Unknown",y));return ie({},d,g)}function Wu(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Bi,Pa=rr.current,nt(rr,a),nt(br,br.current),!0}function $b(a,l,d){var g=a.stateNode;if(!g)throw Error(r(169));d?(a=Rb(a,l,Pa),g.__reactInternalMemoizedMergedChildContext=a,st(br),st(rr),nt(rr,a)):st(br),nt(br,d)}var ei=null,Hu=!1,Zm=!1;function zb(a){ei===null?ei=[a]:ei.push(a)}function X_(a){Hu=!0,zb(a)}function Ui(){if(!Zm&&ei!==null){Zm=!0;var a=0,l=et;try{var d=ei;for(et=1;a>=P,y-=P,ti=1<<32-un(l)+y|d<ze?($t=Le,Le=null):$t=Le.sibling;var Ye=de(H,Le,V[ze],ve);if(Ye===null){Le===null&&(Le=$t);break}a&&Le&&Ye.alternate===null&&l(H,Le),z=j(Ye,z,ze),De===null?Me=Ye:De.sibling=Ye,De=Ye,Le=$t}if(ze===V.length)return d(H,Le),dt&&_a(H,ze),Me;if(Le===null){for(;zeze?($t=Le,Le=null):$t=Le.sibling;var Zi=de(H,Le,Ye.value,ve);if(Zi===null){Le===null&&(Le=$t);break}a&&Le&&Zi.alternate===null&&l(H,Le),z=j(Zi,z,ze),De===null?Me=Zi:De.sibling=Zi,De=Zi,Le=$t}if(Ye.done)return d(H,Le),dt&&_a(H,ze),Me;if(Le===null){for(;!Ye.done;ze++,Ye=V.next())Ye=me(H,Ye.value,ve),Ye!==null&&(z=j(Ye,z,ze),De===null?Me=Ye:De.sibling=Ye,De=Ye);return dt&&_a(H,ze),Me}for(Le=g(H,Le);!Ye.done;ze++,Ye=V.next())Ye=we(Le,H,ze,Ye.value,ve),Ye!==null&&(a&&Ye.alternate!==null&&Le.delete(Ye.key===null?ze:Ye.key),z=j(Ye,z,ze),De===null?Me=Ye:De.sibling=Ye,De=Ye);return a&&Le.forEach(function(M4){return l(H,M4)}),dt&&_a(H,ze),Me}function jt(H,z,V,ve){if(typeof V=="object"&&V!==null&&V.type===I&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case _:e:{for(var Me=V.key,De=z;De!==null;){if(De.key===Me){if(Me=V.type,Me===I){if(De.tag===7){d(H,De.sibling),z=y(De,V.props.children),z.return=H,H=z;break e}}else if(De.elementType===Me||typeof Me=="object"&&Me!==null&&Me.$$typeof===se&&Kb(Me)===De.type){d(H,De.sibling),z=y(De,V.props),z.ref=Ul(H,De,V),z.return=H,H=z;break e}d(H,De);break}else l(H,De);De=De.sibling}V.type===I?(z=za(V.props.children,H.mode,ve,V.key),z.return=H,H=z):(ve=xd(V.type,V.key,V.props,null,H.mode,ve),ve.ref=Ul(H,z,V),ve.return=H,H=ve)}return P(H);case O:e:{for(De=V.key;z!==null;){if(z.key===De)if(z.tag===4&&z.stateNode.containerInfo===V.containerInfo&&z.stateNode.implementation===V.implementation){d(H,z.sibling),z=y(z,V.children||[]),z.return=H,H=z;break e}else{d(H,z);break}else l(H,z);z=z.sibling}z=qp(V,H.mode,ve),z.return=H,H=z}return P(H);case se:return De=V._init,jt(H,z,De(V._payload),ve)}if(_e(V))return Ee(H,z,V,ve);if(te(V))return Ce(H,z,V,ve);qu(H,V)}return typeof V=="string"&&V!==""||typeof V=="number"?(V=""+V,z!==null&&z.tag===6?(d(H,z.sibling),z=y(z,V),z.return=H,H=z):(d(H,z),z=Vp(V,H.mode,ve),z.return=H,H=z),P(H)):d(H,z)}return jt}var qo=Gb(!0),Vb=Gb(!1),Qu=Fi(null),Yu=null,Qo=null,np=null;function ip(){np=Qo=Yu=null}function ap(a){var l=Qu.current;st(Qu),a._currentValue=l}function op(a,l,d){for(;a!==null;){var g=a.alternate;if((a.childLanes&l)!==l?(a.childLanes|=l,g!==null&&(g.childLanes|=l)):g!==null&&(g.childLanes&l)!==l&&(g.childLanes|=l),a===d)break;a=a.return}}function Yo(a,l){Yu=a,np=Qo=null,a=a.dependencies,a!==null&&a.firstContext!==null&&((a.lanes&l)!==0&&(kr=!0),a.firstContext=null)}function Vr(a){var l=a._currentValue;if(np!==a)if(a={context:a,memoizedValue:l,next:null},Qo===null){if(Yu===null)throw Error(r(308));Qo=a,Yu.dependencies={lanes:0,firstContext:a}}else Qo=Qo.next=a;return l}var Ma=null;function sp(a){Ma===null?Ma=[a]:Ma.push(a)}function qb(a,l,d,g){var y=l.interleaved;return y===null?(d.next=d,sp(l)):(d.next=y.next,y.next=d),l.interleaved=d,ni(a,g)}function ni(a,l){a.lanes|=l;var d=a.alternate;for(d!==null&&(d.lanes|=l),d=a,a=a.return;a!==null;)a.childLanes|=l,d=a.alternate,d!==null&&(d.childLanes|=l),d=a,a=a.return;return d.tag===3?d.stateNode:null}var Wi=!1;function lp(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Qb(a,l){a=a.updateQueue,l.updateQueue===a&&(l.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ii(a,l){return{eventTime:a,lane:l,tag:0,payload:null,callback:null,next:null}}function Hi(a,l,d){var g=a.updateQueue;if(g===null)return null;if(g=g.shared,(Qe&2)!==0){var y=g.pending;return y===null?l.next=l:(l.next=y.next,y.next=l),g.pending=l,ni(a,d)}return y=g.interleaved,y===null?(l.next=l,sp(g)):(l.next=y.next,y.next=l),g.interleaved=l,ni(a,d)}function Zu(a,l,d){if(l=l.updateQueue,l!==null&&(l=l.shared,(d&4194240)!==0)){var g=l.lanes;g&=a.pendingLanes,d|=g,l.lanes=d,km(a,d)}}function Yb(a,l){var d=a.updateQueue,g=a.alternate;if(g!==null&&(g=g.updateQueue,d===g)){var y=null,j=null;if(d=d.firstBaseUpdate,d!==null){do{var P={eventTime:d.eventTime,lane:d.lane,tag:d.tag,payload:d.payload,callback:d.callback,next:null};j===null?y=j=P:j=j.next=P,d=d.next}while(d!==null);j===null?y=j=l:j=j.next=l}else y=j=l;d={baseState:g.baseState,firstBaseUpdate:y,lastBaseUpdate:j,shared:g.shared,effects:g.effects},a.updateQueue=d;return}a=d.lastBaseUpdate,a===null?d.firstBaseUpdate=l:a.next=l,d.lastBaseUpdate=l}function Xu(a,l,d,g){var y=a.updateQueue;Wi=!1;var j=y.firstBaseUpdate,P=y.lastBaseUpdate,T=y.shared.pending;if(T!==null){y.shared.pending=null;var L=T,X=L.next;L.next=null,P===null?j=X:P.next=X,P=L;var fe=a.alternate;fe!==null&&(fe=fe.updateQueue,T=fe.lastBaseUpdate,T!==P&&(T===null?fe.firstBaseUpdate=X:T.next=X,fe.lastBaseUpdate=L))}if(j!==null){var me=y.baseState;P=0,fe=X=L=null,T=j;do{var de=T.lane,we=T.eventTime;if((g&de)===de){fe!==null&&(fe=fe.next={eventTime:we,lane:0,tag:T.tag,payload:T.payload,callback:T.callback,next:null});e:{var Ee=a,Ce=T;switch(de=l,we=d,Ce.tag){case 1:if(Ee=Ce.payload,typeof Ee=="function"){me=Ee.call(we,me,de);break e}me=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=Ce.payload,de=typeof Ee=="function"?Ee.call(we,me,de):Ee,de==null)break e;me=ie({},me,de);break e;case 2:Wi=!0}}T.callback!==null&&T.lane!==0&&(a.flags|=64,de=y.effects,de===null?y.effects=[T]:de.push(T))}else we={eventTime:we,lane:de,tag:T.tag,payload:T.payload,callback:T.callback,next:null},fe===null?(X=fe=we,L=me):fe=fe.next=we,P|=de;if(T=T.next,T===null){if(T=y.shared.pending,T===null)break;de=T,T=de.next,de.next=null,y.lastBaseUpdate=de,y.shared.pending=null}}while(!0);if(fe===null&&(L=me),y.baseState=L,y.firstBaseUpdate=X,y.lastBaseUpdate=fe,l=y.shared.interleaved,l!==null){y=l;do P|=y.lane,y=y.next;while(y!==l)}else j===null&&(y.shared.lanes=0);Da|=P,a.lanes=P,a.memoizedState=me}}function Zb(a,l,d){if(a=l.effects,l.effects=null,a!==null)for(l=0;ld?d:4,a(!0);var g=hp.transition;hp.transition={};try{a(!1),l()}finally{et=d,hp.transition=g}}function g1(){return qr().memoizedState}function r4(a,l,d){var g=qi(a);if(d={lane:g,action:d,hasEagerState:!1,eagerState:null,next:null},v1(a))x1(l,d);else if(d=qb(a,l,d,g),d!==null){var y=hr();gn(d,a,g,y),y1(d,l,g)}}function n4(a,l,d){var g=qi(a),y={lane:g,action:d,hasEagerState:!1,eagerState:null,next:null};if(v1(a))x1(l,y);else{var j=a.alternate;if(a.lanes===0&&(j===null||j.lanes===0)&&(j=l.lastRenderedReducer,j!==null))try{var P=l.lastRenderedState,T=j(P,d);if(y.hasEagerState=!0,y.eagerState=T,dn(T,P)){var L=l.interleaved;L===null?(y.next=y,sp(l)):(y.next=L.next,L.next=y),l.interleaved=y;return}}catch{}finally{}d=qb(a,l,y,g),d!==null&&(y=hr(),gn(d,a,g,y),y1(d,l,g))}}function v1(a){var l=a.alternate;return a===gt||l!==null&&l===gt}function x1(a,l){Gl=td=!0;var d=a.pending;d===null?l.next=l:(l.next=d.next,d.next=l),a.pending=l}function y1(a,l,d){if((d&4194240)!==0){var g=l.lanes;g&=a.pendingLanes,d|=g,l.lanes=d,km(a,d)}}var id={readContext:Vr,useCallback:nr,useContext:nr,useEffect:nr,useImperativeHandle:nr,useInsertionEffect:nr,useLayoutEffect:nr,useMemo:nr,useReducer:nr,useRef:nr,useState:nr,useDebugValue:nr,useDeferredValue:nr,useTransition:nr,useMutableSource:nr,useSyncExternalStore:nr,useId:nr,unstable_isNewReconciler:!1},i4={readContext:Vr,useCallback:function(a,l){return On().memoizedState=[a,l===void 0?null:l],a},useContext:Vr,useEffect:l1,useImperativeHandle:function(a,l,d){return d=d!=null?d.concat([a]):null,rd(4194308,4,d1.bind(null,l,a),d)},useLayoutEffect:function(a,l){return rd(4194308,4,a,l)},useInsertionEffect:function(a,l){return rd(4,2,a,l)},useMemo:function(a,l){var d=On();return l=l===void 0?null:l,a=a(),d.memoizedState=[a,l],a},useReducer:function(a,l,d){var g=On();return l=d!==void 0?d(l):l,g.memoizedState=g.baseState=l,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:l},g.queue=a,a=a.dispatch=r4.bind(null,gt,a),[g.memoizedState,a]},useRef:function(a){var l=On();return a={current:a},l.memoizedState=a},useState:o1,useDebugValue:bp,useDeferredValue:function(a){return On().memoizedState=a},useTransition:function(){var a=o1(!1),l=a[0];return a=t4.bind(null,a[1]),On().memoizedState=a,[l,a]},useMutableSource:function(){},useSyncExternalStore:function(a,l,d){var g=gt,y=On();if(dt){if(d===void 0)throw Error(r(407));d=d()}else{if(d=l(),Rt===null)throw Error(r(349));(Ta&30)!==0||t1(g,l,d)}y.memoizedState=d;var j={value:d,getSnapshot:l};return y.queue=j,l1(n1.bind(null,g,j,a),[a]),g.flags|=2048,Ql(9,r1.bind(null,g,j,d,l),void 0,null),d},useId:function(){var a=On(),l=Rt.identifierPrefix;if(dt){var d=ri,g=ti;d=(g&~(1<<32-un(g)-1)).toString(32)+d,l=":"+l+"R"+d,d=Vl++,0")&&(L=L.replace("",a.displayName)),L}while(1<=P&&0<=T);break}}}finally{q=!1,Error.prepareStackTrace=d}return(a=a?a.displayName||a.name:"")?M(a):""}function oe(a){switch(a.tag){case 5:return M(a.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return a=le(a.type,!1),a;case 11:return a=le(a.type.render,!1),a;case 1:return a=le(a.type,!0),a;default:return""}}function ee(a){if(a==null)return null;if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case I:return"Fragment";case O:return"Portal";case F:return"Profiler";case B:return"StrictMode";case ge:return"Suspense";case ue:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case Q:return(a.displayName||"Context")+".Consumer";case R:return(a._context.displayName||"Context")+".Provider";case U:var l=a.render;return a=a.displayName,a||(a=l.displayName||l.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case pe:return l=a.displayName||null,l!==null?l:ee(a.type)||"Memo";case se:l=a._payload,a=a._init;try{return ee(a(l))}catch{}}return null}function ne(a){var l=a.type;switch(a.tag){case 24:return"Cache";case 9:return(l.displayName||"Context")+".Consumer";case 10:return(l._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=l.render,a=a.displayName||a.name||"",l.displayName||(a!==""?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return l;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(l);case 8:return l===B?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof l=="function")return l.displayName||l.name||null;if(typeof l=="string")return l}return null}function he(a){switch(typeof a){case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function re(a){var l=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function ye(a){var l=re(a)?"checked":"value",d=Object.getOwnPropertyDescriptor(a.constructor.prototype,l),g=""+a[l];if(!a.hasOwnProperty(l)&&typeof d<"u"&&typeof d.get=="function"&&typeof d.set=="function"){var y=d.get,j=d.set;return Object.defineProperty(a,l,{configurable:!0,get:function(){return y.call(this)},set:function(P){g=""+P,j.call(this,P)}}),Object.defineProperty(a,l,{enumerable:d.enumerable}),{getValue:function(){return g},setValue:function(P){g=""+P},stopTracking:function(){a._valueTracker=null,delete a[l]}}}}function Oe(a){a._valueTracker||(a._valueTracker=ye(a))}function W(a){if(!a)return!1;var l=a._valueTracker;if(!l)return!0;var d=l.getValue(),g="";return a&&(g=re(a)?a.checked?"true":"false":a.value),a=g,a!==d?(l.setValue(a),!0):!1}function ke(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}function Ie(a,l){var d=l.checked;return ie({},l,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:d??a._wrapperState.initialChecked})}function be(a,l){var d=l.defaultValue==null?"":l.defaultValue,g=l.checked!=null?l.checked:l.defaultChecked;d=he(l.value!=null?l.value:d),a._wrapperState={initialChecked:g,initialValue:d,controlled:l.type==="checkbox"||l.type==="radio"?l.checked!=null:l.value!=null}}function We(a,l){l=l.checked,l!=null&&C(a,"checked",l,!1)}function Lt(a,l){We(a,l);var d=he(l.value),g=l.type;if(d!=null)g==="number"?(d===0&&a.value===""||a.value!=d)&&(a.value=""+d):a.value!==""+d&&(a.value=""+d);else if(g==="submit"||g==="reset"){a.removeAttribute("value");return}l.hasOwnProperty("value")?Ae(a,l.type,d):l.hasOwnProperty("defaultValue")&&Ae(a,l.type,he(l.defaultValue)),l.checked==null&&l.defaultChecked!=null&&(a.defaultChecked=!!l.defaultChecked)}function K(a,l,d){if(l.hasOwnProperty("value")||l.hasOwnProperty("defaultValue")){var g=l.type;if(!(g!=="submit"&&g!=="reset"||l.value!==void 0&&l.value!==null))return;l=""+a._wrapperState.initialValue,d||l===a.value||(a.value=l),a.defaultValue=l}d=a.name,d!==""&&(a.name=""),a.defaultChecked=!!a._wrapperState.initialChecked,d!==""&&(a.name=d)}function Ae(a,l,d){(l!=="number"||ke(a.ownerDocument)!==a)&&(d==null?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+d&&(a.defaultValue=""+d))}var _e=Array.isArray;function Xe(a,l,d,g){if(a=a.options,l){l={};for(var y=0;y"+l.valueOf().toString()+"",l=at.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}});function xl(a,l){if(l){var d=a.firstChild;if(d&&d===a.lastChild&&d.nodeType===3){d.nodeValue=l;return}}a.textContent=l}var yl={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},zO=["Webkit","ms","Moz","O"];Object.keys(yl).forEach(function(a){zO.forEach(function(l){l=l+a.charAt(0).toUpperCase()+a.substring(1),yl[l]=yl[a]})});function _y(a,l,d){return l==null||typeof l=="boolean"||l===""?"":d||typeof l!="number"||l===0||yl.hasOwnProperty(a)&&yl[a]?(""+l).trim():l+"px"}function My(a,l){a=a.style;for(var d in l)if(l.hasOwnProperty(d)){var g=d.indexOf("--")===0,y=_y(d,l[d],g);d==="float"&&(d="cssFloat"),g?a.setProperty(d,y):a[d]=y}}var FO=ie({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function dm(a,l){if(l){if(FO[a]&&(l.children!=null||l.dangerouslySetInnerHTML!=null))throw Error(r(137,a));if(l.dangerouslySetInnerHTML!=null){if(l.children!=null)throw Error(r(60));if(typeof l.dangerouslySetInnerHTML!="object"||!("__html"in l.dangerouslySetInnerHTML))throw Error(r(61))}if(l.style!=null&&typeof l.style!="object")throw Error(r(62))}}function fm(a,l){if(a.indexOf("-")===-1)return typeof l.is=="string";switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var hm=null;function mm(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var pm=null,Io=null,To=null;function Iy(a){if(a=Bl(a)){if(typeof pm!="function")throw Error(r(280));var l=a.stateNode;l&&(l=Uu(l),pm(a.stateNode,a.type,l))}}function Ty(a){Io?To?To.push(a):To=[a]:Io=a}function Dy(){if(Io){var a=Io,l=To;if(To=Io=null,Iy(a),l)for(a=0;a>>=0,a===0?32:31-(ZO(a)/XO|0)|0}var Nu=64,Su=4194304;function jl(a){switch(a&-a){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: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&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function Eu(a,l){var d=a.pendingLanes;if(d===0)return 0;var g=0,y=a.suspendedLanes,j=a.pingedLanes,P=d&268435455;if(P!==0){var T=P&~y;T!==0?g=jl(T):(j&=P,j!==0&&(g=jl(j)))}else P=d&~y,P!==0?g=jl(P):j!==0&&(g=jl(j));if(g===0)return 0;if(l!==0&&l!==g&&(l&y)===0&&(y=g&-g,j=l&-l,y>=j||y===16&&(j&4194240)!==0))return l;if((g&4)!==0&&(g|=d&16),l=a.entangledLanes,l!==0)for(a=a.entanglements,l&=g;0d;d++)l.push(a);return l}function Nl(a,l,d){a.pendingLanes|=l,l!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,l=31-dn(l),a[l]=d}function r4(a,l){var d=a.pendingLanes&~l;a.pendingLanes=l,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=l,a.mutableReadLanes&=l,a.entangledLanes&=l,l=a.entanglements;var g=a.eventTimes;for(a=a.expirationTimes;0=Ml),cb=" ",ub=!1;function db(a,l){switch(a){case"keyup":return O4.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fb(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var Ro=!1;function M4(a,l){switch(a){case"compositionend":return fb(l);case"keypress":return l.which!==32?null:(ub=!0,cb);case"textInput":return a=l.data,a===cb&&ub?null:a;default:return null}}function I4(a,l){if(Ro)return a==="compositionend"||!Im&&db(a,l)?(a=nb(),_u=Am=Ri=null,Ro=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:d,offset:l-a};a=g}e:{for(;d;){if(d.nextSibling){d=d.nextSibling;break e}d=d.parentNode}d=void 0}d=yb(d)}}function wb(a,l){return a&&l?a===l?!0:a&&a.nodeType===3?!1:l&&l.nodeType===3?wb(a,l.parentNode):"contains"in a?a.contains(l):a.compareDocumentPosition?!!(a.compareDocumentPosition(l)&16):!1:!1}function kb(){for(var a=window,l=ke();l instanceof a.HTMLIFrameElement;){try{var d=typeof l.contentWindow.location.href=="string"}catch{d=!1}if(d)a=l.contentWindow;else break;l=ke(a.document)}return l}function Lm(a){var l=a&&a.nodeName&&a.nodeName.toLowerCase();return l&&(l==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||l==="textarea"||a.contentEditable==="true")}function U4(a){var l=kb(),d=a.focusedElem,g=a.selectionRange;if(l!==d&&d&&d.ownerDocument&&wb(d.ownerDocument.documentElement,d)){if(g!==null&&Lm(d)){if(l=g.start,a=g.end,a===void 0&&(a=l),"selectionStart"in d)d.selectionStart=l,d.selectionEnd=Math.min(a,d.value.length);else if(a=(l=d.ownerDocument||document)&&l.defaultView||window,a.getSelection){a=a.getSelection();var y=d.textContent.length,j=Math.min(g.start,y);g=g.end===void 0?j:Math.min(g.end,y),!a.extend&&j>g&&(y=g,g=j,j=y),y=bb(d,j);var P=bb(d,g);y&&P&&(a.rangeCount!==1||a.anchorNode!==y.node||a.anchorOffset!==y.offset||a.focusNode!==P.node||a.focusOffset!==P.offset)&&(l=l.createRange(),l.setStart(y.node,y.offset),a.removeAllRanges(),j>g?(a.addRange(l),a.extend(P.node,P.offset)):(l.setEnd(P.node,P.offset),a.addRange(l)))}}for(l=[],a=d;a=a.parentNode;)a.nodeType===1&&l.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;d=document.documentMode,$o=null,Rm=null,Ll=null,$m=!1;function jb(a,l,d){var g=d.window===d?d.document:d.nodeType===9?d:d.ownerDocument;$m||$o==null||$o!==ke(g)||(g=$o,"selectionStart"in g&&Lm(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Ll&&Dl(Ll,g)||(Ll=g,g=zu(Rm,"onSelect"),0Wo||(a.current=Ym[Wo],Ym[Wo]=null,Wo--)}function nt(a,l){Wo++,Ym[Wo]=a.current,a.current=l}var Bi={},rr=Fi(Bi),br=Fi(!1),Pa=Bi;function Ho(a,l){var d=a.type.contextTypes;if(!d)return Bi;var g=a.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===l)return g.__reactInternalMemoizedMaskedChildContext;var y={},j;for(j in d)y[j]=l[j];return g&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=l,a.__reactInternalMemoizedMaskedChildContext=y),y}function wr(a){return a=a.childContextTypes,a!=null}function Wu(){st(br),st(rr)}function $b(a,l,d){if(rr.current!==Bi)throw Error(r(168));nt(rr,l),nt(br,d)}function zb(a,l,d){var g=a.stateNode;if(l=l.childContextTypes,typeof g.getChildContext!="function")return d;g=g.getChildContext();for(var y in g)if(!(y in l))throw Error(r(108,ne(a)||"Unknown",y));return ie({},d,g)}function Hu(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Bi,Pa=rr.current,nt(rr,a),nt(br,br.current),!0}function Fb(a,l,d){var g=a.stateNode;if(!g)throw Error(r(169));d?(a=zb(a,l,Pa),g.__reactInternalMemoizedMergedChildContext=a,st(br),st(rr),nt(rr,a)):st(br),nt(br,d)}var ei=null,Ku=!1,Zm=!1;function Bb(a){ei===null?ei=[a]:ei.push(a)}function e_(a){Ku=!0,Bb(a)}function Ui(){if(!Zm&&ei!==null){Zm=!0;var a=0,l=et;try{var d=ei;for(et=1;a>=P,y-=P,ti=1<<32-dn(l)+y|d<Fe?(zt=Le,Le=null):zt=Le.sibling;var Ye=de(H,Le,V[Fe],ve);if(Ye===null){Le===null&&(Le=zt);break}a&&Le&&Ye.alternate===null&&l(H,Le),z=j(Ye,z,Fe),De===null?Me=Ye:De.sibling=Ye,De=Ye,Le=zt}if(Fe===V.length)return d(H,Le),dt&&_a(H,Fe),Me;if(Le===null){for(;FeFe?(zt=Le,Le=null):zt=Le.sibling;var Zi=de(H,Le,Ye.value,ve);if(Zi===null){Le===null&&(Le=zt);break}a&&Le&&Zi.alternate===null&&l(H,Le),z=j(Zi,z,Fe),De===null?Me=Zi:De.sibling=Zi,De=Zi,Le=zt}if(Ye.done)return d(H,Le),dt&&_a(H,Fe),Me;if(Le===null){for(;!Ye.done;Fe++,Ye=V.next())Ye=me(H,Ye.value,ve),Ye!==null&&(z=j(Ye,z,Fe),De===null?Me=Ye:De.sibling=Ye,De=Ye);return dt&&_a(H,Fe),Me}for(Le=g(H,Le);!Ye.done;Fe++,Ye=V.next())Ye=we(Le,H,Fe,Ye.value,ve),Ye!==null&&(a&&Ye.alternate!==null&&Le.delete(Ye.key===null?Fe:Ye.key),z=j(Ye,z,Fe),De===null?Me=Ye:De.sibling=Ye,De=Ye);return a&&Le.forEach(function(T_){return l(H,T_)}),dt&&_a(H,Fe),Me}function Nt(H,z,V,ve){if(typeof V=="object"&&V!==null&&V.type===I&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case _:e:{for(var Me=V.key,De=z;De!==null;){if(De.key===Me){if(Me=V.type,Me===I){if(De.tag===7){d(H,De.sibling),z=y(De,V.props.children),z.return=H,H=z;break e}}else if(De.elementType===Me||typeof Me=="object"&&Me!==null&&Me.$$typeof===se&&Vb(Me)===De.type){d(H,De.sibling),z=y(De,V.props),z.ref=Ul(H,De,V),z.return=H,H=z;break e}d(H,De);break}else l(H,De);De=De.sibling}V.type===I?(z=za(V.props.children,H.mode,ve,V.key),z.return=H,H=z):(ve=yd(V.type,V.key,V.props,null,H.mode,ve),ve.ref=Ul(H,z,V),ve.return=H,H=ve)}return P(H);case O:e:{for(De=V.key;z!==null;){if(z.key===De)if(z.tag===4&&z.stateNode.containerInfo===V.containerInfo&&z.stateNode.implementation===V.implementation){d(H,z.sibling),z=y(z,V.children||[]),z.return=H,H=z;break e}else{d(H,z);break}else l(H,z);z=z.sibling}z=qp(V,H.mode,ve),z.return=H,H=z}return P(H);case se:return De=V._init,Nt(H,z,De(V._payload),ve)}if(_e(V))return Ee(H,z,V,ve);if(te(V))return Ce(H,z,V,ve);Qu(H,V)}return typeof V=="string"&&V!==""||typeof V=="number"?(V=""+V,z!==null&&z.tag===6?(d(H,z.sibling),z=y(z,V),z.return=H,H=z):(d(H,z),z=Vp(V,H.mode,ve),z.return=H,H=z),P(H)):d(H,z)}return Nt}var qo=qb(!0),Qb=qb(!1),Yu=Fi(null),Zu=null,Qo=null,np=null;function ip(){np=Qo=Zu=null}function ap(a){var l=Yu.current;st(Yu),a._currentValue=l}function op(a,l,d){for(;a!==null;){var g=a.alternate;if((a.childLanes&l)!==l?(a.childLanes|=l,g!==null&&(g.childLanes|=l)):g!==null&&(g.childLanes&l)!==l&&(g.childLanes|=l),a===d)break;a=a.return}}function Yo(a,l){Zu=a,np=Qo=null,a=a.dependencies,a!==null&&a.firstContext!==null&&((a.lanes&l)!==0&&(kr=!0),a.firstContext=null)}function Vr(a){var l=a._currentValue;if(np!==a)if(a={context:a,memoizedValue:l,next:null},Qo===null){if(Zu===null)throw Error(r(308));Qo=a,Zu.dependencies={lanes:0,firstContext:a}}else Qo=Qo.next=a;return l}var Ma=null;function sp(a){Ma===null?Ma=[a]:Ma.push(a)}function Yb(a,l,d,g){var y=l.interleaved;return y===null?(d.next=d,sp(l)):(d.next=y.next,y.next=d),l.interleaved=d,ni(a,g)}function ni(a,l){a.lanes|=l;var d=a.alternate;for(d!==null&&(d.lanes|=l),d=a,a=a.return;a!==null;)a.childLanes|=l,d=a.alternate,d!==null&&(d.childLanes|=l),d=a,a=a.return;return d.tag===3?d.stateNode:null}var Wi=!1;function lp(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Zb(a,l){a=a.updateQueue,l.updateQueue===a&&(l.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ii(a,l){return{eventTime:a,lane:l,tag:0,payload:null,callback:null,next:null}}function Hi(a,l,d){var g=a.updateQueue;if(g===null)return null;if(g=g.shared,(Qe&2)!==0){var y=g.pending;return y===null?l.next=l:(l.next=y.next,y.next=l),g.pending=l,ni(a,d)}return y=g.interleaved,y===null?(l.next=l,sp(g)):(l.next=y.next,y.next=l),g.interleaved=l,ni(a,d)}function Xu(a,l,d){if(l=l.updateQueue,l!==null&&(l=l.shared,(d&4194240)!==0)){var g=l.lanes;g&=a.pendingLanes,d|=g,l.lanes=d,km(a,d)}}function Xb(a,l){var d=a.updateQueue,g=a.alternate;if(g!==null&&(g=g.updateQueue,d===g)){var y=null,j=null;if(d=d.firstBaseUpdate,d!==null){do{var P={eventTime:d.eventTime,lane:d.lane,tag:d.tag,payload:d.payload,callback:d.callback,next:null};j===null?y=j=P:j=j.next=P,d=d.next}while(d!==null);j===null?y=j=l:j=j.next=l}else y=j=l;d={baseState:g.baseState,firstBaseUpdate:y,lastBaseUpdate:j,shared:g.shared,effects:g.effects},a.updateQueue=d;return}a=d.lastBaseUpdate,a===null?d.firstBaseUpdate=l:a.next=l,d.lastBaseUpdate=l}function Ju(a,l,d,g){var y=a.updateQueue;Wi=!1;var j=y.firstBaseUpdate,P=y.lastBaseUpdate,T=y.shared.pending;if(T!==null){y.shared.pending=null;var L=T,X=L.next;L.next=null,P===null?j=X:P.next=X,P=L;var fe=a.alternate;fe!==null&&(fe=fe.updateQueue,T=fe.lastBaseUpdate,T!==P&&(T===null?fe.firstBaseUpdate=X:T.next=X,fe.lastBaseUpdate=L))}if(j!==null){var me=y.baseState;P=0,fe=X=L=null,T=j;do{var de=T.lane,we=T.eventTime;if((g&de)===de){fe!==null&&(fe=fe.next={eventTime:we,lane:0,tag:T.tag,payload:T.payload,callback:T.callback,next:null});e:{var Ee=a,Ce=T;switch(de=l,we=d,Ce.tag){case 1:if(Ee=Ce.payload,typeof Ee=="function"){me=Ee.call(we,me,de);break e}me=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=Ce.payload,de=typeof Ee=="function"?Ee.call(we,me,de):Ee,de==null)break e;me=ie({},me,de);break e;case 2:Wi=!0}}T.callback!==null&&T.lane!==0&&(a.flags|=64,de=y.effects,de===null?y.effects=[T]:de.push(T))}else we={eventTime:we,lane:de,tag:T.tag,payload:T.payload,callback:T.callback,next:null},fe===null?(X=fe=we,L=me):fe=fe.next=we,P|=de;if(T=T.next,T===null){if(T=y.shared.pending,T===null)break;de=T,T=de.next,de.next=null,y.lastBaseUpdate=de,y.shared.pending=null}}while(!0);if(fe===null&&(L=me),y.baseState=L,y.firstBaseUpdate=X,y.lastBaseUpdate=fe,l=y.shared.interleaved,l!==null){y=l;do P|=y.lane,y=y.next;while(y!==l)}else j===null&&(y.shared.lanes=0);Da|=P,a.lanes=P,a.memoizedState=me}}function Jb(a,l,d){if(a=l.effects,l.effects=null,a!==null)for(l=0;ld?d:4,a(!0);var g=hp.transition;hp.transition={};try{a(!1),l()}finally{et=d,hp.transition=g}}function x1(){return qr().memoizedState}function i_(a,l,d){var g=qi(a);if(d={lane:g,action:d,hasEagerState:!1,eagerState:null,next:null},y1(a))b1(l,d);else if(d=Yb(a,l,d,g),d!==null){var y=hr();vn(d,a,g,y),w1(d,l,g)}}function a_(a,l,d){var g=qi(a),y={lane:g,action:d,hasEagerState:!1,eagerState:null,next:null};if(y1(a))b1(l,y);else{var j=a.alternate;if(a.lanes===0&&(j===null||j.lanes===0)&&(j=l.lastRenderedReducer,j!==null))try{var P=l.lastRenderedState,T=j(P,d);if(y.hasEagerState=!0,y.eagerState=T,fn(T,P)){var L=l.interleaved;L===null?(y.next=y,sp(l)):(y.next=L.next,L.next=y),l.interleaved=y;return}}catch{}finally{}d=Yb(a,l,y,g),d!==null&&(y=hr(),vn(d,a,g,y),w1(d,l,g))}}function y1(a){var l=a.alternate;return a===vt||l!==null&&l===vt}function b1(a,l){Gl=rd=!0;var d=a.pending;d===null?l.next=l:(l.next=d.next,d.next=l),a.pending=l}function w1(a,l,d){if((d&4194240)!==0){var g=l.lanes;g&=a.pendingLanes,d|=g,l.lanes=d,km(a,d)}}var ad={readContext:Vr,useCallback:nr,useContext:nr,useEffect:nr,useImperativeHandle:nr,useInsertionEffect:nr,useLayoutEffect:nr,useMemo:nr,useReducer:nr,useRef:nr,useState:nr,useDebugValue:nr,useDeferredValue:nr,useTransition:nr,useMutableSource:nr,useSyncExternalStore:nr,useId:nr,unstable_isNewReconciler:!1},o_={readContext:Vr,useCallback:function(a,l){return On().memoizedState=[a,l===void 0?null:l],a},useContext:Vr,useEffect:u1,useImperativeHandle:function(a,l,d){return d=d!=null?d.concat([a]):null,nd(4194308,4,h1.bind(null,l,a),d)},useLayoutEffect:function(a,l){return nd(4194308,4,a,l)},useInsertionEffect:function(a,l){return nd(4,2,a,l)},useMemo:function(a,l){var d=On();return l=l===void 0?null:l,a=a(),d.memoizedState=[a,l],a},useReducer:function(a,l,d){var g=On();return l=d!==void 0?d(l):l,g.memoizedState=g.baseState=l,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:l},g.queue=a,a=a.dispatch=i_.bind(null,vt,a),[g.memoizedState,a]},useRef:function(a){var l=On();return a={current:a},l.memoizedState=a},useState:l1,useDebugValue:bp,useDeferredValue:function(a){return On().memoizedState=a},useTransition:function(){var a=l1(!1),l=a[0];return a=n_.bind(null,a[1]),On().memoizedState=a,[l,a]},useMutableSource:function(){},useSyncExternalStore:function(a,l,d){var g=vt,y=On();if(dt){if(d===void 0)throw Error(r(407));d=d()}else{if(d=l(),$t===null)throw Error(r(349));(Ta&30)!==0||n1(g,l,d)}y.memoizedState=d;var j={value:d,getSnapshot:l};return y.queue=j,u1(a1.bind(null,g,j,a),[a]),g.flags|=2048,Ql(9,i1.bind(null,g,j,d,l),void 0,null),d},useId:function(){var a=On(),l=$t.identifierPrefix;if(dt){var d=ri,g=ti;d=(g&~(1<<32-dn(g)-1)).toString(32)+d,l=":"+l+"R"+d,d=Vl++,0<\/script>",a=a.removeChild(a.firstChild)):typeof g.is=="string"?a=P.createElement(d,{is:g.is}):(a=P.createElement(d),d==="select"&&(P=a,g.multiple?P.multiple=!0:g.size&&(P.size=g.size))):a=P.createElementNS(a,d),a[Cn]=l,a[Fl]=g,z1(a,l,!1,!1),l.stateNode=a;e:{switch(P=fm(d,g),d){case"dialog":ot("cancel",a),ot("close",a),y=g;break;case"iframe":case"object":case"embed":ot("load",a),y=g;break;case"video":case"audio":for(y=0;yts&&(l.flags|=128,g=!0,Yl(j,!1),l.lanes=4194304)}else{if(!g)if(a=Ju(P),a!==null){if(l.flags|=128,g=!0,d=a.updateQueue,d!==null&&(l.updateQueue=d,l.flags|=4),Yl(j,!0),j.tail===null&&j.tailMode==="hidden"&&!P.alternate&&!dt)return ir(l),null}else 2*kt()-j.renderingStartTime>ts&&d!==1073741824&&(l.flags|=128,g=!0,Yl(j,!1),l.lanes=4194304);j.isBackwards?(P.sibling=l.child,l.child=P):(d=j.last,d!==null?d.sibling=P:l.child=P,j.last=P)}return j.tail!==null?(l=j.tail,j.rendering=l,j.tail=l.sibling,j.renderingStartTime=kt(),l.sibling=null,d=pt.current,nt(pt,g?d&1|2:d&1),l):(ir(l),null);case 22:case 23:return Hp(),g=l.memoizedState!==null,a!==null&&a.memoizedState!==null!==g&&(l.flags|=8192),g&&(l.mode&1)!==0?(Tr&1073741824)!==0&&(ir(l),l.subtreeFlags&6&&(l.flags|=8192)):ir(l),null;case 24:return null;case 25:return null}throw Error(r(156,l.tag))}function f4(a,l){switch(Jm(l),l.tag){case 1:return wr(l.type)&&Uu(),a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 3:return Zo(),st(br),st(rr),fp(),a=l.flags,(a&65536)!==0&&(a&128)===0?(l.flags=a&-65537|128,l):null;case 5:return up(l),null;case 13:if(st(pt),a=l.memoizedState,a!==null&&a.dehydrated!==null){if(l.alternate===null)throw Error(r(340));Vo()}return a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 19:return st(pt),null;case 4:return Zo(),null;case 10:return ap(l.type._context),null;case 22:case 23:return Hp(),null;case 24:return null;default:return null}}var ld=!1,ar=!1,h4=typeof WeakSet=="function"?WeakSet:Set,Se=null;function Jo(a,l){var d=a.ref;if(d!==null)if(typeof d=="function")try{d(null)}catch(g){xt(a,l,g)}else d.current=null}function Mp(a,l,d){try{d()}catch(g){xt(a,l,g)}}var U1=!1;function m4(a,l){if(Hm=Cu,a=bb(),Lm(a)){if("selectionStart"in a)var d={start:a.selectionStart,end:a.selectionEnd};else e:{d=(d=a.ownerDocument)&&d.defaultView||window;var g=d.getSelection&&d.getSelection();if(g&&g.rangeCount!==0){d=g.anchorNode;var y=g.anchorOffset,j=g.focusNode;g=g.focusOffset;try{d.nodeType,j.nodeType}catch{d=null;break e}var P=0,T=-1,L=-1,X=0,fe=0,me=a,de=null;t:for(;;){for(var we;me!==d||y!==0&&me.nodeType!==3||(T=P+y),me!==j||g!==0&&me.nodeType!==3||(L=P+g),me.nodeType===3&&(P+=me.nodeValue.length),(we=me.firstChild)!==null;)de=me,me=we;for(;;){if(me===a)break t;if(de===d&&++X===y&&(T=P),de===j&&++fe===g&&(L=P),(we=me.nextSibling)!==null)break;me=de,de=me.parentNode}me=we}d=T===-1||L===-1?null:{start:T,end:L}}else d=null}d=d||{start:0,end:0}}else d=null;for(Km={focusedElem:a,selectionRange:d},Cu=!1,Se=l;Se!==null;)if(l=Se,a=l.child,(l.subtreeFlags&1028)!==0&&a!==null)a.return=l,Se=a;else for(;Se!==null;){l=Se;try{var Ee=l.alternate;if((l.flags&1024)!==0)switch(l.tag){case 0:case 11:case 15:break;case 1:if(Ee!==null){var Ce=Ee.memoizedProps,jt=Ee.memoizedState,H=l.stateNode,z=H.getSnapshotBeforeUpdate(l.elementType===l.type?Ce:hn(l.type,Ce),jt);H.__reactInternalSnapshotBeforeUpdate=z}break;case 3:var V=l.stateNode.containerInfo;V.nodeType===1?V.textContent="":V.nodeType===9&&V.documentElement&&V.removeChild(V.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(ve){xt(l,l.return,ve)}if(a=l.sibling,a!==null){a.return=l.return,Se=a;break}Se=l.return}return Ee=U1,U1=!1,Ee}function Zl(a,l,d){var g=l.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var y=g=g.next;do{if((y.tag&a)===a){var j=y.destroy;y.destroy=void 0,j!==void 0&&Mp(l,d,j)}y=y.next}while(y!==g)}}function cd(a,l){if(l=l.updateQueue,l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&a)===a){var g=d.create;d.destroy=g()}d=d.next}while(d!==l)}}function Ip(a){var l=a.ref;if(l!==null){var d=a.stateNode;switch(a.tag){case 5:a=d;break;default:a=d}typeof l=="function"?l(a):l.current=a}}function W1(a){var l=a.alternate;l!==null&&(a.alternate=null,W1(l)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(l=a.stateNode,l!==null&&(delete l[Cn],delete l[Fl],delete l[Qm],delete l[Y_],delete l[Z_])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function H1(a){return a.tag===5||a.tag===3||a.tag===4}function K1(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||H1(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Tp(a,l,d){var g=a.tag;if(g===5||g===6)a=a.stateNode,l?d.nodeType===8?d.parentNode.insertBefore(a,l):d.insertBefore(a,l):(d.nodeType===8?(l=d.parentNode,l.insertBefore(a,d)):(l=d,l.appendChild(a)),d=d._reactRootContainer,d!=null||l.onclick!==null||(l.onclick=Fu));else if(g!==4&&(a=a.child,a!==null))for(Tp(a,l,d),a=a.sibling;a!==null;)Tp(a,l,d),a=a.sibling}function Dp(a,l,d){var g=a.tag;if(g===5||g===6)a=a.stateNode,l?d.insertBefore(a,l):d.appendChild(a);else if(g!==4&&(a=a.child,a!==null))for(Dp(a,l,d),a=a.sibling;a!==null;)Dp(a,l,d),a=a.sibling}var Gt=null,mn=!1;function Ki(a,l,d){for(d=d.child;d!==null;)G1(a,l,d),d=d.sibling}function G1(a,l,d){if(An&&typeof An.onCommitFiberUnmount=="function")try{An.onCommitFiberUnmount(ku,d)}catch{}switch(d.tag){case 5:ar||Jo(d,l);case 6:var g=Gt,y=mn;Gt=null,Ki(a,l,d),Gt=g,mn=y,Gt!==null&&(mn?(a=Gt,d=d.stateNode,a.nodeType===8?a.parentNode.removeChild(d):a.removeChild(d)):Gt.removeChild(d.stateNode));break;case 18:Gt!==null&&(mn?(a=Gt,d=d.stateNode,a.nodeType===8?qm(a.parentNode,d):a.nodeType===1&&qm(a,d),Pl(a)):qm(Gt,d.stateNode));break;case 4:g=Gt,y=mn,Gt=d.stateNode.containerInfo,mn=!0,Ki(a,l,d),Gt=g,mn=y;break;case 0:case 11:case 14:case 15:if(!ar&&(g=d.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){y=g=g.next;do{var j=y,P=j.destroy;j=j.tag,P!==void 0&&((j&2)!==0||(j&4)!==0)&&Mp(d,l,P),y=y.next}while(y!==g)}Ki(a,l,d);break;case 1:if(!ar&&(Jo(d,l),g=d.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=d.memoizedProps,g.state=d.memoizedState,g.componentWillUnmount()}catch(T){xt(d,l,T)}Ki(a,l,d);break;case 21:Ki(a,l,d);break;case 22:d.mode&1?(ar=(g=ar)||d.memoizedState!==null,Ki(a,l,d),ar=g):Ki(a,l,d);break;default:Ki(a,l,d)}}function V1(a){var l=a.updateQueue;if(l!==null){a.updateQueue=null;var d=a.stateNode;d===null&&(d=a.stateNode=new h4),l.forEach(function(g){var y=j4.bind(null,a,g);d.has(g)||(d.add(g),g.then(y,y))})}}function pn(a,l){var d=l.deletions;if(d!==null)for(var g=0;gy&&(y=P),g&=~j}if(g=y,g=kt()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*g4(g/1960))-g,10a?16:a,Vi===null)var g=!1;else{if(a=Vi,Vi=null,md=0,(Qe&6)!==0)throw Error(r(331));var y=Qe;for(Qe|=4,Se=a.current;Se!==null;){var j=Se,P=j.child;if((Se.flags&16)!==0){var T=j.deletions;if(T!==null){for(var L=0;Lkt()-$p?Ra(a,0):Rp|=d),Sr(a,l)}function ow(a,l){l===0&&((a.mode&1)===0?l=1:(l=Su,Su<<=1,(Su&130023424)===0&&(Su=4194304)));var d=hr();a=ni(a,l),a!==null&&(Sl(a,l,d),Sr(a,d))}function k4(a){var l=a.memoizedState,d=0;l!==null&&(d=l.retryLane),ow(a,d)}function j4(a,l){var d=0;switch(a.tag){case 13:var g=a.stateNode,y=a.memoizedState;y!==null&&(d=y.retryLane);break;case 19:g=a.stateNode;break;default:throw Error(r(314))}g!==null&&g.delete(l),ow(a,d)}var sw;sw=function(a,l,d){if(a!==null)if(a.memoizedProps!==l.pendingProps||br.current)kr=!0;else{if((a.lanes&d)===0&&(l.flags&128)===0)return kr=!1,u4(a,l,d);kr=(a.flags&131072)!==0}else kr=!1,dt&&(l.flags&1048576)!==0&&Fb(l,Gu,l.index);switch(l.lanes=0,l.tag){case 2:var g=l.type;sd(a,l),a=l.pendingProps;var y=Ho(l,rr.current);Yo(l,d),y=pp(null,l,g,a,y,d);var j=gp();return l.flags|=1,typeof y=="object"&&y!==null&&typeof y.render=="function"&&y.$$typeof===void 0?(l.tag=1,l.memoizedState=null,l.updateQueue=null,wr(g)?(j=!0,Wu(l)):j=!1,l.memoizedState=y.state!==null&&y.state!==void 0?y.state:null,lp(l),y.updater=ad,l.stateNode=y,y._reactInternals=l,kp(l,g,a,d),l=Ep(null,l,g,!0,j,d)):(l.tag=0,dt&&j&&Xm(l),fr(null,l,y,d),l=l.child),l;case 16:g=l.elementType;e:{switch(sd(a,l),a=l.pendingProps,y=g._init,g=y(g._payload),l.type=g,y=l.tag=N4(g),a=hn(g,a),y){case 0:l=Np(null,l,g,a,d);break e;case 1:l=I1(null,l,g,a,d);break e;case 11:l=C1(null,l,g,a,d);break e;case 14:l=P1(null,l,g,hn(g.type,a),d);break e}throw Error(r(306,g,""))}return l;case 0:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:hn(g,y),Np(a,l,g,y,d);case 1:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:hn(g,y),I1(a,l,g,y,d);case 3:e:{if(T1(l),a===null)throw Error(r(387));g=l.pendingProps,j=l.memoizedState,y=j.element,Qb(a,l),Xu(l,g,null,d);var P=l.memoizedState;if(g=P.element,j.isDehydrated)if(j={element:g,isDehydrated:!1,cache:P.cache,pendingSuspenseBoundaries:P.pendingSuspenseBoundaries,transitions:P.transitions},l.updateQueue.baseState=j,l.memoizedState=j,l.flags&256){y=Xo(Error(r(423)),l),l=D1(a,l,g,d,y);break e}else if(g!==y){y=Xo(Error(r(424)),l),l=D1(a,l,g,d,y);break e}else for(Ir=zi(l.stateNode.containerInfo.firstChild),Mr=l,dt=!0,fn=null,d=Vb(l,null,g,d),l.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(Vo(),g===y){l=ai(a,l,d);break e}fr(a,l,g,d)}l=l.child}return l;case 5:return Xb(l),a===null&&tp(l),g=l.type,y=l.pendingProps,j=a!==null?a.memoizedProps:null,P=y.children,Gm(g,y)?P=null:j!==null&&Gm(g,j)&&(l.flags|=32),M1(a,l),fr(a,l,P,d),l.child;case 6:return a===null&&tp(l),null;case 13:return L1(a,l,d);case 4:return cp(l,l.stateNode.containerInfo),g=l.pendingProps,a===null?l.child=qo(l,null,g,d):fr(a,l,g,d),l.child;case 11:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:hn(g,y),C1(a,l,g,y,d);case 7:return fr(a,l,l.pendingProps,d),l.child;case 8:return fr(a,l,l.pendingProps.children,d),l.child;case 12:return fr(a,l,l.pendingProps.children,d),l.child;case 10:e:{if(g=l.type._context,y=l.pendingProps,j=l.memoizedProps,P=y.value,nt(Qu,g._currentValue),g._currentValue=P,j!==null)if(dn(j.value,P)){if(j.children===y.children&&!br.current){l=ai(a,l,d);break e}}else for(j=l.child,j!==null&&(j.return=l);j!==null;){var T=j.dependencies;if(T!==null){P=j.child;for(var L=T.firstContext;L!==null;){if(L.context===g){if(j.tag===1){L=ii(-1,d&-d),L.tag=2;var X=j.updateQueue;if(X!==null){X=X.shared;var fe=X.pending;fe===null?L.next=L:(L.next=fe.next,fe.next=L),X.pending=L}}j.lanes|=d,L=j.alternate,L!==null&&(L.lanes|=d),op(j.return,d,l),T.lanes|=d;break}L=L.next}}else if(j.tag===10)P=j.type===l.type?null:j.child;else if(j.tag===18){if(P=j.return,P===null)throw Error(r(341));P.lanes|=d,T=P.alternate,T!==null&&(T.lanes|=d),op(P,d,l),P=j.sibling}else P=j.child;if(P!==null)P.return=j;else for(P=j;P!==null;){if(P===l){P=null;break}if(j=P.sibling,j!==null){j.return=P.return,P=j;break}P=P.return}j=P}fr(a,l,y.children,d),l=l.child}return l;case 9:return y=l.type,g=l.pendingProps.children,Yo(l,d),y=Vr(y),g=g(y),l.flags|=1,fr(a,l,g,d),l.child;case 14:return g=l.type,y=hn(g,l.pendingProps),y=hn(g.type,y),P1(a,l,g,y,d);case 15:return O1(a,l,l.type,l.pendingProps,d);case 17:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:hn(g,y),sd(a,l),l.tag=1,wr(g)?(a=!0,Wu(l)):a=!1,Yo(l,d),w1(l,g,y),kp(l,g,y,d),Ep(null,l,g,!0,a,d);case 19:return $1(a,l,d);case 22:return _1(a,l,d)}throw Error(r(156,l.tag))};function lw(a,l){return By(a,l)}function S4(a,l,d,g){this.tag=a,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yr(a,l,d,g){return new S4(a,l,d,g)}function Gp(a){return a=a.prototype,!(!a||!a.isReactComponent)}function N4(a){if(typeof a=="function")return Gp(a)?1:0;if(a!=null){if(a=a.$$typeof,a===U)return 11;if(a===pe)return 14}return 2}function Yi(a,l){var d=a.alternate;return d===null?(d=Yr(a.tag,l,a.key,a.mode),d.elementType=a.elementType,d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=l,d.type=a.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=a.flags&14680064,d.childLanes=a.childLanes,d.lanes=a.lanes,d.child=a.child,d.memoizedProps=a.memoizedProps,d.memoizedState=a.memoizedState,d.updateQueue=a.updateQueue,l=a.dependencies,d.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},d.sibling=a.sibling,d.index=a.index,d.ref=a.ref,d}function xd(a,l,d,g,y,j){var P=2;if(g=a,typeof a=="function")Gp(a)&&(P=1);else if(typeof a=="string")P=5;else e:switch(a){case I:return za(d.children,y,j,l);case B:P=8,y|=8;break;case F:return a=Yr(12,d,l,y|2),a.elementType=F,a.lanes=j,a;case ge:return a=Yr(13,d,l,y),a.elementType=ge,a.lanes=j,a;case ue:return a=Yr(19,d,l,y),a.elementType=ue,a.lanes=j,a;case ae:return yd(d,y,j,l);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case R:P=10;break e;case Q:P=9;break e;case U:P=11;break e;case pe:P=14;break e;case se:P=16,g=null;break e}throw Error(r(130,a==null?a:typeof a,""))}return l=Yr(P,d,l,y),l.elementType=a,l.type=g,l.lanes=j,l}function za(a,l,d,g){return a=Yr(7,a,g,l),a.lanes=d,a}function yd(a,l,d,g){return a=Yr(22,a,g,l),a.elementType=ae,a.lanes=d,a.stateNode={isHidden:!1},a}function Vp(a,l,d){return a=Yr(6,a,null,l),a.lanes=d,a}function qp(a,l,d){return l=Yr(4,a.children!==null?a.children:[],a.key,l),l.lanes=d,l.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},l}function E4(a,l,d,g,y){this.tag=l,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=wm(0),this.expirationTimes=wm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wm(0),this.identifierPrefix=g,this.onRecoverableError=y,this.mutableSourceEagerHydrationData=null}function Qp(a,l,d,g,y,j,P,T,L){return a=new E4(a,l,d,T,L),l===1?(l=1,j===!0&&(l|=8)):l=0,j=Yr(3,null,null,l),a.current=j,j.stateNode=a,j.memoizedState={element:g,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},lp(j),a}function A4(a,l,d){var g=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),rg.exports=B4(),rg.exports}var jw;function U4(){if(jw)return Ad;jw=1;var e=zN();return Ad.createRoot=e.createRoot,Ad.hydrateRoot=e.hydrateRoot,Ad}var W4=U4();const H4=Px(W4);var Jc=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(){}},no,oa,As,PN,K4=(PN=class extends Jc{constructor(){super();Re(this,no);Re(this,oa);Re(this,As);je(this,As,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){$(this,oa)||this.setEventListener($(this,As))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,oa))==null||t.call(this),je(this,oa,void 0))}setEventListener(t){var r;je(this,As,t),(r=$(this,oa))==null||r.call(this),je(this,oa,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){$(this,no)!==t&&(je(this,no,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof $(this,no)=="boolean"?$(this,no):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},no=new WeakMap,oa=new WeakMap,As=new WeakMap,PN),_x=new K4,G4={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},sa,Cx,ON,V4=(ON=class{constructor(){Re(this,sa,G4);Re(this,Cx,!1)}setTimeoutProvider(e){je(this,sa,e)}setTimeout(e,t){return $(this,sa).setTimeout(e,t)}clearTimeout(e){$(this,sa).clearTimeout(e)}setInterval(e,t){return $(this,sa).setInterval(e,t)}clearInterval(e){$(this,sa).clearInterval(e)}},sa=new WeakMap,Cx=new WeakMap,ON),Ya=new V4;function q4(e){setTimeout(e,0)}var Q4=typeof window>"u"||"Deno"in globalThis;function Ar(){}function Y4(e,t){return typeof e=="function"?e(t):e}function rv(e){return typeof e=="number"&&e>=0&&e!==1/0}function FN(e,t){return Math.max(e+(t||0)-Date.now(),0)}function pa(e,t){return typeof e=="function"?e(t):e}function Rr(e,t){return typeof e=="function"?e(t):e}function Sw(e,t){const{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:c,stale:u}=e;if(c){if(n){if(t.queryHash!==Mx(c,t.options))return!1}else if(!Ec(t.queryKey,c))return!1}if(r!=="all"){const f=t.isActive();if(r==="active"&&!f||r==="inactive"&&f)return!1}return!(typeof u=="boolean"&&t.isStale()!==u||i&&i!==t.state.fetchStatus||o&&!o(t))}function Nw(e,t){const{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(Nc(t.options.mutationKey)!==Nc(o))return!1}else if(!Ec(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function Mx(e,t){return((t==null?void 0:t.queryKeyHashFn)||Nc)(e)}function Nc(e){return JSON.stringify(e,(t,r)=>iv(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function Ec(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>Ec(e[r],t[r])):!1}var Z4=Object.prototype.hasOwnProperty;function BN(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=Ew(e)&&Ew(t);if(!n&&!(iv(e)&&iv(t)))return t;const o=(n?e:Object.keys(e)).length,c=n?t:Object.keys(t),u=c.length,f=n?new Array(u):{};let h=0;for(let m=0;m{Ya.setTimeout(t,e)})}function av(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?BN(e,t):t}function J4(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function eM(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var Ix=Symbol();function UN(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Ix?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function WN(e,t){return typeof e=="function"?e(...t):!!e}function tM(e,t,r){let n=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}var Ac=(()=>{let e=()=>Q4;return{isServer(){return e()},setIsServer(t){e=t}}})();function ov(){let e,t;const r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}var rM=q4;function nM(){let e=[],t=0,r=u=>{u()},n=u=>{u()},i=rM;const o=u=>{t?e.push(u):i(()=>{r(u)})},c=()=>{const u=e;e=[],u.length&&i(()=>{n(()=>{u.forEach(f=>{r(f)})})})};return{batch:u=>{let f;t++;try{f=u()}finally{t--,t||c()}return f},batchCalls:u=>(...f)=>{o(()=>{u(...f)})},schedule:o,setNotifyFunction:u=>{r=u},setBatchNotifyFunction:u=>{n=u},setScheduler:u=>{i=u}}}var Zt=nM(),Cs,la,Ps,_N,iM=(_N=class extends Jc{constructor(){super();Re(this,Cs,!0);Re(this,la);Re(this,Ps);je(this,Ps,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){$(this,la)||this.setEventListener($(this,Ps))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,la))==null||t.call(this),je(this,la,void 0))}setEventListener(t){var r;je(this,Ps,t),(r=$(this,la))==null||r.call(this),je(this,la,t(this.setOnline.bind(this)))}setOnline(t){$(this,Cs)!==t&&(je(this,Cs,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return $(this,Cs)}},Cs=new WeakMap,la=new WeakMap,Ps=new WeakMap,_N),df=new iM;function aM(e){return Math.min(1e3*2**e,3e4)}function HN(e){return(e??"online")==="online"?df.isOnline():!0}var sv=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function KN(e){let t=!1,r=0,n;const i=ov(),o=()=>i.status!=="pending",c=w=>{var k;if(!o()){const N=new sv(w);v(N),(k=e.onCancel)==null||k.call(e,N)}},u=()=>{t=!0},f=()=>{t=!1},h=()=>_x.isFocused()&&(e.networkMode==="always"||df.isOnline())&&e.canRun(),m=()=>HN(e.networkMode)&&e.canRun(),p=w=>{o()||(n==null||n(),i.resolve(w))},v=w=>{o()||(n==null||n(),i.reject(w))},b=()=>new Promise(w=>{var k;n=N=>{(o()||h())&&w(N)},(k=e.onPause)==null||k.call(e)}).then(()=>{var w;n=void 0,o()||(w=e.onContinue)==null||w.call(e)}),S=()=>{if(o())return;let w;const k=r===0?e.initialPromise:void 0;try{w=k??e.fn()}catch(N){w=Promise.reject(N)}Promise.resolve(w).then(p).catch(N=>{var O;if(o())return;const E=e.retry??(Ac.isServer()?0:3),C=e.retryDelay??aM,A=typeof C=="function"?C(r,N):C,_=E===!0||typeof E=="number"&&rh()?void 0:b()).then(()=>{t?v(N):S()})})};return{promise:i,status:()=>i.status,cancel:c,continue:()=>(n==null||n(),i),cancelRetry:u,continueRetry:f,canStart:m,start:()=>(m()?S():b().then(S),i)}}var io,MN,GN=(MN=class{constructor(){Re(this,io)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rv(this.gcTime)&&je(this,io,Ya.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ac.isServer()?1/0:300*1e3))}clearGcTimeout(){$(this,io)!==void 0&&(Ya.clearTimeout($(this,io)),je(this,io,void 0))}},io=new WeakMap,MN);function oM(e){return{onFetch:(t,r)=>{var m,p,v,b,S;const n=t.options,i=(v=(p=(m=t.fetchOptions)==null?void 0:m.meta)==null?void 0:p.fetchMore)==null?void 0:v.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],c=((S=t.state.data)==null?void 0:S.pageParams)||[];let u={pages:[],pageParams:[]},f=0;const h=async()=>{let w=!1;const k=C=>{tM(C,()=>t.signal,()=>w=!0)},N=UN(t.options,t.fetchOptions),E=async(C,A,_)=>{if(w)return Promise.reject(t.signal.reason);if(A==null&&C.pages.length)return Promise.resolve(C);const I=(()=>{const Q={client:t.client,queryKey:t.queryKey,pageParam:A,direction:_?"backward":"forward",meta:t.options.meta};return k(Q),Q})(),B=await N(I),{maxPages:F}=t.options,R=_?eM:J4;return{pages:R(C.pages,B,F),pageParams:R(C.pageParams,A,F)}};if(i&&o.length){const C=i==="backward",A=C?sM:Cw,_={pages:o,pageParams:c},O=A(n,_);u=await E(_,O,C)}else{const C=e??o.length;do{const A=f===0?c[0]??n.initialPageParam:Cw(n,u);if(f>0&&A==null)break;u=await E(u,A),f++}while(f{var w,k;return(k=(w=t.options).persister)==null?void 0:k.call(w,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=h}}}function Cw(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function sM(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var Os,ao,_s,Xr,oo,zt,qc,so,Lr,VN,li,IN,lM=(IN=class extends GN{constructor(t){super();Re(this,Lr);Re(this,Os);Re(this,ao);Re(this,_s);Re(this,Xr);Re(this,oo);Re(this,zt);Re(this,qc);Re(this,so);je(this,so,!1),je(this,qc,t.defaultOptions),this.setOptions(t.options),this.observers=[],je(this,oo,t.client),je(this,Xr,$(this,oo).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,je(this,ao,Ow(this.options)),this.state=t.state??$(this,ao),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return $(this,Os)}get promise(){var t;return(t=$(this,zt))==null?void 0:t.promise}setOptions(t){if(this.options={...$(this,qc),...t},t!=null&&t._type&&je(this,Os,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=Ow(this.options);r.data!==void 0&&(this.setState(Pw(r.data,r.dataUpdatedAt)),je(this,ao,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&$(this,Xr).remove(this)}setData(t,r){const n=av(this.state.data,t,this.options);return Ke(this,Lr,li).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){Ke(this,Lr,li).call(this,{type:"setState",state:t})}cancel(t){var n,i;const r=(n=$(this,zt))==null?void 0:n.promise;return(i=$(this,zt))==null||i.cancel(t),r?r.then(Ar).catch(Ar):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return $(this,ao)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Rr(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Ix||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>pa(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!FN(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,zt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,zt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),$(this,Xr).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||($(this,zt)&&($(this,so)||Ke(this,Lr,VN).call(this)?$(this,zt).cancel({revert:!0}):$(this,zt).cancelRetry()),this.scheduleGc()),$(this,Xr).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ke(this,Lr,li).call(this,{type:"invalidate"})}async fetch(t,r){var h,m,p,v,b,S,w,k,N,E,C;if(this.state.fetchStatus!=="idle"&&((h=$(this,zt))==null?void 0:h.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if($(this,zt))return $(this,zt).continueRetry(),$(this,zt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const A=this.observers.find(_=>_.options.queryFn);A&&this.setOptions(A.options)}const n=new AbortController,i=A=>{Object.defineProperty(A,"signal",{enumerable:!0,get:()=>(je(this,so,!0),n.signal)})},o=()=>{const A=UN(this.options,r),O=(()=>{const I={client:$(this,oo),queryKey:this.queryKey,meta:this.meta};return i(I),I})();return je(this,so,!1),this.options.persister?this.options.persister(A,O,this):A(O)},u=(()=>{const A={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:$(this,oo),state:this.state,fetchFn:o};return i(A),A})(),f=$(this,Os)==="infinite"?oM(this.options.pages):this.options.behavior;f==null||f.onFetch(u,this),je(this,_s,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((m=u.fetchOptions)==null?void 0:m.meta))&&Ke(this,Lr,li).call(this,{type:"fetch",meta:(p=u.fetchOptions)==null?void 0:p.meta}),je(this,zt,KN({initialPromise:r==null?void 0:r.initialPromise,fn:u.fetchFn,onCancel:A=>{A instanceof sv&&A.revert&&this.setState({...$(this,_s),fetchStatus:"idle"}),n.abort()},onFail:(A,_)=>{Ke(this,Lr,li).call(this,{type:"failed",failureCount:A,error:_})},onPause:()=>{Ke(this,Lr,li).call(this,{type:"pause"})},onContinue:()=>{Ke(this,Lr,li).call(this,{type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}));try{const A=await $(this,zt).start();if(A===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(A),(b=(v=$(this,Xr).config).onSuccess)==null||b.call(v,A,this),(w=(S=$(this,Xr).config).onSettled)==null||w.call(S,A,this.state.error,this),A}catch(A){if(A instanceof sv){if(A.silent)return $(this,zt).promise;if(A.revert){if(this.state.data===void 0)throw A;return this.state.data}}throw Ke(this,Lr,li).call(this,{type:"error",error:A}),(N=(k=$(this,Xr).config).onError)==null||N.call(k,A,this),(C=(E=$(this,Xr).config).onSettled)==null||C.call(E,this.state.data,A,this),A}finally{this.scheduleGc()}}},Os=new WeakMap,ao=new WeakMap,_s=new WeakMap,Xr=new WeakMap,oo=new WeakMap,zt=new WeakMap,qc=new WeakMap,so=new WeakMap,Lr=new WeakSet,VN=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},li=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...qN(n.data,this.options),fetchMeta:t.meta??null};case"success":const i={...n,...Pw(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return je(this,_s,t.manual?i:void 0),i;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Zt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),$(this,Xr).notify({query:this,type:"updated",action:t})})},IN);function qN(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:HN(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Pw(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ow(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Er,Ve,Qc,mr,lo,Ms,ui,ca,Yc,Is,Ts,co,uo,ua,Ds,Je,vc,lv,cv,uv,dv,fv,hv,mv,QN,TN,cM=(TN=class extends Jc{constructor(t,r){super();Re(this,Je);Re(this,Er);Re(this,Ve);Re(this,Qc);Re(this,mr);Re(this,lo);Re(this,Ms);Re(this,ui);Re(this,ca);Re(this,Yc);Re(this,Is);Re(this,Ts);Re(this,co);Re(this,uo);Re(this,ua);Re(this,Ds,new Set);this.options=r,je(this,Er,t),je(this,ca,null),je(this,ui,ov()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&($(this,Ve).addObserver(this),_w($(this,Ve),this.options)?Ke(this,Je,vc).call(this):this.updateResult(),Ke(this,Je,dv).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return pv($(this,Ve),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return pv($(this,Ve),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ke(this,Je,fv).call(this),Ke(this,Je,hv).call(this),$(this,Ve).removeObserver(this)}setOptions(t){const r=this.options,n=$(this,Ve);if(this.options=$(this,Er).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Rr(this.options.enabled,$(this,Ve))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ke(this,Je,mv).call(this),$(this,Ve).setOptions(this.options),r._defaulted&&!nv(this.options,r)&&$(this,Er).getQueryCache().notify({type:"observerOptionsUpdated",query:$(this,Ve),observer:this});const i=this.hasListeners();i&&Mw($(this,Ve),n,this.options,r)&&Ke(this,Je,vc).call(this),this.updateResult(),i&&($(this,Ve)!==n||Rr(this.options.enabled,$(this,Ve))!==Rr(r.enabled,$(this,Ve))||pa(this.options.staleTime,$(this,Ve))!==pa(r.staleTime,$(this,Ve)))&&Ke(this,Je,lv).call(this);const o=Ke(this,Je,cv).call(this);i&&($(this,Ve)!==n||Rr(this.options.enabled,$(this,Ve))!==Rr(r.enabled,$(this,Ve))||o!==$(this,ua))&&Ke(this,Je,uv).call(this,o)}getOptimisticResult(t){const r=$(this,Er).getQueryCache().build($(this,Er),t),n=this.createResult(r,t);return dM(this,n)&&(je(this,mr,n),je(this,Ms,this.options),je(this,lo,$(this,Ve).state)),n}getCurrentResult(){return $(this,mr)}trackResult(t,r){return new Proxy(t,{get:(n,i)=>(this.trackProp(i),r==null||r(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&$(this,ui).status==="pending"&&$(this,ui).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,i))})}trackProp(t){$(this,Ds).add(t)}getCurrentQuery(){return $(this,Ve)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=$(this,Er).defaultQueryOptions(t),n=$(this,Er).getQueryCache().build($(this,Er),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return Ke(this,Je,vc).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),$(this,mr)))}createResult(t,r){var F;const n=$(this,Ve),i=this.options,o=$(this,mr),c=$(this,lo),u=$(this,Ms),h=t!==n?t.state:$(this,Qc),{state:m}=t;let p={...m},v=!1,b;if(r._optimisticResults){const R=this.hasListeners(),Q=!R&&_w(t,r),U=R&&Mw(t,n,r,i);(Q||U)&&(p={...p,...qN(m.data,t.options)}),r._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:S,errorUpdatedAt:w,status:k}=p;b=p.data;let N=!1;if(r.placeholderData!==void 0&&b===void 0&&k==="pending"){let R;o!=null&&o.isPlaceholderData&&r.placeholderData===(u==null?void 0:u.placeholderData)?(R=o.data,N=!0):R=typeof r.placeholderData=="function"?r.placeholderData((F=$(this,Ts))==null?void 0:F.state.data,$(this,Ts)):r.placeholderData,R!==void 0&&(k="success",b=av(o==null?void 0:o.data,R,r),v=!0)}if(r.select&&b!==void 0&&!N)if(o&&b===(c==null?void 0:c.data)&&r.select===$(this,Yc))b=$(this,Is);else try{je(this,Yc,r.select),b=r.select(b),b=av(o==null?void 0:o.data,b,r),je(this,Is,b),je(this,ca,null)}catch(R){je(this,ca,R)}$(this,ca)&&(S=$(this,ca),b=$(this,Is),w=Date.now(),k="error");const E=p.fetchStatus==="fetching",C=k==="pending",A=k==="error",_=C&&E,O=b!==void 0,B={status:k,fetchStatus:p.fetchStatus,isPending:C,isSuccess:k==="success",isError:A,isInitialLoading:_,isLoading:_,data:b,dataUpdatedAt:p.dataUpdatedAt,error:S,errorUpdatedAt:w,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:p.dataUpdateCount>h.dataUpdateCount||p.errorUpdateCount>h.errorUpdateCount,isFetching:E,isRefetching:E&&!C,isLoadingError:A&&!O,isPaused:p.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:A&&O,isStale:Tx(t,r),refetch:this.refetch,promise:$(this,ui),isEnabled:Rr(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const R=B.data!==void 0,Q=B.status==="error"&&!R,U=pe=>{Q?pe.reject(B.error):R&&pe.resolve(B.data)},ge=()=>{const pe=je(this,ui,B.promise=ov());U(pe)},ue=$(this,ui);switch(ue.status){case"pending":t.queryHash===n.queryHash&&U(ue);break;case"fulfilled":(Q||B.data!==ue.value)&&ge();break;case"rejected":(!Q||B.error!==ue.reason)&&ge();break}}return B}updateResult(){const t=$(this,mr),r=this.createResult($(this,Ve),this.options);if(je(this,lo,$(this,Ve).state),je(this,Ms,this.options),$(this,lo).data!==void 0&&je(this,Ts,$(this,Ve)),nv(r,t))return;je(this,mr,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,o=typeof i=="function"?i():i;if(o==="all"||!o&&!$(this,Ds).size)return!0;const c=new Set(o??$(this,Ds));return this.options.throwOnError&&c.add("error"),Object.keys($(this,mr)).some(u=>{const f=u;return $(this,mr)[f]!==t[f]&&c.has(f)})};Ke(this,Je,QN).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ke(this,Je,dv).call(this)}},Er=new WeakMap,Ve=new WeakMap,Qc=new WeakMap,mr=new WeakMap,lo=new WeakMap,Ms=new WeakMap,ui=new WeakMap,ca=new WeakMap,Yc=new WeakMap,Is=new WeakMap,Ts=new WeakMap,co=new WeakMap,uo=new WeakMap,ua=new WeakMap,Ds=new WeakMap,Je=new WeakSet,vc=function(t){Ke(this,Je,mv).call(this);let r=$(this,Ve).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(Ar)),r},lv=function(){Ke(this,Je,fv).call(this);const t=pa(this.options.staleTime,$(this,Ve));if(Ac.isServer()||$(this,mr).isStale||!rv(t))return;const n=FN($(this,mr).dataUpdatedAt,t)+1;je(this,co,Ya.setTimeout(()=>{$(this,mr).isStale||this.updateResult()},n))},cv=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval($(this,Ve)):this.options.refetchInterval)??!1},uv=function(t){Ke(this,Je,hv).call(this),je(this,ua,t),!(Ac.isServer()||Rr(this.options.enabled,$(this,Ve))===!1||!rv($(this,ua))||$(this,ua)===0)&&je(this,uo,Ya.setInterval(()=>{(this.options.refetchIntervalInBackground||_x.isFocused())&&Ke(this,Je,vc).call(this)},$(this,ua)))},dv=function(){Ke(this,Je,lv).call(this),Ke(this,Je,uv).call(this,Ke(this,Je,cv).call(this))},fv=function(){$(this,co)!==void 0&&(Ya.clearTimeout($(this,co)),je(this,co,void 0))},hv=function(){$(this,uo)!==void 0&&(Ya.clearInterval($(this,uo)),je(this,uo,void 0))},mv=function(){const t=$(this,Er).getQueryCache().build($(this,Er),this.options);if(t===$(this,Ve))return;const r=$(this,Ve);je(this,Ve,t),je(this,Qc,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},QN=function(t){Zt.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r($(this,mr))}),$(this,Er).getQueryCache().notify({query:$(this,Ve),type:"observerResultsUpdated"})})},TN);function uM(e,t){return Rr(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Rr(t.retryOnMount,e)===!1)}function _w(e,t){return uM(e,t)||e.state.data!==void 0&&pv(e,t,t.refetchOnMount)}function pv(e,t,r){if(Rr(t.enabled,e)!==!1&&pa(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&Tx(e,t)}return!1}function Mw(e,t,r,n){return(e!==t||Rr(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&Tx(e,r)}function Tx(e,t){return Rr(t.enabled,e)!==!1&&e.isStaleByTime(pa(t.staleTime,e))}function dM(e,t){return!nv(e.getCurrentResult(),t)}var Zc,Ln,or,fo,Rn,ta,DN,fM=(DN=class extends GN{constructor(t){super();Re(this,Rn);Re(this,Zc);Re(this,Ln);Re(this,or);Re(this,fo);je(this,Zc,t.client),this.mutationId=t.mutationId,je(this,or,t.mutationCache),je(this,Ln,[]),this.state=t.state||hM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){$(this,Ln).includes(t)||($(this,Ln).push(t),this.clearGcTimeout(),$(this,or).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){je(this,Ln,$(this,Ln).filter(r=>r!==t)),this.scheduleGc(),$(this,or).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){$(this,Ln).length||(this.state.status==="pending"?this.scheduleGc():$(this,or).remove(this))}continue(){var t;return((t=$(this,fo))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var c,u,f,h,m,p,v,b,S,w,k,N,E,C,A,_,O,I;const r=()=>{Ke(this,Rn,ta).call(this,{type:"continue"})},n={client:$(this,Zc),meta:this.options.meta,mutationKey:this.options.mutationKey};je(this,fo,KN({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(B,F)=>{Ke(this,Rn,ta).call(this,{type:"failed",failureCount:B,error:F})},onPause:()=>{Ke(this,Rn,ta).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>$(this,or).canRun(this)}));const i=this.state.status==="pending",o=!$(this,fo).canStart();try{if(i)r();else{Ke(this,Rn,ta).call(this,{type:"pending",variables:t,isPaused:o}),$(this,or).config.onMutate&&await $(this,or).config.onMutate(t,this,n);const F=await((u=(c=this.options).onMutate)==null?void 0:u.call(c,t,n));F!==this.state.context&&Ke(this,Rn,ta).call(this,{type:"pending",context:F,variables:t,isPaused:o})}const B=await $(this,fo).start();return await((h=(f=$(this,or).config).onSuccess)==null?void 0:h.call(f,B,t,this.state.context,this,n)),await((p=(m=this.options).onSuccess)==null?void 0:p.call(m,B,t,this.state.context,n)),await((b=(v=$(this,or).config).onSettled)==null?void 0:b.call(v,B,null,this.state.variables,this.state.context,this,n)),await((w=(S=this.options).onSettled)==null?void 0:w.call(S,B,null,t,this.state.context,n)),Ke(this,Rn,ta).call(this,{type:"success",data:B}),B}catch(B){try{await((N=(k=$(this,or).config).onError)==null?void 0:N.call(k,B,t,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((C=(E=this.options).onError)==null?void 0:C.call(E,B,t,this.state.context,n))}catch(F){Promise.reject(F)}try{await((_=(A=$(this,or).config).onSettled)==null?void 0:_.call(A,void 0,B,this.state.variables,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((I=(O=this.options).onSettled)==null?void 0:I.call(O,void 0,B,t,this.state.context,n))}catch(F){Promise.reject(F)}throw Ke(this,Rn,ta).call(this,{type:"error",error:B}),B}finally{$(this,or).runNext(this)}}},Zc=new WeakMap,Ln=new WeakMap,or=new WeakMap,fo=new WeakMap,Rn=new WeakSet,ta=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Zt.batch(()=>{$(this,Ln).forEach(n=>{n.onMutationUpdate(t)}),$(this,or).notify({mutation:this,type:"updated",action:t})})},DN);function hM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var di,xn,Xc,LN,mM=(LN=class extends Jc{constructor(t={}){super();Re(this,di);Re(this,xn);Re(this,Xc);this.config=t,je(this,di,new Set),je(this,xn,new Map),je(this,Xc,0)}build(t,r,n){const i=new fM({client:t,mutationCache:this,mutationId:++Ed(this,Xc)._,options:t.defaultMutationOptions(r),state:n});return this.add(i),i}add(t){$(this,di).add(t);const r=Cd(t);if(typeof r=="string"){const n=$(this,xn).get(r);n?n.push(t):$(this,xn).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if($(this,di).delete(t)){const r=Cd(t);if(typeof r=="string"){const n=$(this,xn).get(r);if(n)if(n.length>1){const i=n.indexOf(t);i!==-1&&n.splice(i,1)}else n[0]===t&&$(this,xn).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=Cd(t);if(typeof r=="string"){const n=$(this,xn).get(r),i=n==null?void 0:n.find(o=>o.state.status==="pending");return!i||i===t}else return!0}runNext(t){var n;const r=Cd(t);if(typeof r=="string"){const i=(n=$(this,xn).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Zt.batch(()=>{$(this,di).forEach(t=>{this.notify({type:"removed",mutation:t})}),$(this,di).clear(),$(this,xn).clear()})}getAll(){return Array.from($(this,di))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>Nw(r,n))}findAll(t={}){return this.getAll().filter(r=>Nw(t,r))}notify(t){Zt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Zt.batch(()=>Promise.all(t.map(r=>r.continue().catch(Ar))))}},di=new WeakMap,xn=new WeakMap,Xc=new WeakMap,LN);function Cd(e){var t;return(t=e.options.scope)==null?void 0:t.id}var $n,RN,pM=(RN=class extends Jc{constructor(t={}){super();Re(this,$n);this.config=t,je(this,$n,new Map)}build(t,r,n){const i=r.queryKey,o=r.queryHash??Mx(i,r);let c=this.get(o);return c||(c=new lM({client:t,queryKey:i,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(i)}),this.add(c)),c}add(t){$(this,$n).has(t.queryHash)||($(this,$n).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=$(this,$n).get(t.queryHash);r&&(t.destroy(),r===t&&$(this,$n).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Zt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return $(this,$n).get(t)}getAll(){return[...$(this,$n).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>Sw(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>Sw(t,n)):r}notify(t){Zt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Zt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Zt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},$n=new WeakMap,RN),yt,da,fa,Ls,Rs,ha,$s,zs,$N,gM=($N=class{constructor(e={}){Re(this,yt);Re(this,da);Re(this,fa);Re(this,Ls);Re(this,Rs);Re(this,ha);Re(this,$s);Re(this,zs);je(this,yt,e.queryCache||new pM),je(this,da,e.mutationCache||new mM),je(this,fa,e.defaultOptions||{}),je(this,Ls,new Map),je(this,Rs,new Map),je(this,ha,0)}mount(){Ed(this,ha)._++,$(this,ha)===1&&(je(this,$s,_x.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,yt).onFocus())})),je(this,zs,df.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,yt).onOnline())})))}unmount(){var e,t;Ed(this,ha)._--,$(this,ha)===0&&((e=$(this,$s))==null||e.call(this),je(this,$s,void 0),(t=$(this,zs))==null||t.call(this),je(this,zs,void 0))}isFetching(e){return $(this,yt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return $(this,da).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,yt).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=$(this,yt).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(pa(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return $(this,yt).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),i=$(this,yt).get(n.queryHash),o=i==null?void 0:i.state.data,c=Y4(t,o);if(c!==void 0)return $(this,yt).build(this,n).setData(c,{...r,manual:!0})}setQueriesData(e,t,r){return Zt.batch(()=>$(this,yt).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,yt).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=$(this,yt);Zt.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=$(this,yt);return Zt.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Zt.batch(()=>$(this,yt).findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(Ar).catch(Ar)}invalidateQueries(e,t={}){return Zt.batch(()=>($(this,yt).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Zt.batch(()=>$(this,yt).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(Ar)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(Ar)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=$(this,yt).build(this,t);return r.isStaleByTime(pa(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ar).catch(Ar)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ar).catch(Ar)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return df.isOnline()?$(this,da).resumePausedMutations():Promise.resolve()}getQueryCache(){return $(this,yt)}getMutationCache(){return $(this,da)}getDefaultOptions(){return $(this,fa)}setDefaultOptions(e){je(this,fa,e)}setQueryDefaults(e,t){$(this,Ls).set(Nc(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...$(this,Ls).values()],r={};return t.forEach(n=>{Ec(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){$(this,Rs).set(Nc(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...$(this,Rs).values()],r={};return t.forEach(n=>{Ec(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...$(this,fa).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Mx(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Ix&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...$(this,fa).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){$(this,yt).clear(),$(this,da).clear()}},yt=new WeakMap,da=new WeakMap,fa=new WeakMap,Ls=new WeakMap,Rs=new WeakMap,ha=new WeakMap,$s=new WeakMap,zs=new WeakMap,$N),YN=x.createContext(void 0),Hr=e=>{const t=x.useContext(YN);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},vM=({client:e,children:t})=>(x.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),s.jsx(YN.Provider,{value:e,children:t})),ZN=x.createContext(!1),xM=()=>x.useContext(ZN);ZN.Provider;function yM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var bM=x.createContext(yM()),wM=()=>x.useContext(bM),kM=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?WN(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},jM=e=>{x.useEffect(()=>{e.clearReset()},[e])},SM=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||WN(r,[e.error,n])),NM=e=>{if(e.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},EM=(e,t)=>e.isLoading&&e.isFetching&&!t,AM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Iw=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function CM(e,t,r){var b,S,w,k;const n=xM(),i=wM(),o=Hr(),c=o.defaultQueryOptions(e);(S=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||S.call(b,c);const u=o.getQueryCache().get(c.queryHash),f=e.subscribed!==!1;c._optimisticResults=n?"isRestoring":f?"optimistic":void 0,NM(c),kM(c,i,u),jM(i);const h=!o.getQueryCache().get(c.queryHash),[m]=x.useState(()=>new t(o,c)),p=m.getOptimisticResult(c),v=!n&&f;if(x.useSyncExternalStore(x.useCallback(N=>{const E=v?m.subscribe(Zt.batchCalls(N)):Ar;return m.updateResult(),E},[m,v]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),x.useEffect(()=>{m.setOptions(c)},[c,m]),AM(c,p))throw Iw(c,m,i);if(SM({result:p,errorResetBoundary:i,throwOnError:c.throwOnError,query:u,suspense:c.suspense}))throw p.error;if((k=(w=o.getDefaultOptions().queries)==null?void 0:w._experimental_afterQuery)==null||k.call(w,c,p),c.experimental_prefetchInRender&&!Ac.isServer()&&EM(p,n)){const N=h?Iw(c,m,i):u==null?void 0:u.promise;N==null||N.catch(Ar).finally(()=>{m.updateResult()})}return c.notifyOnChangeProps?p:m.trackResult(p)}function vt(e,t){return CM(e,cM)}/** +`+j.stack}return{value:a,source:l,stack:y,digest:null}}function jp(a,l,d){return{value:a,source:null,stack:d??null,digest:l??null}}function Np(a,l){try{console.error(l.value)}catch(d){setTimeout(function(){throw d})}}var c_=typeof WeakMap=="function"?WeakMap:Map;function S1(a,l,d){d=ii(-1,d),d.tag=3,d.payload={element:null};var g=l.value;return d.callback=function(){hd||(hd=!0,zp=g),Np(a,l)},d}function E1(a,l,d){d=ii(-1,d),d.tag=3;var g=a.type.getDerivedStateFromError;if(typeof g=="function"){var y=l.value;d.payload=function(){return g(y)},d.callback=function(){Np(a,l)}}var j=a.stateNode;return j!==null&&typeof j.componentDidCatch=="function"&&(d.callback=function(){Np(a,l),typeof g!="function"&&(Gi===null?Gi=new Set([this]):Gi.add(this));var P=l.stack;this.componentDidCatch(l.value,{componentStack:P!==null?P:""})}),d}function A1(a,l,d){var g=a.pingCache;if(g===null){g=a.pingCache=new c_;var y=new Set;g.set(l,y)}else y=g.get(l),y===void 0&&(y=new Set,g.set(l,y));y.has(d)||(y.add(d),a=j_.bind(null,a,l,d),l.then(a,a))}function C1(a){do{var l;if((l=a.tag===13)&&(l=a.memoizedState,l=l!==null?l.dehydrated!==null:!0),l)return a;a=a.return}while(a!==null);return null}function P1(a,l,d,g,y){return(a.mode&1)===0?(a===l?a.flags|=65536:(a.flags|=128,d.flags|=131072,d.flags&=-52805,d.tag===1&&(d.alternate===null?d.tag=17:(l=ii(-1,1),l.tag=2,Hi(d,l,1))),d.lanes|=1),a):(a.flags|=65536,a.lanes=y,a)}var u_=A.ReactCurrentOwner,kr=!1;function fr(a,l,d,g){l.child=a===null?Qb(l,null,d,g):qo(l,a.child,d,g)}function O1(a,l,d,g,y){d=d.render;var j=l.ref;return Yo(l,y),g=pp(a,l,d,g,j,y),d=gp(),a!==null&&!kr?(l.updateQueue=a.updateQueue,l.flags&=-2053,a.lanes&=~y,ai(a,l,y)):(dt&&d&&Xm(l),l.flags|=1,fr(a,l,g,y),l.child)}function _1(a,l,d,g,y){if(a===null){var j=d.type;return typeof j=="function"&&!Gp(j)&&j.defaultProps===void 0&&d.compare===null&&d.defaultProps===void 0?(l.tag=15,l.type=j,M1(a,l,j,g,y)):(a=yd(d.type,null,g,l,l.mode,y),a.ref=l.ref,a.return=l,l.child=a)}if(j=a.child,(a.lanes&y)===0){var P=j.memoizedProps;if(d=d.compare,d=d!==null?d:Dl,d(P,g)&&a.ref===l.ref)return ai(a,l,y)}return l.flags|=1,a=Yi(j,g),a.ref=l.ref,a.return=l,l.child=a}function M1(a,l,d,g,y){if(a!==null){var j=a.memoizedProps;if(Dl(j,g)&&a.ref===l.ref)if(kr=!1,l.pendingProps=g=j,(a.lanes&y)!==0)(a.flags&131072)!==0&&(kr=!0);else return l.lanes=a.lanes,ai(a,l,y)}return Sp(a,l,d,g,y)}function I1(a,l,d){var g=l.pendingProps,y=g.children,j=a!==null?a.memoizedState:null;if(g.mode==="hidden")if((l.mode&1)===0)l.memoizedState={baseLanes:0,cachePool:null,transitions:null},nt(es,Lr),Lr|=d;else{if((d&1073741824)===0)return a=j!==null?j.baseLanes|d:d,l.lanes=l.childLanes=1073741824,l.memoizedState={baseLanes:a,cachePool:null,transitions:null},l.updateQueue=null,nt(es,Lr),Lr|=a,null;l.memoizedState={baseLanes:0,cachePool:null,transitions:null},g=j!==null?j.baseLanes:d,nt(es,Lr),Lr|=g}else j!==null?(g=j.baseLanes|d,l.memoizedState=null):g=d,nt(es,Lr),Lr|=g;return fr(a,l,y,d),l.child}function T1(a,l){var d=l.ref;(a===null&&d!==null||a!==null&&a.ref!==d)&&(l.flags|=512,l.flags|=2097152)}function Sp(a,l,d,g,y){var j=wr(d)?Pa:rr.current;return j=Ho(l,j),Yo(l,y),d=pp(a,l,d,g,j,y),g=gp(),a!==null&&!kr?(l.updateQueue=a.updateQueue,l.flags&=-2053,a.lanes&=~y,ai(a,l,y)):(dt&&g&&Xm(l),l.flags|=1,fr(a,l,d,y),l.child)}function D1(a,l,d,g,y){if(wr(d)){var j=!0;Hu(l)}else j=!1;if(Yo(l,y),l.stateNode===null)ld(a,l),j1(l,d,g),kp(l,d,g,y),g=!0;else if(a===null){var P=l.stateNode,T=l.memoizedProps;P.props=T;var L=P.context,X=d.contextType;typeof X=="object"&&X!==null?X=Vr(X):(X=wr(d)?Pa:rr.current,X=Ho(l,X));var fe=d.getDerivedStateFromProps,me=typeof fe=="function"||typeof P.getSnapshotBeforeUpdate=="function";me||typeof P.UNSAFE_componentWillReceiveProps!="function"&&typeof P.componentWillReceiveProps!="function"||(T!==g||L!==X)&&N1(l,P,g,X),Wi=!1;var de=l.memoizedState;P.state=de,Ju(l,g,P,y),L=l.memoizedState,T!==g||de!==L||br.current||Wi?(typeof fe=="function"&&(wp(l,d,fe,g),L=l.memoizedState),(T=Wi||k1(l,d,T,g,de,L,X))?(me||typeof P.UNSAFE_componentWillMount!="function"&&typeof P.componentWillMount!="function"||(typeof P.componentWillMount=="function"&&P.componentWillMount(),typeof P.UNSAFE_componentWillMount=="function"&&P.UNSAFE_componentWillMount()),typeof P.componentDidMount=="function"&&(l.flags|=4194308)):(typeof P.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=g,l.memoizedState=L),P.props=g,P.state=L,P.context=X,g=T):(typeof P.componentDidMount=="function"&&(l.flags|=4194308),g=!1)}else{P=l.stateNode,Zb(a,l),T=l.memoizedProps,X=l.type===l.elementType?T:mn(l.type,T),P.props=X,me=l.pendingProps,de=P.context,L=d.contextType,typeof L=="object"&&L!==null?L=Vr(L):(L=wr(d)?Pa:rr.current,L=Ho(l,L));var we=d.getDerivedStateFromProps;(fe=typeof we=="function"||typeof P.getSnapshotBeforeUpdate=="function")||typeof P.UNSAFE_componentWillReceiveProps!="function"&&typeof P.componentWillReceiveProps!="function"||(T!==me||de!==L)&&N1(l,P,g,L),Wi=!1,de=l.memoizedState,P.state=de,Ju(l,g,P,y);var Ee=l.memoizedState;T!==me||de!==Ee||br.current||Wi?(typeof we=="function"&&(wp(l,d,we,g),Ee=l.memoizedState),(X=Wi||k1(l,d,X,g,de,Ee,L)||!1)?(fe||typeof P.UNSAFE_componentWillUpdate!="function"&&typeof P.componentWillUpdate!="function"||(typeof P.componentWillUpdate=="function"&&P.componentWillUpdate(g,Ee,L),typeof P.UNSAFE_componentWillUpdate=="function"&&P.UNSAFE_componentWillUpdate(g,Ee,L)),typeof P.componentDidUpdate=="function"&&(l.flags|=4),typeof P.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof P.componentDidUpdate!="function"||T===a.memoizedProps&&de===a.memoizedState||(l.flags|=4),typeof P.getSnapshotBeforeUpdate!="function"||T===a.memoizedProps&&de===a.memoizedState||(l.flags|=1024),l.memoizedProps=g,l.memoizedState=Ee),P.props=g,P.state=Ee,P.context=L,g=X):(typeof P.componentDidUpdate!="function"||T===a.memoizedProps&&de===a.memoizedState||(l.flags|=4),typeof P.getSnapshotBeforeUpdate!="function"||T===a.memoizedProps&&de===a.memoizedState||(l.flags|=1024),g=!1)}return Ep(a,l,d,g,j,y)}function Ep(a,l,d,g,y,j){T1(a,l);var P=(l.flags&128)!==0;if(!g&&!P)return y&&Fb(l,d,!1),ai(a,l,j);g=l.stateNode,u_.current=l;var T=P&&typeof d.getDerivedStateFromError!="function"?null:g.render();return l.flags|=1,a!==null&&P?(l.child=qo(l,a.child,null,j),l.child=qo(l,null,T,j)):fr(a,l,T,j),l.memoizedState=g.state,y&&Fb(l,d,!0),l.child}function L1(a){var l=a.stateNode;l.pendingContext?$b(a,l.pendingContext,l.pendingContext!==l.context):l.context&&$b(a,l.context,!1),cp(a,l.containerInfo)}function R1(a,l,d,g,y){return Vo(),rp(y),l.flags|=256,fr(a,l,d,g),l.child}var Ap={dehydrated:null,treeContext:null,retryLane:0};function Cp(a){return{baseLanes:a,cachePool:null,transitions:null}}function $1(a,l,d){var g=l.pendingProps,y=gt.current,j=!1,P=(l.flags&128)!==0,T;if((T=P)||(T=a!==null&&a.memoizedState===null?!1:(y&2)!==0),T?(j=!0,l.flags&=-129):(a===null||a.memoizedState!==null)&&(y|=1),nt(gt,y&1),a===null)return tp(l),a=l.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?((l.mode&1)===0?l.lanes=1:a.data==="$!"?l.lanes=8:l.lanes=1073741824,null):(P=g.children,a=g.fallback,j?(g=l.mode,j=l.child,P={mode:"hidden",children:P},(g&1)===0&&j!==null?(j.childLanes=0,j.pendingProps=P):j=bd(P,g,0,null),a=za(a,g,d,null),j.return=l,a.return=l,j.sibling=a,l.child=j,l.child.memoizedState=Cp(d),l.memoizedState=Ap,a):Pp(l,P));if(y=a.memoizedState,y!==null&&(T=y.dehydrated,T!==null))return d_(a,l,P,g,T,y,d);if(j){j=g.fallback,P=l.mode,y=a.child,T=y.sibling;var L={mode:"hidden",children:g.children};return(P&1)===0&&l.child!==y?(g=l.child,g.childLanes=0,g.pendingProps=L,l.deletions=null):(g=Yi(y,L),g.subtreeFlags=y.subtreeFlags&14680064),T!==null?j=Yi(T,j):(j=za(j,P,d,null),j.flags|=2),j.return=l,g.return=l,g.sibling=j,l.child=g,g=j,j=l.child,P=a.child.memoizedState,P=P===null?Cp(d):{baseLanes:P.baseLanes|d,cachePool:null,transitions:P.transitions},j.memoizedState=P,j.childLanes=a.childLanes&~d,l.memoizedState=Ap,g}return j=a.child,a=j.sibling,g=Yi(j,{mode:"visible",children:g.children}),(l.mode&1)===0&&(g.lanes=d),g.return=l,g.sibling=null,a!==null&&(d=l.deletions,d===null?(l.deletions=[a],l.flags|=16):d.push(a)),l.child=g,l.memoizedState=null,g}function Pp(a,l){return l=bd({mode:"visible",children:l},a.mode,0,null),l.return=a,a.child=l}function sd(a,l,d,g){return g!==null&&rp(g),qo(l,a.child,null,d),a=Pp(l,l.pendingProps.children),a.flags|=2,l.memoizedState=null,a}function d_(a,l,d,g,y,j,P){if(d)return l.flags&256?(l.flags&=-257,g=jp(Error(r(422))),sd(a,l,P,g)):l.memoizedState!==null?(l.child=a.child,l.flags|=128,null):(j=g.fallback,y=l.mode,g=bd({mode:"visible",children:g.children},y,0,null),j=za(j,y,P,null),j.flags|=2,g.return=l,j.return=l,g.sibling=j,l.child=g,(l.mode&1)!==0&&qo(l,a.child,null,P),l.child.memoizedState=Cp(P),l.memoizedState=Ap,j);if((l.mode&1)===0)return sd(a,l,P,null);if(y.data==="$!"){if(g=y.nextSibling&&y.nextSibling.dataset,g)var T=g.dgst;return g=T,j=Error(r(419)),g=jp(j,g,void 0),sd(a,l,P,g)}if(T=(P&a.childLanes)!==0,kr||T){if(g=$t,g!==null){switch(P&-P){case 4:y=2;break;case 16:y=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:y=32;break;case 536870912:y=268435456;break;default:y=0}y=(y&(g.suspendedLanes|P))!==0?0:y,y!==0&&y!==j.retryLane&&(j.retryLane=y,ni(a,y),vn(g,a,y,-1))}return Kp(),g=jp(Error(r(421))),sd(a,l,P,g)}return y.data==="$?"?(l.flags|=128,l.child=a.child,l=N_.bind(null,a),y._reactRetry=l,null):(a=j.treeContext,Dr=zi(y.nextSibling),Tr=l,dt=!0,hn=null,a!==null&&(Kr[Gr++]=ti,Kr[Gr++]=ri,Kr[Gr++]=Oa,ti=a.id,ri=a.overflow,Oa=l),l=Pp(l,g.children),l.flags|=4096,l)}function z1(a,l,d){a.lanes|=l;var g=a.alternate;g!==null&&(g.lanes|=l),op(a.return,l,d)}function Op(a,l,d,g,y){var j=a.memoizedState;j===null?a.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:g,tail:d,tailMode:y}:(j.isBackwards=l,j.rendering=null,j.renderingStartTime=0,j.last=g,j.tail=d,j.tailMode=y)}function F1(a,l,d){var g=l.pendingProps,y=g.revealOrder,j=g.tail;if(fr(a,l,g.children,d),g=gt.current,(g&2)!==0)g=g&1|2,l.flags|=128;else{if(a!==null&&(a.flags&128)!==0)e:for(a=l.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&z1(a,d,l);else if(a.tag===19)z1(a,d,l);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===l)break e;for(;a.sibling===null;){if(a.return===null||a.return===l)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}g&=1}if(nt(gt,g),(l.mode&1)===0)l.memoizedState=null;else switch(y){case"forwards":for(d=l.child,y=null;d!==null;)a=d.alternate,a!==null&&ed(a)===null&&(y=d),d=d.sibling;d=y,d===null?(y=l.child,l.child=null):(y=d.sibling,d.sibling=null),Op(l,!1,y,d,j);break;case"backwards":for(d=null,y=l.child,l.child=null;y!==null;){if(a=y.alternate,a!==null&&ed(a)===null){l.child=y;break}a=y.sibling,y.sibling=d,d=y,y=a}Op(l,!0,d,null,j);break;case"together":Op(l,!1,null,null,void 0);break;default:l.memoizedState=null}return l.child}function ld(a,l){(l.mode&1)===0&&a!==null&&(a.alternate=null,l.alternate=null,l.flags|=2)}function ai(a,l,d){if(a!==null&&(l.dependencies=a.dependencies),Da|=l.lanes,(d&l.childLanes)===0)return null;if(a!==null&&l.child!==a.child)throw Error(r(153));if(l.child!==null){for(a=l.child,d=Yi(a,a.pendingProps),l.child=d,d.return=l;a.sibling!==null;)a=a.sibling,d=d.sibling=Yi(a,a.pendingProps),d.return=l;d.sibling=null}return l.child}function f_(a,l,d){switch(l.tag){case 3:L1(l),Vo();break;case 5:e1(l);break;case 1:wr(l.type)&&Hu(l);break;case 4:cp(l,l.stateNode.containerInfo);break;case 10:var g=l.type._context,y=l.memoizedProps.value;nt(Yu,g._currentValue),g._currentValue=y;break;case 13:if(g=l.memoizedState,g!==null)return g.dehydrated!==null?(nt(gt,gt.current&1),l.flags|=128,null):(d&l.child.childLanes)!==0?$1(a,l,d):(nt(gt,gt.current&1),a=ai(a,l,d),a!==null?a.sibling:null);nt(gt,gt.current&1);break;case 19:if(g=(d&l.childLanes)!==0,(a.flags&128)!==0){if(g)return F1(a,l,d);l.flags|=128}if(y=l.memoizedState,y!==null&&(y.rendering=null,y.tail=null,y.lastEffect=null),nt(gt,gt.current),g)break;return null;case 22:case 23:return l.lanes=0,I1(a,l,d)}return ai(a,l,d)}var B1,_p,U1,W1;B1=function(a,l){for(var d=l.child;d!==null;){if(d.tag===5||d.tag===6)a.appendChild(d.stateNode);else if(d.tag!==4&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===l)break;for(;d.sibling===null;){if(d.return===null||d.return===l)return;d=d.return}d.sibling.return=d.return,d=d.sibling}},_p=function(){},U1=function(a,l,d,g){var y=a.memoizedProps;if(y!==g){a=l.stateNode,Ia(Pn.current);var j=null;switch(d){case"input":y=Ie(a,y),g=Ie(a,g),j=[];break;case"select":y=ie({},y,{value:void 0}),g=ie({},g,{value:void 0}),j=[];break;case"textarea":y=tt(a,y),g=tt(a,g),j=[];break;default:typeof y.onClick!="function"&&typeof g.onClick=="function"&&(a.onclick=Bu)}dm(d,g);var P;d=null;for(X in y)if(!g.hasOwnProperty(X)&&y.hasOwnProperty(X)&&y[X]!=null)if(X==="style"){var T=y[X];for(P in T)T.hasOwnProperty(P)&&(d||(d={}),d[P]="")}else X!=="dangerouslySetInnerHTML"&&X!=="children"&&X!=="suppressContentEditableWarning"&&X!=="suppressHydrationWarning"&&X!=="autoFocus"&&(i.hasOwnProperty(X)?j||(j=[]):(j=j||[]).push(X,null));for(X in g){var L=g[X];if(T=y!=null?y[X]:void 0,g.hasOwnProperty(X)&&L!==T&&(L!=null||T!=null))if(X==="style")if(T){for(P in T)!T.hasOwnProperty(P)||L&&L.hasOwnProperty(P)||(d||(d={}),d[P]="");for(P in L)L.hasOwnProperty(P)&&T[P]!==L[P]&&(d||(d={}),d[P]=L[P])}else d||(j||(j=[]),j.push(X,d)),d=L;else X==="dangerouslySetInnerHTML"?(L=L?L.__html:void 0,T=T?T.__html:void 0,L!=null&&T!==L&&(j=j||[]).push(X,L)):X==="children"?typeof L!="string"&&typeof L!="number"||(j=j||[]).push(X,""+L):X!=="suppressContentEditableWarning"&&X!=="suppressHydrationWarning"&&(i.hasOwnProperty(X)?(L!=null&&X==="onScroll"&&ot("scroll",a),j||T===L||(j=[])):(j=j||[]).push(X,L))}d&&(j=j||[]).push("style",d);var X=j;(l.updateQueue=X)&&(l.flags|=4)}},W1=function(a,l,d,g){d!==g&&(l.flags|=4)};function Yl(a,l){if(!dt)switch(a.tailMode){case"hidden":l=a.tail;for(var d=null;l!==null;)l.alternate!==null&&(d=l),l=l.sibling;d===null?a.tail=null:d.sibling=null;break;case"collapsed":d=a.tail;for(var g=null;d!==null;)d.alternate!==null&&(g=d),d=d.sibling;g===null?l||a.tail===null?a.tail=null:a.tail.sibling=null:g.sibling=null}}function ir(a){var l=a.alternate!==null&&a.alternate.child===a.child,d=0,g=0;if(l)for(var y=a.child;y!==null;)d|=y.lanes|y.childLanes,g|=y.subtreeFlags&14680064,g|=y.flags&14680064,y.return=a,y=y.sibling;else for(y=a.child;y!==null;)d|=y.lanes|y.childLanes,g|=y.subtreeFlags,g|=y.flags,y.return=a,y=y.sibling;return a.subtreeFlags|=g,a.childLanes=d,l}function h_(a,l,d){var g=l.pendingProps;switch(Jm(l),l.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ir(l),null;case 1:return wr(l.type)&&Wu(),ir(l),null;case 3:return g=l.stateNode,Zo(),st(br),st(rr),fp(),g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null),(a===null||a.child===null)&&(qu(l)?l.flags|=4:a===null||a.memoizedState.isDehydrated&&(l.flags&256)===0||(l.flags|=1024,hn!==null&&(Up(hn),hn=null))),_p(a,l),ir(l),null;case 5:up(l);var y=Ia(Kl.current);if(d=l.type,a!==null&&l.stateNode!=null)U1(a,l,d,g,y),a.ref!==l.ref&&(l.flags|=512,l.flags|=2097152);else{if(!g){if(l.stateNode===null)throw Error(r(166));return ir(l),null}if(a=Ia(Pn.current),qu(l)){g=l.stateNode,d=l.type;var j=l.memoizedProps;switch(g[Cn]=l,g[Fl]=j,a=(l.mode&1)!==0,d){case"dialog":ot("cancel",g),ot("close",g);break;case"iframe":case"object":case"embed":ot("load",g);break;case"video":case"audio":for(y=0;y<\/script>",a=a.removeChild(a.firstChild)):typeof g.is=="string"?a=P.createElement(d,{is:g.is}):(a=P.createElement(d),d==="select"&&(P=a,g.multiple?P.multiple=!0:g.size&&(P.size=g.size))):a=P.createElementNS(a,d),a[Cn]=l,a[Fl]=g,B1(a,l,!1,!1),l.stateNode=a;e:{switch(P=fm(d,g),d){case"dialog":ot("cancel",a),ot("close",a),y=g;break;case"iframe":case"object":case"embed":ot("load",a),y=g;break;case"video":case"audio":for(y=0;yts&&(l.flags|=128,g=!0,Yl(j,!1),l.lanes=4194304)}else{if(!g)if(a=ed(P),a!==null){if(l.flags|=128,g=!0,d=a.updateQueue,d!==null&&(l.updateQueue=d,l.flags|=4),Yl(j,!0),j.tail===null&&j.tailMode==="hidden"&&!P.alternate&&!dt)return ir(l),null}else 2*jt()-j.renderingStartTime>ts&&d!==1073741824&&(l.flags|=128,g=!0,Yl(j,!1),l.lanes=4194304);j.isBackwards?(P.sibling=l.child,l.child=P):(d=j.last,d!==null?d.sibling=P:l.child=P,j.last=P)}return j.tail!==null?(l=j.tail,j.rendering=l,j.tail=l.sibling,j.renderingStartTime=jt(),l.sibling=null,d=gt.current,nt(gt,g?d&1|2:d&1),l):(ir(l),null);case 22:case 23:return Hp(),g=l.memoizedState!==null,a!==null&&a.memoizedState!==null!==g&&(l.flags|=8192),g&&(l.mode&1)!==0?(Lr&1073741824)!==0&&(ir(l),l.subtreeFlags&6&&(l.flags|=8192)):ir(l),null;case 24:return null;case 25:return null}throw Error(r(156,l.tag))}function m_(a,l){switch(Jm(l),l.tag){case 1:return wr(l.type)&&Wu(),a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 3:return Zo(),st(br),st(rr),fp(),a=l.flags,(a&65536)!==0&&(a&128)===0?(l.flags=a&-65537|128,l):null;case 5:return up(l),null;case 13:if(st(gt),a=l.memoizedState,a!==null&&a.dehydrated!==null){if(l.alternate===null)throw Error(r(340));Vo()}return a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 19:return st(gt),null;case 4:return Zo(),null;case 10:return ap(l.type._context),null;case 22:case 23:return Hp(),null;case 24:return null;default:return null}}var cd=!1,ar=!1,p_=typeof WeakSet=="function"?WeakSet:Set,Ne=null;function Jo(a,l){var d=a.ref;if(d!==null)if(typeof d=="function")try{d(null)}catch(g){xt(a,l,g)}else d.current=null}function Mp(a,l,d){try{d()}catch(g){xt(a,l,g)}}var H1=!1;function g_(a,l){if(Hm=Pu,a=kb(),Lm(a)){if("selectionStart"in a)var d={start:a.selectionStart,end:a.selectionEnd};else e:{d=(d=a.ownerDocument)&&d.defaultView||window;var g=d.getSelection&&d.getSelection();if(g&&g.rangeCount!==0){d=g.anchorNode;var y=g.anchorOffset,j=g.focusNode;g=g.focusOffset;try{d.nodeType,j.nodeType}catch{d=null;break e}var P=0,T=-1,L=-1,X=0,fe=0,me=a,de=null;t:for(;;){for(var we;me!==d||y!==0&&me.nodeType!==3||(T=P+y),me!==j||g!==0&&me.nodeType!==3||(L=P+g),me.nodeType===3&&(P+=me.nodeValue.length),(we=me.firstChild)!==null;)de=me,me=we;for(;;){if(me===a)break t;if(de===d&&++X===y&&(T=P),de===j&&++fe===g&&(L=P),(we=me.nextSibling)!==null)break;me=de,de=me.parentNode}me=we}d=T===-1||L===-1?null:{start:T,end:L}}else d=null}d=d||{start:0,end:0}}else d=null;for(Km={focusedElem:a,selectionRange:d},Pu=!1,Ne=l;Ne!==null;)if(l=Ne,a=l.child,(l.subtreeFlags&1028)!==0&&a!==null)a.return=l,Ne=a;else for(;Ne!==null;){l=Ne;try{var Ee=l.alternate;if((l.flags&1024)!==0)switch(l.tag){case 0:case 11:case 15:break;case 1:if(Ee!==null){var Ce=Ee.memoizedProps,Nt=Ee.memoizedState,H=l.stateNode,z=H.getSnapshotBeforeUpdate(l.elementType===l.type?Ce:mn(l.type,Ce),Nt);H.__reactInternalSnapshotBeforeUpdate=z}break;case 3:var V=l.stateNode.containerInfo;V.nodeType===1?V.textContent="":V.nodeType===9&&V.documentElement&&V.removeChild(V.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(ve){xt(l,l.return,ve)}if(a=l.sibling,a!==null){a.return=l.return,Ne=a;break}Ne=l.return}return Ee=H1,H1=!1,Ee}function Zl(a,l,d){var g=l.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var y=g=g.next;do{if((y.tag&a)===a){var j=y.destroy;y.destroy=void 0,j!==void 0&&Mp(l,d,j)}y=y.next}while(y!==g)}}function ud(a,l){if(l=l.updateQueue,l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&a)===a){var g=d.create;d.destroy=g()}d=d.next}while(d!==l)}}function Ip(a){var l=a.ref;if(l!==null){var d=a.stateNode;switch(a.tag){case 5:a=d;break;default:a=d}typeof l=="function"?l(a):l.current=a}}function K1(a){var l=a.alternate;l!==null&&(a.alternate=null,K1(l)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(l=a.stateNode,l!==null&&(delete l[Cn],delete l[Fl],delete l[Qm],delete l[X4],delete l[J4])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function G1(a){return a.tag===5||a.tag===3||a.tag===4}function V1(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||G1(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Tp(a,l,d){var g=a.tag;if(g===5||g===6)a=a.stateNode,l?d.nodeType===8?d.parentNode.insertBefore(a,l):d.insertBefore(a,l):(d.nodeType===8?(l=d.parentNode,l.insertBefore(a,d)):(l=d,l.appendChild(a)),d=d._reactRootContainer,d!=null||l.onclick!==null||(l.onclick=Bu));else if(g!==4&&(a=a.child,a!==null))for(Tp(a,l,d),a=a.sibling;a!==null;)Tp(a,l,d),a=a.sibling}function Dp(a,l,d){var g=a.tag;if(g===5||g===6)a=a.stateNode,l?d.insertBefore(a,l):d.appendChild(a);else if(g!==4&&(a=a.child,a!==null))for(Dp(a,l,d),a=a.sibling;a!==null;)Dp(a,l,d),a=a.sibling}var Gt=null,pn=!1;function Ki(a,l,d){for(d=d.child;d!==null;)q1(a,l,d),d=d.sibling}function q1(a,l,d){if(An&&typeof An.onCommitFiberUnmount=="function")try{An.onCommitFiberUnmount(ju,d)}catch{}switch(d.tag){case 5:ar||Jo(d,l);case 6:var g=Gt,y=pn;Gt=null,Ki(a,l,d),Gt=g,pn=y,Gt!==null&&(pn?(a=Gt,d=d.stateNode,a.nodeType===8?a.parentNode.removeChild(d):a.removeChild(d)):Gt.removeChild(d.stateNode));break;case 18:Gt!==null&&(pn?(a=Gt,d=d.stateNode,a.nodeType===8?qm(a.parentNode,d):a.nodeType===1&&qm(a,d),Pl(a)):qm(Gt,d.stateNode));break;case 4:g=Gt,y=pn,Gt=d.stateNode.containerInfo,pn=!0,Ki(a,l,d),Gt=g,pn=y;break;case 0:case 11:case 14:case 15:if(!ar&&(g=d.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){y=g=g.next;do{var j=y,P=j.destroy;j=j.tag,P!==void 0&&((j&2)!==0||(j&4)!==0)&&Mp(d,l,P),y=y.next}while(y!==g)}Ki(a,l,d);break;case 1:if(!ar&&(Jo(d,l),g=d.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=d.memoizedProps,g.state=d.memoizedState,g.componentWillUnmount()}catch(T){xt(d,l,T)}Ki(a,l,d);break;case 21:Ki(a,l,d);break;case 22:d.mode&1?(ar=(g=ar)||d.memoizedState!==null,Ki(a,l,d),ar=g):Ki(a,l,d);break;default:Ki(a,l,d)}}function Q1(a){var l=a.updateQueue;if(l!==null){a.updateQueue=null;var d=a.stateNode;d===null&&(d=a.stateNode=new p_),l.forEach(function(g){var y=S_.bind(null,a,g);d.has(g)||(d.add(g),g.then(y,y))})}}function gn(a,l){var d=l.deletions;if(d!==null)for(var g=0;gy&&(y=P),g&=~j}if(g=y,g=jt()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*x_(g/1960))-g,10a?16:a,Vi===null)var g=!1;else{if(a=Vi,Vi=null,pd=0,(Qe&6)!==0)throw Error(r(331));var y=Qe;for(Qe|=4,Ne=a.current;Ne!==null;){var j=Ne,P=j.child;if((Ne.flags&16)!==0){var T=j.deletions;if(T!==null){for(var L=0;Ljt()-$p?Ra(a,0):Rp|=d),Nr(a,l)}function lw(a,l){l===0&&((a.mode&1)===0?l=1:(l=Su,Su<<=1,(Su&130023424)===0&&(Su=4194304)));var d=hr();a=ni(a,l),a!==null&&(Nl(a,l,d),Nr(a,d))}function N_(a){var l=a.memoizedState,d=0;l!==null&&(d=l.retryLane),lw(a,d)}function S_(a,l){var d=0;switch(a.tag){case 13:var g=a.stateNode,y=a.memoizedState;y!==null&&(d=y.retryLane);break;case 19:g=a.stateNode;break;default:throw Error(r(314))}g!==null&&g.delete(l),lw(a,d)}var cw;cw=function(a,l,d){if(a!==null)if(a.memoizedProps!==l.pendingProps||br.current)kr=!0;else{if((a.lanes&d)===0&&(l.flags&128)===0)return kr=!1,f_(a,l,d);kr=(a.flags&131072)!==0}else kr=!1,dt&&(l.flags&1048576)!==0&&Ub(l,Vu,l.index);switch(l.lanes=0,l.tag){case 2:var g=l.type;ld(a,l),a=l.pendingProps;var y=Ho(l,rr.current);Yo(l,d),y=pp(null,l,g,a,y,d);var j=gp();return l.flags|=1,typeof y=="object"&&y!==null&&typeof y.render=="function"&&y.$$typeof===void 0?(l.tag=1,l.memoizedState=null,l.updateQueue=null,wr(g)?(j=!0,Hu(l)):j=!1,l.memoizedState=y.state!==null&&y.state!==void 0?y.state:null,lp(l),y.updater=od,l.stateNode=y,y._reactInternals=l,kp(l,g,a,d),l=Ep(null,l,g,!0,j,d)):(l.tag=0,dt&&j&&Xm(l),fr(null,l,y,d),l=l.child),l;case 16:g=l.elementType;e:{switch(ld(a,l),a=l.pendingProps,y=g._init,g=y(g._payload),l.type=g,y=l.tag=A_(g),a=mn(g,a),y){case 0:l=Sp(null,l,g,a,d);break e;case 1:l=D1(null,l,g,a,d);break e;case 11:l=O1(null,l,g,a,d);break e;case 14:l=_1(null,l,g,mn(g.type,a),d);break e}throw Error(r(306,g,""))}return l;case 0:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:mn(g,y),Sp(a,l,g,y,d);case 1:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:mn(g,y),D1(a,l,g,y,d);case 3:e:{if(L1(l),a===null)throw Error(r(387));g=l.pendingProps,j=l.memoizedState,y=j.element,Zb(a,l),Ju(l,g,null,d);var P=l.memoizedState;if(g=P.element,j.isDehydrated)if(j={element:g,isDehydrated:!1,cache:P.cache,pendingSuspenseBoundaries:P.pendingSuspenseBoundaries,transitions:P.transitions},l.updateQueue.baseState=j,l.memoizedState=j,l.flags&256){y=Xo(Error(r(423)),l),l=R1(a,l,g,d,y);break e}else if(g!==y){y=Xo(Error(r(424)),l),l=R1(a,l,g,d,y);break e}else for(Dr=zi(l.stateNode.containerInfo.firstChild),Tr=l,dt=!0,hn=null,d=Qb(l,null,g,d),l.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(Vo(),g===y){l=ai(a,l,d);break e}fr(a,l,g,d)}l=l.child}return l;case 5:return e1(l),a===null&&tp(l),g=l.type,y=l.pendingProps,j=a!==null?a.memoizedProps:null,P=y.children,Gm(g,y)?P=null:j!==null&&Gm(g,j)&&(l.flags|=32),T1(a,l),fr(a,l,P,d),l.child;case 6:return a===null&&tp(l),null;case 13:return $1(a,l,d);case 4:return cp(l,l.stateNode.containerInfo),g=l.pendingProps,a===null?l.child=qo(l,null,g,d):fr(a,l,g,d),l.child;case 11:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:mn(g,y),O1(a,l,g,y,d);case 7:return fr(a,l,l.pendingProps,d),l.child;case 8:return fr(a,l,l.pendingProps.children,d),l.child;case 12:return fr(a,l,l.pendingProps.children,d),l.child;case 10:e:{if(g=l.type._context,y=l.pendingProps,j=l.memoizedProps,P=y.value,nt(Yu,g._currentValue),g._currentValue=P,j!==null)if(fn(j.value,P)){if(j.children===y.children&&!br.current){l=ai(a,l,d);break e}}else for(j=l.child,j!==null&&(j.return=l);j!==null;){var T=j.dependencies;if(T!==null){P=j.child;for(var L=T.firstContext;L!==null;){if(L.context===g){if(j.tag===1){L=ii(-1,d&-d),L.tag=2;var X=j.updateQueue;if(X!==null){X=X.shared;var fe=X.pending;fe===null?L.next=L:(L.next=fe.next,fe.next=L),X.pending=L}}j.lanes|=d,L=j.alternate,L!==null&&(L.lanes|=d),op(j.return,d,l),T.lanes|=d;break}L=L.next}}else if(j.tag===10)P=j.type===l.type?null:j.child;else if(j.tag===18){if(P=j.return,P===null)throw Error(r(341));P.lanes|=d,T=P.alternate,T!==null&&(T.lanes|=d),op(P,d,l),P=j.sibling}else P=j.child;if(P!==null)P.return=j;else for(P=j;P!==null;){if(P===l){P=null;break}if(j=P.sibling,j!==null){j.return=P.return,P=j;break}P=P.return}j=P}fr(a,l,y.children,d),l=l.child}return l;case 9:return y=l.type,g=l.pendingProps.children,Yo(l,d),y=Vr(y),g=g(y),l.flags|=1,fr(a,l,g,d),l.child;case 14:return g=l.type,y=mn(g,l.pendingProps),y=mn(g.type,y),_1(a,l,g,y,d);case 15:return M1(a,l,l.type,l.pendingProps,d);case 17:return g=l.type,y=l.pendingProps,y=l.elementType===g?y:mn(g,y),ld(a,l),l.tag=1,wr(g)?(a=!0,Hu(l)):a=!1,Yo(l,d),j1(l,g,y),kp(l,g,y,d),Ep(null,l,g,!0,a,d);case 19:return F1(a,l,d);case 22:return I1(a,l,d)}throw Error(r(156,l.tag))};function uw(a,l){return Wy(a,l)}function E_(a,l,d,g){this.tag=a,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yr(a,l,d,g){return new E_(a,l,d,g)}function Gp(a){return a=a.prototype,!(!a||!a.isReactComponent)}function A_(a){if(typeof a=="function")return Gp(a)?1:0;if(a!=null){if(a=a.$$typeof,a===U)return 11;if(a===pe)return 14}return 2}function Yi(a,l){var d=a.alternate;return d===null?(d=Yr(a.tag,l,a.key,a.mode),d.elementType=a.elementType,d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=l,d.type=a.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=a.flags&14680064,d.childLanes=a.childLanes,d.lanes=a.lanes,d.child=a.child,d.memoizedProps=a.memoizedProps,d.memoizedState=a.memoizedState,d.updateQueue=a.updateQueue,l=a.dependencies,d.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},d.sibling=a.sibling,d.index=a.index,d.ref=a.ref,d}function yd(a,l,d,g,y,j){var P=2;if(g=a,typeof a=="function")Gp(a)&&(P=1);else if(typeof a=="string")P=5;else e:switch(a){case I:return za(d.children,y,j,l);case B:P=8,y|=8;break;case F:return a=Yr(12,d,l,y|2),a.elementType=F,a.lanes=j,a;case ge:return a=Yr(13,d,l,y),a.elementType=ge,a.lanes=j,a;case ue:return a=Yr(19,d,l,y),a.elementType=ue,a.lanes=j,a;case ae:return bd(d,y,j,l);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case R:P=10;break e;case Q:P=9;break e;case U:P=11;break e;case pe:P=14;break e;case se:P=16,g=null;break e}throw Error(r(130,a==null?a:typeof a,""))}return l=Yr(P,d,l,y),l.elementType=a,l.type=g,l.lanes=j,l}function za(a,l,d,g){return a=Yr(7,a,g,l),a.lanes=d,a}function bd(a,l,d,g){return a=Yr(22,a,g,l),a.elementType=ae,a.lanes=d,a.stateNode={isHidden:!1},a}function Vp(a,l,d){return a=Yr(6,a,null,l),a.lanes=d,a}function qp(a,l,d){return l=Yr(4,a.children!==null?a.children:[],a.key,l),l.lanes=d,l.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},l}function C_(a,l,d,g,y){this.tag=l,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=wm(0),this.expirationTimes=wm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wm(0),this.identifierPrefix=g,this.onRecoverableError=y,this.mutableSourceEagerHydrationData=null}function Qp(a,l,d,g,y,j,P,T,L){return a=new C_(a,l,d,T,L),l===1?(l=1,j===!0&&(l|=8)):l=0,j=Yr(3,null,null,l),a.current=j,j.stateNode=a,j.memoizedState={element:g,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},lp(j),a}function P_(a,l,d){var g=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),rg.exports=W_(),rg.exports}var Sw;function H_(){if(Sw)return Cd;Sw=1;var e=FS();return Cd.createRoot=e.createRoot,Cd.hydrateRoot=e.hydrateRoot,Cd}var K_=H_();const G_=Ox(K_);var Jc=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(){}},no,oa,As,OS,V_=(OS=class extends Jc{constructor(){super();Re(this,no);Re(this,oa);Re(this,As);je(this,As,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){$(this,oa)||this.setEventListener($(this,As))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,oa))==null||t.call(this),je(this,oa,void 0))}setEventListener(t){var r;je(this,As,t),(r=$(this,oa))==null||r.call(this),je(this,oa,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){$(this,no)!==t&&(je(this,no,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof $(this,no)=="boolean"?$(this,no):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},no=new WeakMap,oa=new WeakMap,As=new WeakMap,OS),Mx=new V_,q_={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},sa,Px,_S,Q_=(_S=class{constructor(){Re(this,sa,q_);Re(this,Px,!1)}setTimeoutProvider(e){je(this,sa,e)}setTimeout(e,t){return $(this,sa).setTimeout(e,t)}clearTimeout(e){$(this,sa).clearTimeout(e)}setInterval(e,t){return $(this,sa).setInterval(e,t)}clearInterval(e){$(this,sa).clearInterval(e)}},sa=new WeakMap,Px=new WeakMap,_S),Ya=new Q_;function Y_(e){setTimeout(e,0)}var Z_=typeof window>"u"||"Deno"in globalThis;function Ar(){}function X_(e,t){return typeof e=="function"?e(t):e}function rv(e){return typeof e=="number"&&e>=0&&e!==1/0}function BS(e,t){return Math.max(e+(t||0)-Date.now(),0)}function pa(e,t){return typeof e=="function"?e(t):e}function zr(e,t){return typeof e=="function"?e(t):e}function Ew(e,t){const{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:c,stale:u}=e;if(c){if(n){if(t.queryHash!==Ix(c,t.options))return!1}else if(!Ec(t.queryKey,c))return!1}if(r!=="all"){const f=t.isActive();if(r==="active"&&!f||r==="inactive"&&f)return!1}return!(typeof u=="boolean"&&t.isStale()!==u||i&&i!==t.state.fetchStatus||o&&!o(t))}function Aw(e,t){const{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(Sc(t.options.mutationKey)!==Sc(o))return!1}else if(!Ec(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function Ix(e,t){return((t==null?void 0:t.queryKeyHashFn)||Sc)(e)}function Sc(e){return JSON.stringify(e,(t,r)=>iv(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function Ec(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>Ec(e[r],t[r])):!1}var J_=Object.prototype.hasOwnProperty;function US(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=Cw(e)&&Cw(t);if(!n&&!(iv(e)&&iv(t)))return t;const o=(n?e:Object.keys(e)).length,c=n?t:Object.keys(t),u=c.length,f=n?new Array(u):{};let h=0;for(let m=0;m{Ya.setTimeout(t,e)})}function av(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?US(e,t):t}function tM(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function rM(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var Tx=Symbol();function WS(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Tx?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function HS(e,t){return typeof e=="function"?e(...t):!!e}function nM(e,t,r){let n=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}var Ac=(()=>{let e=()=>Z_;return{isServer(){return e()},setIsServer(t){e=t}}})();function ov(){let e,t;const r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}var iM=Y_;function aM(){let e=[],t=0,r=u=>{u()},n=u=>{u()},i=iM;const o=u=>{t?e.push(u):i(()=>{r(u)})},c=()=>{const u=e;e=[],u.length&&i(()=>{n(()=>{u.forEach(f=>{r(f)})})})};return{batch:u=>{let f;t++;try{f=u()}finally{t--,t||c()}return f},batchCalls:u=>(...f)=>{o(()=>{u(...f)})},schedule:o,setNotifyFunction:u=>{r=u},setBatchNotifyFunction:u=>{n=u},setScheduler:u=>{i=u}}}var Zt=aM(),Cs,la,Ps,MS,oM=(MS=class extends Jc{constructor(){super();Re(this,Cs,!0);Re(this,la);Re(this,Ps);je(this,Ps,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){$(this,la)||this.setEventListener($(this,Ps))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,la))==null||t.call(this),je(this,la,void 0))}setEventListener(t){var r;je(this,Ps,t),(r=$(this,la))==null||r.call(this),je(this,la,t(this.setOnline.bind(this)))}setOnline(t){$(this,Cs)!==t&&(je(this,Cs,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return $(this,Cs)}},Cs=new WeakMap,la=new WeakMap,Ps=new WeakMap,MS),ff=new oM;function sM(e){return Math.min(1e3*2**e,3e4)}function KS(e){return(e??"online")==="online"?ff.isOnline():!0}var sv=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function GS(e){let t=!1,r=0,n;const i=ov(),o=()=>i.status!=="pending",c=w=>{var k;if(!o()){const S=new sv(w);v(S),(k=e.onCancel)==null||k.call(e,S)}},u=()=>{t=!0},f=()=>{t=!1},h=()=>Mx.isFocused()&&(e.networkMode==="always"||ff.isOnline())&&e.canRun(),m=()=>KS(e.networkMode)&&e.canRun(),p=w=>{o()||(n==null||n(),i.resolve(w))},v=w=>{o()||(n==null||n(),i.reject(w))},b=()=>new Promise(w=>{var k;n=S=>{(o()||h())&&w(S)},(k=e.onPause)==null||k.call(e)}).then(()=>{var w;n=void 0,o()||(w=e.onContinue)==null||w.call(e)}),N=()=>{if(o())return;let w;const k=r===0?e.initialPromise:void 0;try{w=k??e.fn()}catch(S){w=Promise.reject(S)}Promise.resolve(w).then(p).catch(S=>{var O;if(o())return;const E=e.retry??(Ac.isServer()?0:3),C=e.retryDelay??sM,A=typeof C=="function"?C(r,S):C,_=E===!0||typeof E=="number"&&rh()?void 0:b()).then(()=>{t?v(S):N()})})};return{promise:i,status:()=>i.status,cancel:c,continue:()=>(n==null||n(),i),cancelRetry:u,continueRetry:f,canStart:m,start:()=>(m()?N():b().then(N),i)}}var io,IS,VS=(IS=class{constructor(){Re(this,io)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rv(this.gcTime)&&je(this,io,Ya.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ac.isServer()?1/0:300*1e3))}clearGcTimeout(){$(this,io)!==void 0&&(Ya.clearTimeout($(this,io)),je(this,io,void 0))}},io=new WeakMap,IS);function lM(e){return{onFetch:(t,r)=>{var m,p,v,b,N;const n=t.options,i=(v=(p=(m=t.fetchOptions)==null?void 0:m.meta)==null?void 0:p.fetchMore)==null?void 0:v.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],c=((N=t.state.data)==null?void 0:N.pageParams)||[];let u={pages:[],pageParams:[]},f=0;const h=async()=>{let w=!1;const k=C=>{nM(C,()=>t.signal,()=>w=!0)},S=WS(t.options,t.fetchOptions),E=async(C,A,_)=>{if(w)return Promise.reject(t.signal.reason);if(A==null&&C.pages.length)return Promise.resolve(C);const I=(()=>{const Q={client:t.client,queryKey:t.queryKey,pageParam:A,direction:_?"backward":"forward",meta:t.options.meta};return k(Q),Q})(),B=await S(I),{maxPages:F}=t.options,R=_?rM:tM;return{pages:R(C.pages,B,F),pageParams:R(C.pageParams,A,F)}};if(i&&o.length){const C=i==="backward",A=C?cM:Ow,_={pages:o,pageParams:c},O=A(n,_);u=await E(_,O,C)}else{const C=e??o.length;do{const A=f===0?c[0]??n.initialPageParam:Ow(n,u);if(f>0&&A==null)break;u=await E(u,A),f++}while(f{var w,k;return(k=(w=t.options).persister)==null?void 0:k.call(w,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=h}}}function Ow(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function cM(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var Os,ao,_s,Xr,oo,Ft,qc,so,$r,qS,li,TS,uM=(TS=class extends VS{constructor(t){super();Re(this,$r);Re(this,Os);Re(this,ao);Re(this,_s);Re(this,Xr);Re(this,oo);Re(this,Ft);Re(this,qc);Re(this,so);je(this,so,!1),je(this,qc,t.defaultOptions),this.setOptions(t.options),this.observers=[],je(this,oo,t.client),je(this,Xr,$(this,oo).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,je(this,ao,Mw(this.options)),this.state=t.state??$(this,ao),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return $(this,Os)}get promise(){var t;return(t=$(this,Ft))==null?void 0:t.promise}setOptions(t){if(this.options={...$(this,qc),...t},t!=null&&t._type&&je(this,Os,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=Mw(this.options);r.data!==void 0&&(this.setState(_w(r.data,r.dataUpdatedAt)),je(this,ao,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&$(this,Xr).remove(this)}setData(t,r){const n=av(this.state.data,t,this.options);return Ke(this,$r,li).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){Ke(this,$r,li).call(this,{type:"setState",state:t})}cancel(t){var n,i;const r=(n=$(this,Ft))==null?void 0:n.promise;return(i=$(this,Ft))==null||i.cancel(t),r?r.then(Ar).catch(Ar):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return $(this,ao)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>zr(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Tx||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>pa(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!BS(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,Ft))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=$(this,Ft))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),$(this,Xr).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||($(this,Ft)&&($(this,so)||Ke(this,$r,qS).call(this)?$(this,Ft).cancel({revert:!0}):$(this,Ft).cancelRetry()),this.scheduleGc()),$(this,Xr).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ke(this,$r,li).call(this,{type:"invalidate"})}async fetch(t,r){var h,m,p,v,b,N,w,k,S,E,C;if(this.state.fetchStatus!=="idle"&&((h=$(this,Ft))==null?void 0:h.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if($(this,Ft))return $(this,Ft).continueRetry(),$(this,Ft).promise}if(t&&this.setOptions(t),!this.options.queryFn){const A=this.observers.find(_=>_.options.queryFn);A&&this.setOptions(A.options)}const n=new AbortController,i=A=>{Object.defineProperty(A,"signal",{enumerable:!0,get:()=>(je(this,so,!0),n.signal)})},o=()=>{const A=WS(this.options,r),O=(()=>{const I={client:$(this,oo),queryKey:this.queryKey,meta:this.meta};return i(I),I})();return je(this,so,!1),this.options.persister?this.options.persister(A,O,this):A(O)},u=(()=>{const A={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:$(this,oo),state:this.state,fetchFn:o};return i(A),A})(),f=$(this,Os)==="infinite"?lM(this.options.pages):this.options.behavior;f==null||f.onFetch(u,this),je(this,_s,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((m=u.fetchOptions)==null?void 0:m.meta))&&Ke(this,$r,li).call(this,{type:"fetch",meta:(p=u.fetchOptions)==null?void 0:p.meta}),je(this,Ft,GS({initialPromise:r==null?void 0:r.initialPromise,fn:u.fetchFn,onCancel:A=>{A instanceof sv&&A.revert&&this.setState({...$(this,_s),fetchStatus:"idle"}),n.abort()},onFail:(A,_)=>{Ke(this,$r,li).call(this,{type:"failed",failureCount:A,error:_})},onPause:()=>{Ke(this,$r,li).call(this,{type:"pause"})},onContinue:()=>{Ke(this,$r,li).call(this,{type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}));try{const A=await $(this,Ft).start();if(A===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(A),(b=(v=$(this,Xr).config).onSuccess)==null||b.call(v,A,this),(w=(N=$(this,Xr).config).onSettled)==null||w.call(N,A,this.state.error,this),A}catch(A){if(A instanceof sv){if(A.silent)return $(this,Ft).promise;if(A.revert){if(this.state.data===void 0)throw A;return this.state.data}}throw Ke(this,$r,li).call(this,{type:"error",error:A}),(S=(k=$(this,Xr).config).onError)==null||S.call(k,A,this),(C=(E=$(this,Xr).config).onSettled)==null||C.call(E,this.state.data,A,this),A}finally{this.scheduleGc()}}},Os=new WeakMap,ao=new WeakMap,_s=new WeakMap,Xr=new WeakMap,oo=new WeakMap,Ft=new WeakMap,qc=new WeakMap,so=new WeakMap,$r=new WeakSet,qS=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},li=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...QS(n.data,this.options),fetchMeta:t.meta??null};case"success":const i={...n,..._w(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return je(this,_s,t.manual?i:void 0),i;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Zt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),$(this,Xr).notify({query:this,type:"updated",action:t})})},TS);function QS(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:KS(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function _w(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Mw(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Er,Ve,Qc,mr,lo,Ms,ui,ca,Yc,Is,Ts,co,uo,ua,Ds,Je,vc,lv,cv,uv,dv,fv,hv,mv,YS,DS,dM=(DS=class extends Jc{constructor(t,r){super();Re(this,Je);Re(this,Er);Re(this,Ve);Re(this,Qc);Re(this,mr);Re(this,lo);Re(this,Ms);Re(this,ui);Re(this,ca);Re(this,Yc);Re(this,Is);Re(this,Ts);Re(this,co);Re(this,uo);Re(this,ua);Re(this,Ds,new Set);this.options=r,je(this,Er,t),je(this,ca,null),je(this,ui,ov()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&($(this,Ve).addObserver(this),Iw($(this,Ve),this.options)?Ke(this,Je,vc).call(this):this.updateResult(),Ke(this,Je,dv).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return pv($(this,Ve),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return pv($(this,Ve),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ke(this,Je,fv).call(this),Ke(this,Je,hv).call(this),$(this,Ve).removeObserver(this)}setOptions(t){const r=this.options,n=$(this,Ve);if(this.options=$(this,Er).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof zr(this.options.enabled,$(this,Ve))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ke(this,Je,mv).call(this),$(this,Ve).setOptions(this.options),r._defaulted&&!nv(this.options,r)&&$(this,Er).getQueryCache().notify({type:"observerOptionsUpdated",query:$(this,Ve),observer:this});const i=this.hasListeners();i&&Tw($(this,Ve),n,this.options,r)&&Ke(this,Je,vc).call(this),this.updateResult(),i&&($(this,Ve)!==n||zr(this.options.enabled,$(this,Ve))!==zr(r.enabled,$(this,Ve))||pa(this.options.staleTime,$(this,Ve))!==pa(r.staleTime,$(this,Ve)))&&Ke(this,Je,lv).call(this);const o=Ke(this,Je,cv).call(this);i&&($(this,Ve)!==n||zr(this.options.enabled,$(this,Ve))!==zr(r.enabled,$(this,Ve))||o!==$(this,ua))&&Ke(this,Je,uv).call(this,o)}getOptimisticResult(t){const r=$(this,Er).getQueryCache().build($(this,Er),t),n=this.createResult(r,t);return hM(this,n)&&(je(this,mr,n),je(this,Ms,this.options),je(this,lo,$(this,Ve).state)),n}getCurrentResult(){return $(this,mr)}trackResult(t,r){return new Proxy(t,{get:(n,i)=>(this.trackProp(i),r==null||r(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&$(this,ui).status==="pending"&&$(this,ui).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,i))})}trackProp(t){$(this,Ds).add(t)}getCurrentQuery(){return $(this,Ve)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=$(this,Er).defaultQueryOptions(t),n=$(this,Er).getQueryCache().build($(this,Er),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return Ke(this,Je,vc).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),$(this,mr)))}createResult(t,r){var F;const n=$(this,Ve),i=this.options,o=$(this,mr),c=$(this,lo),u=$(this,Ms),h=t!==n?t.state:$(this,Qc),{state:m}=t;let p={...m},v=!1,b;if(r._optimisticResults){const R=this.hasListeners(),Q=!R&&Iw(t,r),U=R&&Tw(t,n,r,i);(Q||U)&&(p={...p,...QS(m.data,t.options)}),r._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:N,errorUpdatedAt:w,status:k}=p;b=p.data;let S=!1;if(r.placeholderData!==void 0&&b===void 0&&k==="pending"){let R;o!=null&&o.isPlaceholderData&&r.placeholderData===(u==null?void 0:u.placeholderData)?(R=o.data,S=!0):R=typeof r.placeholderData=="function"?r.placeholderData((F=$(this,Ts))==null?void 0:F.state.data,$(this,Ts)):r.placeholderData,R!==void 0&&(k="success",b=av(o==null?void 0:o.data,R,r),v=!0)}if(r.select&&b!==void 0&&!S)if(o&&b===(c==null?void 0:c.data)&&r.select===$(this,Yc))b=$(this,Is);else try{je(this,Yc,r.select),b=r.select(b),b=av(o==null?void 0:o.data,b,r),je(this,Is,b),je(this,ca,null)}catch(R){je(this,ca,R)}$(this,ca)&&(N=$(this,ca),b=$(this,Is),w=Date.now(),k="error");const E=p.fetchStatus==="fetching",C=k==="pending",A=k==="error",_=C&&E,O=b!==void 0,B={status:k,fetchStatus:p.fetchStatus,isPending:C,isSuccess:k==="success",isError:A,isInitialLoading:_,isLoading:_,data:b,dataUpdatedAt:p.dataUpdatedAt,error:N,errorUpdatedAt:w,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:p.dataUpdateCount>h.dataUpdateCount||p.errorUpdateCount>h.errorUpdateCount,isFetching:E,isRefetching:E&&!C,isLoadingError:A&&!O,isPaused:p.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:A&&O,isStale:Dx(t,r),refetch:this.refetch,promise:$(this,ui),isEnabled:zr(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const R=B.data!==void 0,Q=B.status==="error"&&!R,U=pe=>{Q?pe.reject(B.error):R&&pe.resolve(B.data)},ge=()=>{const pe=je(this,ui,B.promise=ov());U(pe)},ue=$(this,ui);switch(ue.status){case"pending":t.queryHash===n.queryHash&&U(ue);break;case"fulfilled":(Q||B.data!==ue.value)&&ge();break;case"rejected":(!Q||B.error!==ue.reason)&&ge();break}}return B}updateResult(){const t=$(this,mr),r=this.createResult($(this,Ve),this.options);if(je(this,lo,$(this,Ve).state),je(this,Ms,this.options),$(this,lo).data!==void 0&&je(this,Ts,$(this,Ve)),nv(r,t))return;je(this,mr,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,o=typeof i=="function"?i():i;if(o==="all"||!o&&!$(this,Ds).size)return!0;const c=new Set(o??$(this,Ds));return this.options.throwOnError&&c.add("error"),Object.keys($(this,mr)).some(u=>{const f=u;return $(this,mr)[f]!==t[f]&&c.has(f)})};Ke(this,Je,YS).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ke(this,Je,dv).call(this)}},Er=new WeakMap,Ve=new WeakMap,Qc=new WeakMap,mr=new WeakMap,lo=new WeakMap,Ms=new WeakMap,ui=new WeakMap,ca=new WeakMap,Yc=new WeakMap,Is=new WeakMap,Ts=new WeakMap,co=new WeakMap,uo=new WeakMap,ua=new WeakMap,Ds=new WeakMap,Je=new WeakSet,vc=function(t){Ke(this,Je,mv).call(this);let r=$(this,Ve).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(Ar)),r},lv=function(){Ke(this,Je,fv).call(this);const t=pa(this.options.staleTime,$(this,Ve));if(Ac.isServer()||$(this,mr).isStale||!rv(t))return;const n=BS($(this,mr).dataUpdatedAt,t)+1;je(this,co,Ya.setTimeout(()=>{$(this,mr).isStale||this.updateResult()},n))},cv=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval($(this,Ve)):this.options.refetchInterval)??!1},uv=function(t){Ke(this,Je,hv).call(this),je(this,ua,t),!(Ac.isServer()||zr(this.options.enabled,$(this,Ve))===!1||!rv($(this,ua))||$(this,ua)===0)&&je(this,uo,Ya.setInterval(()=>{(this.options.refetchIntervalInBackground||Mx.isFocused())&&Ke(this,Je,vc).call(this)},$(this,ua)))},dv=function(){Ke(this,Je,lv).call(this),Ke(this,Je,uv).call(this,Ke(this,Je,cv).call(this))},fv=function(){$(this,co)!==void 0&&(Ya.clearTimeout($(this,co)),je(this,co,void 0))},hv=function(){$(this,uo)!==void 0&&(Ya.clearInterval($(this,uo)),je(this,uo,void 0))},mv=function(){const t=$(this,Er).getQueryCache().build($(this,Er),this.options);if(t===$(this,Ve))return;const r=$(this,Ve);je(this,Ve,t),je(this,Qc,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},YS=function(t){Zt.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r($(this,mr))}),$(this,Er).getQueryCache().notify({query:$(this,Ve),type:"observerResultsUpdated"})})},DS);function fM(e,t){return zr(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&zr(t.retryOnMount,e)===!1)}function Iw(e,t){return fM(e,t)||e.state.data!==void 0&&pv(e,t,t.refetchOnMount)}function pv(e,t,r){if(zr(t.enabled,e)!==!1&&pa(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&Dx(e,t)}return!1}function Tw(e,t,r,n){return(e!==t||zr(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&Dx(e,r)}function Dx(e,t){return zr(t.enabled,e)!==!1&&e.isStaleByTime(pa(t.staleTime,e))}function hM(e,t){return!nv(e.getCurrentResult(),t)}var Zc,Ln,or,fo,Rn,ta,LS,mM=(LS=class extends VS{constructor(t){super();Re(this,Rn);Re(this,Zc);Re(this,Ln);Re(this,or);Re(this,fo);je(this,Zc,t.client),this.mutationId=t.mutationId,je(this,or,t.mutationCache),je(this,Ln,[]),this.state=t.state||pM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){$(this,Ln).includes(t)||($(this,Ln).push(t),this.clearGcTimeout(),$(this,or).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){je(this,Ln,$(this,Ln).filter(r=>r!==t)),this.scheduleGc(),$(this,or).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){$(this,Ln).length||(this.state.status==="pending"?this.scheduleGc():$(this,or).remove(this))}continue(){var t;return((t=$(this,fo))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var c,u,f,h,m,p,v,b,N,w,k,S,E,C,A,_,O,I;const r=()=>{Ke(this,Rn,ta).call(this,{type:"continue"})},n={client:$(this,Zc),meta:this.options.meta,mutationKey:this.options.mutationKey};je(this,fo,GS({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(B,F)=>{Ke(this,Rn,ta).call(this,{type:"failed",failureCount:B,error:F})},onPause:()=>{Ke(this,Rn,ta).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>$(this,or).canRun(this)}));const i=this.state.status==="pending",o=!$(this,fo).canStart();try{if(i)r();else{Ke(this,Rn,ta).call(this,{type:"pending",variables:t,isPaused:o}),$(this,or).config.onMutate&&await $(this,or).config.onMutate(t,this,n);const F=await((u=(c=this.options).onMutate)==null?void 0:u.call(c,t,n));F!==this.state.context&&Ke(this,Rn,ta).call(this,{type:"pending",context:F,variables:t,isPaused:o})}const B=await $(this,fo).start();return await((h=(f=$(this,or).config).onSuccess)==null?void 0:h.call(f,B,t,this.state.context,this,n)),await((p=(m=this.options).onSuccess)==null?void 0:p.call(m,B,t,this.state.context,n)),await((b=(v=$(this,or).config).onSettled)==null?void 0:b.call(v,B,null,this.state.variables,this.state.context,this,n)),await((w=(N=this.options).onSettled)==null?void 0:w.call(N,B,null,t,this.state.context,n)),Ke(this,Rn,ta).call(this,{type:"success",data:B}),B}catch(B){try{await((S=(k=$(this,or).config).onError)==null?void 0:S.call(k,B,t,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((C=(E=this.options).onError)==null?void 0:C.call(E,B,t,this.state.context,n))}catch(F){Promise.reject(F)}try{await((_=(A=$(this,or).config).onSettled)==null?void 0:_.call(A,void 0,B,this.state.variables,this.state.context,this,n))}catch(F){Promise.reject(F)}try{await((I=(O=this.options).onSettled)==null?void 0:I.call(O,void 0,B,t,this.state.context,n))}catch(F){Promise.reject(F)}throw Ke(this,Rn,ta).call(this,{type:"error",error:B}),B}finally{$(this,or).runNext(this)}}},Zc=new WeakMap,Ln=new WeakMap,or=new WeakMap,fo=new WeakMap,Rn=new WeakSet,ta=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Zt.batch(()=>{$(this,Ln).forEach(n=>{n.onMutationUpdate(t)}),$(this,or).notify({mutation:this,type:"updated",action:t})})},LS);function pM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var di,yn,Xc,RS,gM=(RS=class extends Jc{constructor(t={}){super();Re(this,di);Re(this,yn);Re(this,Xc);this.config=t,je(this,di,new Set),je(this,yn,new Map),je(this,Xc,0)}build(t,r,n){const i=new mM({client:t,mutationCache:this,mutationId:++Ad(this,Xc)._,options:t.defaultMutationOptions(r),state:n});return this.add(i),i}add(t){$(this,di).add(t);const r=Pd(t);if(typeof r=="string"){const n=$(this,yn).get(r);n?n.push(t):$(this,yn).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if($(this,di).delete(t)){const r=Pd(t);if(typeof r=="string"){const n=$(this,yn).get(r);if(n)if(n.length>1){const i=n.indexOf(t);i!==-1&&n.splice(i,1)}else n[0]===t&&$(this,yn).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=Pd(t);if(typeof r=="string"){const n=$(this,yn).get(r),i=n==null?void 0:n.find(o=>o.state.status==="pending");return!i||i===t}else return!0}runNext(t){var n;const r=Pd(t);if(typeof r=="string"){const i=(n=$(this,yn).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Zt.batch(()=>{$(this,di).forEach(t=>{this.notify({type:"removed",mutation:t})}),$(this,di).clear(),$(this,yn).clear()})}getAll(){return Array.from($(this,di))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>Aw(r,n))}findAll(t={}){return this.getAll().filter(r=>Aw(t,r))}notify(t){Zt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Zt.batch(()=>Promise.all(t.map(r=>r.continue().catch(Ar))))}},di=new WeakMap,yn=new WeakMap,Xc=new WeakMap,RS);function Pd(e){var t;return(t=e.options.scope)==null?void 0:t.id}var $n,$S,vM=($S=class extends Jc{constructor(t={}){super();Re(this,$n);this.config=t,je(this,$n,new Map)}build(t,r,n){const i=r.queryKey,o=r.queryHash??Ix(i,r);let c=this.get(o);return c||(c=new uM({client:t,queryKey:i,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(i)}),this.add(c)),c}add(t){$(this,$n).has(t.queryHash)||($(this,$n).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=$(this,$n).get(t.queryHash);r&&(t.destroy(),r===t&&$(this,$n).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Zt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return $(this,$n).get(t)}getAll(){return[...$(this,$n).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>Ew(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>Ew(t,n)):r}notify(t){Zt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Zt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Zt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},$n=new WeakMap,$S),yt,da,fa,Ls,Rs,ha,$s,zs,zS,xM=(zS=class{constructor(e={}){Re(this,yt);Re(this,da);Re(this,fa);Re(this,Ls);Re(this,Rs);Re(this,ha);Re(this,$s);Re(this,zs);je(this,yt,e.queryCache||new vM),je(this,da,e.mutationCache||new gM),je(this,fa,e.defaultOptions||{}),je(this,Ls,new Map),je(this,Rs,new Map),je(this,ha,0)}mount(){Ad(this,ha)._++,$(this,ha)===1&&(je(this,$s,Mx.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,yt).onFocus())})),je(this,zs,ff.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,yt).onOnline())})))}unmount(){var e,t;Ad(this,ha)._--,$(this,ha)===0&&((e=$(this,$s))==null||e.call(this),je(this,$s,void 0),(t=$(this,zs))==null||t.call(this),je(this,zs,void 0))}isFetching(e){return $(this,yt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return $(this,da).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,yt).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=$(this,yt).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(pa(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return $(this,yt).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),i=$(this,yt).get(n.queryHash),o=i==null?void 0:i.state.data,c=X_(t,o);if(c!==void 0)return $(this,yt).build(this,n).setData(c,{...r,manual:!0})}setQueriesData(e,t,r){return Zt.batch(()=>$(this,yt).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=$(this,yt).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=$(this,yt);Zt.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=$(this,yt);return Zt.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Zt.batch(()=>$(this,yt).findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(Ar).catch(Ar)}invalidateQueries(e,t={}){return Zt.batch(()=>($(this,yt).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Zt.batch(()=>$(this,yt).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(Ar)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(Ar)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=$(this,yt).build(this,t);return r.isStaleByTime(pa(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ar).catch(Ar)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ar).catch(Ar)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return ff.isOnline()?$(this,da).resumePausedMutations():Promise.resolve()}getQueryCache(){return $(this,yt)}getMutationCache(){return $(this,da)}getDefaultOptions(){return $(this,fa)}setDefaultOptions(e){je(this,fa,e)}setQueryDefaults(e,t){$(this,Ls).set(Sc(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...$(this,Ls).values()],r={};return t.forEach(n=>{Ec(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){$(this,Rs).set(Sc(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...$(this,Rs).values()],r={};return t.forEach(n=>{Ec(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...$(this,fa).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Ix(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Tx&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...$(this,fa).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){$(this,yt).clear(),$(this,da).clear()}},yt=new WeakMap,da=new WeakMap,fa=new WeakMap,Ls=new WeakMap,Rs=new WeakMap,ha=new WeakMap,$s=new WeakMap,zs=new WeakMap,zS),ZS=x.createContext(void 0),_r=e=>{const t=x.useContext(ZS);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},yM=({client:e,children:t})=>(x.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),s.jsx(ZS.Provider,{value:e,children:t})),XS=x.createContext(!1),bM=()=>x.useContext(XS);XS.Provider;function wM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var kM=x.createContext(wM()),jM=()=>x.useContext(kM),NM=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?HS(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},SM=e=>{x.useEffect(()=>{e.clearReset()},[e])},EM=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||HS(r,[e.error,n])),AM=e=>{if(e.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},CM=(e,t)=>e.isLoading&&e.isFetching&&!t,PM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Dw=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function OM(e,t,r){var b,N,w,k;const n=bM(),i=jM(),o=_r(),c=o.defaultQueryOptions(e);(N=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||N.call(b,c);const u=o.getQueryCache().get(c.queryHash),f=e.subscribed!==!1;c._optimisticResults=n?"isRestoring":f?"optimistic":void 0,AM(c),NM(c,i,u),SM(i);const h=!o.getQueryCache().get(c.queryHash),[m]=x.useState(()=>new t(o,c)),p=m.getOptimisticResult(c),v=!n&&f;if(x.useSyncExternalStore(x.useCallback(S=>{const E=v?m.subscribe(Zt.batchCalls(S)):Ar;return m.updateResult(),E},[m,v]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),x.useEffect(()=>{m.setOptions(c)},[c,m]),PM(c,p))throw Dw(c,m,i);if(EM({result:p,errorResetBoundary:i,throwOnError:c.throwOnError,query:u,suspense:c.suspense}))throw p.error;if((k=(w=o.getDefaultOptions().queries)==null?void 0:w._experimental_afterQuery)==null||k.call(w,c,p),c.experimental_prefetchInRender&&!Ac.isServer()&&CM(p,n)){const S=h?Dw(c,m,i):u==null?void 0:u.promise;S==null||S.catch(Ar).finally(()=>{m.updateResult()})}return c.notifyOnChangeProps?p:m.trackResult(p)}function mt(e,t){return OM(e,dM)}/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const PM=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),XN=(...e)=>e.filter((t,r,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===r).join(" ").trim();/** + */const _M=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),JS=(...e)=>e.filter((t,r,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===r).join(" ").trim();/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var OM={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"};/** + */var MM={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"};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _M=x.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:i="",children:o,iconNode:c,...u},f)=>x.createElement("svg",{ref:f,...OM,width:t,height:t,stroke:e,strokeWidth:n?Number(r)*24/Number(t):r,className:XN("lucide",i),...u},[...c.map(([h,m])=>x.createElement(h,m)),...Array.isArray(o)?o:[o]]));/** + */const IM=x.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:i="",children:o,iconNode:c,...u},f)=>x.createElement("svg",{ref:f,...MM,width:t,height:t,stroke:e,strokeWidth:n?Number(r)*24/Number(t):r,className:JS("lucide",i),...u},[...c.map(([h,m])=>x.createElement(h,m)),...Array.isArray(o)?o:[o]]));/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ce=(e,t)=>{const r=x.forwardRef(({className:n,...i},o)=>x.createElement(_M,{ref:o,iconNode:t,className:XN(`lucide-${PM(e)}`,n),...i}));return r.displayName=`${e}`,r};/** + */const ce=(e,t)=>{const r=x.forwardRef(({className:n,...i},o)=>x.createElement(IM,{ref:o,iconNode:t,className:JS(`lucide-${_M(e)}`,n),...i}));return r.displayName=`${e}`,r};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hh=ce("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const mh=ce("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const JN=ce("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]]);/** + */const e5=ce("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Tw=ce("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/** + */const Lw=ce("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const e5=ce("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** + */const t5=ce("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -87,17 +87,17 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const MM=ce("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** + */const TM=ce("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const IM=ce("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/** + */const DM=ce("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const t5=ce("BookMarked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]);/** + */const r5=ce("BookMarked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -107,7 +107,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const TM=ce("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/** + */const LM=ce("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -117,37 +117,37 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const DM=ce("Box",[["path",{d:"M21 8a2 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.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** + */const RM=ce("Box",[["path",{d:"M21 8a2 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.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ff=ce("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + */const hf=ce("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const LM=ce("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/** + */const $M=ce("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const RM=ce("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]);/** + */const zM=ce("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Sa=ce("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + */const Na=ce("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $M=ce("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** + */const FM=ce("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Mt=ce("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const It=ce("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -157,7 +157,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const zM=ce("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + */const BM=ce("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -167,42 +167,42 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const r5=ce("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const n5=ce("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const FM=ce("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/** + */const UM=ce("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const n5=ce("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const i5=ce("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const BM=ce("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const WM=ce("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const UM=ce("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** + */const HM=ce("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mh=ce("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + */const eu=ce("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const WM=ce("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/** + */const KM=ce("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const HM=ce("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/** + */const GM=ce("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -212,7 +212,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const KM=ce("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/** + */const VM=ce("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -222,7 +222,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const GM=ce("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);/** + */const qM=ce("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -237,7 +237,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const VM=ce("Database",[["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"}]]);/** + */const QM=ce("Database",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -247,12 +247,12 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Dx=ce("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + */const Lx=ce("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Dw=ce("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const Rw=ce("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -262,47 +262,47 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qM=ce("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);/** + */const YM=ce("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i5=ce("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + */const a5=ce("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const QM=ce("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/** + */const ZM=ce("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const a5=ce("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** + */const o5=ce("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const o5=ce("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** + */const s5=ce("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const YM=ce("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + */const XM=ce("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ZM=ce("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + */const JM=ce("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const XM=ce("Globe",[["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"}]]);/** + */const eI=ce("Globe",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const JM=ce("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/** + */const tI=ce("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -312,22 +312,22 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Lx=ce("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]);/** + */const Rx=ce("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eI=ce("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** + */const rI=ce("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const s5=ce("History",[["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"}]]);/** + */const l5=ce("History",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eu=ce("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);/** + */const tu=ce("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -337,7 +337,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tI=ce("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** + */const nI=ce("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -347,102 +347,102 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const l5=ce("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** + */const c5=ce("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rI=ce("LayoutDashboard",[["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"}]]);/** + */const iI=ce("LayoutDashboard",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const c5=ce("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);/** + */const u5=ce("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nI=ce("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/** + */const aI=ce("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const iI=ce("Lightbulb",[["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"}]]);/** + */const d5=ce("Lightbulb",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aI=ce("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/** + */const oI=ce("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oI=ce("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/** + */const sI=ce("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ut=ce("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const kt=ce("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const u5=ce("Lock",[["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"}]]);/** + */const f5=ce("Lock",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sI=ce("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const lI=ce("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lI=ce("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + */const cI=ce("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cI=ce("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** + */const uI=ce("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const uI=ce("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** + */const dI=ce("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const dI=ce("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** + */const fI=ce("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const fI=ce("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const hI=ce("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Lw=ce("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** + */const $w=ce("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const d5=ce("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */const h5=ce("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hI=ce("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + */const mI=ce("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Rw=ce("Package",[["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"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** + */const zw=ce("Package",[["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"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const f5=ce("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** + */const m5=ce("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -452,27 +452,27 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hf=ce("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const mf=ce("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mI=ce("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const pI=ce("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const h5=ce("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** + */const p5=ce("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const pI=ce("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);/** + */const gI=ce("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const gI=ce("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]);/** + */const vI=ce("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -482,22 +482,22 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const vI=ce("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + */const xI=ce("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Rx=ce("RotateCcw",[["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"}]]);/** + */const $x=ce("RotateCcw",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const m5=ce("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);/** + */const g5=ce("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const xI=ce("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** + */const yI=ce("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -507,7 +507,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const yI=ce("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const v5=ce("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -517,17 +517,17 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $w=ce("Share2",[["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"}]]);/** + */const Fw=ce("Share2",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $x=ce("ShieldAlert",[["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"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** + */const zx=ce("ShieldAlert",[["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"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const p5=ce("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const x5=ce("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -542,7 +542,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const g5=ce("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** + */const y5=ce("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -562,7 +562,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const v5=ce("SquareTerminal",[["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"}]]);/** + */const b5=ce("SquareTerminal",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -572,12 +572,12 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const SI=ce("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]);/** + */const NI=ce("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const x5=ce("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const w5=ce("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -592,22 +592,22 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const NI=ce("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** + */const SI=ce("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tu=ce("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + */const ru=ce("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Br=ce("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + */const Or=ce("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const wa=ce("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),gs=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:rI,group:"Operativ"},{id:"auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:eu,group:"Operativ"},{id:"chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:s5,group:"Operativ"},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:Sa,group:"Wissen"},{id:"wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:c5,group:"Wissen"},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Pc,group:"Werkzeuge"},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:v5,group:"Werkzeuge"},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:BM,group:"Werkzeuge"},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:ff,group:"Wartung"},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Hn,group:"Wartung"}];var zw=1,EI=.9,AI=.8,CI=.17,sg=.1,lg=.999,PI=.9999,OI=.99,_I=/[\\\/_+.#"@\[\(\{&]/,MI=/[\\\/_+.#"@\[\(\{&]/g,II=/[\s-]/,y5=/[\s-]/g;function yv(e,t,r,n,i,o,c){if(o===t.length)return i===e.length?zw:OI;var u=`${i},${o}`;if(c[u]!==void 0)return c[u];for(var f=n.charAt(o),h=r.indexOf(f,i),m=0,p,v,b,S;h>=0;)p=yv(e,t,r,n,h+1,o+1,c),p>m&&(h===i?p*=zw:_I.test(e.charAt(h-1))?(p*=AI,b=e.slice(i,h-1).match(MI),b&&i>0&&(p*=Math.pow(lg,b.length))):II.test(e.charAt(h-1))?(p*=EI,S=e.slice(i,h-1).match(y5),S&&i>0&&(p*=Math.pow(lg,S.length))):(p*=CI,i>0&&(p*=Math.pow(lg,h-i))),e.charAt(h)!==t.charAt(o)&&(p*=PI)),(pp&&(p=v*sg)),p>m&&(m=p),h=r.indexOf(f,h+1);return c[u]=m,m}function Fw(e){return e.toLowerCase().replace(y5," ")}function TI(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,yv(e,t,Fw(e),Fw(t),0,0,{})}function xa(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function Bw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ws(...e){return t=>{let r=!1;const n=e.map(i=>{const o=Bw(i,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let i=0;i{var N;const{scope:v,children:b,...S}=p,w=((N=v==null?void 0:v[e])==null?void 0:N[f])||u,k=x.useMemo(()=>S,Object.values(S));return s.jsx(w.Provider,{value:k,children:b})};h.displayName=o+"Provider";function m(p,v){var w;const b=((w=v==null?void 0:v[e])==null?void 0:w[f])||u,S=x.useContext(b);if(S)return S;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${o}\``)}return[h,m]}const i=()=>{const o=r.map(c=>x.createContext(c));return function(u){const f=(u==null?void 0:u[e])||o;return x.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return i.scopeName=e,[n,LI(i,...t)]}function LI(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const c=n.reduce((u,{useScope:f,scopeName:h})=>{const p=f(o)[`__scope${h}`];return{...u,...p}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return r.scopeName=t.scopeName,r}var Oc=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{},RI=fh[" useId ".trim().toString()]||(()=>{}),$I=0;function gi(e){const[t,r]=x.useState(RI());return Oc(()=>{r(n=>n??String($I++))},[e]),t?`radix-${t}`:""}var zI=fh[" useInsertionEffect ".trim().toString()]||Oc;function FI({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,o,c]=BI({defaultProp:t,onChange:r}),u=e!==void 0,f=u?e:i;{const m=x.useRef(e!==void 0);x.useEffect(()=>{const p=m.current;p!==u&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${u?"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.`),m.current=u},[u,n])}const h=x.useCallback(m=>{var p;if(u){const v=UI(m)?m(e):m;v!==e&&((p=c.current)==null||p.call(c,v))}else o(m)},[u,e,o,c]);return[f,h]}function BI({defaultProp:e,onChange:t}){const[r,n]=x.useState(e),i=x.useRef(r),o=x.useRef(t);return zI(()=>{o.current=t},[t]),x.useEffect(()=>{var c;i.current!==r&&((c=o.current)==null||c.call(o,r),i.current=r)},[r,i]),[r,n,o]}function UI(e){return typeof e=="function"}var gh=zN();function b5(e){const t=x.forwardRef((r,n)=>{let{children:i,...o}=r,c=null,u=!1;const f=[];Uw(i)&&typeof Pd=="function"&&(i=Pd(i._payload)),x.Children.forEach(i,v=>{var b;if(VI(v)){u=!0;const S=v;let w="child"in S.props?S.props.child:S.props.children;Uw(w)&&typeof Pd=="function"&&(w=Pd(w._payload)),c=HI(S,w),f.push((b=c==null?void 0:c.props)==null?void 0:b.children)}else f.push(v)}),c?c=x.cloneElement(c,void 0,f):!u&&x.Children.count(i)===1&&x.isValidElement(i)&&(c=i);const h=c?GI(c):void 0,m=Ao(n,h);if(!c){if(i||i===0)throw new Error(u?ZI(e):YI(e));return i}const p=KI(o,c.props??{});return c.type!==x.Fragment&&(p.ref=n?m:h),x.cloneElement(c,p)});return t.displayName=`${e}.Slot`,t}var WI=Symbol.for("radix.slottable"),HI=(e,t)=>{if("child"in e.props){const r=e.props.child;return x.isValidElement(r)?x.cloneElement(r,void 0,e.props.children(r.props.children)):null}return x.isValidElement(t)?t:null};function KI(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...u)=>{const f=o(...u);return i(...u),f}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function GI(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function VI(e){return x.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===WI}var qI=Symbol.for("react.lazy");function Uw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===qI&&"_payload"in e&&QI(e._payload)}function QI(e){return typeof e=="object"&&e!==null&&"then"in e}var YI=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ZI=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Pd=fh[" use ".trim().toString()],XI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],er=XI.reduce((e,t)=>{const r=b5(`Primitive.${t}`),n=x.forwardRef((i,o)=>{const{asChild:c,...u}=i,f=c?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(f,{...u,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function JI(e,t){e&&gh.flushSync(()=>e.dispatchEvent(t))}function _c(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function eT(e,t=globalThis==null?void 0:globalThis.document){const r=_c(e);x.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var tT="DismissableLayer",bv="dismissableLayer.update",rT="dismissableLayer.pointerDownOutside",nT="dismissableLayer.focusOutside",Ww,zx=x.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),w5=x.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:c,onInteractOutside:u,onDismiss:f,...h}=e,m=x.useContext(zx),[p,v]=x.useState(null),b=(p==null?void 0:p.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=x.useState({}),w=Ao(t,F=>v(F)),k=Array.from(m.layers),[N]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),E=k.indexOf(N),C=p?k.indexOf(p):-1,A=m.layersWithOutsidePointerEventsDisabled.size>0,_=C>=E,O=x.useRef(!1),I=sT(F=>{const R=F.target;if(!(R instanceof Node))return;const Q=[...m.branches].some(U=>U.contains(R));!_||Q||(o==null||o(F),u==null||u(F),F.defaultPrevented||f==null||f())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:O,dismissableSurfaces:m.dismissableSurfaces}),B=lT(F=>{if(n&&O.current)return;const R=F.target;[...m.branches].some(U=>U.contains(R))||(c==null||c(F),u==null||u(F),F.defaultPrevented||f==null||f())},b);return eT(F=>{C===m.layers.size-1&&(i==null||i(F),!F.defaultPrevented&&f&&(F.preventDefault(),f()))},b),x.useEffect(()=>{if(p)return r&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Ww=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(p)),m.layers.add(p),Hw(),()=>{r&&(m.layersWithOutsidePointerEventsDisabled.delete(p),m.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=Ww))}},[p,b,r,m]),x.useEffect(()=>()=>{p&&(m.layers.delete(p),m.layersWithOutsidePointerEventsDisabled.delete(p),Hw())},[p,m]),x.useEffect(()=>{const F=()=>S({});return document.addEventListener(bv,F),()=>document.removeEventListener(bv,F)},[]),s.jsx(er.div,{...h,ref:w,style:{pointerEvents:A?_?"auto":"none":void 0,...e.style},onFocusCapture:xa(e.onFocusCapture,B.onFocusCapture),onBlurCapture:xa(e.onBlurCapture,B.onBlurCapture),onPointerDownCapture:xa(e.onPointerDownCapture,I.onPointerDownCapture)})});w5.displayName=tT;var iT="DismissableLayerBranch",aT=x.forwardRef((e,t)=>{const r=x.useContext(zx),n=x.useRef(null),i=Ao(t,n);return x.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),s.jsx(er.div,{...e,ref:i})});aT.displayName=iT;function oT(){const e=x.useContext(zx),[t,r]=x.useState(null);return x.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function sT(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:o}=t,c=_c(e),u=x.useRef(!1),f=x.useRef(!1),h=x.useRef(new Map),m=x.useRef(()=>{});return x.useEffect(()=>{function p(){f.current=!1,i.current=!1,h.current.clear()}function v(){return Array.from(h.current.values()).some(Boolean)}function b(E){if(!f.current)return;const C=E.target;C instanceof Node&&[...o].some(_=>_.contains(C))||h.current.set(E.type,!0),E.type==="click"&&window.setTimeout(()=>{f.current&&m.current()},0)}function S(E){f.current&&h.current.set(E.type,!1)}const w=E=>{if(E.target&&!u.current){let C=function(){r.removeEventListener("click",m.current);const _=v();p(),_||k5(rT,c,A,{discrete:!0})};const A={originalEvent:E};f.current=!0,i.current=n&&E.button===0,h.current.clear(),!n||E.button!==0?C():(r.removeEventListener("click",m.current),m.current=C,r.addEventListener("click",m.current,{once:!0}))}else r.removeEventListener("click",m.current),p();u.current=!1},k=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const E of k)r.addEventListener(E,b,!0),r.addEventListener(E,S);const N=window.setTimeout(()=>{r.addEventListener("pointerdown",w)},0);return()=>{window.clearTimeout(N),r.removeEventListener("pointerdown",w),r.removeEventListener("click",m.current);for(const E of k)r.removeEventListener(E,b,!0),r.removeEventListener(E,S)}},[r,c,n,i,o]),{onPointerDownCapture:()=>u.current=!0}}function lT(e,t=globalThis==null?void 0:globalThis.document){const r=_c(e),n=x.useRef(!1);return x.useEffect(()=>{const i=o=>{o.target&&!n.current&&k5(nT,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Hw(){const e=new CustomEvent(bv);document.dispatchEvent(e)}function k5(e,t,r,{discrete:n}){const i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?JI(i,o):i.dispatchEvent(o)}var cg="focusScope.autoFocusOnMount",ug="focusScope.autoFocusOnUnmount",Kw={bubbles:!1,cancelable:!0},cT="FocusScope",j5=x.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...c}=e,[u,f]=x.useState(null),h=_c(i),m=_c(o),p=x.useRef(null),v=Ao(t,w=>f(w)),b=x.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;x.useEffect(()=>{if(n){let w=function(C){if(b.paused||!u)return;const A=C.target;u.contains(A)?p.current=A:ra(p.current,{select:!0})},k=function(C){if(b.paused||!u)return;const A=C.relatedTarget;A!==null&&(u.contains(A)||ra(p.current,{select:!0}))},N=function(C){if(document.activeElement===document.body)for(const _ of C)_.removedNodes.length>0&&ra(u)};document.addEventListener("focusin",w),document.addEventListener("focusout",k);const E=new MutationObserver(N);return u&&E.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",k),E.disconnect()}}},[n,u,b.paused]),x.useEffect(()=>{if(u){Vw.add(b);const w=document.activeElement;if(!u.contains(w)){const N=new CustomEvent(cg,Kw);u.addEventListener(cg,h),u.dispatchEvent(N),N.defaultPrevented||(uT(pT(S5(u)),{select:!0}),document.activeElement===w&&ra(u))}return()=>{u.removeEventListener(cg,h),setTimeout(()=>{const N=new CustomEvent(ug,Kw);u.addEventListener(ug,m),u.dispatchEvent(N),N.defaultPrevented||ra(w??document.body,{select:!0}),u.removeEventListener(ug,m),Vw.remove(b)},0)}}},[u,h,m,b]);const S=x.useCallback(w=>{if(!r&&!n||b.paused)return;const k=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,N=document.activeElement;if(k&&N){const E=w.currentTarget,[C,A]=dT(E);C&&A?!w.shiftKey&&N===A?(w.preventDefault(),r&&ra(C,{select:!0})):w.shiftKey&&N===C&&(w.preventDefault(),r&&ra(A,{select:!0})):N===E&&w.preventDefault()}},[r,n,b.paused]);return s.jsx(er.div,{tabIndex:-1,...c,ref:v,onKeyDown:S})});j5.displayName=cT;function uT(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(ra(n,{select:t}),document.activeElement!==r)return}function dT(e){const t=S5(e),r=Gw(t,e),n=Gw(t.reverse(),e);return[r,n]}function S5(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Gw(e,t){for(const r of e)if(!fT(r,{upTo:t}))return r}function fT(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function hT(e){return e instanceof HTMLInputElement&&"select"in e}function ra(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&hT(e)&&t&&e.select()}}var Vw=mT();function mT(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=qw(e,t),e.unshift(t)},remove(t){var r;e=qw(e,t),(r=e[0])==null||r.resume()}}}function qw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function pT(e){return e.filter(t=>t.tagName!=="A")}var gT="Portal",N5=x.forwardRef((e,t)=>{var u;const{container:r,...n}=e,[i,o]=x.useState(!1);Oc(()=>o(!0),[]);const c=r||i&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return c?gh.createPortal(s.jsx(er.div,{...n,ref:t}),c):null});N5.displayName=gT;function vT(e,t){return x.useReducer((r,n)=>t[r][n]??r,e)}var vh=e=>{const{present:t,children:r}=e,n=xT(t),i=typeof r=="function"?r({present:n.isPresent}):x.Children.only(r),o=yT(n.ref,bT(i));return typeof r=="function"||n.isPresent?x.cloneElement(i,{ref:o}):null};vh.displayName="Presence";function xT(e){const[t,r]=x.useState(),n=x.useRef(null),i=x.useRef(e),o=x.useRef("none"),c=e?"mounted":"unmounted",[u,f]=vT(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const h=Od(n.current);o.current=u==="mounted"?h:"none"},[u]),Oc(()=>{const h=n.current,m=i.current;if(m!==e){const v=o.current,b=Od(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(m&&v!==b?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,f]),Oc(()=>{if(t){let h;const m=t.ownerDocument.defaultView??window,p=b=>{const w=Od(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&w&&(f("ANIMATION_END"),!i.current)){const k=t.style.animationFillMode;t.style.animationFillMode="forwards",h=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=k)})}},v=b=>{b.target===t&&(o.current=Od(n.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(h),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:x.useCallback(h=>{n.current=h?getComputedStyle(h):null,r(h)},[])}}function Qw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yT(...e){const t=x.useRef(e);return t.current=e,x.useCallback(r=>{const n=t.current;let i=!1;const o=n.map(c=>{const u=Qw(c,r);return!i&&typeof u=="function"&&(i=!0),u});if(i)return()=>{for(let c=0;c{Mn||(Mn={start:Yw(),end:Yw()});const{start:e,end:t}=Mn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),_d++,()=>{_d===1&&(Mn==null||Mn.start.remove(),Mn==null||Mn.end.remove(),Mn=null),_d=Math.max(0,_d-1)}},[])}function Yw(){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 zn=function(){return zn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return $T;var t=zT(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},BT=P5(),ks="data-scroll-locked",UT=function(e,t,r,n){var i=e.left,o=e.top,c=e.right,u=e.gap;return r===void 0&&(r="margin"),` + */const wa=ce("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),gs=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:iI,group:"Operativ"},{id:"auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:tu,group:"Operativ"},{id:"chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:l5,group:"Operativ"},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:Na,group:"Wissen"},{id:"wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:u5,group:"Wissen"},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Pc,group:"Werkzeuge"},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:b5,group:"Werkzeuge"},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:WM,group:"Werkzeuge"},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:hf,group:"Wartung"},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Hn,group:"Wartung"}];var Bw=1,EI=.9,AI=.8,CI=.17,sg=.1,lg=.999,PI=.9999,OI=.99,_I=/[\\\/_+.#"@\[\(\{&]/,MI=/[\\\/_+.#"@\[\(\{&]/g,II=/[\s-]/,k5=/[\s-]/g;function yv(e,t,r,n,i,o,c){if(o===t.length)return i===e.length?Bw:OI;var u=`${i},${o}`;if(c[u]!==void 0)return c[u];for(var f=n.charAt(o),h=r.indexOf(f,i),m=0,p,v,b,N;h>=0;)p=yv(e,t,r,n,h+1,o+1,c),p>m&&(h===i?p*=Bw:_I.test(e.charAt(h-1))?(p*=AI,b=e.slice(i,h-1).match(MI),b&&i>0&&(p*=Math.pow(lg,b.length))):II.test(e.charAt(h-1))?(p*=EI,N=e.slice(i,h-1).match(k5),N&&i>0&&(p*=Math.pow(lg,N.length))):(p*=CI,i>0&&(p*=Math.pow(lg,h-i))),e.charAt(h)!==t.charAt(o)&&(p*=PI)),(pp&&(p=v*sg)),p>m&&(m=p),h=r.indexOf(f,h+1);return c[u]=m,m}function Uw(e){return e.toLowerCase().replace(k5," ")}function TI(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,yv(e,t,Uw(e),Uw(t),0,0,{})}function xa(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function Ww(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ws(...e){return t=>{let r=!1;const n=e.map(i=>{const o=Ww(i,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let i=0;i{var S;const{scope:v,children:b,...N}=p,w=((S=v==null?void 0:v[e])==null?void 0:S[f])||u,k=x.useMemo(()=>N,Object.values(N));return s.jsx(w.Provider,{value:k,children:b})};h.displayName=o+"Provider";function m(p,v){var w;const b=((w=v==null?void 0:v[e])==null?void 0:w[f])||u,N=x.useContext(b);if(N)return N;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${o}\``)}return[h,m]}const i=()=>{const o=r.map(c=>x.createContext(c));return function(u){const f=(u==null?void 0:u[e])||o;return x.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return i.scopeName=e,[n,LI(i,...t)]}function LI(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const c=n.reduce((u,{useScope:f,scopeName:h})=>{const p=f(o)[`__scope${h}`];return{...u,...p}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return r.scopeName=t.scopeName,r}var Oc=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{},RI=hh[" useId ".trim().toString()]||(()=>{}),$I=0;function gi(e){const[t,r]=x.useState(RI());return Oc(()=>{r(n=>n??String($I++))},[e]),t?`radix-${t}`:""}var zI=hh[" useInsertionEffect ".trim().toString()]||Oc;function FI({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,o,c]=BI({defaultProp:t,onChange:r}),u=e!==void 0,f=u?e:i;{const m=x.useRef(e!==void 0);x.useEffect(()=>{const p=m.current;p!==u&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${u?"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.`),m.current=u},[u,n])}const h=x.useCallback(m=>{var p;if(u){const v=UI(m)?m(e):m;v!==e&&((p=c.current)==null||p.call(c,v))}else o(m)},[u,e,o,c]);return[f,h]}function BI({defaultProp:e,onChange:t}){const[r,n]=x.useState(e),i=x.useRef(r),o=x.useRef(t);return zI(()=>{o.current=t},[t]),x.useEffect(()=>{var c;i.current!==r&&((c=o.current)==null||c.call(o,r),i.current=r)},[r,i]),[r,n,o]}function UI(e){return typeof e=="function"}var gh=FS();function j5(e){const t=x.forwardRef((r,n)=>{let{children:i,...o}=r,c=null,u=!1;const f=[];Hw(i)&&typeof Od=="function"&&(i=Od(i._payload)),x.Children.forEach(i,v=>{var b;if(VI(v)){u=!0;const N=v;let w="child"in N.props?N.props.child:N.props.children;Hw(w)&&typeof Od=="function"&&(w=Od(w._payload)),c=HI(N,w),f.push((b=c==null?void 0:c.props)==null?void 0:b.children)}else f.push(v)}),c?c=x.cloneElement(c,void 0,f):!u&&x.Children.count(i)===1&&x.isValidElement(i)&&(c=i);const h=c?GI(c):void 0,m=Ao(n,h);if(!c){if(i||i===0)throw new Error(u?ZI(e):YI(e));return i}const p=KI(o,c.props??{});return c.type!==x.Fragment&&(p.ref=n?m:h),x.cloneElement(c,p)});return t.displayName=`${e}.Slot`,t}var WI=Symbol.for("radix.slottable"),HI=(e,t)=>{if("child"in e.props){const r=e.props.child;return x.isValidElement(r)?x.cloneElement(r,void 0,e.props.children(r.props.children)):null}return x.isValidElement(t)?t:null};function KI(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...u)=>{const f=o(...u);return i(...u),f}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function GI(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function VI(e){return x.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===WI}var qI=Symbol.for("react.lazy");function Hw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===qI&&"_payload"in e&&QI(e._payload)}function QI(e){return typeof e=="object"&&e!==null&&"then"in e}var YI=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ZI=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Od=hh[" use ".trim().toString()],XI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],er=XI.reduce((e,t)=>{const r=j5(`Primitive.${t}`),n=x.forwardRef((i,o)=>{const{asChild:c,...u}=i,f=c?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(f,{...u,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function JI(e,t){e&&gh.flushSync(()=>e.dispatchEvent(t))}function _c(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function eT(e,t=globalThis==null?void 0:globalThis.document){const r=_c(e);x.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var tT="DismissableLayer",bv="dismissableLayer.update",rT="dismissableLayer.pointerDownOutside",nT="dismissableLayer.focusOutside",Kw,Fx=x.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),N5=x.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:c,onInteractOutside:u,onDismiss:f,...h}=e,m=x.useContext(Fx),[p,v]=x.useState(null),b=(p==null?void 0:p.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,N]=x.useState({}),w=Ao(t,F=>v(F)),k=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),E=k.indexOf(S),C=p?k.indexOf(p):-1,A=m.layersWithOutsidePointerEventsDisabled.size>0,_=C>=E,O=x.useRef(!1),I=sT(F=>{const R=F.target;if(!(R instanceof Node))return;const Q=[...m.branches].some(U=>U.contains(R));!_||Q||(o==null||o(F),u==null||u(F),F.defaultPrevented||f==null||f())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:O,dismissableSurfaces:m.dismissableSurfaces}),B=lT(F=>{if(n&&O.current)return;const R=F.target;[...m.branches].some(U=>U.contains(R))||(c==null||c(F),u==null||u(F),F.defaultPrevented||f==null||f())},b);return eT(F=>{C===m.layers.size-1&&(i==null||i(F),!F.defaultPrevented&&f&&(F.preventDefault(),f()))},b),x.useEffect(()=>{if(p)return r&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Kw=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(p)),m.layers.add(p),Gw(),()=>{r&&(m.layersWithOutsidePointerEventsDisabled.delete(p),m.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=Kw))}},[p,b,r,m]),x.useEffect(()=>()=>{p&&(m.layers.delete(p),m.layersWithOutsidePointerEventsDisabled.delete(p),Gw())},[p,m]),x.useEffect(()=>{const F=()=>N({});return document.addEventListener(bv,F),()=>document.removeEventListener(bv,F)},[]),s.jsx(er.div,{...h,ref:w,style:{pointerEvents:A?_?"auto":"none":void 0,...e.style},onFocusCapture:xa(e.onFocusCapture,B.onFocusCapture),onBlurCapture:xa(e.onBlurCapture,B.onBlurCapture),onPointerDownCapture:xa(e.onPointerDownCapture,I.onPointerDownCapture)})});N5.displayName=tT;var iT="DismissableLayerBranch",aT=x.forwardRef((e,t)=>{const r=x.useContext(Fx),n=x.useRef(null),i=Ao(t,n);return x.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),s.jsx(er.div,{...e,ref:i})});aT.displayName=iT;function oT(){const e=x.useContext(Fx),[t,r]=x.useState(null);return x.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function sT(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:o}=t,c=_c(e),u=x.useRef(!1),f=x.useRef(!1),h=x.useRef(new Map),m=x.useRef(()=>{});return x.useEffect(()=>{function p(){f.current=!1,i.current=!1,h.current.clear()}function v(){return Array.from(h.current.values()).some(Boolean)}function b(E){if(!f.current)return;const C=E.target;C instanceof Node&&[...o].some(_=>_.contains(C))||h.current.set(E.type,!0),E.type==="click"&&window.setTimeout(()=>{f.current&&m.current()},0)}function N(E){f.current&&h.current.set(E.type,!1)}const w=E=>{if(E.target&&!u.current){let C=function(){r.removeEventListener("click",m.current);const _=v();p(),_||S5(rT,c,A,{discrete:!0})};const A={originalEvent:E};f.current=!0,i.current=n&&E.button===0,h.current.clear(),!n||E.button!==0?C():(r.removeEventListener("click",m.current),m.current=C,r.addEventListener("click",m.current,{once:!0}))}else r.removeEventListener("click",m.current),p();u.current=!1},k=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const E of k)r.addEventListener(E,b,!0),r.addEventListener(E,N);const S=window.setTimeout(()=>{r.addEventListener("pointerdown",w)},0);return()=>{window.clearTimeout(S),r.removeEventListener("pointerdown",w),r.removeEventListener("click",m.current);for(const E of k)r.removeEventListener(E,b,!0),r.removeEventListener(E,N)}},[r,c,n,i,o]),{onPointerDownCapture:()=>u.current=!0}}function lT(e,t=globalThis==null?void 0:globalThis.document){const r=_c(e),n=x.useRef(!1);return x.useEffect(()=>{const i=o=>{o.target&&!n.current&&S5(nT,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Gw(){const e=new CustomEvent(bv);document.dispatchEvent(e)}function S5(e,t,r,{discrete:n}){const i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?JI(i,o):i.dispatchEvent(o)}var cg="focusScope.autoFocusOnMount",ug="focusScope.autoFocusOnUnmount",Vw={bubbles:!1,cancelable:!0},cT="FocusScope",E5=x.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...c}=e,[u,f]=x.useState(null),h=_c(i),m=_c(o),p=x.useRef(null),v=Ao(t,w=>f(w)),b=x.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;x.useEffect(()=>{if(n){let w=function(C){if(b.paused||!u)return;const A=C.target;u.contains(A)?p.current=A:ra(p.current,{select:!0})},k=function(C){if(b.paused||!u)return;const A=C.relatedTarget;A!==null&&(u.contains(A)||ra(p.current,{select:!0}))},S=function(C){if(document.activeElement===document.body)for(const _ of C)_.removedNodes.length>0&&ra(u)};document.addEventListener("focusin",w),document.addEventListener("focusout",k);const E=new MutationObserver(S);return u&&E.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",k),E.disconnect()}}},[n,u,b.paused]),x.useEffect(()=>{if(u){Qw.add(b);const w=document.activeElement;if(!u.contains(w)){const S=new CustomEvent(cg,Vw);u.addEventListener(cg,h),u.dispatchEvent(S),S.defaultPrevented||(uT(pT(A5(u)),{select:!0}),document.activeElement===w&&ra(u))}return()=>{u.removeEventListener(cg,h),setTimeout(()=>{const S=new CustomEvent(ug,Vw);u.addEventListener(ug,m),u.dispatchEvent(S),S.defaultPrevented||ra(w??document.body,{select:!0}),u.removeEventListener(ug,m),Qw.remove(b)},0)}}},[u,h,m,b]);const N=x.useCallback(w=>{if(!r&&!n||b.paused)return;const k=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,S=document.activeElement;if(k&&S){const E=w.currentTarget,[C,A]=dT(E);C&&A?!w.shiftKey&&S===A?(w.preventDefault(),r&&ra(C,{select:!0})):w.shiftKey&&S===C&&(w.preventDefault(),r&&ra(A,{select:!0})):S===E&&w.preventDefault()}},[r,n,b.paused]);return s.jsx(er.div,{tabIndex:-1,...c,ref:v,onKeyDown:N})});E5.displayName=cT;function uT(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(ra(n,{select:t}),document.activeElement!==r)return}function dT(e){const t=A5(e),r=qw(t,e),n=qw(t.reverse(),e);return[r,n]}function A5(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function qw(e,t){for(const r of e)if(!fT(r,{upTo:t}))return r}function fT(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function hT(e){return e instanceof HTMLInputElement&&"select"in e}function ra(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&hT(e)&&t&&e.select()}}var Qw=mT();function mT(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Yw(e,t),e.unshift(t)},remove(t){var r;e=Yw(e,t),(r=e[0])==null||r.resume()}}}function Yw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function pT(e){return e.filter(t=>t.tagName!=="A")}var gT="Portal",C5=x.forwardRef((e,t)=>{var u;const{container:r,...n}=e,[i,o]=x.useState(!1);Oc(()=>o(!0),[]);const c=r||i&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return c?gh.createPortal(s.jsx(er.div,{...n,ref:t}),c):null});C5.displayName=gT;function vT(e,t){return x.useReducer((r,n)=>t[r][n]??r,e)}var vh=e=>{const{present:t,children:r}=e,n=xT(t),i=typeof r=="function"?r({present:n.isPresent}):x.Children.only(r),o=yT(n.ref,bT(i));return typeof r=="function"||n.isPresent?x.cloneElement(i,{ref:o}):null};vh.displayName="Presence";function xT(e){const[t,r]=x.useState(),n=x.useRef(null),i=x.useRef(e),o=x.useRef("none"),c=e?"mounted":"unmounted",[u,f]=vT(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const h=_d(n.current);o.current=u==="mounted"?h:"none"},[u]),Oc(()=>{const h=n.current,m=i.current;if(m!==e){const v=o.current,b=_d(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(m&&v!==b?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,f]),Oc(()=>{if(t){let h;const m=t.ownerDocument.defaultView??window,p=b=>{const w=_d(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&w&&(f("ANIMATION_END"),!i.current)){const k=t.style.animationFillMode;t.style.animationFillMode="forwards",h=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=k)})}},v=b=>{b.target===t&&(o.current=_d(n.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(h),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:x.useCallback(h=>{n.current=h?getComputedStyle(h):null,r(h)},[])}}function Zw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yT(...e){const t=x.useRef(e);return t.current=e,x.useCallback(r=>{const n=t.current;let i=!1;const o=n.map(c=>{const u=Zw(c,r);return!i&&typeof u=="function"&&(i=!0),u});if(i)return()=>{for(let c=0;c{Mn||(Mn={start:Xw(),end:Xw()});const{start:e,end:t}=Mn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Md++,()=>{Md===1&&(Mn==null||Mn.start.remove(),Mn==null||Mn.end.remove(),Mn=null),Md=Math.max(0,Md-1)}},[])}function Xw(){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 zn=function(){return zn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return $T;var t=zT(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},BT=M5(),ks="data-scroll-locked",UT=function(e,t,r,n){var i=e.left,o=e.top,c=e.right,u=e.gap;return r===void 0&&(r="margin"),` .`.concat(jT,` { overflow: hidden `).concat(n,`; padding-right: `).concat(u,"px ").concat(n,`; @@ -625,37 +625,37 @@ Error generating stack: `+j.message+` `),r==="padding"&&"padding-right: ".concat(u,"px ").concat(n,";")].filter(Boolean).join(""),` } - .`).concat(tf,` { + .`).concat(rf,` { right: `).concat(u,"px ").concat(n,`; } - .`).concat(rf,` { + .`).concat(nf,` { margin-right: `).concat(u,"px ").concat(n,`; } - .`).concat(tf," .").concat(tf,` { + .`).concat(rf," .").concat(rf,` { right: 0 `).concat(n,`; } - .`).concat(rf," .").concat(rf,` { + .`).concat(nf," .").concat(nf,` { margin-right: 0 `).concat(n,`; } body[`).concat(ks,`] { - `).concat(ST,": ").concat(u,`px; + `).concat(NT,": ").concat(u,`px; } -`)},Xw=function(){var e=parseInt(document.body.getAttribute(ks)||"0",10);return isFinite(e)?e:0},WT=function(){x.useEffect(function(){return document.body.setAttribute(ks,(Xw()+1).toString()),function(){var e=Xw()-1;e<=0?document.body.removeAttribute(ks):document.body.setAttribute(ks,e.toString())}},[])},HT=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;WT();var o=x.useMemo(function(){return FT(i)},[i]);return x.createElement(BT,{styles:UT(o,!t,i,r?"":"!important")})},wv=!1;if(typeof window<"u")try{var Md=Object.defineProperty({},"passive",{get:function(){return wv=!0,!0}});window.addEventListener("test",Md,Md),window.removeEventListener("test",Md,Md)}catch{wv=!1}var is=wv?{passive:!1}:!1,KT=function(e){return e.tagName==="TEXTAREA"},O5=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!KT(e)&&r[t]==="visible")},GT=function(e){return O5(e,"overflowY")},VT=function(e){return O5(e,"overflowX")},Jw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=_5(e,n);if(i){var o=M5(e,n),c=o[1],u=o[2];if(c>u)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},qT=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},QT=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},_5=function(e,t){return e==="v"?GT(t):VT(t)},M5=function(e,t){return e==="v"?qT(t):QT(t)},YT=function(e,t){return e==="h"&&t==="rtl"?-1:1},ZT=function(e,t,r,n,i){var o=YT(e,window.getComputedStyle(t).direction),c=o*n,u=r.target,f=t.contains(u),h=!1,m=c>0,p=0,v=0;do{if(!u)break;var b=M5(e,u),S=b[0],w=b[1],k=b[2],N=w-k-o*S;(S||N)&&_5(e,u)&&(p+=N,v+=S);var E=u.parentNode;u=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(m&&Math.abs(p)<1||!m&&Math.abs(v)<1)&&(h=!0),h},Id=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ek=function(e){return[e.deltaX,e.deltaY]},tk=function(e){return e&&"current"in e?e.current:e},XT=function(e,t){return e[0]===t[0]&&e[1]===t[1]},JT=function(e){return` +`)},ek=function(){var e=parseInt(document.body.getAttribute(ks)||"0",10);return isFinite(e)?e:0},WT=function(){x.useEffect(function(){return document.body.setAttribute(ks,(ek()+1).toString()),function(){var e=ek()-1;e<=0?document.body.removeAttribute(ks):document.body.setAttribute(ks,e.toString())}},[])},HT=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;WT();var o=x.useMemo(function(){return FT(i)},[i]);return x.createElement(BT,{styles:UT(o,!t,i,r?"":"!important")})},wv=!1;if(typeof window<"u")try{var Id=Object.defineProperty({},"passive",{get:function(){return wv=!0,!0}});window.addEventListener("test",Id,Id),window.removeEventListener("test",Id,Id)}catch{wv=!1}var is=wv?{passive:!1}:!1,KT=function(e){return e.tagName==="TEXTAREA"},I5=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!KT(e)&&r[t]==="visible")},GT=function(e){return I5(e,"overflowY")},VT=function(e){return I5(e,"overflowX")},tk=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=T5(e,n);if(i){var o=D5(e,n),c=o[1],u=o[2];if(c>u)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},qT=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},QT=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},T5=function(e,t){return e==="v"?GT(t):VT(t)},D5=function(e,t){return e==="v"?qT(t):QT(t)},YT=function(e,t){return e==="h"&&t==="rtl"?-1:1},ZT=function(e,t,r,n,i){var o=YT(e,window.getComputedStyle(t).direction),c=o*n,u=r.target,f=t.contains(u),h=!1,m=c>0,p=0,v=0;do{if(!u)break;var b=D5(e,u),N=b[0],w=b[1],k=b[2],S=w-k-o*N;(N||S)&&T5(e,u)&&(p+=S,v+=N);var E=u.parentNode;u=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(m&&Math.abs(p)<1||!m&&Math.abs(v)<1)&&(h=!0),h},Td=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rk=function(e){return[e.deltaX,e.deltaY]},nk=function(e){return e&&"current"in e?e.current:e},XT=function(e,t){return e[0]===t[0]&&e[1]===t[1]},JT=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},eD=0,as=[];function tD(e){var t=x.useRef([]),r=x.useRef([0,0]),n=x.useRef(),i=x.useState(eD++)[0],o=x.useState(P5)[0],c=x.useRef(e);x.useEffect(function(){c.current=e},[e]),x.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var w=kT([e.lockRef.current],(e.shards||[]).map(tk),!0).filter(Boolean);return w.forEach(function(k){return k.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),w.forEach(function(k){return k.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var u=x.useCallback(function(w,k){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!c.current.allowPinchZoom;var N=Id(w),E=r.current,C="deltaX"in w?w.deltaX:E[0]-N[0],A="deltaY"in w?w.deltaY:E[1]-N[1],_,O=w.target,I=Math.abs(C)>Math.abs(A)?"h":"v";if("touches"in w&&I==="h"&&O.type==="range")return!1;var B=window.getSelection(),F=B&&B.anchorNode,R=F?F===O||F.contains(O):!1;if(R)return!1;var Q=Jw(I,O);if(!Q)return!0;if(Q?_=I:(_=I==="v"?"h":"v",Q=Jw(I,O)),!Q)return!1;if(!n.current&&"changedTouches"in w&&(C||A)&&(n.current=_),!_)return!0;var U=n.current||_;return ZT(U,k,w,U==="h"?C:A)},[]),f=x.useCallback(function(w){var k=w;if(!(!as.length||as[as.length-1]!==o)){var N="deltaY"in k?ek(k):Id(k),E=t.current.filter(function(_){return _.name===k.type&&(_.target===k.target||k.target===_.shadowParent)&&XT(_.delta,N)})[0];if(E&&E.should){k.cancelable&&k.preventDefault();return}if(!E){var C=(c.current.shards||[]).map(tk).filter(Boolean).filter(function(_){return _.contains(k.target)}),A=C.length>0?u(k,C[0]):!c.current.noIsolation;A&&k.cancelable&&k.preventDefault()}}},[]),h=x.useCallback(function(w,k,N,E){var C={name:w,delta:k,target:N,should:E,shadowParent:rD(N)};t.current.push(C),setTimeout(function(){t.current=t.current.filter(function(A){return A!==C})},1)},[]),m=x.useCallback(function(w){r.current=Id(w),n.current=void 0},[]),p=x.useCallback(function(w){h(w.type,ek(w),w.target,u(w,e.lockRef.current))},[]),v=x.useCallback(function(w){h(w.type,Id(w),w.target,u(w,e.lockRef.current))},[]);x.useEffect(function(){return as.push(o),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:v}),document.addEventListener("wheel",f,is),document.addEventListener("touchmove",f,is),document.addEventListener("touchstart",m,is),function(){as=as.filter(function(w){return w!==o}),document.removeEventListener("wheel",f,is),document.removeEventListener("touchmove",f,is),document.removeEventListener("touchstart",m,is)}},[]);var b=e.removeScrollBar,S=e.inert;return x.createElement(x.Fragment,null,S?x.createElement(o,{styles:JT(i)}):null,b?x.createElement(HT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function rD(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const nD=_T(C5,tD);var I5=x.forwardRef(function(e,t){return x.createElement(xh,zn({},e,{ref:t,sideCar:nD}))});I5.classNames=xh.classNames;var iD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},os=new WeakMap,Td=new WeakMap,Dd={},mg=0,T5=function(e){return e&&(e.host||T5(e.parentNode))},aD=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=T5(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},oD=function(e,t,r,n){var i=aD(t,Array.isArray(e)?e:[e]);Dd[r]||(Dd[r]=new WeakMap);var o=Dd[r],c=[],u=new Set,f=new Set(i),h=function(p){!p||u.has(p)||(u.add(p),h(p.parentNode))};i.forEach(h);var m=function(p){!p||f.has(p)||Array.prototype.forEach.call(p.children,function(v){if(u.has(v))m(v);else try{var b=v.getAttribute(n),S=b!==null&&b!=="false",w=(os.get(v)||0)+1,k=(o.get(v)||0)+1;os.set(v,w),o.set(v,k),c.push(v),w===1&&S&&Td.set(v,!0),k===1&&v.setAttribute(r,"true"),S||v.setAttribute(n,"true")}catch(N){console.error("aria-hidden: cannot operate on ",v,N)}})};return m(t),u.clear(),mg++,function(){c.forEach(function(p){var v=os.get(p)-1,b=o.get(p)-1;os.set(p,v),o.set(p,b),v||(Td.has(p)||p.removeAttribute(n),Td.delete(p)),b||p.removeAttribute(r)}),mg--,mg||(os=new WeakMap,os=new WeakMap,Td=new WeakMap,Dd={})}},sD=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=iD(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),oD(n,i,r,"aria-hidden")):function(){return null}},yh="Dialog",[D5]=DI(yh),[lD,Sn]=D5(yh),L5=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:o,modal:c=!0}=e,u=x.useRef(null),f=x.useRef(null),[h,m]=FI({prop:n,defaultProp:i??!1,onChange:o,caller:yh});return s.jsx(lD,{scope:t,triggerRef:u,contentRef:f,contentId:gi(),titleId:gi(),descriptionId:gi(),open:h,onOpenChange:m,onOpenToggle:x.useCallback(()=>m(p=>!p),[m]),modal:c,children:r})};L5.displayName=yh;var R5="DialogTrigger",cD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(R5,r),o=Ao(t,i.triggerRef);return s.jsx(er.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":Bx(i.open),...n,ref:o,onClick:xa(e.onClick,i.onOpenToggle)})});cD.displayName=R5;var Fx="DialogPortal",[uD,$5]=D5(Fx,{forceMount:void 0}),z5=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,o=Sn(Fx,t);return s.jsx(uD,{scope:t,forceMount:r,children:x.Children.map(n,c=>s.jsx(vh,{present:r||o.open,children:s.jsx(N5,{asChild:!0,container:i,children:c})}))})};z5.displayName=Fx;var mf="DialogOverlay",F5=x.forwardRef((e,t)=>{const r=$5(mf,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=Sn(mf,e.__scopeDialog);return o.modal?s.jsx(vh,{present:n||o.open,children:s.jsx(fD,{...i,ref:t})}):null});F5.displayName=mf;var dD=b5("DialogOverlay.RemoveScroll"),fD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(mf,r),o=oT(),c=Ao(t,o);return s.jsx(I5,{as:dD,allowPinchZoom:!0,shards:[i.contentRef],children:s.jsx(er.div,{"data-state":Bx(i.open),...n,ref:c,style:{pointerEvents:"auto",...n.style}})})}),Hs="DialogContent",B5=x.forwardRef((e,t)=>{const r=$5(Hs,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=Sn(Hs,e.__scopeDialog);return s.jsx(vh,{present:n||o.open,children:o.modal?s.jsx(hD,{...i,ref:t}):s.jsx(mD,{...i,ref:t})})});B5.displayName=Hs;var hD=x.forwardRef((e,t)=>{const r=Sn(Hs,e.__scopeDialog),n=x.useRef(null),i=Ao(t,r.contentRef,n);return x.useEffect(()=>{const o=n.current;if(o)return sD(o)},[]),s.jsx(U5,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:xa(e.onCloseAutoFocus,o=>{var c;o.preventDefault(),(c=r.triggerRef.current)==null||c.focus()}),onPointerDownOutside:xa(e.onPointerDownOutside,o=>{const c=o.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0;(c.button===2||u)&&o.preventDefault()}),onFocusOutside:xa(e.onFocusOutside,o=>o.preventDefault())})}),mD=x.forwardRef((e,t)=>{const r=Sn(Hs,e.__scopeDialog),n=x.useRef(!1),i=x.useRef(!1);return s.jsx(U5,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var c,u;(c=e.onCloseAutoFocus)==null||c.call(e,o),o.defaultPrevented||(n.current||(u=r.triggerRef.current)==null||u.focus(),o.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:o=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const c=o.target;((h=r.triggerRef.current)==null?void 0:h.contains(c))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),U5=x.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,...c}=e,u=Sn(Hs,r);return wT(),s.jsx(s.Fragment,{children:s.jsx(j5,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:s.jsx(w5,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Bx(u.open),...c,ref:t,deferPointerDownOutside:!0,onDismiss:()=>u.onOpenChange(!1)})})})}),W5="DialogTitle",pD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(W5,r);return s.jsx(er.h2,{id:i.titleId,...n,ref:t})});pD.displayName=W5;var H5="DialogDescription",gD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(H5,r);return s.jsx(er.p,{id:i.descriptionId,...n,ref:t})});gD.displayName=H5;var K5="DialogClose",vD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(K5,r);return s.jsx(er.button,{type:"button",...n,ref:t,onClick:xa(e.onClick,()=>i.onOpenChange(!1))})});vD.displayName=K5;function Bx(e){return e?"open":"closed"}var nc='[cmdk-group=""]',pg='[cmdk-group-items=""]',xD='[cmdk-group-heading=""]',G5='[cmdk-item=""]',rk=`${G5}:not([aria-disabled="true"])`,kv="cmdk-item-select",vs="data-value",yD=(e,t,r)=>TI(e,t,r),V5=x.createContext(void 0),ru=()=>x.useContext(V5),q5=x.createContext(void 0),Ux=()=>x.useContext(q5),Q5=x.createContext(void 0),Y5=x.forwardRef((e,t)=>{let r=xs(()=>{var M,q;return{search:"",value:(q=(M=e.value)!=null?M:e.defaultValue)!=null?q:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=xs(()=>new Set),i=xs(()=>new Map),o=xs(()=>new Map),c=xs(()=>new Set),u=Z5(e),{label:f,children:h,value:m,onValueChange:p,filter:v,shouldFilter:b,loop:S,disablePointerSelection:w=!1,vimBindings:k=!0,...N}=e,E=gi(),C=gi(),A=gi(),_=x.useRef(null),O=OD();xo(()=>{if(m!==void 0){let M=m.trim();r.current.value=M,I.emit()}},[m]),xo(()=>{O(6,ge)},[]);let I=x.useMemo(()=>({subscribe:M=>(c.current.add(M),()=>c.current.delete(M)),snapshot:()=>r.current,setState:(M,q,le)=>{var oe,ee,ne,he;if(!Object.is(r.current[M],q)){if(r.current[M]=q,M==="search")U(),R(),O(1,Q);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(A);re?re.focus():(oe=document.getElementById(E))==null||oe.focus()}if(O(7,()=>{var re;r.current.selectedItemId=(re=ue())==null?void 0:re.id,I.emit()}),le||O(5,ge),((ee=u.current)==null?void 0:ee.value)!==void 0){let re=q??"";(he=(ne=u.current).onValueChange)==null||he.call(ne,re);return}}I.emit()}},emit:()=>{c.current.forEach(M=>M())}}),[]),B=x.useMemo(()=>({value:(M,q,le)=>{var oe;q!==((oe=o.current.get(M))==null?void 0:oe.value)&&(o.current.set(M,{value:q,keywords:le}),r.current.filtered.items.set(M,F(q,le)),O(2,()=>{R(),I.emit()}))},item:(M,q)=>(n.current.add(M),q&&(i.current.has(q)?i.current.get(q).add(M):i.current.set(q,new Set([M]))),O(3,()=>{U(),R(),r.current.value||Q(),I.emit()}),()=>{o.current.delete(M),n.current.delete(M),r.current.filtered.items.delete(M);let le=ue();O(4,()=>{U(),(le==null?void 0:le.getAttribute("id"))===M&&Q(),I.emit()})}),group:M=>(i.current.has(M)||i.current.set(M,new Set),()=>{o.current.delete(M),i.current.delete(M)}),filter:()=>u.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:E,inputId:A,labelId:C,listInnerRef:_}),[]);function F(M,q){var le,oe;let ee=(oe=(le=u.current)==null?void 0:le.filter)!=null?oe:yD;return M?ee(M,r.current.search,q):0}function R(){if(!r.current.search||u.current.shouldFilter===!1)return;let M=r.current.filtered.items,q=[];r.current.filtered.groups.forEach(oe=>{let ee=i.current.get(oe),ne=0;ee.forEach(he=>{let re=M.get(he);ne=Math.max(re,ne)}),q.push([oe,ne])});let le=_.current;pe().sort((oe,ee)=>{var ne,he;let re=oe.getAttribute("id"),ye=ee.getAttribute("id");return((ne=M.get(ye))!=null?ne:0)-((he=M.get(re))!=null?he:0)}).forEach(oe=>{let ee=oe.closest(pg);ee?ee.appendChild(oe.parentElement===ee?oe:oe.closest(`${pg} > *`)):le.appendChild(oe.parentElement===le?oe:oe.closest(`${pg} > *`))}),q.sort((oe,ee)=>ee[1]-oe[1]).forEach(oe=>{var ee;let ne=(ee=_.current)==null?void 0:ee.querySelector(`${nc}[${vs}="${encodeURIComponent(oe[0])}"]`);ne==null||ne.parentElement.appendChild(ne)})}function Q(){let M=pe().find(le=>le.getAttribute("aria-disabled")!=="true"),q=M==null?void 0:M.getAttribute(vs);I.setState("value",q||void 0)}function U(){var M,q,le,oe;if(!r.current.search||u.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let ee=0;for(let ne of n.current){let he=(q=(M=o.current.get(ne))==null?void 0:M.value)!=null?q:"",re=(oe=(le=o.current.get(ne))==null?void 0:le.keywords)!=null?oe:[],ye=F(he,re);r.current.filtered.items.set(ne,ye),ye>0&&ee++}for(let[ne,he]of i.current)for(let re of he)if(r.current.filtered.items.get(re)>0){r.current.filtered.groups.add(ne);break}r.current.filtered.count=ee}function ge(){var M,q,le;let oe=ue();oe&&(((M=oe.parentElement)==null?void 0:M.firstChild)===oe&&((le=(q=oe.closest(nc))==null?void 0:q.querySelector(xD))==null||le.scrollIntoView({block:"nearest"})),oe.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=_.current)==null?void 0:M.querySelector(`${G5}[aria-selected="true"]`)}function pe(){var M;return Array.from(((M=_.current)==null?void 0:M.querySelectorAll(rk))||[])}function se(M){let q=pe()[M];q&&I.setState("value",q.getAttribute(vs))}function ae(M){var q;let le=ue(),oe=pe(),ee=oe.findIndex(he=>he===le),ne=oe[ee+M];(q=u.current)!=null&&q.loop&&(ne=ee+M<0?oe[oe.length-1]:ee+M===oe.length?oe[0]:oe[ee+M]),ne&&I.setState("value",ne.getAttribute(vs))}function Z(M){let q=ue(),le=q==null?void 0:q.closest(nc),oe;for(;le&&!oe;)le=M>0?CD(le,nc):PD(le,nc),oe=le==null?void 0:le.querySelector(rk);oe?I.setState("value",oe.getAttribute(vs)):ae(M)}let te=()=>se(pe().length-1),ie=M=>{M.preventDefault(),M.metaKey?te():M.altKey?Z(1):ae(1)},D=M=>{M.preventDefault(),M.metaKey?se(0):M.altKey?Z(-1):ae(-1)};return x.createElement(er.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:M=>{var q;(q=N.onKeyDown)==null||q.call(N,M);let le=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||le))switch(M.key){case"n":case"j":{k&&M.ctrlKey&&ie(M);break}case"ArrowDown":{ie(M);break}case"p":case"k":{k&&M.ctrlKey&&D(M);break}case"ArrowUp":{D(M);break}case"Home":{M.preventDefault(),se(0);break}case"End":{M.preventDefault(),te();break}case"Enter":{M.preventDefault();let oe=ue();if(oe){let ee=new Event(kv);oe.dispatchEvent(ee)}}}}},x.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:MD},f),bh(e,M=>x.createElement(q5.Provider,{value:I},x.createElement(V5.Provider,{value:B},M))))}),bD=x.forwardRef((e,t)=>{var r,n;let i=gi(),o=x.useRef(null),c=x.useContext(Q5),u=ru(),f=Z5(e),h=(n=(r=f.current)==null?void 0:r.forceMount)!=null?n:c==null?void 0:c.forceMount;xo(()=>{if(!h)return u.item(i,c==null?void 0:c.id)},[h]);let m=X5(i,o,[e.value,e.children,o],e.keywords),p=Ux(),v=ka(O=>O.value&&O.value===m.current),b=ka(O=>h||u.filter()===!1?!0:O.search?O.filtered.items.get(i)>0:!0);x.useEffect(()=>{let O=o.current;if(!(!O||e.disabled))return O.addEventListener(kv,S),()=>O.removeEventListener(kv,S)},[b,e.onSelect,e.disabled]);function S(){var O,I;w(),(I=(O=f.current).onSelect)==null||I.call(O,m.current)}function w(){p.setState("value",m.current,!0)}if(!b)return null;let{disabled:k,value:N,onSelect:E,forceMount:C,keywords:A,..._}=e;return x.createElement(er.div,{ref:Ws(o,t),..._,id:i,"cmdk-item":"",role:"option","aria-disabled":!!k,"aria-selected":!!v,"data-disabled":!!k,"data-selected":!!v,onPointerMove:k||u.getDisablePointerSelection()?void 0:w,onClick:k?void 0:S},e.children)}),wD=x.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:i,...o}=e,c=gi(),u=x.useRef(null),f=x.useRef(null),h=gi(),m=ru(),p=ka(b=>i||m.filter()===!1?!0:b.search?b.filtered.groups.has(c):!0);xo(()=>m.group(c),[]),X5(c,u,[e.value,e.heading,f]);let v=x.useMemo(()=>({id:c,forceMount:i}),[i]);return x.createElement(er.div,{ref:Ws(u,t),...o,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},r&&x.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},r),bh(e,b=>x.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?h:void 0},x.createElement(Q5.Provider,{value:v},b))))}),kD=x.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,i=x.useRef(null),o=ka(c=>!c.search);return!r&&!o?null:x.createElement(er.div,{ref:Ws(i,t),...n,"cmdk-separator":"",role:"separator"})}),jD=x.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,i=e.value!=null,o=Ux(),c=ka(h=>h.search),u=ka(h=>h.selectedItemId),f=ru();return x.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),x.createElement(er.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":u,id:f.inputId,type:"text",value:i?e.value:c,onChange:h=>{i||o.setState("search",h.target.value),r==null||r(h.target.value)}})}),SD=x.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...i}=e,o=x.useRef(null),c=x.useRef(null),u=ka(h=>h.selectedItemId),f=ru();return x.useEffect(()=>{if(c.current&&o.current){let h=c.current,m=o.current,p,v=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let b=h.offsetHeight;m.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return v.observe(h),()=>{cancelAnimationFrame(p),v.unobserve(h)}}},[]),x.createElement(er.div,{ref:Ws(o,t),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":n,id:f.listId},bh(e,h=>x.createElement("div",{ref:Ws(c,f.listInnerRef),"cmdk-list-sizer":""},h)))}),ND=x.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:i,contentClassName:o,container:c,...u}=e;return x.createElement(L5,{open:r,onOpenChange:n},x.createElement(z5,{container:c},x.createElement(F5,{"cmdk-overlay":"",className:i}),x.createElement(B5,{"aria-label":e.label,"cmdk-dialog":"",className:o},x.createElement(Y5,{ref:t,...u}))))}),ED=x.forwardRef((e,t)=>ka(r=>r.filtered.count===0)?x.createElement(er.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),AD=x.forwardRef((e,t)=>{let{progress:r,children:n,label:i="Loading...",...o}=e;return x.createElement(er.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},bh(e,c=>x.createElement("div",{"aria-hidden":!0},c)))}),ss=Object.assign(Y5,{List:SD,Item:bD,Input:jD,Group:wD,Separator:kD,Dialog:ND,Empty:ED,Loading:AD});function CD(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function PD(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function Z5(e){let t=x.useRef(e);return xo(()=>{t.current=e}),t}var xo=typeof window>"u"?x.useEffect:x.useLayoutEffect;function xs(e){let t=x.useRef();return t.current===void 0&&(t.current=e()),t}function ka(e){let t=Ux(),r=()=>e(t.snapshot());return x.useSyncExternalStore(t.subscribe,r,r)}function X5(e,t,r,n=[]){let i=x.useRef(),o=ru();return xo(()=>{var c;let u=(()=>{var h;for(let m of r){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(h=m.current.textContent)==null?void 0:h.trim():i.current}})(),f=n.map(h=>h.trim());o.value(e,u,f),(c=t.current)==null||c.setAttribute(vs,u),i.current=u}),i}var OD=()=>{let[e,t]=x.useState(),r=xs(()=>new Map);return xo(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,i)=>{r.current.set(n,i),t({})}};function _D(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function bh({asChild:e,children:t},r){return e&&x.isValidElement(t)?x.cloneElement(_D(t),{ref:t.ref},r(t.props.children)):r(t)}var MD={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function ID({onNavigate:e}){const[t,r]=x.useState(!1);return x.useEffect(()=>{const n=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),s.jsx(ss.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>r(!1),children:s.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[s.jsx(ss.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),s.jsxs(ss.List,{className:"max-h-80 overflow-y-auto p-2",children:[s.jsx(ss.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),s.jsx(ss.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:gs.map(n=>s.jsxs(ss.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[s.jsx(n.icon,{className:"h-4 w-4 text-primary"}),s.jsx("span",{children:n.label}),s.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}const J5="mc_expert_mode",jv="mc-expert-mode-change",TD=()=>{try{return localStorage.getItem(J5)==="true"}catch{return!1}};function DD(e){return window.addEventListener(jv,e),window.addEventListener("storage",e),()=>{window.removeEventListener(jv,e),window.removeEventListener("storage",e)}}function nk(e){localStorage.setItem(J5,String(e)),window.dispatchEvent(new Event(jv))}function Wx(){return x.useSyncExternalStore(DD,TD,()=>!1)}function eE(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=$D(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:c=>{const u=c.split(Hx);return u[0]===""&&u.length!==1&&u.shift(),tE(u,t)||RD(c)},getConflictingClassGroupIds:(c,u)=>{const f=r[c]||[];return u&&n[c]?[...f,...n[c]]:f}}},tE=(e,t)=>{var c;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?tE(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(Hx);return(c=t.validators.find(({validator:u})=>u(o)))==null?void 0:c.classGroupId},ik=/^\[(.+)\]$/,RD=e=>{if(ik.test(e)){const t=ik.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},$D=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return FD(Object.entries(e.classGroups),r).forEach(([o,c])=>{Sv(c,n,o,t)}),n},Sv=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:ak(t,i);o.classGroupId=r;return}if(typeof i=="function"){if(zD(i)){Sv(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([o,c])=>{Sv(c,ak(t,o),r,n)})})},ak=(e,t)=>{let r=e;return t.split(Hx).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},zD=e=>e.isThemeGetter,FD=(e,t)=>t?e.map(([r,n])=>{const i=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([c,u])=>[t+c,u])):o);return[r,i]}):e,BD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(o,c)=>{r.set(o,c),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let c=r.get(o);if(c!==void 0)return c;if((c=n.get(o))!==void 0)return i(o,c),c},set(o,c){r.has(o)?r.set(o,c):i(o,c)}}},rE="!",UD=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],o=t.length,c=u=>{const f=[];let h=0,m=0,p;for(let k=0;km?p-m:void 0;return{modifiers:f,hasImportantModifier:b,baseClassName:S,maybePostfixModifierPosition:w}};return r?u=>r({className:u,parseClassName:c}):c},WD=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},HD=e=>({cache:BD(e.cacheSize),parseClassName:UD(e),...LD(e)}),KD=/\s+/,GD=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,o=[],c=e.trim().split(KD);let u="";for(let f=c.length-1;f>=0;f-=1){const h=c[f],{modifiers:m,hasImportantModifier:p,baseClassName:v,maybePostfixModifierPosition:b}=r(h);let S=!!b,w=n(S?v.substring(0,b):v);if(!w){if(!S){u=h+(u.length>0?" "+u:u);continue}if(w=n(v),!w){u=h+(u.length>0?" "+u:u);continue}S=!1}const k=WD(m).join(":"),N=p?k+rE:k,E=N+w;if(o.includes(E))continue;o.push(E);const C=i(w,S);for(let A=0;A0?" "+u:u)}return u};function VD(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;np(m),e());return r=HD(h),n=r.cache.get,i=r.cache.set,o=u,u(f)}function u(f){const h=n(f);if(h)return h;const m=GD(f,r);return i(f,m),m}return function(){return o(VD.apply(null,arguments))}}const lt=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},iE=/^\[(?:([a-z-]+):)?(.+)\]$/i,QD=/^\d+\/\d+$/,YD=new Set(["px","full","screen"]),ZD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,XD=/\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$/,JD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,eL=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,tL=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,si=e=>js(e)||YD.has(e)||QD.test(e),Xi=e=>il(e,"length",cL),js=e=>!!e&&!Number.isNaN(Number(e)),gg=e=>il(e,"number",js),ic=e=>!!e&&Number.isInteger(Number(e)),rL=e=>e.endsWith("%")&&js(e.slice(0,-1)),Be=e=>iE.test(e),Ji=e=>ZD.test(e),nL=new Set(["length","size","percentage"]),iL=e=>il(e,nL,aE),aL=e=>il(e,"position",aE),oL=new Set(["image","url"]),sL=e=>il(e,oL,dL),lL=e=>il(e,"",uL),ac=()=>!0,il=(e,t,r)=>{const n=iE.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},cL=e=>XD.test(e)&&!JD.test(e),aE=()=>!1,uL=e=>eL.test(e),dL=e=>tL.test(e),fL=()=>{const e=lt("colors"),t=lt("spacing"),r=lt("blur"),n=lt("brightness"),i=lt("borderColor"),o=lt("borderRadius"),c=lt("borderSpacing"),u=lt("borderWidth"),f=lt("contrast"),h=lt("grayscale"),m=lt("hueRotate"),p=lt("invert"),v=lt("gap"),b=lt("gradientColorStops"),S=lt("gradientColorStopPositions"),w=lt("inset"),k=lt("margin"),N=lt("opacity"),E=lt("padding"),C=lt("saturate"),A=lt("scale"),_=lt("sepia"),O=lt("skew"),I=lt("space"),B=lt("translate"),F=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto",Be,t],U=()=>[Be,t],ge=()=>["",si,Xi],ue=()=>["auto",js,Be],pe=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],se=()=>["solid","dashed","dotted","double","none"],ae=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Z=()=>["start","end","center","between","around","evenly","stretch"],te=()=>["","0",Be],ie=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>[js,Be];return{cacheSize:500,separator:":",theme:{colors:[ac],spacing:[si,Xi],blur:["none","",Ji,Be],brightness:D(),borderColor:[e],borderRadius:["none","","full",Ji,Be],borderSpacing:U(),borderWidth:ge(),contrast:D(),grayscale:te(),hueRotate:D(),invert:te(),gap:U(),gradientColorStops:[e],gradientColorStopPositions:[rL,Xi],inset:Q(),margin:Q(),opacity:D(),padding:U(),saturate:D(),scale:D(),sepia:te(),skew:D(),space:U(),translate:U()},classGroups:{aspect:[{aspect:["auto","square","video",Be]}],container:["container"],columns:[{columns:[Ji]}],"break-after":[{"break-after":ie()}],"break-before":[{"break-before":ie()}],"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"],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:[...pe(),Be]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[w]}],"inset-x":[{"inset-x":[w]}],"inset-y":[{"inset-y":[w]}],start:[{start:[w]}],end:[{end:[w]}],top:[{top:[w]}],right:[{right:[w]}],bottom:[{bottom:[w]}],left:[{left:[w]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ic,Be]}],basis:[{basis:Q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Be]}],grow:[{grow:te()}],shrink:[{shrink:te()}],order:[{order:["first","last","none",ic,Be]}],"grid-cols":[{"grid-cols":[ac]}],"col-start-end":[{col:["auto",{span:["full",ic,Be]},Be]}],"col-start":[{"col-start":ue()}],"col-end":[{"col-end":ue()}],"grid-rows":[{"grid-rows":[ac]}],"row-start-end":[{row:["auto",{span:[ic,Be]},Be]}],"row-start":[{"row-start":ue()}],"row-end":[{"row-end":ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Be]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Be]}],gap:[{gap:[v]}],"gap-x":[{"gap-x":[v]}],"gap-y":[{"gap-y":[v]}],"justify-content":[{justify:["normal",...Z()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Z(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Z(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[k]}],mx:[{mx:[k]}],my:[{my:[k]}],ms:[{ms:[k]}],me:[{me:[k]}],mt:[{mt:[k]}],mr:[{mr:[k]}],mb:[{mb:[k]}],ml:[{ml:[k]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Be,t]}],"min-w":[{"min-w":[Be,t,"min","max","fit"]}],"max-w":[{"max-w":[Be,t,"none","full","min","max","fit","prose",{screen:[Ji]},Ji]}],h:[{h:[Be,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Be,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Be,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Be,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Ji,Xi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",gg]}],"font-family":[{font:[ac]}],"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:["tighter","tight","normal","wide","wider","widest",Be]}],"line-clamp":[{"line-clamp":["none",js,gg]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",si,Be]}],"list-image":[{"list-image":["none",Be]}],"list-style-type":[{list:["none","disc","decimal",Be]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[N]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",si,Xi]}],"underline-offset":[{"underline-offset":["auto",si,Be]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Be]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Be]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[N]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...pe(),aL]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",iL]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},sL]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[u]}],"border-w-x":[{"border-x":[u]}],"border-w-y":[{"border-y":[u]}],"border-w-s":[{"border-s":[u]}],"border-w-e":[{"border-e":[u]}],"border-w-t":[{"border-t":[u]}],"border-w-r":[{"border-r":[u]}],"border-w-b":[{"border-b":[u]}],"border-w-l":[{"border-l":[u]}],"border-opacity":[{"border-opacity":[N]}],"border-style":[{border:[...se(),"hidden"]}],"divide-x":[{"divide-x":[u]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[u]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[N]}],"divide-style":[{divide:se()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...se()]}],"outline-offset":[{"outline-offset":[si,Be]}],"outline-w":[{outline:[si,Xi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ge()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[N]}],"ring-offset-w":[{"ring-offset":[si,Xi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ji,lL]}],"shadow-color":[{shadow:[ac]}],opacity:[{opacity:[N]}],"mix-blend":[{"mix-blend":[...ae(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ae()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",Ji,Be]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[p]}],saturate:[{saturate:[C]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[N]}],"backdrop-saturate":[{"backdrop-saturate":[C]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[c]}],"border-spacing-x":[{"border-spacing-x":[c]}],"border-spacing-y":[{"border-spacing-y":[c]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Be]}],duration:[{duration:D()}],ease:[{ease:["linear","in","out","in-out",Be]}],delay:[{delay:D()}],animate:[{animate:["none","spin","ping","pulse","bounce",Be]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[A]}],"scale-x":[{"scale-x":[A]}],"scale-y":[{"scale-y":[A]}],rotate:[{rotate:[ic,Be]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[O]}],"skew-y":[{"skew-y":[O]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Be]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",Be]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"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",Be]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[si,Xi,gg]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},hL=qD(fL);function J(...e){return hL(it(e))}function Nv(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function oE(){const e=Wx();return s.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[s.jsxs("button",{onClick:()=>nk(!1),"aria-pressed":!e,className:J("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[s.jsx(va,{className:"h-3.5 w-3.5"})," Einfach"]}),s.jsxs("button",{onClick:()=>nk(!0),"aria-pressed":e,className:J("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[s.jsx(wI,{className:"h-3.5 w-3.5"})," Experte"]})]})}async function xe(e,t){var f;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=localStorage.getItem("mc_sudo_password"),i=localStorage.getItem("mc_hf_token");n&&(r["X-Sudo-Password"]=n);let o=t==null?void 0:t.body;if((((f=t==null?void 0:t.method)==null?void 0:f.toUpperCase())||"GET")==="POST"){if(typeof o=="string")try{const h=JSON.parse(o);let m=!1;n&&!("sudo_password"in h)&&(h.sudo_password=n,m=!0),i&&!("hf_token"in h)&&(h.hf_token=i,m=!0),m&&(o=JSON.stringify(h))}catch{}else if(!o){const h={};n&&(h.sudo_password=n),i&&(h.hf_token=i),Object.keys(h).length>0&&(o=JSON.stringify(h))}}const u=await fetch(e,{...t,headers:r,body:o});if(!u.ok)throw new Error(`${u.status} ${u.statusText}`);return u.json()}const sE=(e,t,r=!1,n=!0)=>xe("/api/groups",{method:"PUT",body:JSON.stringify({group:e,members:t,swap:r,persist:n})}),mL=e=>xe("/api/routing/policy",{method:"PUT",body:JSON.stringify(e)}),Fe={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],connectHealth:["connect-health"],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],chronik:["chronik"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},lE=(e=8e3)=>vt({queryKey:Fe.auftragsbuch,queryFn:()=>xe("/api/auftragsbuch"),refetchInterval:e}),cE=(e=150,t=15e3)=>vt({queryKey:Fe.chronik,queryFn:()=>xe(`/api/chronik?limit=${e}`),refetchInterval:t,select:r=>r.items??[]}),pL=()=>vt({queryKey:Fe.wissen,queryFn:()=>xe("/api/wissen")}),gL=(e=3e4)=>vt({queryKey:Fe.zeitmaschine,queryFn:()=>xe("/api/zeitmaschine"),refetchInterval:e}),vL=(e=2e4)=>vt({queryKey:Fe.reminders,queryFn:()=>xe("/api/reminders"),refetchInterval:e,select:t=>t.items??[]}),xL=(e=12,t=4e3)=>vt({queryKey:Fe.voiceTrace,queryFn:()=>xe(`/api/voice/trace?limit=${e}`),refetchInterval:t,select:r=>r.turns??[]}),yL=(e=!0)=>vt({queryKey:Fe.memoryGraph,queryFn:()=>xe("/api/memory/graph"),enabled:e}),Kx=()=>vt({queryKey:Fe.health,queryFn:()=>xe("/api/health"),refetchInterval:1e4}),Co=(e=5e3)=>vt({queryKey:Fe.systemStatus,queryFn:()=>xe("/api/system/status"),refetchInterval:e}),uE=(e=3e3)=>vt({queryKey:Fe.services,queryFn:()=>xe("/api/system/services"),refetchInterval:e}),Si=(e=4e3)=>vt({queryKey:Fe.models,queryFn:()=>xe("/api/models"),refetchInterval:e}),Gx=(e=8e3)=>vt({queryKey:Fe.groups,queryFn:()=>xe("/api/groups"),refetchInterval:e}),bL=()=>vt({queryKey:Fe.routingPolicy,queryFn:()=>xe("/api/routing/policy")}),wL=(e=2e3)=>vt({queryKey:Fe.jobs,queryFn:()=>xe("/api/jobs"),refetchInterval:e,select:t=>t.jobs??[]}),dE=(e=3e3)=>vt({queryKey:Fe.tokenStats,queryFn:()=>xe("/api/system/token-stats"),refetchInterval:e}),Vx=(e=5e3)=>vt({queryKey:Fe.agentStatus,queryFn:()=>xe("/api/agent/status"),refetchInterval:e}),fE=(e=6e4)=>vt({queryKey:Fe.hermesBrain,queryFn:()=>xe("/api/agent/brain"),refetchInterval:e}),wh=e=>vt({queryKey:Fe.updates,queryFn:()=>xe("/api/maintenance/updates"),refetchInterval:e}),kL=()=>vt({queryKey:Fe.discover,queryFn:()=>xe("/api/discover")}),jL=e=>vt({queryKey:Fe.drafts(e),queryFn:()=>xe(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),SL=e=>vt({queryKey:Fe.connect(e),queryFn:()=>xe(e?`/api/connect?${e}`:"/api/connect")}),hE=()=>vt({queryKey:Fe.connectHealth,queryFn:()=>xe("/api/connect/health"),refetchInterval:15e3}),Ev=e=>vt({queryKey:Fe.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),xe(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function mE({type:e,title:t,message:r,defaultValue:n,autoValue:i,autoLabel:o,onConfirm:c,onCancel:u}){const f=x.useRef(null);return s.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":t,children:s.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),s.jsx("button",{onClick:u||(()=>c()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Br,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:r}),e==="prompt"&&s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{ref:f,type:"text",defaultValue:n,"aria-label":t,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:h=>{var m;h.key==="Enter"&&c((m=f.current)==null?void 0:m.value)}}),i!==void 0&&s.jsx("button",{type:"button",onClick:()=>{f.current&&(f.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),s.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&s.jsx("button",{onClick:u,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),s.jsx("button",{onClick:()=>{var m;const h=e==="prompt"?(m=f.current)==null?void 0:m.value:void 0;c(h)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function Nn(){const[e,t]=x.useState(null),r=x.useCallback(()=>t(null),[]),n=x.useCallback((u,f,h)=>{t({type:"alert",title:u,message:f,onConfirm:()=>{t(null),h==null||h()}})},[]),i=x.useCallback((u,f,h,m)=>{t({type:"confirm",title:u,message:f,onConfirm:()=>{t(null),h()},onCancel:()=>{t(null),m==null||m()}})},[]),o=x.useCallback((u,f,h,m,p,v)=>{t({type:"prompt",title:u,message:f,defaultValue:h,autoValue:v==null?void 0:v.autoValue,autoLabel:v==null?void 0:v.autoLabel,onConfirm:b=>{t(null),m(b)},onCancel:()=>{t(null),p==null||p()}})},[]),c=e?s.jsx(mE,{...e}):null;return{showAlert:n,showConfirm:i,showPrompt:o,close:r,dialogElement:c}}function Jr(e){return(e/1024**3).toFixed(1)}function Av(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function lr(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function NL(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function Cv(e){return e?`${Math.round(e/1024)}k`:"—"}function EL(){const e=Hr(),{data:t=[]}=wL(2e3),{showAlert:r,dialogElement:n}=Nn();async function i(u){try{await xe(`/api/jobs/${u}/cancel`,{method:"POST"}),e.invalidateQueries({queryKey:Fe.jobs})}catch(f){r("Fehler",f.message)}}const o=t.filter(u=>u.state==="running"||u.state==="queued"),c=t.filter(u=>u.state!=="running"&&u.state!=="queued").slice(-3);return o.length===0&&c.length===0?null:s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),o.map(u=>s.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[s.jsxs("div",{className:"flex justify-between items-center text-xs",children:[s.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:u.label}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-muted-foreground font-mono",children:[u.progress??0,"% • ",Av(u.done_bytes),"/",Av(u.total_bytes),u.eta_s?` • ETA ${NL(u.eta_s)}`:""]}),s.jsx("button",{onClick:()=>i(u.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),s.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:s.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${u.progress??0}%`}})})]},u.id)),c.map(u=>s.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[s.jsx("span",{className:"truncate",children:u.label}),s.jsx("span",{className:J("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",u.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:u.state})]},u.id)),n]})}function Fa({children:e,tone:t="muted"}){const r={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return s.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${r[t]}`,children:e})}function Pv({caps:e}){return e?s.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[e.coder&&s.jsx(Fa,{children:"💻 Code"}),e.vision&&s.jsx(Fa,{children:"👁 Bild"}),e.reasoning&&s.jsx(Fa,{children:"🧠 Reason"}),e.moe&&s.jsxs(Fa,{tone:"primary",children:["🧩 MoE",e.active_b?`·${e.active_b}b`:""]}),e.tools==="yes"&&s.jsx(Fa,{tone:"primary",children:"🛠 Tools"}),e.tools==="likely"&&s.jsx(Fa,{tone:"warn",children:"🛠 Tools?"}),e.embedding&&s.jsx(Fa,{children:"🔢 Embed"})]}):null}const qx=[{role:"hermes",label:"Lucys Hirn",short:"Hirn",icon:Sa,desc:"Lucys Alltags-Verstand — denkt und redet mit dir. Immer bereit.",tone:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25",protected:!0},{role:"embed",label:"Lucys Gedächtnis",short:"Gedächtnis",icon:t5,desc:"Merkt sich Wichtiges und findet es später wieder.",tone:"bg-emerald-500/15 text-emerald-400 border-emerald-500/25",protected:!0},{role:"reranker",label:"Gedächtnis-Sortierer",short:"Sortierer",icon:aI,desc:"Ordnet gefundene Erinnerungen nach echter Relevanz — die Feinsortierung hinter dem Gedächtnis.",tone:"bg-lime-500/15 text-lime-400 border-lime-500/25"},{role:"vision",label:"Lucys Augen",short:"Augen",icon:Cc,desc:"Sieht Bilder und Screenshots und beschreibt, was drauf ist.",tone:"bg-pink-500/15 text-pink-400 border-pink-500/25"},{role:"heavy",label:"Großes Hirn",short:"Groß",icon:RM,desc:"Das schwere Geschütz — wird für besonders knifflige Fragen dazugeholt.",tone:"bg-amber-500/15 text-amber-400 border-amber-500/25"},{role:"coder-lite",label:"Programmierer (schnell)",short:"Code schnell",icon:Fs,desc:"Schnelles Programmieren im Alltag.",tone:"bg-violet-500/15 text-violet-400 border-violet-500/25"},{role:"coder",label:"Programmierer (gründlich)",short:"Code gründlich",icon:Fs,desc:"Schreibt und prüft Code besonders sorgfältig — für schwere Coding-Aufgaben.",tone:"bg-fuchsia-500/15 text-fuchsia-400 border-fuchsia-500/25"},{role:"scout",label:"Späher",short:"Späher",icon:SI,desc:"Schneller erster Blick und grobe Einschätzung.",tone:"bg-teal-500/15 text-teal-400 border-teal-500/25"},{role:"kritiker",label:"Kritiker",short:"Kritiker",icon:m5,desc:"Die unbestechliche Zweitmeinung — prüft Behauptungen und Patches (anderer Hersteller als das Hirn).",tone:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25"}],AL=qx.map(e=>e.role),ok=Object.fromEntries(qx.map(e=>[e.role,e])),sk=e=>({role:e||"?",label:e||"unbekannt",short:e||"?",icon:Sa,desc:"Rolle ohne hinterlegten Klartext-Namen.",tone:"bg-slate-500/15 text-slate-300 border-slate-500/25"}),CL={fast:"hermes",coder_lite:"coder-lite"};function ft(e){return e&&(ok[e]||ok[CL[e]])||sk(e)}function mo({role:e,dense:t=!1,className:r}){const n=ft(e),i=n.icon;return s.jsxs("span",{className:J("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-semibold border tracking-wide",n.tone,r),title:`${n.desc} (${n.role})`,children:[s.jsx(i,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),t?n.short:n.label]})}function PL({fit:e}){const t={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[e.level];return s.jsxs("span",{className:J("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",t),children:[e.text," • ",e.req_gb," GB RAM"]})}function pf(e){const t=e.toLowerCase();return t.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:t.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:t.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:t.includes("mistral")||t.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:t.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:t.includes("hermes")||t.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:t.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function pE({model:e,onClose:t,onChanged:r}){var w,k;const{data:n,isLoading:i}=jL(e.gguf_path),[o,c]=x.useState(null),[u,f]=x.useState(""),h=n==null?void 0:n.target_vocab,m=(n==null?void 0:n.drafts)??[],p=m.filter(N=>N.compatible===!0),v=e.spec_draft_model;async function b(N){c(N??"__clear__"),f("");try{await xe(`/api/models/${encodeURIComponent(e.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:N})}),r(),t()}catch(E){f(String((E==null?void 0:E.message)||E)),c(null)}}const S=N=>{var E;return N?`${N.pre??"?"} · ${((E=N.n_vocab)==null?void 0:E.toLocaleString())??"?"} Tokens`:"—"};return s.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:s.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[s.jsx(wa,{className:"h-4 w-4"})," Speculative Draft"]}),s.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',s.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),s.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[s.jsx("span",{className:"text-muted-foreground",children:(w=e.name.split("/").pop())==null?void 0:w.replace(/\.gguf$/i,"")}),s.jsxs("span",{className:"text-foreground",children:["Vocab: ",S(h)]})]}),e.spec_active&&v&&s.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[s.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[s.jsx(Mt,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",v]}),s.jsx("button",{onClick:()=>b(null),disabled:o!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&s.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[s.jsx(vr,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),s.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?s.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):m.length===0?s.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",s.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):m.map(N=>{var A,_;const E=N.filename===v,C=N.compatible===!0;return s.jsxs("div",{className:J("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",C?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",E&&"border-primary/40 bg-primary/10"),children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate flex items-center gap-1.5",children:[N.filename,N.mtp&&s.jsx("span",{className:"shrink-0 rounded bg-indigo-500/15 px-1.5 py-0.5 text-[8px] font-bold uppercase tracking-wider text-indigo-400 border border-indigo-500/25",title:"MTP-Kopf (Multi-Token-Prediction) — by-construction vocab-identisch, höchste Akzeptanzrate",children:"MTP"})]}),s.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[lr(N.size_bytes)," · Vocab: ",S(N.vocab)]})]}),C?E?s.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[s.jsx(Mt,{className:"h-3.5 w-3.5"})," Aktiv"]}):s.jsx("button",{onClick:()=>b(N.path),disabled:o!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):s.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:N.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(A=N.vocab)==null?void 0:A.pre}/${(_=N.vocab)==null?void 0:_.n_vocab} ≠ Modell ${h==null?void 0:h.pre}/${h==null?void 0:h.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[s.jsx(vr,{className:"h-3.5 w-3.5"})," ",N.compatible===!1?"Vocab ≠":"n/a"]})]},N.path)})}),!i&&(n==null?void 0:n.target_exists)&&m.length>0&&p.length===0&&s.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",s.jsx("span",{className:"font-mono",children:h==null?void 0:h.pre}),", n_vocab=",s.jsx("span",{className:"font-mono",children:(k=h==null?void 0:h.n_vocab)==null?void 0:k.toLocaleString()}),")."]}),u&&s.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:u})]})})}const lk={hermes:{bar:"bg-indigo-500",dot:"bg-indigo-500",text:"text-indigo-400"},embed:{bar:"bg-emerald-500",dot:"bg-emerald-500",text:"text-emerald-400"},vision:{bar:"bg-pink-500",dot:"bg-pink-500",text:"text-pink-400"},heavy:{bar:"bg-amber-500",dot:"bg-amber-500",text:"text-amber-400"},"coder-lite":{bar:"bg-violet-500",dot:"bg-violet-500",text:"text-violet-400"},coder:{bar:"bg-fuchsia-500",dot:"bg-fuchsia-500",text:"text-fuchsia-400"},scout:{bar:"bg-teal-500",dot:"bg-teal-500",text:"text-teal-400"},kritiker:{bar:"bg-cyan-500",dot:"bg-cyan-500",text:"text-cyan-400"},reranker:{bar:"bg-lime-500",dot:"bg-lime-500",text:"text-lime-400"}},OL={fast:"hermes",coder_lite:"coder-lite"},ck={bar:"bg-slate-400",dot:"bg-slate-400",text:"text-slate-300"};function gf(e){return e&&(lk[e]||lk[OL[e]])||ck}const uk=1024**3,dk=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function _L({running:e,capacityBytes:t,realUsedBytes:r,selected:n,onSelect:i}){const o=t>2*uk?t:124*uk,c=e.reduce((h,m)=>h+(m.size_bytes||0),0),u=Math.max(0,o-c),f=u/o*100;return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(ga,{className:"h-5 w-5 text-primary"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Arbeitsspeicher"}),s.jsxs("div",{className:"font-space text-xl font-bold tracking-tight text-foreground",children:[Jr(o)," GB ",s.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"gesamt"})]})]})]}),s.jsxs("div",{className:"text-right text-[11px] font-mono text-muted-foreground",children:[s.jsxs("div",{children:[s.jsxs("span",{className:"font-bold text-foreground",children:[Jr(c)," GB"]})," Modelle geladen"]}),r>0&&s.jsxs("div",{children:[Jr(r)," GB real belegt (inkl. KV-Cache)"]}),s.jsxs("div",{className:"text-emerald-400",children:[Jr(u)," GB frei"]})]})]}),s.jsx("div",{className:"flex h-12 w-full overflow-hidden rounded-xl border border-border/40 bg-background/50 p-1",children:e.length===0?s.jsx("div",{className:"flex w-full items-center justify-center text-[11px] italic text-muted-foreground/60",children:"Kein Modell geladen — Auto-Swap holt bei Anfrage automatisch das passende."}):s.jsxs(s.Fragment,{children:[e.map(h=>{const m=(h.size_bytes||0)/o*100,p=gf(h.role),v=n===h.name;return s.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),style:{width:`${m}%`},title:`${ft(h.role).label} · ${dk(h.name)} · ${lr(h.size_bytes)}`,className:J("group flex h-full min-w-[2.5rem] shrink-0 flex-col justify-center gap-0.5 rounded-lg px-2 text-left text-white transition-all",p.bar,v?"ring-2 ring-white/70":"opacity-90 hover:opacity-100"),children:[s.jsx("span",{className:"truncate font-space text-[10px] font-bold leading-tight tracking-wide",children:ft(h.role).short}),s.jsx("span",{className:"truncate font-mono text-[9px] leading-tight opacity-85",children:lr(h.size_bytes)})]},h.name)}),f>1.5&&s.jsx("div",{style:{width:`${f}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg text-[9px] font-mono text-muted-foreground/50",title:`${Jr(u)} GB frei`,children:"frei"})]})}),e.length>0&&s.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-4 gap-y-1.5",children:[e.map(h=>{const m=gf(h.role);return s.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),className:"flex items-center gap-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx("span",{className:J("h-2.5 w-2.5 rounded-sm",m.dot)}),s.jsx("span",{className:J("font-semibold",m.text),children:ft(h.role).short}),s.jsx("span",{className:"font-mono text-muted-foreground/70",children:dk(h.name)})]},h.name)}),s.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",children:[s.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-border/50 bg-background/50"})," frei · ",Jr(u)," GB"]})]})]})}const fk=1024**3,Ga=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function ML(){var M,q,le,oe;const e=Hr(),{data:t,isLoading:r,error:n}=Si(4e3),{data:i}=Co(),{data:o}=Gx(),{showAlert:c,showConfirm:u,showPrompt:f,dialogElement:h}=Nn(),m=Wx(),p=(t==null?void 0:t.models)??[],v=(t==null?void 0:t.running)??[],b=ee=>!!ft(ee).protected,S=(M=o==null?void 0:o.groups)==null?void 0:M.brains,w=(S==null?void 0:S.members)??[],k=ee=>w.includes(ee),[N,E]=x.useState(null),[C,A]=x.useState(""),[_,O]=x.useState("all"),[I,B]=x.useState(null),F=()=>{e.invalidateQueries({queryKey:Fe.models}),e.invalidateQueries({queryKey:Fe.routing}),e.invalidateQueries({queryKey:Fe.groups})},R=p.filter(ee=>v.includes(ee.name)),Q=((q=i==null?void 0:i.gpu)==null?void 0:q.gtt_total)||((le=i==null?void 0:i.gpu)==null?void 0:le.vram_total)||0,U=((oe=i==null?void 0:i.gpu)==null?void 0:oe.gtt_used)||0,ge=Q>2*fk?Q:124*fk,ue=x.useMemo(()=>{const ee=C.trim().toLowerCase();return p.filter(ne=>_==="in_use"?!!ne.role||v.includes(ne.name):!0).filter(ne=>ee?ne.name.toLowerCase().includes(ee):!0).sort((ne,he)=>{const re=v.includes(ne.name)?0:1,ye=v.includes(he.name)?0:1;return re!==ye?re-ye:Ga(ne.name).localeCompare(Ga(he.name))})},[p,v,_,C]),pe=p.find(ee=>ee.name===N)??null;async function se(ee){try{await xe(`/api/models/${encodeURIComponent(ee)}/load`,{method:"POST"}),F()}catch(ne){c("Fehler",`Laden fehlgeschlagen: ${ne.message||ne}`)}}async function ae(ee){const ne=w.some(he=>v.includes(he));if(S&&ne&&!k(ee)){const he=w.filter(re=>v.includes(re)).map(Ga).join(", ");u("Verdrängt das Hirn?",`„${Ga(ee)}" ist nicht ko-resident. Beim Laden wirft es das warme Hirn (${he}) raus — Lucy verliert Hirn bzw. Augen. +`)},eD=0,as=[];function tD(e){var t=x.useRef([]),r=x.useRef([0,0]),n=x.useRef(),i=x.useState(eD++)[0],o=x.useState(M5)[0],c=x.useRef(e);x.useEffect(function(){c.current=e},[e]),x.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var w=kT([e.lockRef.current],(e.shards||[]).map(nk),!0).filter(Boolean);return w.forEach(function(k){return k.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),w.forEach(function(k){return k.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var u=x.useCallback(function(w,k){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!c.current.allowPinchZoom;var S=Td(w),E=r.current,C="deltaX"in w?w.deltaX:E[0]-S[0],A="deltaY"in w?w.deltaY:E[1]-S[1],_,O=w.target,I=Math.abs(C)>Math.abs(A)?"h":"v";if("touches"in w&&I==="h"&&O.type==="range")return!1;var B=window.getSelection(),F=B&&B.anchorNode,R=F?F===O||F.contains(O):!1;if(R)return!1;var Q=tk(I,O);if(!Q)return!0;if(Q?_=I:(_=I==="v"?"h":"v",Q=tk(I,O)),!Q)return!1;if(!n.current&&"changedTouches"in w&&(C||A)&&(n.current=_),!_)return!0;var U=n.current||_;return ZT(U,k,w,U==="h"?C:A)},[]),f=x.useCallback(function(w){var k=w;if(!(!as.length||as[as.length-1]!==o)){var S="deltaY"in k?rk(k):Td(k),E=t.current.filter(function(_){return _.name===k.type&&(_.target===k.target||k.target===_.shadowParent)&&XT(_.delta,S)})[0];if(E&&E.should){k.cancelable&&k.preventDefault();return}if(!E){var C=(c.current.shards||[]).map(nk).filter(Boolean).filter(function(_){return _.contains(k.target)}),A=C.length>0?u(k,C[0]):!c.current.noIsolation;A&&k.cancelable&&k.preventDefault()}}},[]),h=x.useCallback(function(w,k,S,E){var C={name:w,delta:k,target:S,should:E,shadowParent:rD(S)};t.current.push(C),setTimeout(function(){t.current=t.current.filter(function(A){return A!==C})},1)},[]),m=x.useCallback(function(w){r.current=Td(w),n.current=void 0},[]),p=x.useCallback(function(w){h(w.type,rk(w),w.target,u(w,e.lockRef.current))},[]),v=x.useCallback(function(w){h(w.type,Td(w),w.target,u(w,e.lockRef.current))},[]);x.useEffect(function(){return as.push(o),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:v}),document.addEventListener("wheel",f,is),document.addEventListener("touchmove",f,is),document.addEventListener("touchstart",m,is),function(){as=as.filter(function(w){return w!==o}),document.removeEventListener("wheel",f,is),document.removeEventListener("touchmove",f,is),document.removeEventListener("touchstart",m,is)}},[]);var b=e.removeScrollBar,N=e.inert;return x.createElement(x.Fragment,null,N?x.createElement(o,{styles:JT(i)}):null,b?x.createElement(HT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function rD(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const nD=_T(_5,tD);var L5=x.forwardRef(function(e,t){return x.createElement(xh,zn({},e,{ref:t,sideCar:nD}))});L5.classNames=xh.classNames;var iD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},os=new WeakMap,Dd=new WeakMap,Ld={},mg=0,R5=function(e){return e&&(e.host||R5(e.parentNode))},aD=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=R5(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},oD=function(e,t,r,n){var i=aD(t,Array.isArray(e)?e:[e]);Ld[r]||(Ld[r]=new WeakMap);var o=Ld[r],c=[],u=new Set,f=new Set(i),h=function(p){!p||u.has(p)||(u.add(p),h(p.parentNode))};i.forEach(h);var m=function(p){!p||f.has(p)||Array.prototype.forEach.call(p.children,function(v){if(u.has(v))m(v);else try{var b=v.getAttribute(n),N=b!==null&&b!=="false",w=(os.get(v)||0)+1,k=(o.get(v)||0)+1;os.set(v,w),o.set(v,k),c.push(v),w===1&&N&&Dd.set(v,!0),k===1&&v.setAttribute(r,"true"),N||v.setAttribute(n,"true")}catch(S){console.error("aria-hidden: cannot operate on ",v,S)}})};return m(t),u.clear(),mg++,function(){c.forEach(function(p){var v=os.get(p)-1,b=o.get(p)-1;os.set(p,v),o.set(p,b),v||(Dd.has(p)||p.removeAttribute(n),Dd.delete(p)),b||p.removeAttribute(r)}),mg--,mg||(os=new WeakMap,os=new WeakMap,Dd=new WeakMap,Ld={})}},sD=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=iD(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),oD(n,i,r,"aria-hidden")):function(){return null}},yh="Dialog",[$5]=DI(yh),[lD,Sn]=$5(yh),z5=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:o,modal:c=!0}=e,u=x.useRef(null),f=x.useRef(null),[h,m]=FI({prop:n,defaultProp:i??!1,onChange:o,caller:yh});return s.jsx(lD,{scope:t,triggerRef:u,contentRef:f,contentId:gi(),titleId:gi(),descriptionId:gi(),open:h,onOpenChange:m,onOpenToggle:x.useCallback(()=>m(p=>!p),[m]),modal:c,children:r})};z5.displayName=yh;var F5="DialogTrigger",cD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(F5,r),o=Ao(t,i.triggerRef);return s.jsx(er.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":Ux(i.open),...n,ref:o,onClick:xa(e.onClick,i.onOpenToggle)})});cD.displayName=F5;var Bx="DialogPortal",[uD,B5]=$5(Bx,{forceMount:void 0}),U5=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,o=Sn(Bx,t);return s.jsx(uD,{scope:t,forceMount:r,children:x.Children.map(n,c=>s.jsx(vh,{present:r||o.open,children:s.jsx(C5,{asChild:!0,container:i,children:c})}))})};U5.displayName=Bx;var pf="DialogOverlay",W5=x.forwardRef((e,t)=>{const r=B5(pf,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=Sn(pf,e.__scopeDialog);return o.modal?s.jsx(vh,{present:n||o.open,children:s.jsx(fD,{...i,ref:t})}):null});W5.displayName=pf;var dD=j5("DialogOverlay.RemoveScroll"),fD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(pf,r),o=oT(),c=Ao(t,o);return s.jsx(L5,{as:dD,allowPinchZoom:!0,shards:[i.contentRef],children:s.jsx(er.div,{"data-state":Ux(i.open),...n,ref:c,style:{pointerEvents:"auto",...n.style}})})}),Hs="DialogContent",H5=x.forwardRef((e,t)=>{const r=B5(Hs,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=Sn(Hs,e.__scopeDialog);return s.jsx(vh,{present:n||o.open,children:o.modal?s.jsx(hD,{...i,ref:t}):s.jsx(mD,{...i,ref:t})})});H5.displayName=Hs;var hD=x.forwardRef((e,t)=>{const r=Sn(Hs,e.__scopeDialog),n=x.useRef(null),i=Ao(t,r.contentRef,n);return x.useEffect(()=>{const o=n.current;if(o)return sD(o)},[]),s.jsx(K5,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:xa(e.onCloseAutoFocus,o=>{var c;o.preventDefault(),(c=r.triggerRef.current)==null||c.focus()}),onPointerDownOutside:xa(e.onPointerDownOutside,o=>{const c=o.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0;(c.button===2||u)&&o.preventDefault()}),onFocusOutside:xa(e.onFocusOutside,o=>o.preventDefault())})}),mD=x.forwardRef((e,t)=>{const r=Sn(Hs,e.__scopeDialog),n=x.useRef(!1),i=x.useRef(!1);return s.jsx(K5,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var c,u;(c=e.onCloseAutoFocus)==null||c.call(e,o),o.defaultPrevented||(n.current||(u=r.triggerRef.current)==null||u.focus(),o.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:o=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const c=o.target;((h=r.triggerRef.current)==null?void 0:h.contains(c))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),K5=x.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,...c}=e,u=Sn(Hs,r);return wT(),s.jsx(s.Fragment,{children:s.jsx(E5,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:s.jsx(N5,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Ux(u.open),...c,ref:t,deferPointerDownOutside:!0,onDismiss:()=>u.onOpenChange(!1)})})})}),G5="DialogTitle",pD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(G5,r);return s.jsx(er.h2,{id:i.titleId,...n,ref:t})});pD.displayName=G5;var V5="DialogDescription",gD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(V5,r);return s.jsx(er.p,{id:i.descriptionId,...n,ref:t})});gD.displayName=V5;var q5="DialogClose",vD=x.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=Sn(q5,r);return s.jsx(er.button,{type:"button",...n,ref:t,onClick:xa(e.onClick,()=>i.onOpenChange(!1))})});vD.displayName=q5;function Ux(e){return e?"open":"closed"}var nc='[cmdk-group=""]',pg='[cmdk-group-items=""]',xD='[cmdk-group-heading=""]',Q5='[cmdk-item=""]',ik=`${Q5}:not([aria-disabled="true"])`,kv="cmdk-item-select",vs="data-value",yD=(e,t,r)=>TI(e,t,r),Y5=x.createContext(void 0),nu=()=>x.useContext(Y5),Z5=x.createContext(void 0),Wx=()=>x.useContext(Z5),X5=x.createContext(void 0),J5=x.forwardRef((e,t)=>{let r=xs(()=>{var M,q;return{search:"",value:(q=(M=e.value)!=null?M:e.defaultValue)!=null?q:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=xs(()=>new Set),i=xs(()=>new Map),o=xs(()=>new Map),c=xs(()=>new Set),u=eE(e),{label:f,children:h,value:m,onValueChange:p,filter:v,shouldFilter:b,loop:N,disablePointerSelection:w=!1,vimBindings:k=!0,...S}=e,E=gi(),C=gi(),A=gi(),_=x.useRef(null),O=OD();xo(()=>{if(m!==void 0){let M=m.trim();r.current.value=M,I.emit()}},[m]),xo(()=>{O(6,ge)},[]);let I=x.useMemo(()=>({subscribe:M=>(c.current.add(M),()=>c.current.delete(M)),snapshot:()=>r.current,setState:(M,q,le)=>{var oe,ee,ne,he;if(!Object.is(r.current[M],q)){if(r.current[M]=q,M==="search")U(),R(),O(1,Q);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(A);re?re.focus():(oe=document.getElementById(E))==null||oe.focus()}if(O(7,()=>{var re;r.current.selectedItemId=(re=ue())==null?void 0:re.id,I.emit()}),le||O(5,ge),((ee=u.current)==null?void 0:ee.value)!==void 0){let re=q??"";(he=(ne=u.current).onValueChange)==null||he.call(ne,re);return}}I.emit()}},emit:()=>{c.current.forEach(M=>M())}}),[]),B=x.useMemo(()=>({value:(M,q,le)=>{var oe;q!==((oe=o.current.get(M))==null?void 0:oe.value)&&(o.current.set(M,{value:q,keywords:le}),r.current.filtered.items.set(M,F(q,le)),O(2,()=>{R(),I.emit()}))},item:(M,q)=>(n.current.add(M),q&&(i.current.has(q)?i.current.get(q).add(M):i.current.set(q,new Set([M]))),O(3,()=>{U(),R(),r.current.value||Q(),I.emit()}),()=>{o.current.delete(M),n.current.delete(M),r.current.filtered.items.delete(M);let le=ue();O(4,()=>{U(),(le==null?void 0:le.getAttribute("id"))===M&&Q(),I.emit()})}),group:M=>(i.current.has(M)||i.current.set(M,new Set),()=>{o.current.delete(M),i.current.delete(M)}),filter:()=>u.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:E,inputId:A,labelId:C,listInnerRef:_}),[]);function F(M,q){var le,oe;let ee=(oe=(le=u.current)==null?void 0:le.filter)!=null?oe:yD;return M?ee(M,r.current.search,q):0}function R(){if(!r.current.search||u.current.shouldFilter===!1)return;let M=r.current.filtered.items,q=[];r.current.filtered.groups.forEach(oe=>{let ee=i.current.get(oe),ne=0;ee.forEach(he=>{let re=M.get(he);ne=Math.max(re,ne)}),q.push([oe,ne])});let le=_.current;pe().sort((oe,ee)=>{var ne,he;let re=oe.getAttribute("id"),ye=ee.getAttribute("id");return((ne=M.get(ye))!=null?ne:0)-((he=M.get(re))!=null?he:0)}).forEach(oe=>{let ee=oe.closest(pg);ee?ee.appendChild(oe.parentElement===ee?oe:oe.closest(`${pg} > *`)):le.appendChild(oe.parentElement===le?oe:oe.closest(`${pg} > *`))}),q.sort((oe,ee)=>ee[1]-oe[1]).forEach(oe=>{var ee;let ne=(ee=_.current)==null?void 0:ee.querySelector(`${nc}[${vs}="${encodeURIComponent(oe[0])}"]`);ne==null||ne.parentElement.appendChild(ne)})}function Q(){let M=pe().find(le=>le.getAttribute("aria-disabled")!=="true"),q=M==null?void 0:M.getAttribute(vs);I.setState("value",q||void 0)}function U(){var M,q,le,oe;if(!r.current.search||u.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let ee=0;for(let ne of n.current){let he=(q=(M=o.current.get(ne))==null?void 0:M.value)!=null?q:"",re=(oe=(le=o.current.get(ne))==null?void 0:le.keywords)!=null?oe:[],ye=F(he,re);r.current.filtered.items.set(ne,ye),ye>0&&ee++}for(let[ne,he]of i.current)for(let re of he)if(r.current.filtered.items.get(re)>0){r.current.filtered.groups.add(ne);break}r.current.filtered.count=ee}function ge(){var M,q,le;let oe=ue();oe&&(((M=oe.parentElement)==null?void 0:M.firstChild)===oe&&((le=(q=oe.closest(nc))==null?void 0:q.querySelector(xD))==null||le.scrollIntoView({block:"nearest"})),oe.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=_.current)==null?void 0:M.querySelector(`${Q5}[aria-selected="true"]`)}function pe(){var M;return Array.from(((M=_.current)==null?void 0:M.querySelectorAll(ik))||[])}function se(M){let q=pe()[M];q&&I.setState("value",q.getAttribute(vs))}function ae(M){var q;let le=ue(),oe=pe(),ee=oe.findIndex(he=>he===le),ne=oe[ee+M];(q=u.current)!=null&&q.loop&&(ne=ee+M<0?oe[oe.length-1]:ee+M===oe.length?oe[0]:oe[ee+M]),ne&&I.setState("value",ne.getAttribute(vs))}function Z(M){let q=ue(),le=q==null?void 0:q.closest(nc),oe;for(;le&&!oe;)le=M>0?CD(le,nc):PD(le,nc),oe=le==null?void 0:le.querySelector(ik);oe?I.setState("value",oe.getAttribute(vs)):ae(M)}let te=()=>se(pe().length-1),ie=M=>{M.preventDefault(),M.metaKey?te():M.altKey?Z(1):ae(1)},D=M=>{M.preventDefault(),M.metaKey?se(0):M.altKey?Z(-1):ae(-1)};return x.createElement(er.div,{ref:t,tabIndex:-1,...S,"cmdk-root":"",onKeyDown:M=>{var q;(q=S.onKeyDown)==null||q.call(S,M);let le=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||le))switch(M.key){case"n":case"j":{k&&M.ctrlKey&&ie(M);break}case"ArrowDown":{ie(M);break}case"p":case"k":{k&&M.ctrlKey&&D(M);break}case"ArrowUp":{D(M);break}case"Home":{M.preventDefault(),se(0);break}case"End":{M.preventDefault(),te();break}case"Enter":{M.preventDefault();let oe=ue();if(oe){let ee=new Event(kv);oe.dispatchEvent(ee)}}}}},x.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:MD},f),bh(e,M=>x.createElement(Z5.Provider,{value:I},x.createElement(Y5.Provider,{value:B},M))))}),bD=x.forwardRef((e,t)=>{var r,n;let i=gi(),o=x.useRef(null),c=x.useContext(X5),u=nu(),f=eE(e),h=(n=(r=f.current)==null?void 0:r.forceMount)!=null?n:c==null?void 0:c.forceMount;xo(()=>{if(!h)return u.item(i,c==null?void 0:c.id)},[h]);let m=tE(i,o,[e.value,e.children,o],e.keywords),p=Wx(),v=ka(O=>O.value&&O.value===m.current),b=ka(O=>h||u.filter()===!1?!0:O.search?O.filtered.items.get(i)>0:!0);x.useEffect(()=>{let O=o.current;if(!(!O||e.disabled))return O.addEventListener(kv,N),()=>O.removeEventListener(kv,N)},[b,e.onSelect,e.disabled]);function N(){var O,I;w(),(I=(O=f.current).onSelect)==null||I.call(O,m.current)}function w(){p.setState("value",m.current,!0)}if(!b)return null;let{disabled:k,value:S,onSelect:E,forceMount:C,keywords:A,..._}=e;return x.createElement(er.div,{ref:Ws(o,t),..._,id:i,"cmdk-item":"",role:"option","aria-disabled":!!k,"aria-selected":!!v,"data-disabled":!!k,"data-selected":!!v,onPointerMove:k||u.getDisablePointerSelection()?void 0:w,onClick:k?void 0:N},e.children)}),wD=x.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:i,...o}=e,c=gi(),u=x.useRef(null),f=x.useRef(null),h=gi(),m=nu(),p=ka(b=>i||m.filter()===!1?!0:b.search?b.filtered.groups.has(c):!0);xo(()=>m.group(c),[]),tE(c,u,[e.value,e.heading,f]);let v=x.useMemo(()=>({id:c,forceMount:i}),[i]);return x.createElement(er.div,{ref:Ws(u,t),...o,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},r&&x.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},r),bh(e,b=>x.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?h:void 0},x.createElement(X5.Provider,{value:v},b))))}),kD=x.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,i=x.useRef(null),o=ka(c=>!c.search);return!r&&!o?null:x.createElement(er.div,{ref:Ws(i,t),...n,"cmdk-separator":"",role:"separator"})}),jD=x.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,i=e.value!=null,o=Wx(),c=ka(h=>h.search),u=ka(h=>h.selectedItemId),f=nu();return x.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),x.createElement(er.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":u,id:f.inputId,type:"text",value:i?e.value:c,onChange:h=>{i||o.setState("search",h.target.value),r==null||r(h.target.value)}})}),ND=x.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...i}=e,o=x.useRef(null),c=x.useRef(null),u=ka(h=>h.selectedItemId),f=nu();return x.useEffect(()=>{if(c.current&&o.current){let h=c.current,m=o.current,p,v=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let b=h.offsetHeight;m.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return v.observe(h),()=>{cancelAnimationFrame(p),v.unobserve(h)}}},[]),x.createElement(er.div,{ref:Ws(o,t),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":n,id:f.listId},bh(e,h=>x.createElement("div",{ref:Ws(c,f.listInnerRef),"cmdk-list-sizer":""},h)))}),SD=x.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:i,contentClassName:o,container:c,...u}=e;return x.createElement(z5,{open:r,onOpenChange:n},x.createElement(U5,{container:c},x.createElement(W5,{"cmdk-overlay":"",className:i}),x.createElement(H5,{"aria-label":e.label,"cmdk-dialog":"",className:o},x.createElement(J5,{ref:t,...u}))))}),ED=x.forwardRef((e,t)=>ka(r=>r.filtered.count===0)?x.createElement(er.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),AD=x.forwardRef((e,t)=>{let{progress:r,children:n,label:i="Loading...",...o}=e;return x.createElement(er.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},bh(e,c=>x.createElement("div",{"aria-hidden":!0},c)))}),ss=Object.assign(J5,{List:ND,Item:bD,Input:jD,Group:wD,Separator:kD,Dialog:SD,Empty:ED,Loading:AD});function CD(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function PD(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function eE(e){let t=x.useRef(e);return xo(()=>{t.current=e}),t}var xo=typeof window>"u"?x.useEffect:x.useLayoutEffect;function xs(e){let t=x.useRef();return t.current===void 0&&(t.current=e()),t}function ka(e){let t=Wx(),r=()=>e(t.snapshot());return x.useSyncExternalStore(t.subscribe,r,r)}function tE(e,t,r,n=[]){let i=x.useRef(),o=nu();return xo(()=>{var c;let u=(()=>{var h;for(let m of r){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(h=m.current.textContent)==null?void 0:h.trim():i.current}})(),f=n.map(h=>h.trim());o.value(e,u,f),(c=t.current)==null||c.setAttribute(vs,u),i.current=u}),i}var OD=()=>{let[e,t]=x.useState(),r=xs(()=>new Map);return xo(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,i)=>{r.current.set(n,i),t({})}};function _D(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function bh({asChild:e,children:t},r){return e&&x.isValidElement(t)?x.cloneElement(_D(t),{ref:t.ref},r(t.props.children)):r(t)}var MD={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function ID({onNavigate:e}){const[t,r]=x.useState(!1);return x.useEffect(()=>{const n=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),s.jsx(ss.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>r(!1),children:s.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[s.jsx(ss.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),s.jsxs(ss.List,{className:"max-h-80 overflow-y-auto p-2",children:[s.jsx(ss.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),s.jsx(ss.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:gs.map(n=>s.jsxs(ss.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[s.jsx(n.icon,{className:"h-4 w-4 text-primary"}),s.jsx("span",{children:n.label}),s.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}const rE="mc_expert_mode",jv="mc-expert-mode-change",TD=()=>{try{return localStorage.getItem(rE)==="true"}catch{return!1}};function DD(e){return window.addEventListener(jv,e),window.addEventListener("storage",e),()=>{window.removeEventListener(jv,e),window.removeEventListener("storage",e)}}function ak(e){localStorage.setItem(rE,String(e)),window.dispatchEvent(new Event(jv))}function Hx(){return x.useSyncExternalStore(DD,TD,()=>!1)}function nE(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=$D(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:c=>{const u=c.split(Kx);return u[0]===""&&u.length!==1&&u.shift(),iE(u,t)||RD(c)},getConflictingClassGroupIds:(c,u)=>{const f=r[c]||[];return u&&n[c]?[...f,...n[c]]:f}}},iE=(e,t)=>{var c;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?iE(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(Kx);return(c=t.validators.find(({validator:u})=>u(o)))==null?void 0:c.classGroupId},ok=/^\[(.+)\]$/,RD=e=>{if(ok.test(e)){const t=ok.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},$D=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return FD(Object.entries(e.classGroups),r).forEach(([o,c])=>{Nv(c,n,o,t)}),n},Nv=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:sk(t,i);o.classGroupId=r;return}if(typeof i=="function"){if(zD(i)){Nv(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([o,c])=>{Nv(c,sk(t,o),r,n)})})},sk=(e,t)=>{let r=e;return t.split(Kx).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},zD=e=>e.isThemeGetter,FD=(e,t)=>t?e.map(([r,n])=>{const i=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([c,u])=>[t+c,u])):o);return[r,i]}):e,BD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(o,c)=>{r.set(o,c),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let c=r.get(o);if(c!==void 0)return c;if((c=n.get(o))!==void 0)return i(o,c),c},set(o,c){r.has(o)?r.set(o,c):i(o,c)}}},aE="!",UD=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],o=t.length,c=u=>{const f=[];let h=0,m=0,p;for(let k=0;km?p-m:void 0;return{modifiers:f,hasImportantModifier:b,baseClassName:N,maybePostfixModifierPosition:w}};return r?u=>r({className:u,parseClassName:c}):c},WD=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},HD=e=>({cache:BD(e.cacheSize),parseClassName:UD(e),...LD(e)}),KD=/\s+/,GD=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,o=[],c=e.trim().split(KD);let u="";for(let f=c.length-1;f>=0;f-=1){const h=c[f],{modifiers:m,hasImportantModifier:p,baseClassName:v,maybePostfixModifierPosition:b}=r(h);let N=!!b,w=n(N?v.substring(0,b):v);if(!w){if(!N){u=h+(u.length>0?" "+u:u);continue}if(w=n(v),!w){u=h+(u.length>0?" "+u:u);continue}N=!1}const k=WD(m).join(":"),S=p?k+aE:k,E=S+w;if(o.includes(E))continue;o.push(E);const C=i(w,N);for(let A=0;A0?" "+u:u)}return u};function VD(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;np(m),e());return r=HD(h),n=r.cache.get,i=r.cache.set,o=u,u(f)}function u(f){const h=n(f);if(h)return h;const m=GD(f,r);return i(f,m),m}return function(){return o(VD.apply(null,arguments))}}const lt=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},sE=/^\[(?:([a-z-]+):)?(.+)\]$/i,QD=/^\d+\/\d+$/,YD=new Set(["px","full","screen"]),ZD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,XD=/\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$/,JD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,eL=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,tL=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,si=e=>js(e)||YD.has(e)||QD.test(e),Xi=e=>il(e,"length",cL),js=e=>!!e&&!Number.isNaN(Number(e)),gg=e=>il(e,"number",js),ic=e=>!!e&&Number.isInteger(Number(e)),rL=e=>e.endsWith("%")&&js(e.slice(0,-1)),Be=e=>sE.test(e),Ji=e=>ZD.test(e),nL=new Set(["length","size","percentage"]),iL=e=>il(e,nL,lE),aL=e=>il(e,"position",lE),oL=new Set(["image","url"]),sL=e=>il(e,oL,dL),lL=e=>il(e,"",uL),ac=()=>!0,il=(e,t,r)=>{const n=sE.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},cL=e=>XD.test(e)&&!JD.test(e),lE=()=>!1,uL=e=>eL.test(e),dL=e=>tL.test(e),fL=()=>{const e=lt("colors"),t=lt("spacing"),r=lt("blur"),n=lt("brightness"),i=lt("borderColor"),o=lt("borderRadius"),c=lt("borderSpacing"),u=lt("borderWidth"),f=lt("contrast"),h=lt("grayscale"),m=lt("hueRotate"),p=lt("invert"),v=lt("gap"),b=lt("gradientColorStops"),N=lt("gradientColorStopPositions"),w=lt("inset"),k=lt("margin"),S=lt("opacity"),E=lt("padding"),C=lt("saturate"),A=lt("scale"),_=lt("sepia"),O=lt("skew"),I=lt("space"),B=lt("translate"),F=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto",Be,t],U=()=>[Be,t],ge=()=>["",si,Xi],ue=()=>["auto",js,Be],pe=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],se=()=>["solid","dashed","dotted","double","none"],ae=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Z=()=>["start","end","center","between","around","evenly","stretch"],te=()=>["","0",Be],ie=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>[js,Be];return{cacheSize:500,separator:":",theme:{colors:[ac],spacing:[si,Xi],blur:["none","",Ji,Be],brightness:D(),borderColor:[e],borderRadius:["none","","full",Ji,Be],borderSpacing:U(),borderWidth:ge(),contrast:D(),grayscale:te(),hueRotate:D(),invert:te(),gap:U(),gradientColorStops:[e],gradientColorStopPositions:[rL,Xi],inset:Q(),margin:Q(),opacity:D(),padding:U(),saturate:D(),scale:D(),sepia:te(),skew:D(),space:U(),translate:U()},classGroups:{aspect:[{aspect:["auto","square","video",Be]}],container:["container"],columns:[{columns:[Ji]}],"break-after":[{"break-after":ie()}],"break-before":[{"break-before":ie()}],"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"],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:[...pe(),Be]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[w]}],"inset-x":[{"inset-x":[w]}],"inset-y":[{"inset-y":[w]}],start:[{start:[w]}],end:[{end:[w]}],top:[{top:[w]}],right:[{right:[w]}],bottom:[{bottom:[w]}],left:[{left:[w]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ic,Be]}],basis:[{basis:Q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Be]}],grow:[{grow:te()}],shrink:[{shrink:te()}],order:[{order:["first","last","none",ic,Be]}],"grid-cols":[{"grid-cols":[ac]}],"col-start-end":[{col:["auto",{span:["full",ic,Be]},Be]}],"col-start":[{"col-start":ue()}],"col-end":[{"col-end":ue()}],"grid-rows":[{"grid-rows":[ac]}],"row-start-end":[{row:["auto",{span:[ic,Be]},Be]}],"row-start":[{"row-start":ue()}],"row-end":[{"row-end":ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Be]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Be]}],gap:[{gap:[v]}],"gap-x":[{"gap-x":[v]}],"gap-y":[{"gap-y":[v]}],"justify-content":[{justify:["normal",...Z()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Z(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Z(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[k]}],mx:[{mx:[k]}],my:[{my:[k]}],ms:[{ms:[k]}],me:[{me:[k]}],mt:[{mt:[k]}],mr:[{mr:[k]}],mb:[{mb:[k]}],ml:[{ml:[k]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Be,t]}],"min-w":[{"min-w":[Be,t,"min","max","fit"]}],"max-w":[{"max-w":[Be,t,"none","full","min","max","fit","prose",{screen:[Ji]},Ji]}],h:[{h:[Be,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Be,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Be,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Be,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Ji,Xi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",gg]}],"font-family":[{font:[ac]}],"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:["tighter","tight","normal","wide","wider","widest",Be]}],"line-clamp":[{"line-clamp":["none",js,gg]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",si,Be]}],"list-image":[{"list-image":["none",Be]}],"list-style-type":[{list:["none","disc","decimal",Be]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",si,Xi]}],"underline-offset":[{"underline-offset":["auto",si,Be]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Be]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Be]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...pe(),aL]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",iL]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},sL]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[N]}],"gradient-via-pos":[{via:[N]}],"gradient-to-pos":[{to:[N]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[u]}],"border-w-x":[{"border-x":[u]}],"border-w-y":[{"border-y":[u]}],"border-w-s":[{"border-s":[u]}],"border-w-e":[{"border-e":[u]}],"border-w-t":[{"border-t":[u]}],"border-w-r":[{"border-r":[u]}],"border-w-b":[{"border-b":[u]}],"border-w-l":[{"border-l":[u]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...se(),"hidden"]}],"divide-x":[{"divide-x":[u]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[u]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}],"divide-style":[{divide:se()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...se()]}],"outline-offset":[{"outline-offset":[si,Be]}],"outline-w":[{outline:[si,Xi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ge()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[si,Xi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ji,lL]}],"shadow-color":[{shadow:[ac]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...ae(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ae()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",Ji,Be]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[p]}],saturate:[{saturate:[C]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[C]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[c]}],"border-spacing-x":[{"border-spacing-x":[c]}],"border-spacing-y":[{"border-spacing-y":[c]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Be]}],duration:[{duration:D()}],ease:[{ease:["linear","in","out","in-out",Be]}],delay:[{delay:D()}],animate:[{animate:["none","spin","ping","pulse","bounce",Be]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[A]}],"scale-x":[{"scale-x":[A]}],"scale-y":[{"scale-y":[A]}],rotate:[{rotate:[ic,Be]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[O]}],"skew-y":[{"skew-y":[O]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Be]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",Be]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"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",Be]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[si,Xi,gg]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},hL=qD(fL);function J(...e){return hL(it(e))}function Sv(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function cE(){const e=Hx();return s.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[s.jsxs("button",{onClick:()=>ak(!1),"aria-pressed":!e,className:J("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[s.jsx(va,{className:"h-3.5 w-3.5"})," Einfach"]}),s.jsxs("button",{onClick:()=>ak(!0),"aria-pressed":e,className:J("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[s.jsx(wI,{className:"h-3.5 w-3.5"})," Experte"]})]})}async function xe(e,t){var f;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=localStorage.getItem("mc_sudo_password"),i=localStorage.getItem("mc_hf_token");n&&(r["X-Sudo-Password"]=n);let o=t==null?void 0:t.body;if((((f=t==null?void 0:t.method)==null?void 0:f.toUpperCase())||"GET")==="POST"){if(typeof o=="string")try{const h=JSON.parse(o);let m=!1;n&&!("sudo_password"in h)&&(h.sudo_password=n,m=!0),i&&!("hf_token"in h)&&(h.hf_token=i,m=!0),m&&(o=JSON.stringify(h))}catch{}else if(!o){const h={};n&&(h.sudo_password=n),i&&(h.hf_token=i),Object.keys(h).length>0&&(o=JSON.stringify(h))}}const u=await fetch(e,{...t,headers:r,body:o});if(!u.ok)throw new Error(`${u.status} ${u.statusText}`);return u.json()}const uE=(e,t,r=!1,n=!0)=>xe("/api/groups",{method:"PUT",body:JSON.stringify({group:e,members:t,swap:r,persist:n})}),mL=e=>xe("/api/routing/policy",{method:"PUT",body:JSON.stringify(e)}),$e={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],connectHealth:["connect-health"],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},dE=(e=8e3)=>mt({queryKey:$e.auftragsbuch,queryFn:()=>xe("/api/auftragsbuch"),refetchInterval:e}),pL=(e=2e4)=>mt({queryKey:$e.ideen,queryFn:()=>xe("/api/ideen"),refetchInterval:e}),fE=(e=150,t=15e3)=>mt({queryKey:$e.chronik,queryFn:()=>xe(`/api/chronik?limit=${e}`),refetchInterval:t,select:r=>r.items??[]}),gL=()=>mt({queryKey:$e.wissen,queryFn:()=>xe("/api/wissen")}),vL=(e=3e4)=>mt({queryKey:$e.zeitmaschine,queryFn:()=>xe("/api/zeitmaschine"),refetchInterval:e}),xL=(e=2e4)=>mt({queryKey:$e.reminders,queryFn:()=>xe("/api/reminders"),refetchInterval:e,select:t=>t.items??[]}),yL=(e=12,t=4e3)=>mt({queryKey:$e.voiceTrace,queryFn:()=>xe(`/api/voice/trace?limit=${e}`),refetchInterval:t,select:r=>r.turns??[]}),bL=(e=!0)=>mt({queryKey:$e.memoryGraph,queryFn:()=>xe("/api/memory/graph"),enabled:e}),Gx=()=>mt({queryKey:$e.health,queryFn:()=>xe("/api/health"),refetchInterval:1e4}),Co=(e=5e3)=>mt({queryKey:$e.systemStatus,queryFn:()=>xe("/api/system/status"),refetchInterval:e}),hE=(e=3e3)=>mt({queryKey:$e.services,queryFn:()=>xe("/api/system/services"),refetchInterval:e}),Ni=(e=4e3)=>mt({queryKey:$e.models,queryFn:()=>xe("/api/models"),refetchInterval:e}),Vx=(e=8e3)=>mt({queryKey:$e.groups,queryFn:()=>xe("/api/groups"),refetchInterval:e}),wL=()=>mt({queryKey:$e.routingPolicy,queryFn:()=>xe("/api/routing/policy")}),kL=(e=2e3)=>mt({queryKey:$e.jobs,queryFn:()=>xe("/api/jobs"),refetchInterval:e,select:t=>t.jobs??[]}),mE=(e=3e3)=>mt({queryKey:$e.tokenStats,queryFn:()=>xe("/api/system/token-stats"),refetchInterval:e}),qx=(e=5e3)=>mt({queryKey:$e.agentStatus,queryFn:()=>xe("/api/agent/status"),refetchInterval:e}),pE=(e=6e4)=>mt({queryKey:$e.hermesBrain,queryFn:()=>xe("/api/agent/brain"),refetchInterval:e}),wh=e=>mt({queryKey:$e.updates,queryFn:()=>xe("/api/maintenance/updates"),refetchInterval:e}),jL=()=>mt({queryKey:$e.discover,queryFn:()=>xe("/api/discover")}),NL=e=>mt({queryKey:$e.drafts(e),queryFn:()=>xe(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),SL=e=>mt({queryKey:$e.connect(e),queryFn:()=>xe(e?`/api/connect?${e}`:"/api/connect")}),gE=()=>mt({queryKey:$e.connectHealth,queryFn:()=>xe("/api/connect/health"),refetchInterval:15e3}),Ev=e=>mt({queryKey:$e.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),xe(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function vE({type:e,title:t,message:r,defaultValue:n,autoValue:i,autoLabel:o,onConfirm:c,onCancel:u}){const f=x.useRef(null);return s.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":t,children:s.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),s.jsx("button",{onClick:u||(()=>c()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Or,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:r}),e==="prompt"&&s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{ref:f,type:"text",defaultValue:n,"aria-label":t,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:h=>{var m;h.key==="Enter"&&c((m=f.current)==null?void 0:m.value)}}),i!==void 0&&s.jsx("button",{type:"button",onClick:()=>{f.current&&(f.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),s.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&s.jsx("button",{onClick:u,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),s.jsx("button",{onClick:()=>{var m;const h=e==="prompt"?(m=f.current)==null?void 0:m.value:void 0;c(h)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function sn(){const[e,t]=x.useState(null),r=x.useCallback(()=>t(null),[]),n=x.useCallback((u,f,h)=>{t({type:"alert",title:u,message:f,onConfirm:()=>{t(null),h==null||h()}})},[]),i=x.useCallback((u,f,h,m)=>{t({type:"confirm",title:u,message:f,onConfirm:()=>{t(null),h()},onCancel:()=>{t(null),m==null||m()}})},[]),o=x.useCallback((u,f,h,m,p,v)=>{t({type:"prompt",title:u,message:f,defaultValue:h,autoValue:v==null?void 0:v.autoValue,autoLabel:v==null?void 0:v.autoLabel,onConfirm:b=>{t(null),m(b)},onCancel:()=>{t(null),p==null||p()}})},[]),c=e?s.jsx(vE,{...e}):null;return{showAlert:n,showConfirm:i,showPrompt:o,close:r,dialogElement:c}}function Jr(e){return(e/1024**3).toFixed(1)}function Av(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function lr(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function EL(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function Cv(e){return e?`${Math.round(e/1024)}k`:"—"}function AL(){const e=_r(),{data:t=[]}=kL(2e3),{showAlert:r,dialogElement:n}=sn();async function i(u){try{await xe(`/api/jobs/${u}/cancel`,{method:"POST"}),e.invalidateQueries({queryKey:$e.jobs})}catch(f){r("Fehler",f.message)}}const o=t.filter(u=>u.state==="running"||u.state==="queued"),c=t.filter(u=>u.state!=="running"&&u.state!=="queued").slice(-3);return o.length===0&&c.length===0?null:s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),o.map(u=>s.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[s.jsxs("div",{className:"flex justify-between items-center text-xs",children:[s.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:u.label}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-muted-foreground font-mono",children:[u.progress??0,"% • ",Av(u.done_bytes),"/",Av(u.total_bytes),u.eta_s?` • ETA ${EL(u.eta_s)}`:""]}),s.jsx("button",{onClick:()=>i(u.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),s.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:s.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${u.progress??0}%`}})})]},u.id)),c.map(u=>s.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[s.jsx("span",{className:"truncate",children:u.label}),s.jsx("span",{className:J("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",u.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:u.state})]},u.id)),n]})}function Fa({children:e,tone:t="muted"}){const r={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return s.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${r[t]}`,children:e})}function Pv({caps:e}){return e?s.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[e.coder&&s.jsx(Fa,{children:"💻 Code"}),e.vision&&s.jsx(Fa,{children:"👁 Bild"}),e.reasoning&&s.jsx(Fa,{children:"🧠 Reason"}),e.moe&&s.jsxs(Fa,{tone:"primary",children:["🧩 MoE",e.active_b?`·${e.active_b}b`:""]}),e.tools==="yes"&&s.jsx(Fa,{tone:"primary",children:"🛠 Tools"}),e.tools==="likely"&&s.jsx(Fa,{tone:"warn",children:"🛠 Tools?"}),e.embedding&&s.jsx(Fa,{children:"🔢 Embed"})]}):null}const Qx=[{role:"hermes",label:"Lucys Hirn",short:"Hirn",icon:Na,desc:"Lucys Alltags-Verstand — denkt und redet mit dir. Immer bereit.",tone:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25",protected:!0},{role:"embed",label:"Lucys Gedächtnis",short:"Gedächtnis",icon:r5,desc:"Merkt sich Wichtiges und findet es später wieder.",tone:"bg-emerald-500/15 text-emerald-400 border-emerald-500/25",protected:!0},{role:"reranker",label:"Gedächtnis-Sortierer",short:"Sortierer",icon:oI,desc:"Ordnet gefundene Erinnerungen nach echter Relevanz — die Feinsortierung hinter dem Gedächtnis.",tone:"bg-lime-500/15 text-lime-400 border-lime-500/25"},{role:"vision",label:"Lucys Augen",short:"Augen",icon:Cc,desc:"Sieht Bilder und Screenshots und beschreibt, was drauf ist.",tone:"bg-pink-500/15 text-pink-400 border-pink-500/25"},{role:"heavy",label:"Großes Hirn",short:"Groß",icon:zM,desc:"Das schwere Geschütz — wird für besonders knifflige Fragen dazugeholt.",tone:"bg-amber-500/15 text-amber-400 border-amber-500/25"},{role:"coder-lite",label:"Programmierer (schnell)",short:"Code schnell",icon:Fs,desc:"Schnelles Programmieren im Alltag.",tone:"bg-violet-500/15 text-violet-400 border-violet-500/25"},{role:"coder",label:"Programmierer (gründlich)",short:"Code gründlich",icon:Fs,desc:"Schreibt und prüft Code besonders sorgfältig — für schwere Coding-Aufgaben.",tone:"bg-fuchsia-500/15 text-fuchsia-400 border-fuchsia-500/25"},{role:"scout",label:"Späher",short:"Späher",icon:NI,desc:"Schneller erster Blick und grobe Einschätzung.",tone:"bg-teal-500/15 text-teal-400 border-teal-500/25"},{role:"kritiker",label:"Kritiker",short:"Kritiker",icon:g5,desc:"Die unbestechliche Zweitmeinung — prüft Behauptungen und Patches (anderer Hersteller als das Hirn).",tone:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25"}],CL=Qx.map(e=>e.role),lk=Object.fromEntries(Qx.map(e=>[e.role,e])),ck=e=>({role:e||"?",label:e||"unbekannt",short:e||"?",icon:Na,desc:"Rolle ohne hinterlegten Klartext-Namen.",tone:"bg-slate-500/15 text-slate-300 border-slate-500/25"}),PL={fast:"hermes",coder_lite:"coder-lite"};function ft(e){return e&&(lk[e]||lk[PL[e]])||ck(e)}function mo({role:e,dense:t=!1,className:r}){const n=ft(e),i=n.icon;return s.jsxs("span",{className:J("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-semibold border tracking-wide",n.tone,r),title:`${n.desc} (${n.role})`,children:[s.jsx(i,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),t?n.short:n.label]})}function OL({fit:e}){const t={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[e.level];return s.jsxs("span",{className:J("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",t),children:[e.text," • ",e.req_gb," GB RAM"]})}function gf(e){const t=e.toLowerCase();return t.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:t.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:t.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:t.includes("mistral")||t.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:t.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:t.includes("hermes")||t.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:t.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function xE({model:e,onClose:t,onChanged:r}){var w,k;const{data:n,isLoading:i}=NL(e.gguf_path),[o,c]=x.useState(null),[u,f]=x.useState(""),h=n==null?void 0:n.target_vocab,m=(n==null?void 0:n.drafts)??[],p=m.filter(S=>S.compatible===!0),v=e.spec_draft_model;async function b(S){c(S??"__clear__"),f("");try{await xe(`/api/models/${encodeURIComponent(e.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:S})}),r(),t()}catch(E){f(String((E==null?void 0:E.message)||E)),c(null)}}const N=S=>{var E;return S?`${S.pre??"?"} · ${((E=S.n_vocab)==null?void 0:E.toLocaleString())??"?"} Tokens`:"—"};return s.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:s.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[s.jsx(wa,{className:"h-4 w-4"})," Speculative Draft"]}),s.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',s.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),s.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[s.jsx("span",{className:"text-muted-foreground",children:(w=e.name.split("/").pop())==null?void 0:w.replace(/\.gguf$/i,"")}),s.jsxs("span",{className:"text-foreground",children:["Vocab: ",N(h)]})]}),e.spec_active&&v&&s.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[s.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[s.jsx(It,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",v]}),s.jsx("button",{onClick:()=>b(null),disabled:o!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&s.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[s.jsx(vr,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),s.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?s.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):m.length===0?s.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",s.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):m.map(S=>{var A,_;const E=S.filename===v,C=S.compatible===!0;return s.jsxs("div",{className:J("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",C?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",E&&"border-primary/40 bg-primary/10"),children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate flex items-center gap-1.5",children:[S.filename,S.mtp&&s.jsx("span",{className:"shrink-0 rounded bg-indigo-500/15 px-1.5 py-0.5 text-[8px] font-bold uppercase tracking-wider text-indigo-400 border border-indigo-500/25",title:"MTP-Kopf (Multi-Token-Prediction) — by-construction vocab-identisch, höchste Akzeptanzrate",children:"MTP"})]}),s.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[lr(S.size_bytes)," · Vocab: ",N(S.vocab)]})]}),C?E?s.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[s.jsx(It,{className:"h-3.5 w-3.5"})," Aktiv"]}):s.jsx("button",{onClick:()=>b(S.path),disabled:o!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):s.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:S.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(A=S.vocab)==null?void 0:A.pre}/${(_=S.vocab)==null?void 0:_.n_vocab} ≠ Modell ${h==null?void 0:h.pre}/${h==null?void 0:h.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[s.jsx(vr,{className:"h-3.5 w-3.5"})," ",S.compatible===!1?"Vocab ≠":"n/a"]})]},S.path)})}),!i&&(n==null?void 0:n.target_exists)&&m.length>0&&p.length===0&&s.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",s.jsx("span",{className:"font-mono",children:h==null?void 0:h.pre}),", n_vocab=",s.jsx("span",{className:"font-mono",children:(k=h==null?void 0:h.n_vocab)==null?void 0:k.toLocaleString()}),")."]}),u&&s.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:u})]})})}const uk={hermes:{bar:"bg-indigo-500",dot:"bg-indigo-500",text:"text-indigo-400"},embed:{bar:"bg-emerald-500",dot:"bg-emerald-500",text:"text-emerald-400"},vision:{bar:"bg-pink-500",dot:"bg-pink-500",text:"text-pink-400"},heavy:{bar:"bg-amber-500",dot:"bg-amber-500",text:"text-amber-400"},"coder-lite":{bar:"bg-violet-500",dot:"bg-violet-500",text:"text-violet-400"},coder:{bar:"bg-fuchsia-500",dot:"bg-fuchsia-500",text:"text-fuchsia-400"},scout:{bar:"bg-teal-500",dot:"bg-teal-500",text:"text-teal-400"},kritiker:{bar:"bg-cyan-500",dot:"bg-cyan-500",text:"text-cyan-400"},reranker:{bar:"bg-lime-500",dot:"bg-lime-500",text:"text-lime-400"}},_L={fast:"hermes",coder_lite:"coder-lite"},dk={bar:"bg-slate-400",dot:"bg-slate-400",text:"text-slate-300"};function vf(e){return e&&(uk[e]||uk[_L[e]])||dk}const fk=1024**3,hk=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function ML({running:e,capacityBytes:t,realUsedBytes:r,selected:n,onSelect:i}){const o=t>2*fk?t:124*fk,c=e.reduce((h,m)=>h+(m.size_bytes||0),0),u=Math.max(0,o-c),f=u/o*100;return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(ga,{className:"h-5 w-5 text-primary"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Arbeitsspeicher"}),s.jsxs("div",{className:"font-space text-xl font-bold tracking-tight text-foreground",children:[Jr(o)," GB ",s.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"gesamt"})]})]})]}),s.jsxs("div",{className:"text-right text-[11px] font-mono text-muted-foreground",children:[s.jsxs("div",{children:[s.jsxs("span",{className:"font-bold text-foreground",children:[Jr(c)," GB"]})," Modelle geladen"]}),r>0&&s.jsxs("div",{children:[Jr(r)," GB real belegt (inkl. KV-Cache)"]}),s.jsxs("div",{className:"text-emerald-400",children:[Jr(u)," GB frei"]})]})]}),s.jsx("div",{className:"flex h-12 w-full overflow-hidden rounded-xl border border-border/40 bg-background/50 p-1",children:e.length===0?s.jsx("div",{className:"flex w-full items-center justify-center text-[11px] italic text-muted-foreground/60",children:"Kein Modell geladen — Auto-Swap holt bei Anfrage automatisch das passende."}):s.jsxs(s.Fragment,{children:[e.map(h=>{const m=(h.size_bytes||0)/o*100,p=vf(h.role),v=n===h.name;return s.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),style:{width:`${m}%`},title:`${ft(h.role).label} · ${hk(h.name)} · ${lr(h.size_bytes)}`,className:J("group flex h-full min-w-[2.5rem] shrink-0 flex-col justify-center gap-0.5 rounded-lg px-2 text-left text-white transition-all",p.bar,v?"ring-2 ring-white/70":"opacity-90 hover:opacity-100"),children:[s.jsx("span",{className:"truncate font-space text-[10px] font-bold leading-tight tracking-wide",children:ft(h.role).short}),s.jsx("span",{className:"truncate font-mono text-[9px] leading-tight opacity-85",children:lr(h.size_bytes)})]},h.name)}),f>1.5&&s.jsx("div",{style:{width:`${f}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg text-[9px] font-mono text-muted-foreground/50",title:`${Jr(u)} GB frei`,children:"frei"})]})}),e.length>0&&s.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-4 gap-y-1.5",children:[e.map(h=>{const m=vf(h.role);return s.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),className:"flex items-center gap-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx("span",{className:J("h-2.5 w-2.5 rounded-sm",m.dot)}),s.jsx("span",{className:J("font-semibold",m.text),children:ft(h.role).short}),s.jsx("span",{className:"font-mono text-muted-foreground/70",children:hk(h.name)})]},h.name)}),s.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",children:[s.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-border/50 bg-background/50"})," frei · ",Jr(u)," GB"]})]})]})}const mk=1024**3,Ga=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function IL(){var M,q,le,oe;const e=_r(),{data:t,isLoading:r,error:n}=Ni(4e3),{data:i}=Co(),{data:o}=Vx(),{showAlert:c,showConfirm:u,showPrompt:f,dialogElement:h}=sn(),m=Hx(),p=(t==null?void 0:t.models)??[],v=(t==null?void 0:t.running)??[],b=ee=>!!ft(ee).protected,N=(M=o==null?void 0:o.groups)==null?void 0:M.brains,w=(N==null?void 0:N.members)??[],k=ee=>w.includes(ee),[S,E]=x.useState(null),[C,A]=x.useState(""),[_,O]=x.useState("all"),[I,B]=x.useState(null),F=()=>{e.invalidateQueries({queryKey:$e.models}),e.invalidateQueries({queryKey:$e.routing}),e.invalidateQueries({queryKey:$e.groups})},R=p.filter(ee=>v.includes(ee.name)),Q=((q=i==null?void 0:i.gpu)==null?void 0:q.gtt_total)||((le=i==null?void 0:i.gpu)==null?void 0:le.vram_total)||0,U=((oe=i==null?void 0:i.gpu)==null?void 0:oe.gtt_used)||0,ge=Q>2*mk?Q:124*mk,ue=x.useMemo(()=>{const ee=C.trim().toLowerCase();return p.filter(ne=>_==="in_use"?!!ne.role||v.includes(ne.name):!0).filter(ne=>ee?ne.name.toLowerCase().includes(ee):!0).sort((ne,he)=>{const re=v.includes(ne.name)?0:1,ye=v.includes(he.name)?0:1;return re!==ye?re-ye:Ga(ne.name).localeCompare(Ga(he.name))})},[p,v,_,C]),pe=p.find(ee=>ee.name===S)??null;async function se(ee){try{await xe(`/api/models/${encodeURIComponent(ee)}/load`,{method:"POST"}),F()}catch(ne){c("Fehler",`Laden fehlgeschlagen: ${ne.message||ne}`)}}async function ae(ee){const ne=w.some(he=>v.includes(he));if(N&&ne&&!k(ee)){const he=w.filter(re=>v.includes(re)).map(Ga).join(", ");u("Verdrängt das Hirn?",`„${Ga(ee)}" ist nicht ko-resident. Beim Laden wirft es das warme Hirn (${he}) raus — Lucy verliert Hirn bzw. Augen. -Trotzdem exklusiv laden?`,()=>se(ee));return}se(ee)}async function Z(ee){const ne=p.find(he=>he.name===ee);if(ne&&b(ne.role)){c("Geschützt",`„${ft(ne.role).label}" ist lebenswichtig und bleibt geladen.`);return}try{await xe(`/api/models/${encodeURIComponent(ee)}/unload`,{method:"POST"}),F()}catch(he){c("Fehler",`Entladen fehlgeschlagen: ${he.message||he}`)}}async function te(ee,ne){try{const he=await xe(`/api/models/${encodeURIComponent(ne)}/role`,{method:"POST",body:JSON.stringify({role:ee||null})});F(),he!=null&&he.warning&&c("Rolle gesetzt — Hinweis",he.warning)}catch(he){c("Fehler",`Rolle zuweisen fehlgeschlagen: ${he.message||he}`)}}async function ie(ee,ne){let he=null;try{he=await xe(`/api/models/${encodeURIComponent(ee)}/ctx/auto`)}catch{}const re=he?`Optimal für dein Setup: ${(he.ctx/1024).toFixed(0)}k (${he.ctx}). »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";f("Kontextlänge anpassen",re,String(ne||32768),async ye=>{if(ye)try{await xe(`/api/models/${encodeURIComponent(ee)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(ye,10)})}),F()}catch(Oe){c("Fehler",`Kontext setzen fehlgeschlagen: ${Oe.message||Oe}`)}},void 0,he?{autoValue:String(he.ctx),autoLabel:`Auto (${(he.ctx/1024).toFixed(0)}k)`}:void 0)}async function D(ee){const ne=p.find(he=>he.name===ee);if(ne&&b(ne.role)){c("Geschützt",`„${ft(ne.role).label}" kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}u("Modell löschen?",`„${Ga(ee)}" und alle GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await xe(`/api/models/${encodeURIComponent(ee)}`,{method:"DELETE"}),N===ee&&E(null),F()}catch(he){c("Fehler",`Löschen fehlgeschlagen: ${he.message||he}`)}})}return r?s.jsx("div",{className:"py-16 text-center text-xs text-muted-foreground",children:"Werkbank wird geladen …"}):n?s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",String(n),")."]}):s.jsxs("div",{className:"space-y-5",children:[s.jsx(_L,{running:R,capacityBytes:ge,realUsedBytes:U,selected:N,onSelect:E}),s.jsxs("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(rl,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60"}),s.jsx("input",{value:C,onChange:ee=>A(ee.target.value),placeholder:"Modell suchen …",className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 pl-8 pr-2 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"})]}),s.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:["all","in_use"].map(ee=>s.jsx("button",{onClick:()=>O(ee),className:J("rounded-md px-2 py-1 text-[9px] font-bold uppercase transition-all cursor-pointer",_===ee?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:ee==="all"?"Alle":"In Benutzung"},ee))})]}),s.jsx("div",{className:"max-h-[60vh] space-y-1.5 overflow-y-auto scrollbar-thin pr-1",children:ue.length===0?s.jsx("div",{className:"rounded-xl border border-dashed border-border/50 p-8 text-center text-xs text-muted-foreground",children:"Keine Modelle."}):ue.map(ee=>{const ne=v.includes(ee.name),he=N===ee.name,re=pf(ee.name),ye=gf(ee.role);return s.jsxs("button",{onClick:()=>E(ee.name),className:J("flex w-full items-center gap-2.5 rounded-xl border p-2.5 text-left transition-all cursor-pointer",he?"border-primary/60 bg-primary/10":"border-border/40 bg-background/20 hover:border-primary/30 hover:bg-background/40"),children:[s.jsx("span",{className:J("flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-[10px] font-bold",re.color),children:re.initial}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("div",{className:"truncate font-mono text-xs font-semibold text-foreground",children:Ga(ee.name)}),s.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[ee.role&&s.jsx("span",{className:J("h-2 w-2 rounded-sm",ye.dot)}),s.jsx("span",{className:"text-[10px] text-muted-foreground",children:ee.role?ft(ee.role).short:"keine Rolle"}),s.jsxs("span",{className:"text-[10px] text-muted-foreground/50",children:["· ",lr(ee.size_bytes)]})]})]}),ne?s.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[9px] font-bold uppercase text-emerald-400",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]}):ee.incomplete?s.jsx("span",{className:"shrink-0 text-[9px] font-bold uppercase text-amber-400",children:"⚠ fehlt"}):s.jsx("span",{className:"shrink-0 text-[9px] font-semibold uppercase text-muted-foreground/50",children:"bereit"})]},ee.name)})})]}),s.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:pe?s.jsx(IL,{m:pe,warm:v.includes(pe.name),expert:m,protectedRole:b(pe.role),coresident:k(pe.name),onLoad:()=>ae(pe.name),onUnload:()=>Z(pe.name),onRole:ee=>te(ee,pe.name),onCtx:()=>ie(pe.name,pe.ctx),onSpec:()=>B(pe),onDelete:()=>D(pe.name)}):s.jsxs("div",{className:"flex h-full min-h-[16rem] flex-col items-center justify-center gap-2 text-center text-muted-foreground",children:[s.jsx(yi,{className:"h-8 w-8 opacity-40"}),s.jsx("p",{className:"text-sm font-semibold",children:"Links ein Modell wählen"}),s.jsx("p",{className:"text-xs",children:"Dann verwaltest du es hier — laden, Rolle, Kontext, löschen."})]})})]}),I&&s.jsx(pE,{model:I,onClose:()=>B(null),onChanged:F}),h]})}function IL({m:e,warm:t,expert:r,protectedRole:n,coresident:i,onLoad:o,onUnload:c,onRole:u,onCtx:f,onSpec:h,onDelete:m}){const p=pf(e.name),v=t&&n;return s.jsxs("div",{className:"flex h-full flex-col gap-4",children:[s.jsxs("div",{className:"flex items-start gap-3",children:[s.jsx("span",{className:J("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border text-sm font-bold",p.color),children:p.initial}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("h2",{className:"break-all font-mono text-sm font-bold text-foreground",children:Ga(e.name)}),s.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[e.role?s.jsx(mo,{role:e.role}):s.jsx("span",{className:"rounded border border-dashed border-border/50 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:"keine Rolle"}),n&&s.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 text-[10px] text-muted-foreground",title:"Lebenswichtig — geschützt",children:[s.jsx(u5,{className:"mr-0.5 inline h-3 w-3"}),"geschützt"]}),i&&s.jsxs("span",{className:"rounded border border-fuchsia-500/30 bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase text-fuchsia-300",children:[s.jsx(Sa,{className:"mr-0.5 inline h-3 w-3"}),"Ko-resident"]}),t&&s.jsxs("span",{className:"flex items-center gap-1 text-[10px] font-bold uppercase text-emerald-400",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]})]})]})]}),s.jsxs("button",{onClick:t?c:o,disabled:e.incomplete&&!t||v,className:J("flex h-11 w-full items-center justify-center gap-2 rounded-xl border text-sm font-bold transition-all cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",t?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),title:v?`„${ft(e.role).label}" bleibt geladen (geschützt).`:void 0,children:[t?s.jsx(mI,{className:"h-4 w-4"}):s.jsx(h5,{className:"h-4 w-4"}),v?"🔒 bleibt geladen":t?"Entladen":"Ins Warm-Set laden"]}),s.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsx("div",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Rolle"}),s.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[s.jsx(hk,{active:!e.role,onClick:()=>u(""),dot:"bg-slate-400",label:"keine"}),qx.map(b=>s.jsx(hk,{active:e.role===b.role,onClick:()=>u(b.role),dot:gf(b.role).dot,label:b.short},b.role))]})]}),s.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[s.jsx(TL,{icon:ga,label:"Größe",value:lr(e.size_bytes)}),s.jsxs("button",{onClick:f,className:"group flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5 text-left transition-colors hover:border-primary/40 cursor-pointer",children:[s.jsx(f5,{className:"h-4 w-4 text-primary/80"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"Kontext · ändern"}),s.jsx("div",{className:"font-semibold text-foreground",children:Cv(e.ctx)})]})]})]}),s.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[s.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Beschleuniger"}),r&&s.jsxs("button",{onClick:h,className:J("flex h-6 items-center gap-1 rounded-lg border px-2 text-[9px] font-bold uppercase transition-colors cursor-pointer",e.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":e.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),children:[s.jsx(wa,{className:"h-3 w-3"})," Spec"]})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.spec_active&&s.jsx(Ld,{tone:"emerald",label:"Spec-Decoding aktiv"}),!e.spec_active&&e.spec_draft_model&&s.jsx(Ld,{tone:"amber",label:"Spec inaktiv"}),e.prompt_cache&&s.jsx(Ld,{tone:"cyan",label:"Prompt-Cache"}),e.parallel_slots>1&&s.jsx(Ld,{tone:"violet",label:`${e.parallel_slots} Slots`}),!e.spec_active&&!e.spec_draft_model&&!e.prompt_cache&&e.parallel_slots<=1&&s.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"keine aktiv"})]})]}),s.jsx("div",{className:"flex flex-wrap gap-1",children:s.jsx(Pv,{caps:e.capabilities})}),s.jsxs("button",{onClick:m,disabled:n,className:J("mt-auto flex h-9 items-center justify-center gap-1.5 rounded-lg border text-xs font-semibold transition-colors",n?"cursor-not-allowed border-border/30 text-muted-foreground/40":"border-red-500/30 text-red-400 hover:bg-red-500/10 cursor-pointer"),children:[s.jsx(Us,{className:"h-3.5 w-3.5"})," ",n?"geschützt — nicht löschbar":"Modell löschen"]})]})}function hk({active:e,onClick:t,dot:r,label:n}){return s.jsxs("button",{onClick:t,className:J("flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[10px] font-semibold transition-all cursor-pointer",e?"border-primary/60 bg-primary/15 text-foreground":"border-border/40 bg-background/20 text-muted-foreground hover:border-primary/30"),children:[s.jsx("span",{className:J("h-2 w-2 rounded-sm",r)}),n,e&&s.jsx(Mt,{className:"h-3 w-3 text-primary"})]})}function TL({icon:e,label:t,value:r}){return s.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5",children:[s.jsx(e,{className:"h-4 w-4 text-primary/80"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:t}),s.jsx("div",{className:"font-semibold text-foreground",children:r})]})]})}function Ld({tone:e,label:t}){const r={emerald:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",amber:"bg-amber-500/10 text-amber-400 border-amber-500/20",cyan:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20",violet:"bg-violet-500/10 text-violet-400 border-violet-500/20"}[e];return s.jsx("span",{className:J("rounded border px-1.5 py-0.5 text-[10px] font-semibold",r),children:t})}const DL=[{key:"popular",label:"Beliebt",q:""},{key:"coder",label:"Coder",q:"coder"},{key:"vision",label:"Vision",q:"vision"},{key:"reasoning",label:"Reasoning",q:"reasoning"},{key:"small",label:"Klein (≤4B)",q:"3B"}],LL=["fast","heavy","coder","vision","hermes","scout"],RL=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1});function mk(e){return RL.format(e)}function $L(){const{data:e}=Si(),t=(e==null?void 0:e.models)??[],[r,n]=x.useState(""),[i,o]=x.useState([]),[c,u]=x.useState(!1),[f,h]=x.useState(""),[m,p]=x.useState("popular"),[v,b]=x.useState(""),[S,w]=x.useState(null),[k,N]=x.useState([]),[E,C]=x.useState("Q4_K_M"),[A,_]=x.useState(""),[O,I]=x.useState(null),[B,F]=x.useState(!1),[R,Q]=x.useState({});async function U(M){u(!0),h("");try{const q=await xe(`/api/hf/search?q=${encodeURIComponent(M)}`);o(q.results),q.results.length||h("Keine Ergebnisse.")}catch(q){h(`Suche fehlgeschlagen: ${q}`)}finally{u(!1)}}x.useEffect(()=>{U("")},[]);function ge(M){p(M.key),n(""),U(M.q)}function ue(){p(""),U(r)}async function pe(M,q,le){F(!1);try{const oe=await xe(`/api/fit?params_b=0&quant=${encodeURIComponent(q)}&ctx=8192&name=${encodeURIComponent(M)}&role=${encodeURIComponent(le)}`);I(oe)}catch{I(null)}}async function se(M){if(S===M){w(null);return}w(M),N([]),I(null),_(""),F(!1),h("Analysiere Repository…");try{const q=await xe(`/api/hf/quants?repo=${encodeURIComponent(M)}`);N(q.quants);const le=q.quants.includes("Q4_K_M")?"Q4_K_M":q.quants[0]||"Q4_K_M";C(le),h(q.quants.length?"":"Keine GGUF-Dateien in diesem Repo gefunden."),q.quants.length&&pe(q.repo,le,"")}catch(q){h(`Fehler: ${q}`)}}function ae(){const M=v.trim();M&&(o(q=>q.some(le=>le.repo===M)?q:[{repo:M,downloads:0,likes:0},...q]),b(""),se(M))}const Z=A?t.find(M=>(M.role||"").toLowerCase()===A):void 0;async function te(M){if((O==null?void 0:O.fit.level)==="too_tight"&&!B){F(!0);return}Q(q=>({...q,[M]:"Starte…"}));try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:M,quant:E,role:A||void 0,jinja:!0})}),Q(q=>({...q,[M]:"Download läuft"})),F(!1)}catch{Q(le=>({...le,[M]:"Fehler"}))}}const ie=M=>{var le;const q=((le=M.split("/").pop())==null?void 0:le.toLowerCase().replace(/-gguf$/i,""))||"";return q.length>3&&t.some(oe=>oe.name.toLowerCase().includes(q))},D=M=>M==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":M==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return s.jsxs("div",{className:"space-y-5",children:[s.jsxs("div",{className:"flex gap-2",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(rl,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),s.jsx("input",{value:r,onChange:M=>n(M.target.value),onKeyDown:M=>M.key==="Enter"&&ue(),"aria-label":"HuggingFace durchsuchen",type:"search",spellCheck:!1,placeholder:"HuggingFace durchsuchen (z.B. Qwen Coder, Llama-3.1, gemma)…",className:"w-full h-10 pl-9 pr-3 rounded-xl border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),s.jsx("button",{onClick:ue,className:"h-10 px-5 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Suchen"})]}),s.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:DL.map(M=>s.jsxs("button",{onClick:()=>ge(M),className:J("flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[11px] font-semibold transition-all cursor-pointer border",m===M.key?"bg-primary/15 text-primary border-primary/30":"border-border/50 text-muted-foreground hover:text-foreground hover:border-border"),children:[M.key==="popular"&&s.jsx(QM,{className:"h-3 w-3"}),M.label]},M.key))}),c?s.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:"Lade GGUF-Modelle von HuggingFace…"}):s.jsxs("div",{className:"space-y-2",children:[i.map(M=>{const q=S===M.repo,le=ie(M.repo),oe=M.repo.includes("/")?M.repo.split("/")[0]:"—",ee=M.repo.split("/").pop();return s.jsxs("div",{className:J("rounded-xl border bg-card/45 backdrop-blur-md transition-all",q?"border-primary/40 shadow-lg shadow-primary/5":"border-border/50 hover:border-primary/30"),children:[s.jsxs("button",{onClick:()=>se(M.repo),className:"w-full flex items-center gap-3 p-3.5 text-left cursor-pointer",children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[s.jsx("span",{className:"text-xs font-bold font-mono text-foreground truncate max-w-[280px]",title:M.repo,children:ee}),le&&s.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-1.5 py-0.5 rounded",children:[s.jsx(Mt,{className:"h-2.5 w-2.5"})," installiert"]})]}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-3 mt-0.5 font-mono",children:[s.jsx("span",{children:oe}),s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(Bs,{className:"h-3 w-3"})," ",mk(M.downloads)]}),M.likes>0&&s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(eI,{className:"h-3 w-3"})," ",mk(M.likes)]})]})]}),q?s.jsx(r5,{className:"h-4 w-4 text-muted-foreground shrink-0"}):s.jsx(tl,{className:"h-4 w-4 text-muted-foreground shrink-0"})]}),q&&s.jsx("div",{className:"border-t border-border/30 p-3.5 space-y-3",children:k.length===0?s.jsx("div",{className:"text-[11px] text-muted-foreground font-mono",children:f||"Lade Quants…"}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Quant"}),s.jsx("select",{value:E,onChange:ne=>{C(ne.target.value),pe(M.repo,ne.target.value,A)},"aria-label":"Quantisierung",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:k.map(ne=>s.jsx("option",{value:ne,className:"bg-popover text-foreground",children:ne},ne))}),s.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Rolle"}),s.jsxs("select",{value:A,onChange:ne=>{_(ne.target.value),pe(M.repo,E,ne.target.value)},"aria-label":"Rolle",title:"Optional — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:[s.jsx("option",{value:"",className:"bg-popover text-foreground",children:"keine"}),LL.map(ne=>s.jsx("option",{value:ne,className:"bg-popover text-foreground",children:ne},ne))]}),s.jsx("button",{onClick:()=>te(M.repo),disabled:!!R[M.repo]&&R[M.repo]==="Download läuft",className:J("h-8 px-3.5 ml-auto rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5",B?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"),children:R[M.repo]?R[M.repo]:B?s.jsxs(s.Fragment,{children:[s.jsx(vr,{className:"h-3.5 w-3.5"})," OOM — trotzdem laden"]}):s.jsxs(s.Fragment,{children:[s.jsx(Bs,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]}),O&&s.jsxs("div",{className:J("flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium",D(O.fit.level)),children:[s.jsx("span",{className:"font-bold uppercase tracking-wide",children:O.fit.text}),s.jsxs("span",{className:"font-mono opacity-90",children:["~",O.params_b,"B · ~",O.fit.req_gb," GB / ",O.sys_ram_gb," GB · ~",O.fit.tps," t/s"]}),O.fit.level!=="too_tight"?s.jsxs("span",{className:"font-mono opacity-80",children:["ctx → ",(O.assigned_ctx/1024).toFixed(0),"k"]}):s.jsx("span",{className:"opacity-90",children:"— passt nicht, würde beim Laden abstürzen (OOM)."})]}),Z&&s.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-400",children:[s.jsx(vr,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),s.jsxs("span",{children:["Rolle ",s.jsxs("strong",{children:["„",A,'"']})," hält aktuell ",s.jsx("strong",{children:Z.name.split("/").pop()})," — wird beim Download übernommen."]})]})]})})]},M.repo)}),!i.length&&!c&&s.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:f||"Keine Ergebnisse."})]}),s.jsxs("div",{className:"border-t border-border/30 pt-4 flex flex-col sm:flex-row gap-2 items-stretch sm:items-center",children:[s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground shrink-0",children:"Direkt:"}),s.jsx("input",{value:v,onChange:M=>b(M.target.value),onKeyDown:M=>M.key==="Enter"&&ae(),"aria-label":"Repository oder URL direkt eingeben",spellCheck:!1,placeholder:"org/repo oder HF-URL (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground font-mono"}),s.jsx("button",{onClick:ae,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Laden"})]})]})}const zL={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:wa},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:Sa},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:Fs},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:Cc},hermes:{title:"Lucys Hirn (Agent)",desc:"Lucys dauer-warmes Agent-Hirn mit Tool-Calling — bleibt ko-resident, lädt nie kalt nach.",icon:LM},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:vv},kritiker:{title:"Kritisches Prüf-Hirn",desc:"Schärfer Blick für Fehler, Schwachstellen und Sicherheitslücken — denkt skeptisch, bevor du deployst.",icon:m5},reranker:{title:"Gedächtnis-Sortierer",desc:"Sortiert und gewichtet gespeicherte Fakten nach Relevanz — damit die richtige Info sofort da ist.",icon:rl}};function FL(){const{data:e,isLoading:t,error:r}=kL(),{data:n}=Si(),{data:i}=wh(),o=(n==null?void 0:n.models)??[],c=r?String(r):"",[u,f]=x.useState({}),[h,m]=x.useState({}),[p,v]=x.useState("recommended");async function b(S,w,k,N){f(E=>({...E,[S]:"Starte..."}));try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:S,role:w,quant:k,jinja:N})}),f(E=>({...E,[S]:"Download läuft"}))}catch{f(C=>({...C,[S]:"Fehler"}))}}return s.jsxs("div",{className:"space-y-6",children:[s.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 w-fit",children:[["recommended","Empfohlen"],["browse","Stöbern & Suchen"]].map(([S,w])=>s.jsx("button",{onClick:()=>v(S),className:J("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide transition-all cursor-pointer",p===S?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:w},S))}),p==="browse"?s.jsx($L,{}):t?s.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):c||!e?s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",c,")."]}):s.jsxs("div",{className:"space-y-8",children:[s.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[s.jsxs("div",{children:["Modell-Registry geladen für ",s.jsxs("span",{className:"text-foreground font-bold",children:[e.sys_ram_gb," GB"]})," System-RAM."]}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx(jI,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),s.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),s.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:e.categories.map(S=>{const w=zL[S.role]||{title:S.title||S.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:l5},k=w.icon,N=o.find(I=>I.role===S.role||(I.aliases||[]).includes(S.role)),E=i==null?void 0:i.model_list.find(I=>I.role===S.role),C=S.models.find(I=>I.repo===S.recommended)||S.models[0];if(!C)return null;const A=u[C.repo],_=S.models.filter(I=>I.repo!==S.recommended),O=!!h[S.role];return s.jsxs("div",{className:J("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",N?"border-border/60":"border-primary/20 shadow-primary/5"),children:[s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:s.jsx(k,{className:"h-5.5 w-5.5"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:w.title}),s.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",S.role]})]})]}),N?s.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):s.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),s.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:w.desc}),s.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:N?s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),s.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:N.name,children:N.name.split("/").pop()}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[s.jsxs("span",{children:["Größe: ",Av(N.size_bytes||0)]}),s.jsx("span",{children:"•"}),s.jsxs("span",{children:["Quant: ",N.quant||"GGUF"]})]})]}):s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),s.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:C.name,children:C.name}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[s.jsxs("span",{children:["Ersteller: ",C.author]}),s.jsx("span",{children:"•"}),s.jsxs("span",{children:["Quant: ",C.quant]})]}),s.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:s.jsx(PL,{fit:C.fit})})]})}),s.jsx("div",{className:"pt-1",children:N?E?s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),s.jsxs("span",{children:["Bessere Version in der Registry: ",E.repo.split("/").pop()]})]}),s.jsxs("button",{onClick:()=>b(E.repo,S.role,C.quant||"Q4_K_M",C.caps.tools!=="no"),disabled:!!u[E.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[s.jsx(Bs,{className:"h-3.5 w-3.5"}),u[E.repo]||"Auf neue Version aktualisieren"]})]}):s.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[s.jsx(Mt,{className:"h-4 w-4"})," Auf neuestem Stand"]}):s.jsxs("button",{onClick:()=>b(C.repo,S.role,C.quant||"Q4_K_M",C.caps.tools!=="no"),disabled:!!A,className:J("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",A?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[s.jsx(Bs,{className:"h-3.5 w-3.5"}),A||"Optimales Modell einsetzen"]})})]}),_.length>0&&s.jsxs("div",{className:"border-t border-border/20 pt-3",children:[s.jsxs("button",{onClick:()=>m(I=>({...I,[S.role]:!O})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[O?s.jsx(r5,{className:"h-3 w-3"}):s.jsx(tl,{className:"h-3 w-3"}),s.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",_.length,")"]})]}),O&&s.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:_.map(I=>s.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:I.name,children:I.name}),s.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[s.jsxs("span",{children:["Quant: ",I.quant]}),s.jsx("span",{children:"•"}),s.jsx("span",{children:I.fit.text})]})]}),s.jsx("button",{onClick:()=>b(I.repo,S.role,I.quant||"Q4_K_M",I.caps.tools!=="no"),disabled:!!u[I.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:u[I.repo]||"Installieren"})]},I.repo))})]})]},S.role)})})]})]})}function BL(){const[e,t]=x.useState("cockpit");return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),s.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(r=>s.jsx("button",{onClick:()=>t(r),className:J("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:r==="cockpit"?"Werkbank":"Modelle finden"},r))})]}),s.jsx(EL,{}),s.jsx("div",{className:"transition-all duration-300",children:e==="cockpit"?s.jsx(ML,{}):s.jsx(FL,{})})]})}const pk={hermes_desktop:"Hermes Desktop: Browser-Login",kilo:"Kilo: Einstellungen → API Provider",claude_code:"env / Übersetzer"};function vg({line:e,loading:t}){return t||!e?s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[s.jsx(Ut,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):e.ok?s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[s.jsx(n5,{className:"h-3 w-3"})," ",e.detail]}):s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[s.jsx(UM,{className:"h-3 w-3"})," ",e.detail]})}function xg({tool:e,fileName:t,accent:r,copied:n,onCopy:i}){return s.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[s.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),s.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),s.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),s.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:s.jsx("span",{children:t})}),s.jsxs("button",{onClick:i,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[n?s.jsx(Mt,{className:"h-3.5 w-3.5 text-emerald-400"}):s.jsx(xv,{className:"h-3.5 w-3.5"}),s.jsx("span",{children:n?"Kopiert":"Kopieren"})]})]}),s.jsx("pre",{className:J("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",r==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:s.jsx("code",{children:e.snippet})})]})}function gE(){const[e,t]=x.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[r,n]=x.useState(localStorage.getItem("mc_mcp_path")||""),[i,o]=x.useState("kilo"),[c,u]=x.useState(!1),[f,h]=x.useState(null),m=new URLSearchParams({host:e});r&&m.set("mcp_path",r);const{data:p,error:v}=SL(m.toString()),{data:b,isLoading:S}=hE(),w=v?String(v):"";function k(_){t(_),_&&localStorage.setItem("mc_host",_)}function N(_){n(_),localStorage.setItem("mc_mcp_path",_)}const E=p==null?void 0:p.tools.hermes_desktop,C=p==null?void 0:p.tools[i];async function A(_,O){O&&(await navigator.clipboard.writeText(O),h(_),setTimeout(()=>h(null),1500))}return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),s.jsxs("p",{className:"text-sm text-muted-foreground",children:[s.jsx("span",{className:"text-foreground",children:"Hermes Desktop"})," ist die Tür zur Box — einmal verbinden, fertig. Für Spezialfälle gibt es darunter die rohen Leitungen (Gateway /v1 + Gedächtnis-MCP) für sonstige Tools."]})]}),s.jsxs("div",{className:"p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[s.jsx(og,{className:"h-7 w-7 mx-auto text-muted-foreground"}),s.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),s.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Hermes Desktop · Kilo Code · Claude Code …"})]}),s.jsxs("div",{className:"flex flex-col gap-2.5",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(wc,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[s.jsx(yi,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),s.jsx(vg,{line:b==null?void 0:b.gateway,loading:S})]}),s.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · Lanes chat / coding"})]})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(wc,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[s.jsx(Sa,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),s.jsx(vg,{line:b==null?void 0:b.memory,loading:S})]}),s.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"MCP · mcp_memory.py · separat"})]})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(wc,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 rounded-xl border border-emerald-500/25 bg-emerald-500/5 px-3.5 py-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-emerald-300",children:[s.jsx(og,{className:"h-3.5 w-3.5"})," Leitung 3 — Desktop-Gateway"]}),s.jsx(vg,{line:b==null?void 0:b.desktop_gateway,loading:S})]}),s.jsx("div",{className:"mt-1 text-[11px] font-mono text-emerald-300/80",children:"Desktop-Gateway · :9119 · API-Status"})]})]})]})]}),s.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",s.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das geteilte Gedächtnis läuft über einen",s.jsx("span",{className:"text-foreground",children:" eigenen MCP-Server"})," und das Desktop-Gateway bietet die Agenten-Schnittstelle — alle drei Leitungen werden unabhängig eingerichtet."]})]}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[s.jsx(XM,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),s.jsx("input",{value:e,onChange:_=>k(_.target.value),"aria-label":"Box LAN IP-Adresse",spellCheck:!1,placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[s.jsx(a5,{className:"h-3.5 w-3.5 text-violet-400"})," Lokaler MCP-Scriptpfad",s.jsx("span",{className:"text-violet-400/70 normal-case font-semibold tracking-normal",children:"(nur Leitung 2)"})]}),s.jsx("input",{value:r,onChange:_=>N(_.target.value),"aria-label":"Lokaler MCP-Scriptpfad",spellCheck:!1,placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-violet-500/50 text-foreground"})]})]}),w&&s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",w]}),p&&s.jsxs("div",{className:"space-y-5",children:[E&&s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-emerald-500/70 bg-card/30 p-4",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[s.jsx(og,{className:"h-4 w-4 text-emerald-400"}),"Hermes Desktop anbinden",s.jsx("span",{className:"text-[10px] font-medium text-emerald-400/90 normal-case",children:"der Hauptweg"})]}),s.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Die Desktop-App dockt remote an die Box an — volle Agent-Oberfläche, Projekte, Review, Gedächtnis inklusive."})]}),E.note&&s.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[s.jsx(ag,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),s.jsx("span",{children:E.note})]}),s.jsx(xg,{tool:E,fileName:pk.hermes_desktop,accent:"teal",copied:f==="desktop",onCopy:()=>A("desktop",E.snippet)})]}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/30",children:[s.jsxs("button",{onClick:()=>u(_=>!_),className:"flex w-full items-center gap-2 p-4 text-sm font-space font-bold text-foreground cursor-pointer hover:text-primary transition-colors",children:[c?s.jsx(tl,{className:"h-4 w-4"}):s.jsx(Kn,{className:"h-4 w-4"}),"Sonstige Tools (roher /v1-Zugang + Gedächtnis-MCP)",s.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"Kilo Code · Claude Code · Eigenbau"})]}),c&&s.jsxs("div",{className:"grid gap-5 lg:grid-cols-2 p-4 pt-0",children:[s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[s.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),s.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(p.tools).filter(([_])=>_!=="hermes_desktop").map(([_,O])=>s.jsx("button",{onClick:()=>o(_),className:J("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",i===_?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:O.label},_))}),C&&s.jsxs(s.Fragment,{children:[C.note&&s.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[s.jsx(ag,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),s.jsx("span",{children:C.note})]}),s.jsx(xg,{tool:C,fileName:pk[i]||"config.json",accent:"teal",copied:f==="model",onCopy:()=>A("model",C.snippet)})]})]}),s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-violet-500/70 bg-card/30 p-4",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[s.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-violet-500/15 text-violet-300 text-[11px]",children:"2"}),"Gedächtnis anbinden",s.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"optional"})]}),s.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:["Ein MCP-Block — gilt zusätzlich für ",s.jsx("em",{children:"jedes"})," Tool aus Schritt 1."]})]}),s.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-violet-500/5 border border-violet-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[s.jsx(ag,{className:"h-4 w-4 text-violet-400 shrink-0 mt-0.5"}),s.jsx("span",{children:p.memory.note})]}),s.jsx(xg,{tool:p.memory,fileName:"mcp.json",accent:"violet",copied:f==="memory",onCopy:()=>A("memory",p.memory.snippet)})]})]})]})]})]})}const UL="modulepreload",WL=function(e){return"/"+e},gk={},HL=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let c=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),f=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));i=c(r.map(h=>{if(h=WL(h),h in gk)return;gk[h]=!0;const m=h.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${p}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":UL,m||(v.as="script"),v.crossOrigin="",v.href=h,f&&v.setAttribute("nonce",f),document.head.appendChild(v),m)return new Promise((b,S)=>{v.addEventListener("load",b),v.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(c){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=c,window.dispatchEvent(u),!u.defaultPrevented)throw c}return i.then(c=>{for(const u of c||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};class vk extends x.Component{constructor(){super(...arguments);ns(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?s.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[s.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),s.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const xk=x.lazy(()=>HL(()=>import("./GraphView-y_-KFiL6.js"),[]).then(e=>({default:e.GraphView}))),Rd=["identity","knowledge","rules","events"],yk=new Set(["auto","agent","hermes"]),yg={identity:{label:"Identität",icon:NI,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:nl,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:xI,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:mh,bg:"bg-amber-500/10",text:"text-amber-400"}},bk={label:"Gedächtnis",icon:gv,text:"text-muted-foreground"},KL={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},wk=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: +Trotzdem exklusiv laden?`,()=>se(ee));return}se(ee)}async function Z(ee){const ne=p.find(he=>he.name===ee);if(ne&&b(ne.role)){c("Geschützt",`„${ft(ne.role).label}" ist lebenswichtig und bleibt geladen.`);return}try{await xe(`/api/models/${encodeURIComponent(ee)}/unload`,{method:"POST"}),F()}catch(he){c("Fehler",`Entladen fehlgeschlagen: ${he.message||he}`)}}async function te(ee,ne){try{const he=await xe(`/api/models/${encodeURIComponent(ne)}/role`,{method:"POST",body:JSON.stringify({role:ee||null})});F(),he!=null&&he.warning&&c("Rolle gesetzt — Hinweis",he.warning)}catch(he){c("Fehler",`Rolle zuweisen fehlgeschlagen: ${he.message||he}`)}}async function ie(ee,ne){let he=null;try{he=await xe(`/api/models/${encodeURIComponent(ee)}/ctx/auto`)}catch{}const re=he?`Optimal für dein Setup: ${(he.ctx/1024).toFixed(0)}k (${he.ctx}). »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";f("Kontextlänge anpassen",re,String(ne||32768),async ye=>{if(ye)try{await xe(`/api/models/${encodeURIComponent(ee)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(ye,10)})}),F()}catch(Oe){c("Fehler",`Kontext setzen fehlgeschlagen: ${Oe.message||Oe}`)}},void 0,he?{autoValue:String(he.ctx),autoLabel:`Auto (${(he.ctx/1024).toFixed(0)}k)`}:void 0)}async function D(ee){const ne=p.find(he=>he.name===ee);if(ne&&b(ne.role)){c("Geschützt",`„${ft(ne.role).label}" kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}u("Modell löschen?",`„${Ga(ee)}" und alle GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await xe(`/api/models/${encodeURIComponent(ee)}`,{method:"DELETE"}),S===ee&&E(null),F()}catch(he){c("Fehler",`Löschen fehlgeschlagen: ${he.message||he}`)}})}return r?s.jsx("div",{className:"py-16 text-center text-xs text-muted-foreground",children:"Werkbank wird geladen …"}):n?s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",String(n),")."]}):s.jsxs("div",{className:"space-y-5",children:[s.jsx(ML,{running:R,capacityBytes:ge,realUsedBytes:U,selected:S,onSelect:E}),s.jsxs("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(rl,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60"}),s.jsx("input",{value:C,onChange:ee=>A(ee.target.value),placeholder:"Modell suchen …",className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 pl-8 pr-2 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"})]}),s.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:["all","in_use"].map(ee=>s.jsx("button",{onClick:()=>O(ee),className:J("rounded-md px-2 py-1 text-[9px] font-bold uppercase transition-all cursor-pointer",_===ee?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:ee==="all"?"Alle":"In Benutzung"},ee))})]}),s.jsx("div",{className:"max-h-[60vh] space-y-1.5 overflow-y-auto scrollbar-thin pr-1",children:ue.length===0?s.jsx("div",{className:"rounded-xl border border-dashed border-border/50 p-8 text-center text-xs text-muted-foreground",children:"Keine Modelle."}):ue.map(ee=>{const ne=v.includes(ee.name),he=S===ee.name,re=gf(ee.name),ye=vf(ee.role);return s.jsxs("button",{onClick:()=>E(ee.name),className:J("flex w-full items-center gap-2.5 rounded-xl border p-2.5 text-left transition-all cursor-pointer",he?"border-primary/60 bg-primary/10":"border-border/40 bg-background/20 hover:border-primary/30 hover:bg-background/40"),children:[s.jsx("span",{className:J("flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-[10px] font-bold",re.color),children:re.initial}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("div",{className:"truncate font-mono text-xs font-semibold text-foreground",children:Ga(ee.name)}),s.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[ee.role&&s.jsx("span",{className:J("h-2 w-2 rounded-sm",ye.dot)}),s.jsx("span",{className:"text-[10px] text-muted-foreground",children:ee.role?ft(ee.role).short:"keine Rolle"}),s.jsxs("span",{className:"text-[10px] text-muted-foreground/50",children:["· ",lr(ee.size_bytes)]})]})]}),ne?s.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[9px] font-bold uppercase text-emerald-400",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]}):ee.incomplete?s.jsx("span",{className:"shrink-0 text-[9px] font-bold uppercase text-amber-400",children:"⚠ fehlt"}):s.jsx("span",{className:"shrink-0 text-[9px] font-semibold uppercase text-muted-foreground/50",children:"bereit"})]},ee.name)})})]}),s.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:pe?s.jsx(TL,{m:pe,warm:v.includes(pe.name),expert:m,protectedRole:b(pe.role),coresident:k(pe.name),onLoad:()=>ae(pe.name),onUnload:()=>Z(pe.name),onRole:ee=>te(ee,pe.name),onCtx:()=>ie(pe.name,pe.ctx),onSpec:()=>B(pe),onDelete:()=>D(pe.name)}):s.jsxs("div",{className:"flex h-full min-h-[16rem] flex-col items-center justify-center gap-2 text-center text-muted-foreground",children:[s.jsx(yi,{className:"h-8 w-8 opacity-40"}),s.jsx("p",{className:"text-sm font-semibold",children:"Links ein Modell wählen"}),s.jsx("p",{className:"text-xs",children:"Dann verwaltest du es hier — laden, Rolle, Kontext, löschen."})]})})]}),I&&s.jsx(xE,{model:I,onClose:()=>B(null),onChanged:F}),h]})}function TL({m:e,warm:t,expert:r,protectedRole:n,coresident:i,onLoad:o,onUnload:c,onRole:u,onCtx:f,onSpec:h,onDelete:m}){const p=gf(e.name),v=t&&n;return s.jsxs("div",{className:"flex h-full flex-col gap-4",children:[s.jsxs("div",{className:"flex items-start gap-3",children:[s.jsx("span",{className:J("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border text-sm font-bold",p.color),children:p.initial}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("h2",{className:"break-all font-mono text-sm font-bold text-foreground",children:Ga(e.name)}),s.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[e.role?s.jsx(mo,{role:e.role}):s.jsx("span",{className:"rounded border border-dashed border-border/50 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:"keine Rolle"}),n&&s.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 text-[10px] text-muted-foreground",title:"Lebenswichtig — geschützt",children:[s.jsx(f5,{className:"mr-0.5 inline h-3 w-3"}),"geschützt"]}),i&&s.jsxs("span",{className:"rounded border border-fuchsia-500/30 bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase text-fuchsia-300",children:[s.jsx(Na,{className:"mr-0.5 inline h-3 w-3"}),"Ko-resident"]}),t&&s.jsxs("span",{className:"flex items-center gap-1 text-[10px] font-bold uppercase text-emerald-400",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]})]})]})]}),s.jsxs("button",{onClick:t?c:o,disabled:e.incomplete&&!t||v,className:J("flex h-11 w-full items-center justify-center gap-2 rounded-xl border text-sm font-bold transition-all cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",t?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),title:v?`„${ft(e.role).label}" bleibt geladen (geschützt).`:void 0,children:[t?s.jsx(pI,{className:"h-4 w-4"}):s.jsx(p5,{className:"h-4 w-4"}),v?"🔒 bleibt geladen":t?"Entladen":"Ins Warm-Set laden"]}),s.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsx("div",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Rolle"}),s.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[s.jsx(pk,{active:!e.role,onClick:()=>u(""),dot:"bg-slate-400",label:"keine"}),Qx.map(b=>s.jsx(pk,{active:e.role===b.role,onClick:()=>u(b.role),dot:vf(b.role).dot,label:b.short},b.role))]})]}),s.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[s.jsx(DL,{icon:ga,label:"Größe",value:lr(e.size_bytes)}),s.jsxs("button",{onClick:f,className:"group flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5 text-left transition-colors hover:border-primary/40 cursor-pointer",children:[s.jsx(m5,{className:"h-4 w-4 text-primary/80"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"Kontext · ändern"}),s.jsx("div",{className:"font-semibold text-foreground",children:Cv(e.ctx)})]})]})]}),s.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[s.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Beschleuniger"}),r&&s.jsxs("button",{onClick:h,className:J("flex h-6 items-center gap-1 rounded-lg border px-2 text-[9px] font-bold uppercase transition-colors cursor-pointer",e.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":e.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),children:[s.jsx(wa,{className:"h-3 w-3"})," Spec"]})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.spec_active&&s.jsx(Rd,{tone:"emerald",label:"Spec-Decoding aktiv"}),!e.spec_active&&e.spec_draft_model&&s.jsx(Rd,{tone:"amber",label:"Spec inaktiv"}),e.prompt_cache&&s.jsx(Rd,{tone:"cyan",label:"Prompt-Cache"}),e.parallel_slots>1&&s.jsx(Rd,{tone:"violet",label:`${e.parallel_slots} Slots`}),!e.spec_active&&!e.spec_draft_model&&!e.prompt_cache&&e.parallel_slots<=1&&s.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"keine aktiv"})]})]}),s.jsx("div",{className:"flex flex-wrap gap-1",children:s.jsx(Pv,{caps:e.capabilities})}),s.jsxs("button",{onClick:m,disabled:n,className:J("mt-auto flex h-9 items-center justify-center gap-1.5 rounded-lg border text-xs font-semibold transition-colors",n?"cursor-not-allowed border-border/30 text-muted-foreground/40":"border-red-500/30 text-red-400 hover:bg-red-500/10 cursor-pointer"),children:[s.jsx(Us,{className:"h-3.5 w-3.5"})," ",n?"geschützt — nicht löschbar":"Modell löschen"]})]})}function pk({active:e,onClick:t,dot:r,label:n}){return s.jsxs("button",{onClick:t,className:J("flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[10px] font-semibold transition-all cursor-pointer",e?"border-primary/60 bg-primary/15 text-foreground":"border-border/40 bg-background/20 text-muted-foreground hover:border-primary/30"),children:[s.jsx("span",{className:J("h-2 w-2 rounded-sm",r)}),n,e&&s.jsx(It,{className:"h-3 w-3 text-primary"})]})}function DL({icon:e,label:t,value:r}){return s.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5",children:[s.jsx(e,{className:"h-4 w-4 text-primary/80"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:t}),s.jsx("div",{className:"font-semibold text-foreground",children:r})]})]})}function Rd({tone:e,label:t}){const r={emerald:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",amber:"bg-amber-500/10 text-amber-400 border-amber-500/20",cyan:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20",violet:"bg-violet-500/10 text-violet-400 border-violet-500/20"}[e];return s.jsx("span",{className:J("rounded border px-1.5 py-0.5 text-[10px] font-semibold",r),children:t})}const LL=[{key:"popular",label:"Beliebt",q:""},{key:"coder",label:"Coder",q:"coder"},{key:"vision",label:"Vision",q:"vision"},{key:"reasoning",label:"Reasoning",q:"reasoning"},{key:"small",label:"Klein (≤4B)",q:"3B"}],RL=["fast","heavy","coder","vision","hermes","scout"],$L=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1});function gk(e){return $L.format(e)}function zL(){const{data:e}=Ni(),t=(e==null?void 0:e.models)??[],[r,n]=x.useState(""),[i,o]=x.useState([]),[c,u]=x.useState(!1),[f,h]=x.useState(""),[m,p]=x.useState("popular"),[v,b]=x.useState(""),[N,w]=x.useState(null),[k,S]=x.useState([]),[E,C]=x.useState("Q4_K_M"),[A,_]=x.useState(""),[O,I]=x.useState(null),[B,F]=x.useState(!1),[R,Q]=x.useState({});async function U(M){u(!0),h("");try{const q=await xe(`/api/hf/search?q=${encodeURIComponent(M)}`);o(q.results),q.results.length||h("Keine Ergebnisse.")}catch(q){h(`Suche fehlgeschlagen: ${q}`)}finally{u(!1)}}x.useEffect(()=>{U("")},[]);function ge(M){p(M.key),n(""),U(M.q)}function ue(){p(""),U(r)}async function pe(M,q,le){F(!1);try{const oe=await xe(`/api/fit?params_b=0&quant=${encodeURIComponent(q)}&ctx=8192&name=${encodeURIComponent(M)}&role=${encodeURIComponent(le)}`);I(oe)}catch{I(null)}}async function se(M){if(N===M){w(null);return}w(M),S([]),I(null),_(""),F(!1),h("Analysiere Repository…");try{const q=await xe(`/api/hf/quants?repo=${encodeURIComponent(M)}`);S(q.quants);const le=q.quants.includes("Q4_K_M")?"Q4_K_M":q.quants[0]||"Q4_K_M";C(le),h(q.quants.length?"":"Keine GGUF-Dateien in diesem Repo gefunden."),q.quants.length&&pe(q.repo,le,"")}catch(q){h(`Fehler: ${q}`)}}function ae(){const M=v.trim();M&&(o(q=>q.some(le=>le.repo===M)?q:[{repo:M,downloads:0,likes:0},...q]),b(""),se(M))}const Z=A?t.find(M=>(M.role||"").toLowerCase()===A):void 0;async function te(M){if((O==null?void 0:O.fit.level)==="too_tight"&&!B){F(!0);return}Q(q=>({...q,[M]:"Starte…"}));try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:M,quant:E,role:A||void 0,jinja:!0})}),Q(q=>({...q,[M]:"Download läuft"})),F(!1)}catch{Q(le=>({...le,[M]:"Fehler"}))}}const ie=M=>{var le;const q=((le=M.split("/").pop())==null?void 0:le.toLowerCase().replace(/-gguf$/i,""))||"";return q.length>3&&t.some(oe=>oe.name.toLowerCase().includes(q))},D=M=>M==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":M==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return s.jsxs("div",{className:"space-y-5",children:[s.jsxs("div",{className:"flex gap-2",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(rl,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),s.jsx("input",{value:r,onChange:M=>n(M.target.value),onKeyDown:M=>M.key==="Enter"&&ue(),"aria-label":"HuggingFace durchsuchen",type:"search",spellCheck:!1,placeholder:"HuggingFace durchsuchen (z.B. Qwen Coder, Llama-3.1, gemma)…",className:"w-full h-10 pl-9 pr-3 rounded-xl border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),s.jsx("button",{onClick:ue,className:"h-10 px-5 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Suchen"})]}),s.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:LL.map(M=>s.jsxs("button",{onClick:()=>ge(M),className:J("flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[11px] font-semibold transition-all cursor-pointer border",m===M.key?"bg-primary/15 text-primary border-primary/30":"border-border/50 text-muted-foreground hover:text-foreground hover:border-border"),children:[M.key==="popular"&&s.jsx(ZM,{className:"h-3 w-3"}),M.label]},M.key))}),c?s.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:"Lade GGUF-Modelle von HuggingFace…"}):s.jsxs("div",{className:"space-y-2",children:[i.map(M=>{const q=N===M.repo,le=ie(M.repo),oe=M.repo.includes("/")?M.repo.split("/")[0]:"—",ee=M.repo.split("/").pop();return s.jsxs("div",{className:J("rounded-xl border bg-card/45 backdrop-blur-md transition-all",q?"border-primary/40 shadow-lg shadow-primary/5":"border-border/50 hover:border-primary/30"),children:[s.jsxs("button",{onClick:()=>se(M.repo),className:"w-full flex items-center gap-3 p-3.5 text-left cursor-pointer",children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[s.jsx("span",{className:"text-xs font-bold font-mono text-foreground truncate max-w-[280px]",title:M.repo,children:ee}),le&&s.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-1.5 py-0.5 rounded",children:[s.jsx(It,{className:"h-2.5 w-2.5"})," installiert"]})]}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-3 mt-0.5 font-mono",children:[s.jsx("span",{children:oe}),s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(Bs,{className:"h-3 w-3"})," ",gk(M.downloads)]}),M.likes>0&&s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(rI,{className:"h-3 w-3"})," ",gk(M.likes)]})]})]}),q?s.jsx(n5,{className:"h-4 w-4 text-muted-foreground shrink-0"}):s.jsx(tl,{className:"h-4 w-4 text-muted-foreground shrink-0"})]}),q&&s.jsx("div",{className:"border-t border-border/30 p-3.5 space-y-3",children:k.length===0?s.jsx("div",{className:"text-[11px] text-muted-foreground font-mono",children:f||"Lade Quants…"}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Quant"}),s.jsx("select",{value:E,onChange:ne=>{C(ne.target.value),pe(M.repo,ne.target.value,A)},"aria-label":"Quantisierung",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:k.map(ne=>s.jsx("option",{value:ne,className:"bg-popover text-foreground",children:ne},ne))}),s.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Rolle"}),s.jsxs("select",{value:A,onChange:ne=>{_(ne.target.value),pe(M.repo,E,ne.target.value)},"aria-label":"Rolle",title:"Optional — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:[s.jsx("option",{value:"",className:"bg-popover text-foreground",children:"keine"}),RL.map(ne=>s.jsx("option",{value:ne,className:"bg-popover text-foreground",children:ne},ne))]}),s.jsx("button",{onClick:()=>te(M.repo),disabled:!!R[M.repo]&&R[M.repo]==="Download läuft",className:J("h-8 px-3.5 ml-auto rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5",B?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"),children:R[M.repo]?R[M.repo]:B?s.jsxs(s.Fragment,{children:[s.jsx(vr,{className:"h-3.5 w-3.5"})," OOM — trotzdem laden"]}):s.jsxs(s.Fragment,{children:[s.jsx(Bs,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]}),O&&s.jsxs("div",{className:J("flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium",D(O.fit.level)),children:[s.jsx("span",{className:"font-bold uppercase tracking-wide",children:O.fit.text}),s.jsxs("span",{className:"font-mono opacity-90",children:["~",O.params_b,"B · ~",O.fit.req_gb," GB / ",O.sys_ram_gb," GB · ~",O.fit.tps," t/s"]}),O.fit.level!=="too_tight"?s.jsxs("span",{className:"font-mono opacity-80",children:["ctx → ",(O.assigned_ctx/1024).toFixed(0),"k"]}):s.jsx("span",{className:"opacity-90",children:"— passt nicht, würde beim Laden abstürzen (OOM)."})]}),Z&&s.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-400",children:[s.jsx(vr,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),s.jsxs("span",{children:["Rolle ",s.jsxs("strong",{children:["„",A,'"']})," hält aktuell ",s.jsx("strong",{children:Z.name.split("/").pop()})," — wird beim Download übernommen."]})]})]})})]},M.repo)}),!i.length&&!c&&s.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:f||"Keine Ergebnisse."})]}),s.jsxs("div",{className:"border-t border-border/30 pt-4 flex flex-col sm:flex-row gap-2 items-stretch sm:items-center",children:[s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground shrink-0",children:"Direkt:"}),s.jsx("input",{value:v,onChange:M=>b(M.target.value),onKeyDown:M=>M.key==="Enter"&&ae(),"aria-label":"Repository oder URL direkt eingeben",spellCheck:!1,placeholder:"org/repo oder HF-URL (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground font-mono"}),s.jsx("button",{onClick:ae,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Laden"})]})]})}const FL={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:wa},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:Na},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:Fs},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:Cc},hermes:{title:"Lucys Hirn (Agent)",desc:"Lucys dauer-warmes Agent-Hirn mit Tool-Calling — bleibt ko-resident, lädt nie kalt nach.",icon:$M},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:vv},kritiker:{title:"Kritisches Prüf-Hirn",desc:"Schärfer Blick für Fehler, Schwachstellen und Sicherheitslücken — denkt skeptisch, bevor du deployst.",icon:g5},reranker:{title:"Gedächtnis-Sortierer",desc:"Sortiert und gewichtet gespeicherte Fakten nach Relevanz — damit die richtige Info sofort da ist.",icon:rl}};function BL(){const{data:e,isLoading:t,error:r}=jL(),{data:n}=Ni(),{data:i}=wh(),o=(n==null?void 0:n.models)??[],c=r?String(r):"",[u,f]=x.useState({}),[h,m]=x.useState({}),[p,v]=x.useState("recommended");async function b(N,w,k,S){f(E=>({...E,[N]:"Starte..."}));try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:N,role:w,quant:k,jinja:S})}),f(E=>({...E,[N]:"Download läuft"}))}catch{f(C=>({...C,[N]:"Fehler"}))}}return s.jsxs("div",{className:"space-y-6",children:[s.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 w-fit",children:[["recommended","Empfohlen"],["browse","Stöbern & Suchen"]].map(([N,w])=>s.jsx("button",{onClick:()=>v(N),className:J("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide transition-all cursor-pointer",p===N?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:w},N))}),p==="browse"?s.jsx(zL,{}):t?s.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):c||!e?s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",c,")."]}):s.jsxs("div",{className:"space-y-8",children:[s.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[s.jsxs("div",{children:["Modell-Registry geladen für ",s.jsxs("span",{className:"text-foreground font-bold",children:[e.sys_ram_gb," GB"]})," System-RAM."]}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx(jI,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),s.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),s.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:e.categories.map(N=>{const w=FL[N.role]||{title:N.title||N.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:c5},k=w.icon,S=o.find(I=>I.role===N.role||(I.aliases||[]).includes(N.role)),E=i==null?void 0:i.model_list.find(I=>I.role===N.role),C=N.models.find(I=>I.repo===N.recommended)||N.models[0];if(!C)return null;const A=u[C.repo],_=N.models.filter(I=>I.repo!==N.recommended),O=!!h[N.role];return s.jsxs("div",{className:J("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",S?"border-border/60":"border-primary/20 shadow-primary/5"),children:[s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:s.jsx(k,{className:"h-5.5 w-5.5"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:w.title}),s.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",N.role]})]})]}),S?s.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):s.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),s.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:w.desc}),s.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:S?s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),s.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:S.name,children:S.name.split("/").pop()}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[s.jsxs("span",{children:["Größe: ",Av(S.size_bytes||0)]}),s.jsx("span",{children:"•"}),s.jsxs("span",{children:["Quant: ",S.quant||"GGUF"]})]})]}):s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),s.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:C.name,children:C.name}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[s.jsxs("span",{children:["Ersteller: ",C.author]}),s.jsx("span",{children:"•"}),s.jsxs("span",{children:["Quant: ",C.quant]})]}),s.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:s.jsx(OL,{fit:C.fit})})]})}),s.jsx("div",{className:"pt-1",children:S?E?s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),s.jsxs("span",{children:["Bessere Version in der Registry: ",E.repo.split("/").pop()]})]}),s.jsxs("button",{onClick:()=>b(E.repo,N.role,C.quant||"Q4_K_M",C.caps.tools!=="no"),disabled:!!u[E.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[s.jsx(Bs,{className:"h-3.5 w-3.5"}),u[E.repo]||"Auf neue Version aktualisieren"]})]}):s.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[s.jsx(It,{className:"h-4 w-4"})," Auf neuestem Stand"]}):s.jsxs("button",{onClick:()=>b(C.repo,N.role,C.quant||"Q4_K_M",C.caps.tools!=="no"),disabled:!!A,className:J("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",A?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[s.jsx(Bs,{className:"h-3.5 w-3.5"}),A||"Optimales Modell einsetzen"]})})]}),_.length>0&&s.jsxs("div",{className:"border-t border-border/20 pt-3",children:[s.jsxs("button",{onClick:()=>m(I=>({...I,[N.role]:!O})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[O?s.jsx(n5,{className:"h-3 w-3"}):s.jsx(tl,{className:"h-3 w-3"}),s.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",_.length,")"]})]}),O&&s.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:_.map(I=>s.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:I.name,children:I.name}),s.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[s.jsxs("span",{children:["Quant: ",I.quant]}),s.jsx("span",{children:"•"}),s.jsx("span",{children:I.fit.text})]})]}),s.jsx("button",{onClick:()=>b(I.repo,N.role,I.quant||"Q4_K_M",I.caps.tools!=="no"),disabled:!!u[I.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:u[I.repo]||"Installieren"})]},I.repo))})]})]},N.role)})})]})]})}function UL(){const[e,t]=x.useState("cockpit");return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),s.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(r=>s.jsx("button",{onClick:()=>t(r),className:J("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:r==="cockpit"?"Werkbank":"Modelle finden"},r))})]}),s.jsx(AL,{}),s.jsx("div",{className:"transition-all duration-300",children:e==="cockpit"?s.jsx(IL,{}):s.jsx(BL,{})})]})}const vk={hermes_desktop:"Hermes Desktop: Browser-Login",kilo:"Kilo: Einstellungen → API Provider",claude_code:"env / Übersetzer"};function vg({line:e,loading:t}){return t||!e?s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[s.jsx(kt,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):e.ok?s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[s.jsx(i5,{className:"h-3 w-3"})," ",e.detail]}):s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[s.jsx(HM,{className:"h-3 w-3"})," ",e.detail]})}function xg({tool:e,fileName:t,accent:r,copied:n,onCopy:i}){return s.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[s.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),s.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),s.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),s.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:s.jsx("span",{children:t})}),s.jsxs("button",{onClick:i,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[n?s.jsx(It,{className:"h-3.5 w-3.5 text-emerald-400"}):s.jsx(xv,{className:"h-3.5 w-3.5"}),s.jsx("span",{children:n?"Kopiert":"Kopieren"})]})]}),s.jsx("pre",{className:J("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",r==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:s.jsx("code",{children:e.snippet})})]})}function yE(){const[e,t]=x.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[r,n]=x.useState(localStorage.getItem("mc_mcp_path")||""),[i,o]=x.useState("kilo"),[c,u]=x.useState(!1),[f,h]=x.useState(null),m=new URLSearchParams({host:e});r&&m.set("mcp_path",r);const{data:p,error:v}=SL(m.toString()),{data:b,isLoading:N}=gE(),w=v?String(v):"";function k(_){t(_),_&&localStorage.setItem("mc_host",_)}function S(_){n(_),localStorage.setItem("mc_mcp_path",_)}const E=p==null?void 0:p.tools.hermes_desktop,C=p==null?void 0:p.tools[i];async function A(_,O){O&&(await navigator.clipboard.writeText(O),h(_),setTimeout(()=>h(null),1500))}return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),s.jsxs("p",{className:"text-sm text-muted-foreground",children:[s.jsx("span",{className:"text-foreground",children:"Hermes Desktop"})," ist die Tür zur Box — einmal verbinden, fertig. Für Spezialfälle gibt es darunter die rohen Leitungen (Gateway /v1 + Gedächtnis-MCP) für sonstige Tools."]})]}),s.jsxs("div",{className:"p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[s.jsx(og,{className:"h-7 w-7 mx-auto text-muted-foreground"}),s.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),s.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Hermes Desktop · Kilo Code · Claude Code …"})]}),s.jsxs("div",{className:"flex flex-col gap-2.5",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(wc,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[s.jsx(yi,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),s.jsx(vg,{line:b==null?void 0:b.gateway,loading:N})]}),s.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · Lanes chat / coding"})]})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(wc,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[s.jsx(Na,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),s.jsx(vg,{line:b==null?void 0:b.memory,loading:N})]}),s.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"MCP · mcp_memory.py · separat"})]})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(wc,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 rounded-xl border border-emerald-500/25 bg-emerald-500/5 px-3.5 py-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-emerald-300",children:[s.jsx(og,{className:"h-3.5 w-3.5"})," Leitung 3 — Desktop-Gateway"]}),s.jsx(vg,{line:b==null?void 0:b.desktop_gateway,loading:N})]}),s.jsx("div",{className:"mt-1 text-[11px] font-mono text-emerald-300/80",children:"Desktop-Gateway · :9119 · API-Status"})]})]})]})]}),s.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",s.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das geteilte Gedächtnis läuft über einen",s.jsx("span",{className:"text-foreground",children:" eigenen MCP-Server"})," und das Desktop-Gateway bietet die Agenten-Schnittstelle — alle drei Leitungen werden unabhängig eingerichtet."]})]}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[s.jsx(eI,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),s.jsx("input",{value:e,onChange:_=>k(_.target.value),"aria-label":"Box LAN IP-Adresse",spellCheck:!1,placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[s.jsx(o5,{className:"h-3.5 w-3.5 text-violet-400"})," Lokaler MCP-Scriptpfad",s.jsx("span",{className:"text-violet-400/70 normal-case font-semibold tracking-normal",children:"(nur Leitung 2)"})]}),s.jsx("input",{value:r,onChange:_=>S(_.target.value),"aria-label":"Lokaler MCP-Scriptpfad",spellCheck:!1,placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-violet-500/50 text-foreground"})]})]}),w&&s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",w]}),p&&s.jsxs("div",{className:"space-y-5",children:[E&&s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-emerald-500/70 bg-card/30 p-4",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[s.jsx(og,{className:"h-4 w-4 text-emerald-400"}),"Hermes Desktop anbinden",s.jsx("span",{className:"text-[10px] font-medium text-emerald-400/90 normal-case",children:"der Hauptweg"})]}),s.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Die Desktop-App dockt remote an die Box an — volle Agent-Oberfläche, Projekte, Review, Gedächtnis inklusive."})]}),E.note&&s.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[s.jsx(ag,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),s.jsx("span",{children:E.note})]}),s.jsx(xg,{tool:E,fileName:vk.hermes_desktop,accent:"teal",copied:f==="desktop",onCopy:()=>A("desktop",E.snippet)})]}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/30",children:[s.jsxs("button",{onClick:()=>u(_=>!_),className:"flex w-full items-center gap-2 p-4 text-sm font-space font-bold text-foreground cursor-pointer hover:text-primary transition-colors",children:[c?s.jsx(tl,{className:"h-4 w-4"}):s.jsx(Kn,{className:"h-4 w-4"}),"Sonstige Tools (roher /v1-Zugang + Gedächtnis-MCP)",s.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"Kilo Code · Claude Code · Eigenbau"})]}),c&&s.jsxs("div",{className:"grid gap-5 lg:grid-cols-2 p-4 pt-0",children:[s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[s.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),s.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(p.tools).filter(([_])=>_!=="hermes_desktop").map(([_,O])=>s.jsx("button",{onClick:()=>o(_),className:J("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",i===_?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:O.label},_))}),C&&s.jsxs(s.Fragment,{children:[C.note&&s.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[s.jsx(ag,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),s.jsx("span",{children:C.note})]}),s.jsx(xg,{tool:C,fileName:vk[i]||"config.json",accent:"teal",copied:f==="model",onCopy:()=>A("model",C.snippet)})]})]}),s.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-violet-500/70 bg-card/30 p-4",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[s.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-violet-500/15 text-violet-300 text-[11px]",children:"2"}),"Gedächtnis anbinden",s.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"optional"})]}),s.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:["Ein MCP-Block — gilt zusätzlich für ",s.jsx("em",{children:"jedes"})," Tool aus Schritt 1."]})]}),s.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-violet-500/5 border border-violet-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[s.jsx(ag,{className:"h-4 w-4 text-violet-400 shrink-0 mt-0.5"}),s.jsx("span",{children:p.memory.note})]}),s.jsx(xg,{tool:p.memory,fileName:"mcp.json",accent:"violet",copied:f==="memory",onCopy:()=>A("memory",p.memory.snippet)})]})]})]})]})]})}const WL="modulepreload",HL=function(e){return"/"+e},xk={},KL=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let c=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),f=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));i=c(r.map(h=>{if(h=HL(h),h in xk)return;xk[h]=!0;const m=h.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${p}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":WL,m||(v.as="script"),v.crossOrigin="",v.href=h,f&&v.setAttribute("nonce",f),document.head.appendChild(v),m)return new Promise((b,N)=>{v.addEventListener("load",b),v.addEventListener("error",()=>N(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(c){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=c,window.dispatchEvent(u),!u.defaultPrevented)throw c}return i.then(c=>{for(const u of c||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};class yk extends x.Component{constructor(){super(...arguments);ns(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?s.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[s.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),s.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const bk=x.lazy(()=>KL(()=>import("./GraphView-CPgavSqE.js"),[]).then(e=>({default:e.GraphView}))),$d=["identity","knowledge","rules","events"],wk=new Set(["auto","agent","hermes"]),yg={identity:{label:"Identität",icon:SI,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:nl,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:yI,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:eu,bg:"bg-amber-500/10",text:"text-amber-400"}},kk={label:"Gedächtnis",icon:gv,text:"text-muted-foreground"},GL={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},jk=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: 1) wer ich bin und woran ich gerade arbeite, 2) wie ich angesprochen werden möchte, 3) meine bevorzugten Tools, Sprachen und Arbeitsweise, 4) wichtige Regeln/Konventionen, die du beachten sollst, 5) meine Infrastruktur (Server, Dienste – ohne Geheimnisse). -Frag immer nur eine sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function vE(){const[e,t]=x.useState(""),[r,n]=x.useState(""),[i,o]=x.useState(""),[c,u]=x.useState("knowledge"),[f,h]=x.useState(!1),[m,p]=x.useState(!1),[v,b]=x.useState("liste"),[S,w]=x.useState(!1),[k,N]=x.useState(null),[E,C]=x.useState(!1),[A,_]=x.useState(()=>typeof window<"u"&&window.matchMedia("(min-width: 1024px)").matches);x.useEffect(()=>{const W=window.matchMedia("(min-width: 1024px)"),ke=Ie=>_(Ie.matches);return W.addEventListener("change",ke),()=>W.removeEventListener("change",ke)},[]);const O=Hr(),{showAlert:I,showConfirm:B,dialogElement:F}=Nn(),{data:R=[]}=Ev({}),{data:Q=[],error:U}=Ev({q:r,category:e}),{data:ge}=yL(!0),ue=U?String(U):"";x.useEffect(()=>{if(!E)return;const W=ke=>{ke.key==="Escape"&&C(!1)};return window.addEventListener("keydown",W),()=>window.removeEventListener("keydown",W)},[E]);const pe=()=>{O.invalidateQueries({queryKey:["memory"]}),O.invalidateQueries({queryKey:["memory-graph"]})},se=x.useMemo(()=>{const W=R.length,ke=R.filter(Ie=>yk.has(Ie.source)).length;return{total:W,auto:ke,manual:W-ke,cats:new Set(R.map(Ie=>Ie.category)).size}},[R]),ae=R.length===0,Z=x.useDeferredValue(r),te=x.useMemo(()=>{const W=ge??{nodes:[],edges:[]};if(!Z.trim())return W;const ke=Z.toLowerCase(),Ie=W.nodes.filter(We=>We.content.toLowerCase().includes(ke)),be=new Set(Ie.map(We=>We.id));return{nodes:Ie,edges:W.edges.filter(We=>be.has(We.source)&&be.has(We.target))}},[ge,Z]),ie=x.useMemo(()=>{const W={};return Q.forEach(ke=>{var Ie;(W[Ie=ke.category]??(W[Ie]=[])).push(ke)}),W},[Q]),D=x.useMemo(()=>Q.filter(W=>!Rd.includes(W.category)),[Q]);async function M(){i.trim()&&(await xe("/api/memory",{method:"POST",body:JSON.stringify({content:i,category:c,source:"ui"})}),o(""),w(!1),pe())}function q(W){B("Eintrag löschen?","Diesen Gedächtnis-Eintrag dauerhaft entfernen?",async()=>{try{await xe(`/api/memory/${W}`,{method:"DELETE"}),pe()}catch(ke){I("Fehler",`Löschen fehlgeschlagen: ${ke.message||ke}`)}})}async function le(){try{await navigator.clipboard.writeText(wk),p(!0),setTimeout(()=>p(!1),1800)}catch{I("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function oe(){le(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function ee(){h(!0);try{const W=await xe("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(W.duplicate_count===0){I("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}const ke=be=>be.length>90?be.slice(0,90)+"…":be,Ie=W.groups.slice(0,5).map(be=>`✓ bleibt: „${ke(be.keep.content)}" +Frag immer nur eine sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function bE(){const[e,t]=x.useState(""),[r,n]=x.useState(""),[i,o]=x.useState(""),[c,u]=x.useState("knowledge"),[f,h]=x.useState(!1),[m,p]=x.useState(!1),[v,b]=x.useState("liste"),[N,w]=x.useState(!1),[k,S]=x.useState(null),[E,C]=x.useState(!1),[A,_]=x.useState(()=>typeof window<"u"&&window.matchMedia("(min-width: 1024px)").matches);x.useEffect(()=>{const W=window.matchMedia("(min-width: 1024px)"),ke=Ie=>_(Ie.matches);return W.addEventListener("change",ke),()=>W.removeEventListener("change",ke)},[]);const O=_r(),{showAlert:I,showConfirm:B,dialogElement:F}=sn(),{data:R=[]}=Ev({}),{data:Q=[],error:U}=Ev({q:r,category:e}),{data:ge}=bL(!0),ue=U?String(U):"";x.useEffect(()=>{if(!E)return;const W=ke=>{ke.key==="Escape"&&C(!1)};return window.addEventListener("keydown",W),()=>window.removeEventListener("keydown",W)},[E]);const pe=()=>{O.invalidateQueries({queryKey:["memory"]}),O.invalidateQueries({queryKey:["memory-graph"]})},se=x.useMemo(()=>{const W=R.length,ke=R.filter(Ie=>wk.has(Ie.source)).length;return{total:W,auto:ke,manual:W-ke,cats:new Set(R.map(Ie=>Ie.category)).size}},[R]),ae=R.length===0,Z=x.useDeferredValue(r),te=x.useMemo(()=>{const W=ge??{nodes:[],edges:[]};if(!Z.trim())return W;const ke=Z.toLowerCase(),Ie=W.nodes.filter(We=>We.content.toLowerCase().includes(ke)),be=new Set(Ie.map(We=>We.id));return{nodes:Ie,edges:W.edges.filter(We=>be.has(We.source)&&be.has(We.target))}},[ge,Z]),ie=x.useMemo(()=>{const W={};return Q.forEach(ke=>{var Ie;(W[Ie=ke.category]??(W[Ie]=[])).push(ke)}),W},[Q]),D=x.useMemo(()=>Q.filter(W=>!$d.includes(W.category)),[Q]);async function M(){i.trim()&&(await xe("/api/memory",{method:"POST",body:JSON.stringify({content:i,category:c,source:"ui"})}),o(""),w(!1),pe())}function q(W){B("Eintrag löschen?","Diesen Gedächtnis-Eintrag dauerhaft entfernen?",async()=>{try{await xe(`/api/memory/${W}`,{method:"DELETE"}),pe()}catch(ke){I("Fehler",`Löschen fehlgeschlagen: ${ke.message||ke}`)}})}async function le(){try{await navigator.clipboard.writeText(jk),p(!0),setTimeout(()=>p(!1),1800)}catch{I("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function oe(){le(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function ee(){h(!0);try{const W=await xe("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(W.duplicate_count===0){I("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}const ke=be=>be.length>90?be.slice(0,90)+"…":be,Ie=W.groups.slice(0,5).map(be=>`✓ bleibt: „${ke(be.keep.content)}" ✗ weg: ${be.remove.map(We=>`„${ke(We.content)}"`).join(", ")}`).join(` `)+(W.groups.length>5?` @@ -664,15 +664,15 @@ Frag immer nur eine sache auf einmal und fass am Ende zusammen, was du dir gemer ${Ie} -Zusammenführen?`,async()=>{try{await xe("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),pe()}catch(be){I("Fehler",`Fehler beim Löschen: ${be.message}`)}})}catch(W){I("Fehler",`Fehler bei der Deduplizierung: ${W.message}`)}finally{h(!1)}}const ne=x.useMemo(()=>R.find(W=>W.id===k),[R,k]),he=x.useMemo(()=>{if(!ne||!ge)return[];const W=new Set([...ge.edges.filter(ke=>ke.source===ne.id).map(ke=>ke.target),...ge.edges.filter(ke=>ke.target===ne.id).map(ke=>ke.source)]);return R.filter(ke=>W.has(ke.id))},[ne,ge,R]),re={identity:"#00f5ff",knowledge:"#3b82f6",rules:"#d946ef",events:"#fbbf24"},ye={identity:"Identität",knowledge:"Wissen",rules:"Regeln",events:"Ereignisse"},Oe=new Set(["auto","agent","hermes"]);return s.jsxs("div",{className:"space-y-6",children:[ae?s.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[s.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:s.jsx(uI,{className:"h-7 w-7 text-primary"})}),s.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[s.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),s.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),s.jsxs("div",{className:"w-full max-w-lg text-left",children:[s.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),s.jsx("button",{onClick:le,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:m?s.jsxs(s.Fragment,{children:[s.jsx(Mt,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):s.jsxs(s.Fragment,{children:[s.jsx(xv,{className:"h-3 w-3"})," Kopieren"]})})]}),s.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:wk})]}),s.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[s.jsxs("button",{onClick:oe,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[s.jsx(x5,{className:"h-4 w-4"})," Im Terminal starten"]}),s.jsxs("button",{onClick:le,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[m?s.jsx(Mt,{className:"h-4 w-4 text-emerald-400"}):s.jsx(xv,{className:"h-4 w-4"})," Prompt kopieren"]})]}),s.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[s.jsx(yI,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",s.jsx("button",{onClick:()=>w(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):s.jsxs("div",{className:J("bg-[#030712] overflow-hidden transition-all duration-300 ease-in-out",E?"fixed inset-0 z-50 w-screen h-screen":"relative w-full h-[calc(100vh-8.5rem)] min-h-[620px] rounded-2xl border border-border/60 flex flex-col lg:block"),children:[A&&s.jsx("div",{className:"absolute inset-0 z-0 hidden lg:block",children:s.jsx(vk,{children:s.jsx(x.Suspense,{fallback:s.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:s.jsx(xk,{data:te,selectedNodeId:k,onNodeSelect:N})})})}),s.jsxs("div",{className:J("z-10 flex flex-col transition-all duration-300",E?"lg:absolute lg:left-6 lg:top-6 lg:bottom-6 lg:w-96 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-3rem)]":"lg:absolute lg:left-4 lg:top-4 lg:bottom-4 lg:w-96 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-2rem)]","w-full h-full p-4 flex-1 lg:flex-none",v==="graph"&&"hidden lg:flex"),children:[s.jsxs("div",{className:"space-y-3 mb-3 shrink-0",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),s.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed mt-0.5",children:"IDEs & Gateway lesen und lernen hier per MCP."})]}),s.jsx("button",{onClick:()=>C(!E),className:"p-1.5 rounded-lg border border-border/40 bg-card/45 hover:border-primary/50 text-muted-foreground hover:text-foreground transition-all cursor-pointer hidden lg:block",title:E?"Vollbild verlassen (Esc)":"In Vollbild maximieren",children:E?s.jsx(fI,{className:"h-4 w-4"}):s.jsx(sI,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsxs("span",{className:"text-[9px] font-semibold bg-primary/10 text-primary border border-primary/20 px-2 py-0.5 rounded-md",children:[se.total," Fakten"]}),s.jsxs("span",{className:"text-[9px] font-semibold bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 px-2 py-0.5 rounded-md",children:[se.auto," auto"]}),s.jsxs("span",{className:"text-[9px] font-semibold bg-card/60 text-muted-foreground border border-border/40 px-2 py-0.5 rounded-md",children:[se.cats," Kat."]})]}),s.jsxs("div",{className:"flex items-center gap-1.5 w-full",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx("input",{value:r,onChange:W=>n(W.target.value),"aria-label":"Gedächtnis durchsuchen",type:"search",placeholder:"Semantisch suchen…",className:"w-full h-8 pl-8 pr-3 rounded-lg border border-border/50 bg-background/40 text-[11px] outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),s.jsx(rl,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),s.jsx("button",{onClick:()=>w(W=>!W),title:"Eintrag hinzufügen",className:"h-8 w-8 shrink-0 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center justify-center cursor-pointer shadow-md shadow-primary/10",children:s.jsx(hf,{className:"h-4 w-4"})}),s.jsx("button",{onClick:ee,disabled:f,title:"Deduplizieren",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/60 bg-card/45 hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50",children:s.jsx(va,{className:"h-3.5 w-3.5 text-primary"})}),s.jsx("div",{className:"flex items-center gap-1 p-0.5 bg-card/30 border border-border/40 rounded-lg lg:hidden",children:[["liste",oI],["graph",$w]].map(([W,ke])=>s.jsx("button",{onClick:()=>b(W),className:J("flex h-7 w-7 items-center justify-center rounded-md transition-all cursor-pointer",v===W?"bg-primary text-primary-foreground":"text-muted-foreground"),children:s.jsx(ke,{className:"h-3.5 w-3.5"})},W))})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-1 p-0.5 bg-card/30 border border-border/40 rounded-lg w-full overflow-x-auto shrink-0 scrollbar-none",children:[s.jsx("button",{onClick:()=>t(""),className:J("h-6 px-2 rounded-md text-[9px] font-semibold uppercase tracking-wider transition-all cursor-pointer shrink-0",e?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),Rd.map(W=>{const ke=yg[W]||bk;return s.jsx("button",{onClick:()=>t(W),className:J("h-6 px-2 rounded-md text-[9px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1 shrink-0",e===W?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:ke.label},W)})]})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto pr-1 scrollbar-thin space-y-4",children:[S&&s.jsxs("div",{className:"rounded-xl border border-border/50 bg-background/50 p-3 space-y-2 shrink-0",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Neuer Eintrag"}),s.jsx("button",{onClick:()=>w(!1),className:"text-muted-foreground hover:text-foreground",children:s.jsx(Br,{className:"h-3.5 w-3.5"})})]}),s.jsx("textarea",{value:i,onChange:W=>o(W.target.value),rows:2,placeholder:"Vorliebe, Regel oder Fakt…",className:"w-full resize-none rounded-lg border border-border/50 bg-background/30 p-2 text-[11px] outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("select",{value:c,onChange:W=>u(W.target.value),className:"h-7 rounded-md border border-border/50 bg-background/50 px-1 text-[10px] outline-none text-foreground cursor-pointer",children:Rd.map(W=>{var ke;return s.jsx("option",{value:W,className:"bg-popover text-foreground",children:((ke=yg[W])==null?void 0:ke.label)||W},W)})}),s.jsx("button",{onClick:M,className:"h-7 px-2.5 rounded-md bg-primary text-primary-foreground text-[10px] font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Speichern"})]})]}),ue&&s.jsxs("div",{className:"rounded-lg border border-red-500/20 bg-red-500/5 p-3 text-[10px] text-red-400",children:["Fehler: ",ue]}),Q.length===0?s.jsx("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/60 rounded-xl p-8 text-center bg-card/10",children:"Keine Einträge gefunden."}):s.jsx("div",{className:"space-y-4",children:[...Rd,"__other"].map(W=>{const ke=W==="__other"?D:ie[W]||[];if(!ke.length)return null;const Ie=yg[W]||bk,be=Ie.icon;return s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("div",{className:"flex items-center gap-1.5 px-0.5",children:[s.jsx(be,{className:J("h-3 w-3",Ie.text)}),s.jsx("span",{className:J("text-[9px] font-bold uppercase tracking-wider",Ie.text),children:Ie.label}),s.jsx("span",{className:"text-[9px] font-mono text-muted-foreground/60 bg-card/50 rounded px-1",children:ke.length})]}),s.jsx("div",{className:"space-y-1.5",children:ke.map(We=>{const Dt=yk.has(We.source),K=k===We.id;return s.jsxs("div",{onClick:()=>N(K?null:We.id),className:J("flex items-start justify-between gap-3 p-2.5 rounded-lg border border-l-4 transition-all group cursor-pointer text-left",K?"bg-primary/10 border-primary shadow-md":"bg-card/45 border-border/40 hover:bg-card/75",KL[We.category]||"border-l-muted"),children:[s.jsx("span",{className:"text-[11px] text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1 min-w-0",children:We.content}),s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0 self-center",children:[Dt&&s.jsx("span",{title:"Auto gelernt",children:s.jsx(va,{className:"h-2.5 w-2.5 text-emerald-400"})}),s.jsx("button",{onClick:Ae=>{Ae.stopPropagation(),q(We.id),k===We.id&&N(null)},className:"h-5 w-5 rounded-md flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:s.jsx(Us,{className:"h-3.5 w-3.5"})})]})]},We.id)})})]},W)})})]})]}),!A&&v==="graph"&&s.jsx("div",{className:"w-full h-[500px] relative lg:hidden",children:s.jsx(vk,{children:s.jsx(x.Suspense,{fallback:s.jsx("div",{className:"h-full rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:s.jsx(xk,{data:te,selectedNodeId:k,onNodeSelect:N})})})}),ne&&s.jsxs("div",{className:J("z-10 flex flex-col transition-all duration-300",E?"lg:absolute lg:right-6 lg:top-6 lg:bottom-6 lg:w-80 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-3rem)]":"lg:absolute lg:right-4 lg:top-4 lg:bottom-4 lg:w-80 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-2rem)]","w-full p-4 border-t border-border/60 bg-card/45 shrink-0 flex flex-col"),children:[s.jsxs("div",{className:"flex items-center gap-2 mb-3 shrink-0",children:[s.jsx("span",{className:"w-2.5 h-2.5 rounded-full",style:{background:re[ne.category]}}),s.jsx("span",{className:"text-[9px] font-bold uppercase tracking-wider",style:{color:re[ne.category]},children:ye[ne.category]||ne.category}),s.jsxs("span",{className:`ml-auto text-[9px] font-mono flex items-center gap-1 ${Oe.has(ne.source)?"text-emerald-400":"text-muted-foreground/70"}`,children:[Oe.has(ne.source)&&s.jsx(va,{className:"h-2.5 w-2.5"}),ne.source]}),s.jsx("button",{onClick:()=>N(null),className:"text-muted-foreground hover:text-foreground ml-1.5 cursor-pointer",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsx("div",{className:"flex-1 overflow-y-auto pr-1 scrollbar-thin text-xs text-foreground leading-relaxed mb-4 break-words whitespace-pre-wrap text-left",children:ne.content}),s.jsxs("div",{className:"mt-auto shrink-0 space-y-3 pt-3 border-t border-border/30",children:[s.jsxs("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/70 flex items-center gap-1",children:[s.jsx($w,{className:"h-2.5 w-2.5"})," verwandte Fakten"]}),s.jsx("div",{className:"flex flex-col gap-1 max-h-40 overflow-y-auto scrollbar-none text-left",children:he.length?he.map(W=>s.jsxs("button",{onClick:()=>N(W.id),className:"flex items-center gap-2 text-[10px] text-muted-foreground hover:text-foreground text-left transition-colors cursor-pointer py-0.5",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:re[W.category]}}),s.jsx("span",{className:"truncate",children:W.content})]},W.id)):s.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"—"})}),s.jsxs("button",{onClick:()=>{q(ne.id),N(null)},className:"flex w-full items-center justify-center gap-1.5 text-[10px] font-bold text-red-400 border border-red-500/20 rounded-lg py-2 hover:bg-red-500/5 transition-all cursor-pointer",children:[s.jsx(Us,{className:"h-3.5 w-3.5"})," Eintrag vergessen"]})]})]})]}),F]})}const GL=["chat","coding","fast","heavy"];function xE(){const{data:e,error:t}=Vx(5e3),{data:r}=Si(),{showAlert:n,dialogElement:i}=Nn(),o=Hr(),c=t?String(t):"",[u,f]=x.useState(!1),h=(r==null?void 0:r.models)??[];async function m(v){try{await xe("/api/agent/brain",{method:"POST",body:JSON.stringify({model:v})}),n("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${v}'. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:Fe.agentStatus}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}async function p(v){try{await xe("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:v})}),n("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),o.invalidateQueries({queryKey:Fe.agentStatus}),o.invalidateQueries({queryKey:Fe.models}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),s.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",s.jsx("code",{children:":8642"}),") und seine eigene UI besitzt."]})]}),(e==null?void 0:e.hermes_ui_url)&&s.jsxs("a",{href:Nv(e.hermes_ui_url),target:"_blank",rel:"noopener",className:J("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",e.hermes_ui_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[s.jsx(Dx,{className:"h-4 w-4"}),s.jsx("span",{children:"Hermes-GUI öffnen"})]})]}),c&&s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",c,")."]}),e&&s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[s.jsx(Hn,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),s.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[s.jsxs("button",{onClick:()=>e.hermes_ui_reachable&&window.open(Nv(e.hermes_ui_url),"_blank"),title:e.hermes_ui_reachable?"Hermes-GUI öffnen":"Desktop-Gateway offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx(hh,{className:J("h-3.5 w-3.5",e.hermes_ui_reachable?"text-emerald-400":"text-amber-500")}),s.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Desktop & GUI"}),s.jsx("span",{className:J("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",e.hermes_ui_reachable?"bg-emerald-500":"bg-amber-500")})]}),s.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"Hermes Desktop · Clients"})]}),s.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),s.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[s.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[s.jsx(Hn,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),s.jsx("span",{className:"text-[11px] font-mono text-muted-foreground",children:":8642"}),s.jsxs("span",{className:J("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",e.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[s.jsx("span",{className:J("h-1.5 w-1.5 rounded-full",e.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),e.gateway_reachable?"online":"offline"]})]}),s.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[s.jsxs("button",{onClick:()=>f(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(yi,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),s.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),s.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:e.brain_model,children:e.brain_model||"chat"})]}),s.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(tu,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),s.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[s.jsxs("span",{children:["Config: ",e.has_config?"✓":"—"]}),s.jsxs("span",{children:["Skills: ",e.has_skills?"✓":"—"]}),s.jsxs("span",{children:["Memory: ",e.has_memories?"✓":"—"]})]})]}),s.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(Lw,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),s.jsx("span",{className:J("ml-auto h-1.5 w-1.5 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),s.jsxs("div",{className:J("text-[11px] font-mono mt-1",e.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":7777 ",e.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Lw,{className:"h-5 w-5 text-primary"}),s.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),s.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),s.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[s.jsxs("div",{className:"space-y-3",children:[s.jsxs("p",{children:["Der ",s.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",s.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"192.168.178.98:7777"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),s.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",s.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),s.jsx("div",{className:"space-y-3",children:e.pc_executor_reachable?s.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[s.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),s.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",s.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",s.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",s.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):s.jsxs("div",{className:"space-y-2",children:[s.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),s.jsxs("p",{children:["Starte ",s.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",s.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),s.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!e.gateway_reachable&&s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10 text-left",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(nl,{className:"h-5 w-5 text-amber-500"}),s.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),s.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[s.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),s.jsxs("p",{children:["Stelle sicher, dass die systemd-Dienste auf der Box laufen. Du kannst den Status im ",s.jsx("strong",{children:"OS & Updates Drawer"})," prüfen und die Dienste bei Bedarf neu starten."]}),s.jsxs("div",{className:"p-3.5 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1",children:[s.jsx("div",{className:"text-muted-foreground/60",children:"# Dienste manuell auf der Box prüfen:"}),s.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-gateway"}),s.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-builtin-ui"})]}),s.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",s.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),e&&u&&s.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:s.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[s.jsx(yi,{className:"h-4 w-4"}),s.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),s.jsx("button",{onClick:()=>f(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:GL.map(v=>{const b=e.brain_model===v;return s.jsxs("button",{onClick:()=>m(v),className:J("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",b?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[v,b&&s.jsx(Mt,{className:"h-3.5 w-3.5"})]},v)})}),s.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",s.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),s.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:h.map(v=>{var S;const b=v.role==="hermes";return s.jsxs("button",{onClick:()=>!b&&p(v.name),disabled:b||v.incomplete,className:J("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",b?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":v.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[s.jsxs("div",{className:"flex flex-col min-w-0",children:[s.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(S=v.name.split("/").pop())==null?void 0:S.replace(/\.gguf$/i,"")}),s.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[v.capabilities.params_b?`${v.capabilities.params_b}B`:"?"," · ",v.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",v.role&&` · Rolle: ${v.role}`]})]}),b?s.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[s.jsx(Mt,{className:"h-3.5 w-3.5"})," Aktiv"]}):s.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},v.name)})})]}),s.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[s.jsx("span",{children:"💡"}),s.jsxs("span",{children:["Für einen ",s.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),i]})}function VL(){const{data:e}=Vx(5e3),t=e!=null&&e.box_console_url?Nv(e.box_console_url):void 0,r=e==null?void 0:e.box_console_reachable;return s.jsxs("div",{className:"flex h-full flex-col gap-4",children:[s.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),s.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full",r?"bg-emerald-500 animate-pulse":"bg-amber-500")}),r?"online":"offline"]}),t&&s.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[s.jsx(Dx,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?s.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&s.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[s.jsx(vr,{className:"h-8 w-8 text-amber-400"}),s.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),s.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",s.jsx("code",{className:"font-mono text-primary",children:"box-console"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",s.jsx("code",{className:"font-mono",children:"systemctl --user restart box-console"}),"."]})]}),s.jsx("iframe",{src:t,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):s.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[s.jsx(v5,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}const kk=[{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function qL(e){var t;(t=document.getElementById(e))==null||t.scrollIntoView({behavior:"smooth",block:"start"})}function Dr({id:e,icon:t,color:r,title:n,kicker:i,children:o,wide:c}){return s.jsxs("section",{id:e,className:J("scroll-mt-20 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-3",c&&"md:col-span-2"),children:[s.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[s.jsx(t,{className:J("h-5 w-5 shrink-0",r)}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:n}),i&&s.jsx("span",{className:J("text-[9px] font-mono",r),children:i})]})]}),s.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:o})]})}function Ba({children:e}){return s.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[s.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[s.jsx(va,{className:"h-3 w-3"})," Bei dir konkret"]}),s.jsx("div",{className:"text-muted-foreground space-y-1",children:e})]})}function Ue({children:e}){return s.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:e})}function St({href:e,name:t,note:r}){return s.jsxs("li",{className:"leading-relaxed",children:[s.jsxs("a",{href:e,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[t,s.jsx(MM,{className:"h-3 w-3 opacity-60"})]}),s.jsxs("span",{className:"text-muted-foreground",children:[" — ",r]})]})}function QL(){const[e,t]=x.useState(!1);return s.jsxs("div",{className:"space-y-7",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 flex items-start gap-4",children:[s.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:s.jsx(gv,{className:"h-6 w-6 text-primary"})}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),s.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Allgemeines Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",s.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juni 2026."})," ","Das meiste gilt überall; ",s.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),s.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:s.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:s.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[s.jsx(vv,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(e?kk:kk.slice(0,9)).map(r=>s.jsx("button",{onClick:()=>qL(r.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:r.label},r.id)),s.jsx("button",{onClick:()=>t(r=>!r),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:e?"weniger":"+ mehr"})]})})}),s.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[s.jsxs(Dr,{id:"grundlagen",icon:yi,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[s.jsxs("p",{children:["Ein LLM ist im Kern ein ",s.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),s.jsxs("li",{children:[s.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",s.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),s.jsxs(Dr,{id:"moe",icon:l5,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",s.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",s.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),s.jsxs("p",{children:[s.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx(Ue,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),s.jsxs("li",{children:[s.jsx(Ue,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),s.jsxs("li",{children:[s.jsx(Ue,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),s.jsxs(Ba,{children:["VRAM/RAM ist die harte Grenze — ",s.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",s.jsx(Ue,{children:"Q4_K_M"}),"/",s.jsx(Ue,{children:"Q6_K"}),"."]})]}),s.jsxs(Dr,{id:"lokal",icon:ph,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"llama-swap"})," — Proxy, der ",s.jsx("em",{children:"mehrere"})," Modelle hinter ",s.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),s.jsx("ul",{className:"list-disc pl-4 space-y-1",children:s.jsxs("li",{children:[s.jsx(Ue,{children:"CUDA"})," NVIDIA · ",s.jsx(Ue,{children:"ROCm"})," AMD · ",s.jsx(Ue,{children:"Vulkan"})," herstellerübergreifend · ",s.jsx(Ue,{children:"Metal"})," Apple"]})}),s.jsxs("p",{className:"pt-1",children:[s.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",s.jsx(Ue,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",s.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),s.jsxs(Ba,{children:["Deine Box hat eine AMD-APU (gfx1151). ",s.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",s.jsx(Ue,{children:"Vulkan/RADV"})," das offizielle ",s.jsx(Ue,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",s.jsx(Ue,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",s.jsx(Ue,{children:"coder"})," nutzt Spec-Decoding."]})]}),s.jsxs(Dr,{id:"modelle",icon:ff,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{children:s.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Llama"})," (Meta), ",s.jsx("strong",{children:"Gemma"})," (Google), ",s.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"DeepSeek"}),", ",s.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{children:s.jsx("strong",{children:"Frontier (Cloud-API):"})}),s.jsx("ul",{className:"list-disc pl-4 space-y-1",children:s.jsxs("li",{children:[s.jsx("strong",{children:"Claude"})," (Anthropic), ",s.jsx("strong",{children:"GPT"})," (OpenAI), ",s.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),s.jsxs("p",{className:"pt-1",children:[s.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),s.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),s.jsxs(Ba,{children:["Dein Line-up via llama-swap: ",s.jsx(Ue,{children:"fast"})," (Alltag/Vision/MoE) · ",s.jsx(Ue,{children:"heavy"})," (schwere Logik) ·",s.jsx(Ue,{children:"coder"})," · ",s.jsx(Ue,{children:"scout"})," · ",s.jsx(Ue,{children:"vision"})," · ",s.jsx(Ue,{children:"embed"})," (fürs Gedächtnis) ·",s.jsx(Ue,{children:"hermes"})," (Agent-Hirn). Verwalten/tauschen im ",s.jsx("strong",{children:"Modell-Manager"}),"-Tab."]})]}),s.jsxs(Dr,{id:"gateway",icon:hI,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[s.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",s.jsx("strong",{children:"OpenAI-Format"})," (",s.jsx(Ue,{children:"/v1/chat/completions"}),"). Ein",s.jsx("strong",{children:" Gateway"})," davor gibt dir ",s.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",s.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),s.jsxs("p",{children:["Die ",s.jsx(Ue,{children:"model:auto"}),'-Idee: du sagst „auto", das Gateway wählt das passende Modell je nach Anfrage und lädt es bei Bedarf.']}),s.jsxs(Ba,{children:["Dein Gateway: ",s.jsx(Ue,{children:"http://192.168.178.151:9001/v1"}),", Model ",s.jsx(Ue,{children:"auto"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",s.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),s.jsxs(Dr,{id:"mcp",icon:Pc,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[s.jsxs("p",{children:["Das ",s.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",s.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),s.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),s.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[s.jsx(u5,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),s.jsxs("span",{children:[s.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),s.jsxs(Dr,{id:"skills",icon:pI,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[s.jsxs("p",{children:["Ein ",s.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",s.jsx(Ue,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),s.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- +Zusammenführen?`,async()=>{try{await xe("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),pe()}catch(be){I("Fehler",`Fehler beim Löschen: ${be.message}`)}})}catch(W){I("Fehler",`Fehler bei der Deduplizierung: ${W.message}`)}finally{h(!1)}}const ne=x.useMemo(()=>R.find(W=>W.id===k),[R,k]),he=x.useMemo(()=>{if(!ne||!ge)return[];const W=new Set([...ge.edges.filter(ke=>ke.source===ne.id).map(ke=>ke.target),...ge.edges.filter(ke=>ke.target===ne.id).map(ke=>ke.source)]);return R.filter(ke=>W.has(ke.id))},[ne,ge,R]),re={identity:"#00f5ff",knowledge:"#3b82f6",rules:"#d946ef",events:"#fbbf24"},ye={identity:"Identität",knowledge:"Wissen",rules:"Regeln",events:"Ereignisse"},Oe=new Set(["auto","agent","hermes"]);return s.jsxs("div",{className:"space-y-6",children:[ae?s.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[s.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:s.jsx(dI,{className:"h-7 w-7 text-primary"})}),s.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[s.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),s.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),s.jsxs("div",{className:"w-full max-w-lg text-left",children:[s.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),s.jsx("button",{onClick:le,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:m?s.jsxs(s.Fragment,{children:[s.jsx(It,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):s.jsxs(s.Fragment,{children:[s.jsx(xv,{className:"h-3 w-3"})," Kopieren"]})})]}),s.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:jk})]}),s.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[s.jsxs("button",{onClick:oe,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[s.jsx(w5,{className:"h-4 w-4"})," Im Terminal starten"]}),s.jsxs("button",{onClick:le,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[m?s.jsx(It,{className:"h-4 w-4 text-emerald-400"}):s.jsx(xv,{className:"h-4 w-4"})," Prompt kopieren"]})]}),s.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[s.jsx(v5,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",s.jsx("button",{onClick:()=>w(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):s.jsxs("div",{className:J("bg-[#030712] overflow-hidden transition-all duration-300 ease-in-out",E?"fixed inset-0 z-50 w-screen h-screen":"relative w-full h-[calc(100vh-8.5rem)] min-h-[620px] rounded-2xl border border-border/60 flex flex-col lg:block"),children:[A&&s.jsx("div",{className:"absolute inset-0 z-0 hidden lg:block",children:s.jsx(yk,{children:s.jsx(x.Suspense,{fallback:s.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:s.jsx(bk,{data:te,selectedNodeId:k,onNodeSelect:S})})})}),s.jsxs("div",{className:J("z-10 flex flex-col transition-all duration-300",E?"lg:absolute lg:left-6 lg:top-6 lg:bottom-6 lg:w-96 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-3rem)]":"lg:absolute lg:left-4 lg:top-4 lg:bottom-4 lg:w-96 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-2rem)]","w-full h-full p-4 flex-1 lg:flex-none",v==="graph"&&"hidden lg:flex"),children:[s.jsxs("div",{className:"space-y-3 mb-3 shrink-0",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),s.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed mt-0.5",children:"IDEs & Gateway lesen und lernen hier per MCP."})]}),s.jsx("button",{onClick:()=>C(!E),className:"p-1.5 rounded-lg border border-border/40 bg-card/45 hover:border-primary/50 text-muted-foreground hover:text-foreground transition-all cursor-pointer hidden lg:block",title:E?"Vollbild verlassen (Esc)":"In Vollbild maximieren",children:E?s.jsx(hI,{className:"h-4 w-4"}):s.jsx(lI,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsxs("span",{className:"text-[9px] font-semibold bg-primary/10 text-primary border border-primary/20 px-2 py-0.5 rounded-md",children:[se.total," Fakten"]}),s.jsxs("span",{className:"text-[9px] font-semibold bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 px-2 py-0.5 rounded-md",children:[se.auto," auto"]}),s.jsxs("span",{className:"text-[9px] font-semibold bg-card/60 text-muted-foreground border border-border/40 px-2 py-0.5 rounded-md",children:[se.cats," Kat."]})]}),s.jsxs("div",{className:"flex items-center gap-1.5 w-full",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx("input",{value:r,onChange:W=>n(W.target.value),"aria-label":"Gedächtnis durchsuchen",type:"search",placeholder:"Semantisch suchen…",className:"w-full h-8 pl-8 pr-3 rounded-lg border border-border/50 bg-background/40 text-[11px] outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),s.jsx(rl,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),s.jsx("button",{onClick:()=>w(W=>!W),title:"Eintrag hinzufügen",className:"h-8 w-8 shrink-0 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center justify-center cursor-pointer shadow-md shadow-primary/10",children:s.jsx(mf,{className:"h-4 w-4"})}),s.jsx("button",{onClick:ee,disabled:f,title:"Deduplizieren",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/60 bg-card/45 hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50",children:s.jsx(va,{className:"h-3.5 w-3.5 text-primary"})}),s.jsx("div",{className:"flex items-center gap-1 p-0.5 bg-card/30 border border-border/40 rounded-lg lg:hidden",children:[["liste",sI],["graph",Fw]].map(([W,ke])=>s.jsx("button",{onClick:()=>b(W),className:J("flex h-7 w-7 items-center justify-center rounded-md transition-all cursor-pointer",v===W?"bg-primary text-primary-foreground":"text-muted-foreground"),children:s.jsx(ke,{className:"h-3.5 w-3.5"})},W))})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-1 p-0.5 bg-card/30 border border-border/40 rounded-lg w-full overflow-x-auto shrink-0 scrollbar-none",children:[s.jsx("button",{onClick:()=>t(""),className:J("h-6 px-2 rounded-md text-[9px] font-semibold uppercase tracking-wider transition-all cursor-pointer shrink-0",e?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),$d.map(W=>{const ke=yg[W]||kk;return s.jsx("button",{onClick:()=>t(W),className:J("h-6 px-2 rounded-md text-[9px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1 shrink-0",e===W?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:ke.label},W)})]})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto pr-1 scrollbar-thin space-y-4",children:[N&&s.jsxs("div",{className:"rounded-xl border border-border/50 bg-background/50 p-3 space-y-2 shrink-0",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Neuer Eintrag"}),s.jsx("button",{onClick:()=>w(!1),className:"text-muted-foreground hover:text-foreground",children:s.jsx(Or,{className:"h-3.5 w-3.5"})})]}),s.jsx("textarea",{value:i,onChange:W=>o(W.target.value),rows:2,placeholder:"Vorliebe, Regel oder Fakt…",className:"w-full resize-none rounded-lg border border-border/50 bg-background/30 p-2 text-[11px] outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("select",{value:c,onChange:W=>u(W.target.value),className:"h-7 rounded-md border border-border/50 bg-background/50 px-1 text-[10px] outline-none text-foreground cursor-pointer",children:$d.map(W=>{var ke;return s.jsx("option",{value:W,className:"bg-popover text-foreground",children:((ke=yg[W])==null?void 0:ke.label)||W},W)})}),s.jsx("button",{onClick:M,className:"h-7 px-2.5 rounded-md bg-primary text-primary-foreground text-[10px] font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Speichern"})]})]}),ue&&s.jsxs("div",{className:"rounded-lg border border-red-500/20 bg-red-500/5 p-3 text-[10px] text-red-400",children:["Fehler: ",ue]}),Q.length===0?s.jsx("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/60 rounded-xl p-8 text-center bg-card/10",children:"Keine Einträge gefunden."}):s.jsx("div",{className:"space-y-4",children:[...$d,"__other"].map(W=>{const ke=W==="__other"?D:ie[W]||[];if(!ke.length)return null;const Ie=yg[W]||kk,be=Ie.icon;return s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("div",{className:"flex items-center gap-1.5 px-0.5",children:[s.jsx(be,{className:J("h-3 w-3",Ie.text)}),s.jsx("span",{className:J("text-[9px] font-bold uppercase tracking-wider",Ie.text),children:Ie.label}),s.jsx("span",{className:"text-[9px] font-mono text-muted-foreground/60 bg-card/50 rounded px-1",children:ke.length})]}),s.jsx("div",{className:"space-y-1.5",children:ke.map(We=>{const Lt=wk.has(We.source),K=k===We.id;return s.jsxs("div",{onClick:()=>S(K?null:We.id),className:J("flex items-start justify-between gap-3 p-2.5 rounded-lg border border-l-4 transition-all group cursor-pointer text-left",K?"bg-primary/10 border-primary shadow-md":"bg-card/45 border-border/40 hover:bg-card/75",GL[We.category]||"border-l-muted"),children:[s.jsx("span",{className:"text-[11px] text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1 min-w-0",children:We.content}),s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0 self-center",children:[Lt&&s.jsx("span",{title:"Auto gelernt",children:s.jsx(va,{className:"h-2.5 w-2.5 text-emerald-400"})}),s.jsx("button",{onClick:Ae=>{Ae.stopPropagation(),q(We.id),k===We.id&&S(null)},className:"h-5 w-5 rounded-md flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:s.jsx(Us,{className:"h-3.5 w-3.5"})})]})]},We.id)})})]},W)})})]})]}),!A&&v==="graph"&&s.jsx("div",{className:"w-full h-[500px] relative lg:hidden",children:s.jsx(yk,{children:s.jsx(x.Suspense,{fallback:s.jsx("div",{className:"h-full rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:s.jsx(bk,{data:te,selectedNodeId:k,onNodeSelect:S})})})}),ne&&s.jsxs("div",{className:J("z-10 flex flex-col transition-all duration-300",E?"lg:absolute lg:right-6 lg:top-6 lg:bottom-6 lg:w-80 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-3rem)]":"lg:absolute lg:right-4 lg:top-4 lg:bottom-4 lg:w-80 lg:rounded-xl lg:border lg:border-border/40 lg:bg-background/65 lg:backdrop-blur-md lg:p-4 lg:shadow-2xl lg:shadow-black/50 lg:h-[calc(100%-2rem)]","w-full p-4 border-t border-border/60 bg-card/45 shrink-0 flex flex-col"),children:[s.jsxs("div",{className:"flex items-center gap-2 mb-3 shrink-0",children:[s.jsx("span",{className:"w-2.5 h-2.5 rounded-full",style:{background:re[ne.category]}}),s.jsx("span",{className:"text-[9px] font-bold uppercase tracking-wider",style:{color:re[ne.category]},children:ye[ne.category]||ne.category}),s.jsxs("span",{className:`ml-auto text-[9px] font-mono flex items-center gap-1 ${Oe.has(ne.source)?"text-emerald-400":"text-muted-foreground/70"}`,children:[Oe.has(ne.source)&&s.jsx(va,{className:"h-2.5 w-2.5"}),ne.source]}),s.jsx("button",{onClick:()=>S(null),className:"text-muted-foreground hover:text-foreground ml-1.5 cursor-pointer",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsx("div",{className:"flex-1 overflow-y-auto pr-1 scrollbar-thin text-xs text-foreground leading-relaxed mb-4 break-words whitespace-pre-wrap text-left",children:ne.content}),s.jsxs("div",{className:"mt-auto shrink-0 space-y-3 pt-3 border-t border-border/30",children:[s.jsxs("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/70 flex items-center gap-1",children:[s.jsx(Fw,{className:"h-2.5 w-2.5"})," verwandte Fakten"]}),s.jsx("div",{className:"flex flex-col gap-1 max-h-40 overflow-y-auto scrollbar-none text-left",children:he.length?he.map(W=>s.jsxs("button",{onClick:()=>S(W.id),className:"flex items-center gap-2 text-[10px] text-muted-foreground hover:text-foreground text-left transition-colors cursor-pointer py-0.5",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:re[W.category]}}),s.jsx("span",{className:"truncate",children:W.content})]},W.id)):s.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"—"})}),s.jsxs("button",{onClick:()=>{q(ne.id),S(null)},className:"flex w-full items-center justify-center gap-1.5 text-[10px] font-bold text-red-400 border border-red-500/20 rounded-lg py-2 hover:bg-red-500/5 transition-all cursor-pointer",children:[s.jsx(Us,{className:"h-3.5 w-3.5"})," Eintrag vergessen"]})]})]})]}),F]})}const VL=["chat","coding","fast","heavy"];function wE(){const{data:e,error:t}=qx(5e3),{data:r}=Ni(),{showAlert:n,dialogElement:i}=sn(),o=_r(),c=t?String(t):"",[u,f]=x.useState(!1),h=(r==null?void 0:r.models)??[];async function m(v){try{await xe("/api/agent/brain",{method:"POST",body:JSON.stringify({model:v})}),n("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${v}'. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:$e.agentStatus}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}async function p(v){try{await xe("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:v})}),n("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),o.invalidateQueries({queryKey:$e.agentStatus}),o.invalidateQueries({queryKey:$e.models}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),s.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",s.jsx("code",{children:":8642"}),") und seine eigene UI besitzt."]})]}),(e==null?void 0:e.hermes_ui_url)&&s.jsxs("a",{href:Sv(e.hermes_ui_url),target:"_blank",rel:"noopener",className:J("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",e.hermes_ui_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[s.jsx(Lx,{className:"h-4 w-4"}),s.jsx("span",{children:"Hermes-GUI öffnen"})]})]}),c&&s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",c,")."]}),e&&s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[s.jsx(Hn,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),s.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[s.jsxs("button",{onClick:()=>e.hermes_ui_reachable&&window.open(Sv(e.hermes_ui_url),"_blank"),title:e.hermes_ui_reachable?"Hermes-GUI öffnen":"Desktop-Gateway offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx(mh,{className:J("h-3.5 w-3.5",e.hermes_ui_reachable?"text-emerald-400":"text-amber-500")}),s.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Desktop & GUI"}),s.jsx("span",{className:J("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",e.hermes_ui_reachable?"bg-emerald-500":"bg-amber-500")})]}),s.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"Hermes Desktop · Clients"})]}),s.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),s.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[s.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[s.jsx(Hn,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),s.jsx("span",{className:"text-[11px] font-mono text-muted-foreground",children:":8642"}),s.jsxs("span",{className:J("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",e.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[s.jsx("span",{className:J("h-1.5 w-1.5 rounded-full",e.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),e.gateway_reachable?"online":"offline"]})]}),s.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[s.jsxs("button",{onClick:()=>f(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(yi,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),s.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),s.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:e.brain_model,children:e.brain_model||"chat"})]}),s.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(ru,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),s.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[s.jsxs("span",{children:["Config: ",e.has_config?"✓":"—"]}),s.jsxs("span",{children:["Skills: ",e.has_skills?"✓":"—"]}),s.jsxs("span",{children:["Memory: ",e.has_memories?"✓":"—"]})]})]}),s.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[s.jsx($w,{className:"h-3.5 w-3.5 text-primary"}),s.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),s.jsx("span",{className:J("ml-auto h-1.5 w-1.5 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),s.jsxs("div",{className:J("text-[11px] font-mono mt-1",e.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":7777 ",e.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx($w,{className:"h-5 w-5 text-primary"}),s.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),s.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),s.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[s.jsxs("div",{className:"space-y-3",children:[s.jsxs("p",{children:["Der ",s.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",s.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"192.168.178.98:7777"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),s.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",s.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),s.jsx("div",{className:"space-y-3",children:e.pc_executor_reachable?s.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[s.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),s.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",s.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",s.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",s.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):s.jsxs("div",{className:"space-y-2",children:[s.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),s.jsxs("p",{children:["Starte ",s.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",s.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),s.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!e.gateway_reachable&&s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10 text-left",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(nl,{className:"h-5 w-5 text-amber-500"}),s.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),s.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[s.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),s.jsxs("p",{children:["Stelle sicher, dass die systemd-Dienste auf der Box laufen. Du kannst den Status im ",s.jsx("strong",{children:"OS & Updates Drawer"})," prüfen und die Dienste bei Bedarf neu starten."]}),s.jsxs("div",{className:"p-3.5 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1",children:[s.jsx("div",{className:"text-muted-foreground/60",children:"# Dienste manuell auf der Box prüfen:"}),s.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-gateway"}),s.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-builtin-ui"})]}),s.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",s.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),e&&u&&s.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:s.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[s.jsx(yi,{className:"h-4 w-4"}),s.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),s.jsx("button",{onClick:()=>f(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:VL.map(v=>{const b=e.brain_model===v;return s.jsxs("button",{onClick:()=>m(v),className:J("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",b?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[v,b&&s.jsx(It,{className:"h-3.5 w-3.5"})]},v)})}),s.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",s.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),s.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:h.map(v=>{var N;const b=v.role==="hermes";return s.jsxs("button",{onClick:()=>!b&&p(v.name),disabled:b||v.incomplete,className:J("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",b?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":v.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[s.jsxs("div",{className:"flex flex-col min-w-0",children:[s.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(N=v.name.split("/").pop())==null?void 0:N.replace(/\.gguf$/i,"")}),s.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[v.capabilities.params_b?`${v.capabilities.params_b}B`:"?"," · ",v.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",v.role&&` · Rolle: ${v.role}`]})]}),b?s.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[s.jsx(It,{className:"h-3.5 w-3.5"})," Aktiv"]}):s.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},v.name)})})]}),s.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[s.jsx("span",{children:"💡"}),s.jsxs("span",{children:["Für einen ",s.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),i]})}function qL(){const{data:e}=qx(5e3),t=e!=null&&e.box_console_url?Sv(e.box_console_url):void 0,r=e==null?void 0:e.box_console_reachable;return s.jsxs("div",{className:"flex h-full flex-col gap-4",children:[s.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),s.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full",r?"bg-emerald-500 animate-pulse":"bg-amber-500")}),r?"online":"offline"]}),t&&s.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[s.jsx(Lx,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?s.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&s.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[s.jsx(vr,{className:"h-8 w-8 text-amber-400"}),s.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),s.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",s.jsx("code",{className:"font-mono text-primary",children:"box-console"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",s.jsx("code",{className:"font-mono",children:"systemctl --user restart box-console"}),"."]})]}),s.jsx("iframe",{src:t,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):s.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[s.jsx(b5,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}const Nk=[{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function QL(e){var t;(t=document.getElementById(e))==null||t.scrollIntoView({behavior:"smooth",block:"start"})}function Rr({id:e,icon:t,color:r,title:n,kicker:i,children:o,wide:c}){return s.jsxs("section",{id:e,className:J("scroll-mt-20 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-3",c&&"md:col-span-2"),children:[s.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[s.jsx(t,{className:J("h-5 w-5 shrink-0",r)}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:n}),i&&s.jsx("span",{className:J("text-[9px] font-mono",r),children:i})]})]}),s.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:o})]})}function Ba({children:e}){return s.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[s.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[s.jsx(va,{className:"h-3 w-3"})," Bei dir konkret"]}),s.jsx("div",{className:"text-muted-foreground space-y-1",children:e})]})}function Ue({children:e}){return s.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:e})}function St({href:e,name:t,note:r}){return s.jsxs("li",{className:"leading-relaxed",children:[s.jsxs("a",{href:e,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[t,s.jsx(TM,{className:"h-3 w-3 opacity-60"})]}),s.jsxs("span",{className:"text-muted-foreground",children:[" — ",r]})]})}function YL(){const[e,t]=x.useState(!1);return s.jsxs("div",{className:"space-y-7",children:[s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 flex items-start gap-4",children:[s.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:s.jsx(gv,{className:"h-6 w-6 text-primary"})}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),s.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Allgemeines Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",s.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juni 2026."})," ","Das meiste gilt überall; ",s.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),s.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:s.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:s.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[s.jsx(vv,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(e?Nk:Nk.slice(0,9)).map(r=>s.jsx("button",{onClick:()=>QL(r.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:r.label},r.id)),s.jsx("button",{onClick:()=>t(r=>!r),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:e?"weniger":"+ mehr"})]})})}),s.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[s.jsxs(Rr,{id:"grundlagen",icon:yi,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[s.jsxs("p",{children:["Ein LLM ist im Kern ein ",s.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),s.jsxs("li",{children:[s.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",s.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),s.jsxs(Rr,{id:"moe",icon:c5,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",s.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",s.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),s.jsxs("p",{children:[s.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx(Ue,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),s.jsxs("li",{children:[s.jsx(Ue,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),s.jsxs("li",{children:[s.jsx(Ue,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),s.jsxs(Ba,{children:["VRAM/RAM ist die harte Grenze — ",s.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",s.jsx(Ue,{children:"Q4_K_M"}),"/",s.jsx(Ue,{children:"Q6_K"}),"."]})]}),s.jsxs(Rr,{id:"lokal",icon:ph,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"llama-swap"})," — Proxy, der ",s.jsx("em",{children:"mehrere"})," Modelle hinter ",s.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),s.jsx("ul",{className:"list-disc pl-4 space-y-1",children:s.jsxs("li",{children:[s.jsx(Ue,{children:"CUDA"})," NVIDIA · ",s.jsx(Ue,{children:"ROCm"})," AMD · ",s.jsx(Ue,{children:"Vulkan"})," herstellerübergreifend · ",s.jsx(Ue,{children:"Metal"})," Apple"]})}),s.jsxs("p",{className:"pt-1",children:[s.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",s.jsx(Ue,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",s.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),s.jsxs(Ba,{children:["Deine Box hat eine AMD-APU (gfx1151). ",s.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",s.jsx(Ue,{children:"Vulkan/RADV"})," das offizielle ",s.jsx(Ue,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",s.jsx(Ue,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",s.jsx(Ue,{children:"coder"})," nutzt Spec-Decoding."]})]}),s.jsxs(Rr,{id:"modelle",icon:hf,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{children:s.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Llama"})," (Meta), ",s.jsx("strong",{children:"Gemma"})," (Google), ",s.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"DeepSeek"}),", ",s.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{children:s.jsx("strong",{children:"Frontier (Cloud-API):"})}),s.jsx("ul",{className:"list-disc pl-4 space-y-1",children:s.jsxs("li",{children:[s.jsx("strong",{children:"Claude"})," (Anthropic), ",s.jsx("strong",{children:"GPT"})," (OpenAI), ",s.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),s.jsxs("p",{className:"pt-1",children:[s.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),s.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),s.jsxs(Ba,{children:["Dein Line-up via llama-swap: ",s.jsx(Ue,{children:"fast"})," (Alltag/Vision/MoE) · ",s.jsx(Ue,{children:"heavy"})," (schwere Logik) ·",s.jsx(Ue,{children:"coder"})," · ",s.jsx(Ue,{children:"scout"})," · ",s.jsx(Ue,{children:"vision"})," · ",s.jsx(Ue,{children:"embed"})," (fürs Gedächtnis) ·",s.jsx(Ue,{children:"hermes"})," (Agent-Hirn). Verwalten/tauschen im ",s.jsx("strong",{children:"Modell-Manager"}),"-Tab."]})]}),s.jsxs(Rr,{id:"gateway",icon:mI,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[s.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",s.jsx("strong",{children:"OpenAI-Format"})," (",s.jsx(Ue,{children:"/v1/chat/completions"}),"). Ein",s.jsx("strong",{children:" Gateway"})," davor gibt dir ",s.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",s.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),s.jsxs("p",{children:["Die ",s.jsx(Ue,{children:"model:auto"}),'-Idee: du sagst „auto", das Gateway wählt das passende Modell je nach Anfrage und lädt es bei Bedarf.']}),s.jsxs(Ba,{children:["Dein Gateway: ",s.jsx(Ue,{children:"http://192.168.178.151:9001/v1"}),", Model ",s.jsx(Ue,{children:"auto"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",s.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),s.jsxs(Rr,{id:"mcp",icon:Pc,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[s.jsxs("p",{children:["Das ",s.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",s.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),s.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),s.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[s.jsx(f5,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),s.jsxs("span",{children:[s.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),s.jsxs(Rr,{id:"skills",icon:gI,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[s.jsxs("p",{children:["Ein ",s.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",s.jsx(Ue,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),s.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- name: tdd-pro description: Treibt Entwicklung mit strikter TDD-Praxis --- # Instructions -...`}),s.jsxs("p",{children:["Suchen & installieren über die ",s.jsx("strong",{children:"skills.sh"}),"-Registry: ",s.jsx(Ue,{children:"npx skills find"})," /",s.jsx(Ue,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),s.jsxs(Dr,{id:"memory",icon:VM,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:["LLMs sind ",s.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",s.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:["extrahiert Fakten ",s.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),s.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),s.jsxs("li",{children:[s.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",s.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),s.jsxs(Ba,{children:["Dein Gedächtnis (Tab ",s.jsx("strong",{children:"Gedächtnis"}),") ist ",s.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",s.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",s.jsx(Ue,{children:"Identität"})," · ",s.jsx(Ue,{children:"Wissen"})," · ",s.jsx(Ue,{children:"Regeln"})," · ",s.jsx(Ue,{children:"Ereignisse"}),"). Einstieg über ein kurzes ",s.jsx("strong",{children:"Hermes-Onboarding-Gespräch"})," im Terminal — der Agent lernt im Hintergrund nach jedem Turn.",s.jsx("br",{}),s.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),s.jsxs(Dr,{id:"agents",icon:Hn,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:["Ein ",s.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",s.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),s.jsxs("p",{children:[s.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",s.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),s.jsxs(Ba,{children:[s.jsx("strong",{children:"Hermes"})," ist dein Box-Agent (Hirn = ",s.jsx(Ue,{children:"fast"}),"). Reden tust du mit ihm im",s.jsx("strong",{children:" Terminal"}),"-Tab (Web-Terminal via ttyd) oder per ",s.jsx("strong",{children:"Telegram"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und ",s.jsx("strong",{children:"PC-Steuerung"})," (Executor auf deinem Windows-PC). Status & Verdrahtung im ",s.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),s.jsxs(Dr,{id:"ide",icon:Fs,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[s.jsxs("p",{children:["Jede ",s.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Cline"})," & ",s.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Continue"}),", ",s.jsx("strong",{children:"aider"})," (CLI), ",s.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),s.jsxs(Ba,{children:["Tipp den Kram nicht ab: der ",s.jsx("strong",{children:"Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",s.jsx(Ue,{children:"…:9001/v1"}),", Model ",s.jsx(Ue,{children:"auto"}),", Key beliebig."]})]}),s.jsx(Dr,{id:"tricks",icon:iI,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:s.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([r,n])=>s.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[s.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[s.jsx(wa,{className:"h-3 w-3 text-amber-400"})," ",r]}),s.jsx("p",{className:"text-[11px]",children:n})]},r))})}),s.jsx(Dr,{id:"wartung",icon:nl,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[s.jsx(o5,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[s.jsx(tu,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Backup:"})," tägliches Voll-Zustands-Backup, getesteter ",s.jsx(Ue,{children:"restore.sh"})," (Doku in ",s.jsx(Ue,{children:"docs/BACKUP.md"}),")."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",s.jsx("strong",{children:"Hermes-Update-Button"})," mit anschließendem ",s.jsx("strong",{children:"Gehirn-Check"})," (rot, falls das Update das Gedächtnis zerschießt) + Engine-Update."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),s.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),s.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[s.jsx(vv,{className:"h-5 w-5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),s.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),s.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(ff,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),s.jsx(St,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),s.jsx(St,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),s.jsx(St,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),s.jsx(St,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),s.jsx(St,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(Pc,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),s.jsx(St,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),s.jsx(St,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),s.jsx(St,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),s.jsx(St,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(Hn,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),s.jsx(St,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),s.jsx(St,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),s.jsx(St,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),s.jsx(St,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(gv,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),s.jsx(St,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),s.jsx(St,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),s.jsx(St,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),s.jsx(St,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),s.jsx(Dr,{id:"troubleshooting",icon:nI,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:s.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",s.jsx(Ue,{children:":9001"}),")? Backend-Status in der ",s.jsx("strong",{children:"Zentrale"})," prüfen."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," In der ",s.jsx("strong",{children:"Zentrale → Dienste"})," schauen, ob ",s.jsx(Ue,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session im ",s.jsx("strong",{children:"Terminal"})," starten — meist ist es vollgemüllter Kontext."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort). Leeres Gedächtnis → Hermes-Onboarding starten."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Update hat etwas zerschossen?"})," Genau dafür gibt es Backup & ",s.jsx(Ue,{children:"restore.sh"})," — den getesteten Restore fahren, dann Ursache suchen."]})]})})]}),s.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juni 2026 — lebendes Dokument, wächst mit dem Stack."})]})}function YL({title:e,hint:t}){return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-xl font-semibold",children:e}),s.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),s.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[s.jsx(GM,{className:"h-8 w-8 text-muted-foreground"}),s.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const jk=[{id:"mission-control-2",label:"Mission Control",type:"user",reach:"gateway (integr"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user",reach:"hermes-gateway"},{id:"mem0-service",label:"Mem0 (Gedächtnis)",type:"user",reach:"mem0"},{id:"voice-service",label:"Voice (Sprache)",type:"user",reach:"voice"},{id:"hermes-builtin-ui",label:"Hermes GUI (Desktop-Gateway)",type:"user",reach:"hermes-gui"},{id:"llama-swap",label:"Llama Swap",type:"system",reach:"llama-swap"}];function oc({icon:e,iconClass:t,name:r,status:n,available:i,busy:o,actionLabel:c,onAction:u}){return s.jsxs("div",{className:J("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[s.jsx(e,{className:J("h-4 w-4 shrink-0",t)}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-xs text-foreground truncate",children:r}),s.jsx("div",{className:J("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:n})]}),s.jsx("button",{onClick:u,disabled:!i||o,className:J("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:o?"…":c})]})}function ZL({label:e,ok:t,system:r,busy:n,onRestart:i,onLogs:o}){return s.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[s.jsx("span",{className:J("w-1.5 h-1.5 rounded-full shrink-0",t===!0?"bg-emerald-500":t===!1?"bg-red-500":"bg-muted-foreground/40")}),s.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[e,r&&s.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),s.jsx("button",{onClick:i,disabled:n,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:s.jsx(ho,{className:J("h-3.5 w-3.5",n&&"animate-spin")})}),s.jsx("button",{onClick:o,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:s.jsx(i5,{className:"h-3.5 w-3.5"})})]})}function bg(e){return e==null?"":e>1024**3?`${(e/1024**3).toFixed(2)} GB`:`${(e/1024**2).toFixed(1)} MB`}const XL=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,JL=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function eR(e){return XL.test(e)?"error":JL.test(e)?"warn":"info"}const tR={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function rR({service:e,text:t,loading:r,logStatus:n,onRefresh:i,onOpenSettings:o}){const[c,u]=x.useState(!1),[f,h]=x.useState(""),m=x.useRef(null),p=x.useMemo(()=>t?t.split(` -`).map(k=>({t:k,level:eR(k)})):[],[t]),v=x.useMemo(()=>p.filter(k=>k.level!=="info").length,[p]),b=f.trim().toLowerCase(),S=p.filter(k=>(!c||k.level!=="info")&&(!b||k.t.toLowerCase().includes(b))),w=n==="password_required"||n==="incorrect_password";return s.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[s.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[s.jsx(x5,{className:"h-3 w-3 text-primary"}),s.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",e]}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsxs("div",{className:"relative",children:[s.jsx(rl,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),s.jsx("input",{value:f,onChange:k=>h(k.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),s.jsxs("button",{onClick:()=>u(k=>!k),title:"Nur Fehler und Warnungen zeigen",className:J("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",c?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[s.jsx(vr,{className:"h-3 w-3"}),"Nur Probleme",v>0?` (${v})`:""]}),s.jsx("button",{onClick:i,disabled:r,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:s.jsx(ho,{className:J("h-3 w-3",r&&"animate-spin")})})]})]}),s.jsx("div",{ref:m,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:w?s.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[s.jsx(vr,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),s.jsx("div",{className:"text-xs font-semibold text-amber-300",children:n==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),s.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",e," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),s.jsx("button",{onClick:o,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):r&&!t?s.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):p.length===0?s.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):S.length===0?s.jsx("span",{className:"text-muted-foreground",children:c?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):S.map((k,N)=>s.jsx("div",{className:J("whitespace-pre-wrap",tR[k.level]),children:k.t||" "},N))})]})}function nR({open:e,showAlert:t}){const[r,n]=x.useState(""),[i,o]=x.useState(""),[c,u]=x.useState(!1),[f,h]=x.useState(!1);return x.useEffect(()=>{e&&(n(localStorage.getItem("mc_sudo_password")||""),o(localStorage.getItem("mc_hf_token")||""))},[e]),s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),s.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[s.jsx(nl,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),s.jsxs("div",{className:"relative",children:[s.jsx("input",{type:c?"text":"password",value:r,onChange:m=>n(m.target.value),"aria-label":"Host Sudo-Passwort",name:"sudo-password",autoComplete:"off",spellCheck:!1,placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),s.jsx("button",{type:"button",onClick:()=>u(!c),"aria-label":c?"Passwort verbergen":"Passwort anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:c?s.jsx(Dw,{className:"h-4 w-4","aria-hidden":"true"}):s.jsx(Cc,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[s.jsx(tI,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),s.jsxs("div",{className:"relative",children:[s.jsx("input",{type:f?"text":"password",value:i,onChange:m=>o(m.target.value),"aria-label":"HuggingFace API Token",name:"hf-token",autoComplete:"off",spellCheck:!1,placeholder:"hf_…",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),s.jsx("button",{type:"button",onClick:()=>h(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:f?s.jsx(Dw,{className:"h-4 w-4","aria-hidden":"true"}):s.jsx(Cc,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),s.jsxs("div",{className:"flex gap-3 pt-2",children:[s.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",r),localStorage.setItem("mc_hf_token",i),t("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),s.jsx("button",{onClick:()=>{n(""),o(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),t("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})}function iR({detail:e,maintenanceJob:t,onClose:r,onApply:n}){var f,h;const i=e.data,o={os:{icon:nl,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:ph,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:g5,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:Hn,cls:"text-amber-400",title:"Hermes-Agent"}}[e.kind],c=o.icon,u=i?e.kind==="os"?(i.count??0)===0:e.kind==="hermes"?(i.behind??0)===0:i.installed_build!=null&&i.latest_build!=null&&i.latest_build<=i.installed_build:!0;return s.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[s.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:r}),s.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[s.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(c,{className:J("h-4.5 w-4.5",o.cls)}),s.jsx("h3",{className:"text-sm font-semibold",children:o.title})]}),s.jsx("button",{onClick:r,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:e.loading?s.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[s.jsx(ho,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):i!=null&&i.error?s.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:i.error}):s.jsxs(s.Fragment,{children:[(i==null?void 0:i.action_needed)!=null&&s.jsxs("div",{className:J("flex items-start gap-2 rounded-lg border p-3",i.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[i.action_needed?s.jsx(vr,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):s.jsx(n5,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:J("text-xs font-semibold",i.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",i.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),i.action_needed&&i.action_text&&s.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:i.action_text})]})]}),(i==null?void 0:i.summary)&&s.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),s.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:i.summary})]}),e.kind==="os"?s.jsxs(s.Fragment,{children:[((i==null?void 0:i.count)??0)===0?s.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"text-muted-foreground",children:[i.count," Paket(e) werden aktualisiert:"]}),s.jsx("div",{className:"space-y-1",children:i.packages.map(m=>s.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[s.jsx(Rw,{className:"h-3 w-3 text-cyan-400 shrink-0"}),m.name]}),s.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[s.jsx("span",{children:m.current}),s.jsx(wc,{className:"h-3 w-3"}),s.jsx("span",{className:"text-emerald-400",children:m.candidate})]})]},m.name))})]}),(((f=i==null?void 0:i.held_back)==null?void 0:f.length)??0)>0&&s.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[s.jsx(mh,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),s.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),s.jsx("div",{className:"space-y-1",children:i.held_back.map(m=>s.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[s.jsx(Rw,{className:"h-3 w-3 text-muted-foreground shrink-0"}),m.name]}),s.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:m.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},m.name))})]})]}):e.kind==="engine"||e.kind==="swap"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[s.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(i==null?void 0:i.installed_build)??"?"]}),s.jsx(wc,{className:"h-3.5 w-3.5 text-muted-foreground"}),s.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(i==null?void 0:i.latest_build)??"?"]})]}),((i==null?void 0:i.name)||(i==null?void 0:i.latest_tag))&&s.jsxs("div",{className:"text-muted-foreground",children:["Release: ",s.jsx("span",{className:"text-foreground",children:i==null?void 0:i.name}),i!=null&&i.latest_tag?` (${i.latest_tag})`:""]}),(i==null?void 0:i.url)&&s.jsxs("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",s.jsx(Dx,{className:"h-3 w-3"})]}),(i==null?void 0:i.body)&&s.jsxs("details",{className:"group",children:[s.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),s.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:i.body})]})]}):(((h=i==null?void 0:i.commits)==null?void 0:h.length)??0)===0?s.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"text-muted-foreground",children:[i.behind," neue Commit(s) auf ",s.jsxs("span",{className:"font-mono text-foreground",children:["origin/",i.branch]}),":"]}),s.jsx("div",{className:"space-y-1",children:i.commits.map(m=>s.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[s.jsx(ZM,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[11px] truncate",children:m.subject}),s.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[m.hash," · ",m.when]})]})]},m.hash))})]}),e.kind!=="os"&&!u&&s.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[s.jsx(p5,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),s.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",e.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),s.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[s.jsx("button",{onClick:r,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),s.jsx("button",{onClick:n,disabled:e.loading||u||!!t,title:t?`Update läuft bereits: ${t.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:t?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function yE({open:e,onClose:t,defaultTab:r="maintenance"}){var Mi,vl;const[n,i]=x.useState(null),[o,c]=x.useState([]),[u,f]=x.useState("llama-swap"),[h,m]=x.useState(""),[p,v]=x.useState(!1),[b,S]=x.useState(null),[w,k]=x.useState({}),[N,E]=x.useState("maintenance"),[C,A]=x.useState(!1),[_,O]=x.useState(""),[I,B]=x.useState(!1),[F,R]=x.useState(null),[Q,U]=x.useState([]),[ge,ue]=x.useState(!1),[pe,se]=x.useState(null),[ae,Z]=x.useState(null);function te(G,$e,at){Z({type:"alert",title:G,message:$e,onConfirm:()=>{Z(null),at&&at()}})}function ie(G,$e,at){Z({type:"confirm",title:G,message:$e,onConfirm:()=>{Z(null),at()},onCancel:()=>Z(null)})}function D(G){return G?new Date(G*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}x.useEffect(()=>{e&&r&&E(r)},[e,r]);function M(){xe("/api/maintenance/updates").then(i).catch(G=>console.error("Error loading updates",G))}function q(){xe("/api/jobs").then(G=>c(G.jobs||[])).catch(G=>console.error("Error loading jobs",G))}function le(){xe("/api/system/services").then(R).catch(()=>{})}function oe(){xe("/api/system/backups").then(G=>U(G.backups||[])).catch(()=>{})}function ee(G){v(!0),S(null),xe(`/api/maintenance/logs?service=${G}&lines=150`).then($e=>{$e.ok?m($e.text):(m(`Fehler beim Laden der Logs: ${$e.err||"Unbekannter Fehler"}`),($e.status==="incorrect_password"||$e.status==="password_required")&&S($e.status))}).catch($e=>m(`Fehler: ${$e.message}`)).finally(()=>v(!1))}x.useEffect(()=>{if(!e)return;M(),q(),le(),oe();const G=setInterval(()=>{q(),M(),le()},3e3);return()=>clearInterval(G)},[e]),x.useEffect(()=>{!e||N!=="logs"||ee(u)},[e,N,u]);function ne(G){return(G==null?void 0:G.status)==="busy"?(te("Update läuft bereits",`Es läuft gerade „${G.running}". Bitte warte, bis es fertig ist.`),q(),!0):!1}function he(G){return(G==null?void 0:G.status)==="password_required"||(G==null?void 0:G.status)==="incorrect_password"?(te("Box-Passwort nötig",(G.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):G&&G.ok===!1?(te("Update fehlgeschlagen",G.err||"Unbekannter Fehler."),!0):!1}async function re(){try{const G=await xe("/api/maintenance/os-update",{method:"POST"});if(ne(G)||he(G))return;q(),E("maintenance")}catch(G){te("Fehler",`Fehler beim Starten des OS-Updates: ${G.message}`)}}async function ye(){try{const G=await xe("/api/maintenance/engine-update",{method:"POST"});if(ne(G)||he(G))return;q(),E("maintenance")}catch(G){te("Fehler",`Fehler beim Engine-Update: ${G.message}`)}}async function Oe(){try{const G=await xe("/api/maintenance/swap-update",{method:"POST"});if(ne(G)||he(G))return;q(),E("maintenance")}catch(G){te("Fehler",`Fehler beim Router-Update: ${G.message}`)}}async function W(){ue(!0);try{const G=await xe("/api/maintenance/hermes-update",{method:"POST"});if(ne(G))return;q()}catch(G){te("Fehler",`Hermes-Update fehlgeschlagen: ${G.message}`)}finally{ue(!1)}}async function ke(G){se({kind:G,loading:!0,data:null});try{const $e=await xe(`/api/maintenance/update-details?kind=${G}`);se({kind:G,loading:!1,data:$e})}catch($e){se({kind:G,loading:!1,data:{kind:G,error:$e.message}})}}function Ie(){const G=pe==null?void 0:pe.kind;se(null),G==="os"?re():G==="engine"?ye():G==="swap"?Oe():G==="hermes"&&W()}function be(){var $e;const G=[n!=null&&n.engine?"Engine":null,n!=null&&n.swap?"Router":null,($e=n==null?void 0:n.components)!=null&&$e.some(at=>at.update===!0)?"Hermes-Agent":null,n!=null&&n.os?`OS (${n.os} Pakete)`:null].filter(Boolean);ie("Alle Updates einspielen?",`Nacheinander in einem Job: ${G.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const at=await xe("/api/maintenance/update-all",{method:"POST"});if(ne(at)||he(at))return;if((at==null?void 0:at.status)==="nothing"){te("Nichts zu tun","Es stehen keine Updates aus.");return}q(),E("maintenance")}catch(at){te("Fehler",`„Alle aktualisieren" konnte nicht starten: ${at.message}`)}})}async function We(){A(!0);try{await xe("/api/maintenance/check-updates",{method:"POST"}),q(),E("maintenance")}catch(G){te("Fehler",`Fehler bei der Update-Suche: ${G.message}`)}finally{A(!1)}}async function Dt(G,$e){try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:G,role:$e})}),te("Gestartet",`Modell-Upgrade für '${$e}' (${G}) gestartet.`),q(),E("maintenance")}catch(at){te("Fehler",`Fehler beim Starten des Modell-Upgrades: ${at.message}`)}}async function K(){ie("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await xe("/api/maintenance/reboot",{method:"POST"}),te("Reboot","Reboot ausgelöst. System startet neu...",()=>{t()})}catch(G){te("Fehler",`Fehler beim Reboot: ${G.message}`)}})}async function Ae(){B(!0),O("Snapshot wird erzeugt...");try{const G=await xe("/api/system/backup",{method:"POST"});O(G.ok?`Snapshot erzeugt: ${G.snapshot} (${G.files.length} Komponenten)`:"Backup fehlgeschlagen."),oe()}catch(G){O(`Fehler: ${G.message}`)}finally{B(!1)}}async function _e(G){k($e=>({...$e,[G]:!0}));try{const $e=await xe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:G})});$e.ok?te("Dienst neu gestartet",`Dienst ${G} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&u===G&&ee(G)}):te("Fehler",`Fehler beim Neustart: ${$e.err||"Unbekannter Fehler"}`)}catch($e){te("Fehler",`Fehler beim Neustart: ${$e.message}`)}finally{k($e=>({...$e,[G]:!1}))}}async function Xe(G){try{await xe(`/api/jobs/${G}/cancel`,{method:"POST"}),q()}catch($e){te("Fehler",`Fehler beim Abbrechen: ${$e.message}`)}}const tt=o.find(G=>(G.state==="running"||G.state==="queued")&&G.group==="maintenance"),dr=(n?(n.os>0?1:0)+(n.engine?1:0)+(n.swap?1:0):0)+(((Mi=n==null?void 0:n.components)==null?void 0:Mi.filter(G=>G.update===!0).length)??0);return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:J("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),s.jsxs("div",{className:J("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[s.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(yi,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),s.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[s.jsx("button",{onClick:()=>E("maintenance"),className:J("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),s.jsx("button",{onClick:()=>E("logs"),className:J("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),s.jsx("button",{onClick:()=>E("settings"),className:J("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"space-y-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),s.jsxs("div",{className:"flex items-center gap-3",children:[dr>0&&s.jsxs("button",{onClick:be,disabled:!!tt,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[s.jsx(WM,{className:"h-3 w-3"})," Alle aktualisieren (",dr,")"]}),s.jsxs("button",{onClick:We,disabled:C||!!tt,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[s.jsx(ho,{className:J("h-3 w-3",C&&"animate-spin")})," Nach Updates suchen"]})]})]}),(n==null?void 0:n.last_check)&&s.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",D(n.last_check)]}),tt&&s.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[s.jsx(ho,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),s.jsxs("span",{children:["Update läuft: ",s.jsx("span",{className:"font-semibold",children:tt.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsx(oc,{icon:nl,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(n!=null&&n.os),status:n!=null&&n.os?`${n.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("os")}),s.jsx(oc,{icon:ph,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(n!=null&&n.engine),status:n!=null&&n.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("engine")}),s.jsx(oc,{icon:g5,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(n!=null&&n.swap),status:n!=null&&n.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("swap")}),(()=>{var $e;const G=($e=n==null?void 0:n.components)==null?void 0:$e.find(at=>at.key==="hermes_agent");return s.jsx(oc,{icon:Hn,iconClass:"text-amber-400",name:"Hermes-Agent",available:(G==null?void 0:G.update)===!0,busy:ge,status:(G==null?void 0:G.update)===!0?`Update: ${G.latest}`:(G==null?void 0:G.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("hermes")})})(),(vl=n==null?void 0:n.model_list)==null?void 0:vl.map(G=>s.jsx(oc,{icon:DM,iconClass:"text-emerald-400",name:`Modell · ${G.role}`,available:!0,status:G.title,actionLabel:"Upgrade",onAction:()=>Dt(G.repo,G.role)},G.role))]})]}),s.jsxs("div",{className:"space-y-2.5",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),s.jsx("div",{className:"space-y-1.5",children:jk.map(G=>{var $e;return s.jsx(ZL,{label:G.label,system:G.type==="system",ok:($e=F==null?void 0:F.services.find(at=>at.name.toLowerCase().includes(G.reach)))==null?void 0:$e.ok,busy:w[G.id],onRestart:()=>_e(G.id),onLogs:()=>{f(G.id),E("logs")}},G.id)})})]}),s.jsxs("div",{className:"space-y-2.5",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),s.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-xs text-foreground truncate",children:Q[0]?`Letztes: ${Q[0].snapshot}`:"Noch kein Backup"}),s.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[Q.length," Snapshots · Restore per CLI (restore.sh)"]})]}),s.jsxs("button",{onClick:Ae,disabled:I,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[s.jsx($M,{className:J("h-3.5 w-3.5",I&&"animate-pulse")})," Snapshot"]})]}),_&&s.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:_})]}),s.jsxs("div",{className:"space-y-2.5",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),s.jsxs("button",{onClick:K,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[s.jsx(h5,{className:"h-4.5 w-4.5"}),s.jsxs("div",{children:[s.jsx("div",{children:"Host-System neu starten"}),s.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),s.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[o.filter(G=>G.state==="running"||G.state==="queued").length," Aktiv"]})]}),s.jsx("div",{className:"space-y-3",children:o.length===0?s.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):o.map(G=>{const $e=G.state==="running"||G.state==="queued";return s.jsxs("div",{className:J("p-3 rounded-xl border transition-all duration-300",$e?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[$e&&s.jsxs("span",{className:"flex h-2 w-2 relative",children:[s.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),s.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),G.label]}),s.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[s.jsxs("span",{children:["ID: ",G.id]}),s.jsx("span",{children:"•"}),s.jsx("span",{className:J(G.state==="done"&&"text-emerald-400",G.state==="failed"&&"text-red-400",G.state==="running"&&"text-primary",G.state==="queued"&&"text-amber-400",G.state==="canceled"&&"text-muted-foreground"),children:G.state})]})]}),$e&&s.jsx("button",{onClick:()=>Xe(G.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),G.state==="running"&&s.jsxs("div",{className:"mt-3 space-y-1",children:[s.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:s.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${G.progress??0}%`}})}),s.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[s.jsxs("span",{children:[G.progress??0,"%"]}),G.done_bytes!=null&&G.total_bytes!=null&&s.jsxs("span",{children:[bg(G.done_bytes)," / ",bg(G.total_bytes),G.rate_bps!=null&&` (${bg(G.rate_bps)}/s)`]}),G.eta_s!=null&&s.jsxs("span",{children:["ETA: ",G.eta_s,"s"]})]})]})]},G.id)})})]})]}),N==="logs"&&s.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("select",{value:u,onChange:G=>f(G.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:jk.map(G=>s.jsxs("option",{value:G.id,children:[G.label," (",G.type==="system"?"systemd-root":"user",")"]},G.id))}),s.jsxs("button",{onClick:()=>_e(u),disabled:w[u],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[s.jsx(ho,{className:J("h-3.5 w-3.5",w[u]&&"animate-spin")}),"Restart"]})]}),s.jsx(rR,{service:u,text:h,loading:p,logStatus:b,onRefresh:()=>ee(u),onOpenSettings:()=>E("settings")})]}),N==="settings"&&s.jsx(nR,{open:e,showAlert:te})]})]}),pe&&s.jsx(iR,{detail:pe,maintenanceJob:tt,onClose:()=>se(null),onApply:Ie}),ae&&s.jsx(mE,{type:ae.type,title:ae.title,message:ae.message,onConfirm:ae.onConfirm,onCancel:ae.onCancel})]})}let Ov=[],_v=[];const Mv=new Set,bE=()=>Mv.forEach(e=>e());function wE(e){return Mv.add(e),()=>{Mv.delete(e)}}function aR(e){Ov=[...Ov,e].slice(-40),bE()}function oR(e){_v=[..._v,e].slice(-40),bE()}const sR=()=>x.useSyncExternalStore(wE,()=>Ov),lR=()=>x.useSyncExternalStore(wE,()=>_v);function cR(){const{data:e,dataUpdatedAt:t}=Co(3e3),{data:r,dataUpdatedAt:n}=dE(3e3),i=x.useRef(null);x.useEffect(()=>{var o,c,u,f;e&&aR({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((c=e.ram)==null?void 0:c.percent)??0,gpu:((u=e.gpu)==null?void 0:u.busy_percent)??null,disk:((f=e.disk)==null?void 0:f.percent)??null})},[t]),x.useEffect(()=>{if(!r)return;const o=Date.now(),c=r.prompt_tokens,u=r.completion_tokens;if(i.current){const f=Math.max((o-i.current.t)/1e3,.001);oR({t:o,prompt:Math.max(0,(c-i.current.p)/f),completion:Math.max(0,(u-i.current.c)/f)})}i.current={p:c,c:u,t:o}},[n])}function kE(){var A,_,O,I,B,F;const{data:e}=Kx(),{data:t}=uE(),{data:r}=Si(),{data:n}=Co(),i=!!e&&!!t,o=R=>{var Q;return(Q=t==null?void 0:t.services.find(U=>U.name.toLowerCase().includes(R)))==null?void 0:Q.ok},c=e==null?void 0:e.engine_reachable,u=(A=e==null?void 0:e.brain)==null?void 0:A.ready,f=((_=e==null?void 0:e.brain)==null?void 0:_.model)||((O=r==null?void 0:r.models.find(R=>R.role==="hermes"))==null?void 0:O.name)||"",h=[];h.push((()=>{const R={id:"brain",label:"Lucys Hirn",icon:Sa,critical:!0};return i?c===!1?{...R,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:u===!1?{...R,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:f?{kind:"loadModel",model:f,label:"Hirn aufwecken"}:void 0}:{...R,status:"ok",detail:"Wach und ansprechbar."}:{...R,status:"loading",detail:"Wird geprüft …"}})()),h.push((()=>{const R={id:"vision",label:"Lucys Augen",icon:Cc,critical:!1};if(!i||!r)return{...R,status:"loading",detail:"Wird geprüft …"};const Q=r.models.find(ge=>ge.role==="vision");return Q?(r.running??[]).includes(Q.name)?{...R,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...R,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:Q.name,label:"Augen wecken"}}:{...R,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),h.push((()=>{const R={id:"memory",label:"Lucys Gedächtnis",icon:t5,critical:!0},Q=o("mem0");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Merkt sich Neues und findet Altes wieder."}:{...R,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gedächtnis antwortet nicht.",repair:{kind:"restart",service:"mem0-service",label:"Gedächtnis neu starten"}}})()),h.push((()=>{const R={id:"gateway",label:"Verbindung (Gateway)",icon:Pc,critical:!0},Q=e?e.gateway_reachable:o("integriert");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...R,status:"down",detail:"Die Verbindungs-Zentrale antwortet nicht — Apps erreichen Lucy nicht.",repair:{kind:"restart",service:"mission-control-2",label:"Zentrale neu starten"}}})()),h.push((()=>{const R={id:"agent",label:"Lucys Agent (Hermes)",icon:Hn,critical:!0},Q=o("hermes-gateway");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...R,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),h.push((()=>{const R={id:"voice",label:"Lucys Stimme",icon:dI,critical:!1},Q=o("voice");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Lucy kann hören und sprechen."}:{...R,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const m=((I=n==null?void 0:n.gpu)==null?void 0:I.gtt_total)||((B=n==null?void 0:n.gpu)==null?void 0:B.vram_total)||0,p=((F=n==null?void 0:n.gpu)==null?void 0:F.gtt_used)||0,v=m>0?Math.min(100,p/m*100):0,b=1024**3,S=m?v>=90?{status:"full",usedGb:p/b,totalGb:m/b,pct:v,text:"Speicher fast voll — Lucy könnte langsamer werden."}:v>=72?{status:"warn",usedGb:p/b,totalGb:m/b,pct:v,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:p/b,totalGb:m/b,pct:v,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},w=h.some(R=>R.status==="loading"),k=h.filter(R=>R.critical&&R.status==="down"),N=h.filter(R=>R.status==="warn"||!R.critical&&R.status==="down"),E=S.status==="full";return{verdict:w&&!k.length?"loading":k.length?"problem":N.length||E?"warn":"gut",checks:h,memory:S,problems:k,warns:N}}const uR={ok:"bg-emerald-500",warn:"bg-amber-500",down:"bg-red-500",loading:"bg-muted-foreground/40"};function dR({frame:e="lucy"}={}){const{verdict:t,checks:r,memory:n,problems:i}=kE(),{showAlert:o,dialogElement:c}=Nn(),u=Hr(),[f,h]=x.useState({});async function m(k,N){h(E=>({...E,[k]:!0}));try{if(N.kind==="loadModel")await xe(`/api/models/${encodeURIComponent(N.model)}/load`,{method:"POST"});else{const E=await xe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:N.service})});E.ok||o("Reparatur nicht ganz geklappt",(E.err||"Unbekannter Fehler")+(N.needsSudo?` +...`}),s.jsxs("p",{children:["Suchen & installieren über die ",s.jsx("strong",{children:"skills.sh"}),"-Registry: ",s.jsx(Ue,{children:"npx skills find"})," /",s.jsx(Ue,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),s.jsxs(Rr,{id:"memory",icon:QM,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:["LLMs sind ",s.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",s.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:["extrahiert Fakten ",s.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),s.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),s.jsxs("li",{children:[s.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",s.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),s.jsxs(Ba,{children:["Dein Gedächtnis (Tab ",s.jsx("strong",{children:"Gedächtnis"}),") ist ",s.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",s.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",s.jsx(Ue,{children:"Identität"})," · ",s.jsx(Ue,{children:"Wissen"})," · ",s.jsx(Ue,{children:"Regeln"})," · ",s.jsx(Ue,{children:"Ereignisse"}),"). Einstieg über ein kurzes ",s.jsx("strong",{children:"Hermes-Onboarding-Gespräch"})," im Terminal — der Agent lernt im Hintergrund nach jedem Turn.",s.jsx("br",{}),s.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),s.jsxs(Rr,{id:"agents",icon:Hn,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:["Ein ",s.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",s.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),s.jsxs("p",{children:[s.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",s.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),s.jsxs(Ba,{children:[s.jsx("strong",{children:"Hermes"})," ist dein Box-Agent (Hirn = ",s.jsx(Ue,{children:"fast"}),"). Reden tust du mit ihm im",s.jsx("strong",{children:" Terminal"}),"-Tab (Web-Terminal via ttyd) oder per ",s.jsx("strong",{children:"Telegram"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und ",s.jsx("strong",{children:"PC-Steuerung"})," (Executor auf deinem Windows-PC). Status & Verdrahtung im ",s.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),s.jsxs(Rr,{id:"ide",icon:Fs,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[s.jsxs("p",{children:["Jede ",s.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Cline"})," & ",s.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Continue"}),", ",s.jsx("strong",{children:"aider"})," (CLI), ",s.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),s.jsxs(Ba,{children:["Tipp den Kram nicht ab: der ",s.jsx("strong",{children:"Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",s.jsx(Ue,{children:"…:9001/v1"}),", Model ",s.jsx(Ue,{children:"auto"}),", Key beliebig."]})]}),s.jsx(Rr,{id:"tricks",icon:d5,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:s.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([r,n])=>s.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[s.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[s.jsx(wa,{className:"h-3 w-3 text-amber-400"})," ",r]}),s.jsx("p",{className:"text-[11px]",children:n})]},r))})}),s.jsx(Rr,{id:"wartung",icon:nl,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:s.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[s.jsx(s5,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[s.jsx(ru,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Backup:"})," tägliches Voll-Zustands-Backup, getesteter ",s.jsx(Ue,{children:"restore.sh"})," (Doku in ",s.jsx(Ue,{children:"docs/BACKUP.md"}),")."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",s.jsx("strong",{children:"Hermes-Update-Button"})," mit anschließendem ",s.jsx("strong",{children:"Gehirn-Check"})," (rot, falls das Update das Gedächtnis zerschießt) + Engine-Update."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),s.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),s.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[s.jsx(vv,{className:"h-5 w-5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),s.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),s.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(hf,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),s.jsx(St,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),s.jsx(St,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),s.jsx(St,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),s.jsx(St,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),s.jsx(St,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(Pc,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),s.jsx(St,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),s.jsx(St,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),s.jsx(St,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),s.jsx(St,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(Hn,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),s.jsx(St,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),s.jsx(St,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),s.jsx(St,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),s.jsx(St,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[s.jsx(gv,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),s.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[s.jsx(St,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),s.jsx(St,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),s.jsx(St,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),s.jsx(St,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),s.jsx(St,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),s.jsx(Rr,{id:"troubleshooting",icon:aI,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:s.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",s.jsx(Ue,{children:":9001"}),")? Backend-Status in der ",s.jsx("strong",{children:"Zentrale"})," prüfen."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," In der ",s.jsx("strong",{children:"Zentrale → Dienste"})," schauen, ob ",s.jsx(Ue,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session im ",s.jsx("strong",{children:"Terminal"})," starten — meist ist es vollgemüllter Kontext."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort). Leeres Gedächtnis → Hermes-Onboarding starten."]}),s.jsxs("li",{children:[s.jsx("strong",{children:"Update hat etwas zerschossen?"})," Genau dafür gibt es Backup & ",s.jsx(Ue,{children:"restore.sh"})," — den getesteten Restore fahren, dann Ursache suchen."]})]})})]}),s.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juni 2026 — lebendes Dokument, wächst mit dem Stack."})]})}function ZL({title:e,hint:t}){return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-xl font-semibold",children:e}),s.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),s.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[s.jsx(qM,{className:"h-8 w-8 text-muted-foreground"}),s.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const Sk=[{id:"mission-control-2",label:"Mission Control",type:"user",reach:"gateway (integr"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user",reach:"hermes-gateway"},{id:"mem0-service",label:"Mem0 (Gedächtnis)",type:"user",reach:"mem0"},{id:"voice-service",label:"Voice (Sprache)",type:"user",reach:"voice"},{id:"hermes-builtin-ui",label:"Hermes GUI (Desktop-Gateway)",type:"user",reach:"hermes-gui"},{id:"llama-swap",label:"Llama Swap",type:"system",reach:"llama-swap"}];function oc({icon:e,iconClass:t,name:r,status:n,available:i,busy:o,actionLabel:c,onAction:u}){return s.jsxs("div",{className:J("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[s.jsx(e,{className:J("h-4 w-4 shrink-0",t)}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-xs text-foreground truncate",children:r}),s.jsx("div",{className:J("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:n})]}),s.jsx("button",{onClick:u,disabled:!i||o,className:J("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:o?"…":c})]})}function XL({label:e,ok:t,system:r,busy:n,onRestart:i,onLogs:o}){return s.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[s.jsx("span",{className:J("w-1.5 h-1.5 rounded-full shrink-0",t===!0?"bg-emerald-500":t===!1?"bg-red-500":"bg-muted-foreground/40")}),s.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[e,r&&s.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),s.jsx("button",{onClick:i,disabled:n,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:s.jsx(ho,{className:J("h-3.5 w-3.5",n&&"animate-spin")})}),s.jsx("button",{onClick:o,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:s.jsx(a5,{className:"h-3.5 w-3.5"})})]})}function bg(e){return e==null?"":e>1024**3?`${(e/1024**3).toFixed(2)} GB`:`${(e/1024**2).toFixed(1)} MB`}const JL=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,eR=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function tR(e){return JL.test(e)?"error":eR.test(e)?"warn":"info"}const rR={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function nR({service:e,text:t,loading:r,logStatus:n,onRefresh:i,onOpenSettings:o}){const[c,u]=x.useState(!1),[f,h]=x.useState(""),m=x.useRef(null),p=x.useMemo(()=>t?t.split(` +`).map(k=>({t:k,level:tR(k)})):[],[t]),v=x.useMemo(()=>p.filter(k=>k.level!=="info").length,[p]),b=f.trim().toLowerCase(),N=p.filter(k=>(!c||k.level!=="info")&&(!b||k.t.toLowerCase().includes(b))),w=n==="password_required"||n==="incorrect_password";return s.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[s.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[s.jsx(w5,{className:"h-3 w-3 text-primary"}),s.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",e]}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsxs("div",{className:"relative",children:[s.jsx(rl,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),s.jsx("input",{value:f,onChange:k=>h(k.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),s.jsxs("button",{onClick:()=>u(k=>!k),title:"Nur Fehler und Warnungen zeigen",className:J("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",c?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[s.jsx(vr,{className:"h-3 w-3"}),"Nur Probleme",v>0?` (${v})`:""]}),s.jsx("button",{onClick:i,disabled:r,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:s.jsx(ho,{className:J("h-3 w-3",r&&"animate-spin")})})]})]}),s.jsx("div",{ref:m,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:w?s.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[s.jsx(vr,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),s.jsx("div",{className:"text-xs font-semibold text-amber-300",children:n==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),s.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",e," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),s.jsx("button",{onClick:o,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):r&&!t?s.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):p.length===0?s.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):N.length===0?s.jsx("span",{className:"text-muted-foreground",children:c?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):N.map((k,S)=>s.jsx("div",{className:J("whitespace-pre-wrap",rR[k.level]),children:k.t||" "},S))})]})}function iR({open:e,showAlert:t}){const[r,n]=x.useState(""),[i,o]=x.useState(""),[c,u]=x.useState(!1),[f,h]=x.useState(!1);return x.useEffect(()=>{e&&(n(localStorage.getItem("mc_sudo_password")||""),o(localStorage.getItem("mc_hf_token")||""))},[e]),s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),s.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[s.jsx(nl,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),s.jsxs("div",{className:"relative",children:[s.jsx("input",{type:c?"text":"password",value:r,onChange:m=>n(m.target.value),"aria-label":"Host Sudo-Passwort",name:"sudo-password",autoComplete:"off",spellCheck:!1,placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),s.jsx("button",{type:"button",onClick:()=>u(!c),"aria-label":c?"Passwort verbergen":"Passwort anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:c?s.jsx(Rw,{className:"h-4 w-4","aria-hidden":"true"}):s.jsx(Cc,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[s.jsx(nI,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),s.jsxs("div",{className:"relative",children:[s.jsx("input",{type:f?"text":"password",value:i,onChange:m=>o(m.target.value),"aria-label":"HuggingFace API Token",name:"hf-token",autoComplete:"off",spellCheck:!1,placeholder:"hf_…",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),s.jsx("button",{type:"button",onClick:()=>h(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:f?s.jsx(Rw,{className:"h-4 w-4","aria-hidden":"true"}):s.jsx(Cc,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),s.jsxs("div",{className:"flex gap-3 pt-2",children:[s.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",r),localStorage.setItem("mc_hf_token",i),t("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),s.jsx("button",{onClick:()=>{n(""),o(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),t("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})}function aR({detail:e,maintenanceJob:t,onClose:r,onApply:n}){var f,h;const i=e.data,o={os:{icon:nl,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:ph,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:y5,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:Hn,cls:"text-amber-400",title:"Hermes-Agent"}}[e.kind],c=o.icon,u=i?e.kind==="os"?(i.count??0)===0:e.kind==="hermes"?(i.behind??0)===0:i.installed_build!=null&&i.latest_build!=null&&i.latest_build<=i.installed_build:!0;return s.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[s.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:r}),s.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[s.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(c,{className:J("h-4.5 w-4.5",o.cls)}),s.jsx("h3",{className:"text-sm font-semibold",children:o.title})]}),s.jsx("button",{onClick:r,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:e.loading?s.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[s.jsx(ho,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):i!=null&&i.error?s.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:i.error}):s.jsxs(s.Fragment,{children:[(i==null?void 0:i.action_needed)!=null&&s.jsxs("div",{className:J("flex items-start gap-2 rounded-lg border p-3",i.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[i.action_needed?s.jsx(vr,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):s.jsx(i5,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:J("text-xs font-semibold",i.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",i.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),i.action_needed&&i.action_text&&s.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:i.action_text})]})]}),(i==null?void 0:i.summary)&&s.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[s.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),s.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:i.summary})]}),e.kind==="os"?s.jsxs(s.Fragment,{children:[((i==null?void 0:i.count)??0)===0?s.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"text-muted-foreground",children:[i.count," Paket(e) werden aktualisiert:"]}),s.jsx("div",{className:"space-y-1",children:i.packages.map(m=>s.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[s.jsx(zw,{className:"h-3 w-3 text-cyan-400 shrink-0"}),m.name]}),s.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[s.jsx("span",{children:m.current}),s.jsx(wc,{className:"h-3 w-3"}),s.jsx("span",{className:"text-emerald-400",children:m.candidate})]})]},m.name))})]}),(((f=i==null?void 0:i.held_back)==null?void 0:f.length)??0)>0&&s.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[s.jsx(eu,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),s.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),s.jsx("div",{className:"space-y-1",children:i.held_back.map(m=>s.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[s.jsx(zw,{className:"h-3 w-3 text-muted-foreground shrink-0"}),m.name]}),s.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:m.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},m.name))})]})]}):e.kind==="engine"||e.kind==="swap"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[s.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(i==null?void 0:i.installed_build)??"?"]}),s.jsx(wc,{className:"h-3.5 w-3.5 text-muted-foreground"}),s.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(i==null?void 0:i.latest_build)??"?"]})]}),((i==null?void 0:i.name)||(i==null?void 0:i.latest_tag))&&s.jsxs("div",{className:"text-muted-foreground",children:["Release: ",s.jsx("span",{className:"text-foreground",children:i==null?void 0:i.name}),i!=null&&i.latest_tag?` (${i.latest_tag})`:""]}),(i==null?void 0:i.url)&&s.jsxs("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",s.jsx(Lx,{className:"h-3 w-3"})]}),(i==null?void 0:i.body)&&s.jsxs("details",{className:"group",children:[s.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),s.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:i.body})]})]}):(((h=i==null?void 0:i.commits)==null?void 0:h.length)??0)===0?s.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"text-muted-foreground",children:[i.behind," neue Commit(s) auf ",s.jsxs("span",{className:"font-mono text-foreground",children:["origin/",i.branch]}),":"]}),s.jsx("div",{className:"space-y-1",children:i.commits.map(m=>s.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[s.jsx(JM,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[11px] truncate",children:m.subject}),s.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[m.hash," · ",m.when]})]})]},m.hash))})]}),e.kind!=="os"&&!u&&s.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[s.jsx(x5,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),s.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",e.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),s.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[s.jsx("button",{onClick:r,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),s.jsx("button",{onClick:n,disabled:e.loading||u||!!t,title:t?`Update läuft bereits: ${t.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:t?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function kE({open:e,onClose:t,defaultTab:r="maintenance"}){var Mi,vl;const[n,i]=x.useState(null),[o,c]=x.useState([]),[u,f]=x.useState("llama-swap"),[h,m]=x.useState(""),[p,v]=x.useState(!1),[b,N]=x.useState(null),[w,k]=x.useState({}),[S,E]=x.useState("maintenance"),[C,A]=x.useState(!1),[_,O]=x.useState(""),[I,B]=x.useState(!1),[F,R]=x.useState(null),[Q,U]=x.useState([]),[ge,ue]=x.useState(!1),[pe,se]=x.useState(null),[ae,Z]=x.useState(null);function te(G,ze,at){Z({type:"alert",title:G,message:ze,onConfirm:()=>{Z(null),at&&at()}})}function ie(G,ze,at){Z({type:"confirm",title:G,message:ze,onConfirm:()=>{Z(null),at()},onCancel:()=>Z(null)})}function D(G){return G?new Date(G*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}x.useEffect(()=>{e&&r&&E(r)},[e,r]);function M(){xe("/api/maintenance/updates").then(i).catch(G=>console.error("Error loading updates",G))}function q(){xe("/api/jobs").then(G=>c(G.jobs||[])).catch(G=>console.error("Error loading jobs",G))}function le(){xe("/api/system/services").then(R).catch(()=>{})}function oe(){xe("/api/system/backups").then(G=>U(G.backups||[])).catch(()=>{})}function ee(G){v(!0),N(null),xe(`/api/maintenance/logs?service=${G}&lines=150`).then(ze=>{ze.ok?m(ze.text):(m(`Fehler beim Laden der Logs: ${ze.err||"Unbekannter Fehler"}`),(ze.status==="incorrect_password"||ze.status==="password_required")&&N(ze.status))}).catch(ze=>m(`Fehler: ${ze.message}`)).finally(()=>v(!1))}x.useEffect(()=>{if(!e)return;M(),q(),le(),oe();const G=setInterval(()=>{q(),M(),le()},3e3);return()=>clearInterval(G)},[e]),x.useEffect(()=>{!e||S!=="logs"||ee(u)},[e,S,u]);function ne(G){return(G==null?void 0:G.status)==="busy"?(te("Update läuft bereits",`Es läuft gerade „${G.running}". Bitte warte, bis es fertig ist.`),q(),!0):!1}function he(G){return(G==null?void 0:G.status)==="password_required"||(G==null?void 0:G.status)==="incorrect_password"?(te("Box-Passwort nötig",(G.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):G&&G.ok===!1?(te("Update fehlgeschlagen",G.err||"Unbekannter Fehler."),!0):!1}async function re(){try{const G=await xe("/api/maintenance/os-update",{method:"POST"});if(ne(G)||he(G))return;q(),E("maintenance")}catch(G){te("Fehler",`Fehler beim Starten des OS-Updates: ${G.message}`)}}async function ye(){try{const G=await xe("/api/maintenance/engine-update",{method:"POST"});if(ne(G)||he(G))return;q(),E("maintenance")}catch(G){te("Fehler",`Fehler beim Engine-Update: ${G.message}`)}}async function Oe(){try{const G=await xe("/api/maintenance/swap-update",{method:"POST"});if(ne(G)||he(G))return;q(),E("maintenance")}catch(G){te("Fehler",`Fehler beim Router-Update: ${G.message}`)}}async function W(){ue(!0);try{const G=await xe("/api/maintenance/hermes-update",{method:"POST"});if(ne(G))return;q()}catch(G){te("Fehler",`Hermes-Update fehlgeschlagen: ${G.message}`)}finally{ue(!1)}}async function ke(G){se({kind:G,loading:!0,data:null});try{const ze=await xe(`/api/maintenance/update-details?kind=${G}`);se({kind:G,loading:!1,data:ze})}catch(ze){se({kind:G,loading:!1,data:{kind:G,error:ze.message}})}}function Ie(){const G=pe==null?void 0:pe.kind;se(null),G==="os"?re():G==="engine"?ye():G==="swap"?Oe():G==="hermes"&&W()}function be(){var ze;const G=[n!=null&&n.engine?"Engine":null,n!=null&&n.swap?"Router":null,(ze=n==null?void 0:n.components)!=null&&ze.some(at=>at.update===!0)?"Hermes-Agent":null,n!=null&&n.os?`OS (${n.os} Pakete)`:null].filter(Boolean);ie("Alle Updates einspielen?",`Nacheinander in einem Job: ${G.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const at=await xe("/api/maintenance/update-all",{method:"POST"});if(ne(at)||he(at))return;if((at==null?void 0:at.status)==="nothing"){te("Nichts zu tun","Es stehen keine Updates aus.");return}q(),E("maintenance")}catch(at){te("Fehler",`„Alle aktualisieren" konnte nicht starten: ${at.message}`)}})}async function We(){A(!0);try{await xe("/api/maintenance/check-updates",{method:"POST"}),q(),E("maintenance")}catch(G){te("Fehler",`Fehler bei der Update-Suche: ${G.message}`)}finally{A(!1)}}async function Lt(G,ze){try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:G,role:ze})}),te("Gestartet",`Modell-Upgrade für '${ze}' (${G}) gestartet.`),q(),E("maintenance")}catch(at){te("Fehler",`Fehler beim Starten des Modell-Upgrades: ${at.message}`)}}async function K(){ie("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await xe("/api/maintenance/reboot",{method:"POST"}),te("Reboot","Reboot ausgelöst. System startet neu...",()=>{t()})}catch(G){te("Fehler",`Fehler beim Reboot: ${G.message}`)}})}async function Ae(){B(!0),O("Snapshot wird erzeugt...");try{const G=await xe("/api/system/backup",{method:"POST"});O(G.ok?`Snapshot erzeugt: ${G.snapshot} (${G.files.length} Komponenten)`:"Backup fehlgeschlagen."),oe()}catch(G){O(`Fehler: ${G.message}`)}finally{B(!1)}}async function _e(G){k(ze=>({...ze,[G]:!0}));try{const ze=await xe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:G})});ze.ok?te("Dienst neu gestartet",`Dienst ${G} wurde erfolgreich neu gestartet.`,()=>{S==="logs"&&u===G&&ee(G)}):te("Fehler",`Fehler beim Neustart: ${ze.err||"Unbekannter Fehler"}`)}catch(ze){te("Fehler",`Fehler beim Neustart: ${ze.message}`)}finally{k(ze=>({...ze,[G]:!1}))}}async function Xe(G){try{await xe(`/api/jobs/${G}/cancel`,{method:"POST"}),q()}catch(ze){te("Fehler",`Fehler beim Abbrechen: ${ze.message}`)}}const tt=o.find(G=>(G.state==="running"||G.state==="queued")&&G.group==="maintenance"),dr=(n?(n.os>0?1:0)+(n.engine?1:0)+(n.swap?1:0):0)+(((Mi=n==null?void 0:n.components)==null?void 0:Mi.filter(G=>G.update===!0).length)??0);return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:J("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),s.jsxs("div",{className:J("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[s.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(yi,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),s.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[s.jsx("button",{onClick:()=>E("maintenance"),className:J("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",S==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),s.jsx("button",{onClick:()=>E("logs"),className:J("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",S==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),s.jsx("button",{onClick:()=>E("settings"),className:J("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",S==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[S==="maintenance"&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"space-y-2.5",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),s.jsxs("div",{className:"flex items-center gap-3",children:[dr>0&&s.jsxs("button",{onClick:be,disabled:!!tt,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[s.jsx(KM,{className:"h-3 w-3"})," Alle aktualisieren (",dr,")"]}),s.jsxs("button",{onClick:We,disabled:C||!!tt,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[s.jsx(ho,{className:J("h-3 w-3",C&&"animate-spin")})," Nach Updates suchen"]})]})]}),(n==null?void 0:n.last_check)&&s.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",D(n.last_check)]}),tt&&s.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[s.jsx(ho,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),s.jsxs("span",{children:["Update läuft: ",s.jsx("span",{className:"font-semibold",children:tt.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),s.jsxs("div",{className:"space-y-1.5",children:[s.jsx(oc,{icon:nl,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(n!=null&&n.os),status:n!=null&&n.os?`${n.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("os")}),s.jsx(oc,{icon:ph,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(n!=null&&n.engine),status:n!=null&&n.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("engine")}),s.jsx(oc,{icon:y5,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(n!=null&&n.swap),status:n!=null&&n.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("swap")}),(()=>{var ze;const G=(ze=n==null?void 0:n.components)==null?void 0:ze.find(at=>at.key==="hermes_agent");return s.jsx(oc,{icon:Hn,iconClass:"text-amber-400",name:"Hermes-Agent",available:(G==null?void 0:G.update)===!0,busy:ge,status:(G==null?void 0:G.update)===!0?`Update: ${G.latest}`:(G==null?void 0:G.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>ke("hermes")})})(),(vl=n==null?void 0:n.model_list)==null?void 0:vl.map(G=>s.jsx(oc,{icon:RM,iconClass:"text-emerald-400",name:`Modell · ${G.role}`,available:!0,status:G.title,actionLabel:"Upgrade",onAction:()=>Lt(G.repo,G.role)},G.role))]})]}),s.jsxs("div",{className:"space-y-2.5",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),s.jsx("div",{className:"space-y-1.5",children:Sk.map(G=>{var ze;return s.jsx(XL,{label:G.label,system:G.type==="system",ok:(ze=F==null?void 0:F.services.find(at=>at.name.toLowerCase().includes(G.reach)))==null?void 0:ze.ok,busy:w[G.id],onRestart:()=>_e(G.id),onLogs:()=>{f(G.id),E("logs")}},G.id)})})]}),s.jsxs("div",{className:"space-y-2.5",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),s.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-xs text-foreground truncate",children:Q[0]?`Letztes: ${Q[0].snapshot}`:"Noch kein Backup"}),s.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[Q.length," Snapshots · Restore per CLI (restore.sh)"]})]}),s.jsxs("button",{onClick:Ae,disabled:I,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[s.jsx(FM,{className:J("h-3.5 w-3.5",I&&"animate-pulse")})," Snapshot"]})]}),_&&s.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:_})]}),s.jsxs("div",{className:"space-y-2.5",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),s.jsxs("button",{onClick:K,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[s.jsx(p5,{className:"h-4.5 w-4.5"}),s.jsxs("div",{children:[s.jsx("div",{children:"Host-System neu starten"}),s.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),s.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[o.filter(G=>G.state==="running"||G.state==="queued").length," Aktiv"]})]}),s.jsx("div",{className:"space-y-3",children:o.length===0?s.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):o.map(G=>{const ze=G.state==="running"||G.state==="queued";return s.jsxs("div",{className:J("p-3 rounded-xl border transition-all duration-300",ze?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[ze&&s.jsxs("span",{className:"flex h-2 w-2 relative",children:[s.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),s.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),G.label]}),s.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[s.jsxs("span",{children:["ID: ",G.id]}),s.jsx("span",{children:"•"}),s.jsx("span",{className:J(G.state==="done"&&"text-emerald-400",G.state==="failed"&&"text-red-400",G.state==="running"&&"text-primary",G.state==="queued"&&"text-amber-400",G.state==="canceled"&&"text-muted-foreground"),children:G.state})]})]}),ze&&s.jsx("button",{onClick:()=>Xe(G.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),G.state==="running"&&s.jsxs("div",{className:"mt-3 space-y-1",children:[s.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:s.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${G.progress??0}%`}})}),s.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[s.jsxs("span",{children:[G.progress??0,"%"]}),G.done_bytes!=null&&G.total_bytes!=null&&s.jsxs("span",{children:[bg(G.done_bytes)," / ",bg(G.total_bytes),G.rate_bps!=null&&` (${bg(G.rate_bps)}/s)`]}),G.eta_s!=null&&s.jsxs("span",{children:["ETA: ",G.eta_s,"s"]})]})]})]},G.id)})})]})]}),S==="logs"&&s.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("select",{value:u,onChange:G=>f(G.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:Sk.map(G=>s.jsxs("option",{value:G.id,children:[G.label," (",G.type==="system"?"systemd-root":"user",")"]},G.id))}),s.jsxs("button",{onClick:()=>_e(u),disabled:w[u],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[s.jsx(ho,{className:J("h-3.5 w-3.5",w[u]&&"animate-spin")}),"Restart"]})]}),s.jsx(nR,{service:u,text:h,loading:p,logStatus:b,onRefresh:()=>ee(u),onOpenSettings:()=>E("settings")})]}),S==="settings"&&s.jsx(iR,{open:e,showAlert:te})]})]}),pe&&s.jsx(aR,{detail:pe,maintenanceJob:tt,onClose:()=>se(null),onApply:Ie}),ae&&s.jsx(vE,{type:ae.type,title:ae.title,message:ae.message,onConfirm:ae.onConfirm,onCancel:ae.onCancel})]})}let Ov=[],_v=[];const Mv=new Set,jE=()=>Mv.forEach(e=>e());function NE(e){return Mv.add(e),()=>{Mv.delete(e)}}function oR(e){Ov=[...Ov,e].slice(-40),jE()}function sR(e){_v=[..._v,e].slice(-40),jE()}const lR=()=>x.useSyncExternalStore(NE,()=>Ov),cR=()=>x.useSyncExternalStore(NE,()=>_v);function uR(){const{data:e,dataUpdatedAt:t}=Co(3e3),{data:r,dataUpdatedAt:n}=mE(3e3),i=x.useRef(null);x.useEffect(()=>{var o,c,u,f;e&&oR({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((c=e.ram)==null?void 0:c.percent)??0,gpu:((u=e.gpu)==null?void 0:u.busy_percent)??null,disk:((f=e.disk)==null?void 0:f.percent)??null})},[t]),x.useEffect(()=>{if(!r)return;const o=Date.now(),c=r.prompt_tokens,u=r.completion_tokens;if(i.current){const f=Math.max((o-i.current.t)/1e3,.001);sR({t:o,prompt:Math.max(0,(c-i.current.p)/f),completion:Math.max(0,(u-i.current.c)/f)})}i.current={p:c,c:u,t:o}},[n])}function SE(){var A,_,O,I,B,F;const{data:e}=Gx(),{data:t}=hE(),{data:r}=Ni(),{data:n}=Co(),i=!!e&&!!t,o=R=>{var Q;return(Q=t==null?void 0:t.services.find(U=>U.name.toLowerCase().includes(R)))==null?void 0:Q.ok},c=e==null?void 0:e.engine_reachable,u=(A=e==null?void 0:e.brain)==null?void 0:A.ready,f=((_=e==null?void 0:e.brain)==null?void 0:_.model)||((O=r==null?void 0:r.models.find(R=>R.role==="hermes"))==null?void 0:O.name)||"",h=[];h.push((()=>{const R={id:"brain",label:"Lucys Hirn",icon:Na,critical:!0};return i?c===!1?{...R,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:u===!1?{...R,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:f?{kind:"loadModel",model:f,label:"Hirn aufwecken"}:void 0}:{...R,status:"ok",detail:"Wach und ansprechbar."}:{...R,status:"loading",detail:"Wird geprüft …"}})()),h.push((()=>{const R={id:"vision",label:"Lucys Augen",icon:Cc,critical:!1};if(!i||!r)return{...R,status:"loading",detail:"Wird geprüft …"};const Q=r.models.find(ge=>ge.role==="vision");return Q?(r.running??[]).includes(Q.name)?{...R,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...R,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:Q.name,label:"Augen wecken"}}:{...R,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),h.push((()=>{const R={id:"memory",label:"Lucys Gedächtnis",icon:r5,critical:!0},Q=o("mem0");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Merkt sich Neues und findet Altes wieder."}:{...R,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gedächtnis antwortet nicht.",repair:{kind:"restart",service:"mem0-service",label:"Gedächtnis neu starten"}}})()),h.push((()=>{const R={id:"gateway",label:"Verbindung (Gateway)",icon:Pc,critical:!0},Q=e?e.gateway_reachable:o("integriert");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...R,status:"down",detail:"Die Verbindungs-Zentrale antwortet nicht — Apps erreichen Lucy nicht.",repair:{kind:"restart",service:"mission-control-2",label:"Zentrale neu starten"}}})()),h.push((()=>{const R={id:"agent",label:"Lucys Agent (Hermes)",icon:Hn,critical:!0},Q=o("hermes-gateway");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...R,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),h.push((()=>{const R={id:"voice",label:"Lucys Stimme",icon:fI,critical:!1},Q=o("voice");return!i||Q===void 0?{...R,status:"loading",detail:"Wird geprüft …"}:Q?{...R,status:"ok",detail:"Lucy kann hören und sprechen."}:{...R,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const m=((I=n==null?void 0:n.gpu)==null?void 0:I.gtt_total)||((B=n==null?void 0:n.gpu)==null?void 0:B.vram_total)||0,p=((F=n==null?void 0:n.gpu)==null?void 0:F.gtt_used)||0,v=m>0?Math.min(100,p/m*100):0,b=1024**3,N=m?v>=90?{status:"full",usedGb:p/b,totalGb:m/b,pct:v,text:"Speicher fast voll — Lucy könnte langsamer werden."}:v>=72?{status:"warn",usedGb:p/b,totalGb:m/b,pct:v,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:p/b,totalGb:m/b,pct:v,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},w=h.some(R=>R.status==="loading"),k=h.filter(R=>R.critical&&R.status==="down"),S=h.filter(R=>R.status==="warn"||!R.critical&&R.status==="down"),E=N.status==="full";return{verdict:w&&!k.length?"loading":k.length?"problem":S.length||E?"warn":"gut",checks:h,memory:N,problems:k,warns:S}}const dR={ok:"bg-emerald-500",warn:"bg-amber-500",down:"bg-red-500",loading:"bg-muted-foreground/40"};function fR({frame:e="lucy"}={}){const{verdict:t,checks:r,memory:n,problems:i}=SE(),{showAlert:o,dialogElement:c}=sn(),u=_r(),[f,h]=x.useState({});async function m(k,S){h(E=>({...E,[k]:!0}));try{if(S.kind==="loadModel")await xe(`/api/models/${encodeURIComponent(S.model)}/load`,{method:"POST"});else{const E=await xe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:S.service})});E.ok||o("Reparatur nicht ganz geklappt",(E.err||"Unbekannter Fehler")+(S.needsSudo?` -Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}u.invalidateQueries({queryKey:Fe.health}),u.invalidateQueries({queryKey:Fe.services}),u.invalidateQueries({queryKey:Fe.models})}catch(E){o("Reparatur fehlgeschlagen",String((E==null?void 0:E.message)||E))}finally{h(E=>({...E,[k]:!1}))}}const p=e==="box"?{loading:"Box wird geprüft …",gut:"Alles okay",warn:"Kleinigkeit an der Box",problem:"Box braucht Hilfe"}:{loading:"Lucy wird geprüft …",gut:"Lucy geht's gut 💚",warn:"Kleinigkeit bei Lucy",problem:"Lucy braucht Hilfe"},v={loading:{ring:"border-border/60 bg-card/45",icon:Ut,iconCls:"text-muted-foreground animate-spin",title:p.loading,sub:"Einen Moment, ich schaue nach dem Rechten."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:Lx,iconCls:"text-emerald-400",title:p.gut,sub:"Alle wichtigen Fähigkeiten laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:vr,iconCls:"text-amber-400",title:p.warn,sub:"Nichts Schlimmes — nur ein Hinweis."},problem:{ring:"border-red-500/50 bg-red-500/5",icon:vr,iconCls:"text-red-400",title:p.problem,sub:`${i.length} wichtige${i.length===1?"s":""} Problem${i.length===1?"":"e"} gefunden.`}}[t],b=v.icon,S={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[n.status],w={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[n.status];return s.jsxs("div",{className:J("rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors",v.ring),children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:s.jsx(b,{className:J("h-6 w-6",v.iconCls)})}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:v.title}),s.jsx("p",{className:"text-xs text-muted-foreground",children:v.sub})]})]}),s.jsxs("div",{className:"mt-4 rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[s.jsx(ga,{className:"h-3.5 w-3.5"})," Speicher"]}),s.jsx("span",{className:J("font-mono font-bold",w),children:n.status==="unknown"?"—":`${n.usedGb.toFixed(0)} / ${n.totalGb.toFixed(0)} GB`})]}),s.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:s.jsx("div",{className:J("h-full rounded-full transition-all duration-500",S),style:{width:`${n.pct}%`}})}),s.jsx("p",{className:J("mt-1.5 text-[11px]",w),children:n.text})]}),s.jsx("div",{className:"mt-4 space-y-1.5",children:r.map(k=>s.jsx(fR,{c:k,busy:!!f[k.id],onRepair:()=>k.repair&&m(k.id,k.repair)},k.id))}),c]})}function fR({c:e,busy:t,onRepair:r}){const n=e.icon,i=e.status==="down"||e.status==="warn";return s.jsxs("div",{className:J("flex items-center justify-between gap-3 rounded-xl border p-2.5 transition-colors",e.status==="down"?"border-red-500/25 bg-red-500/5":e.status==="warn"?"border-amber-500/20 bg-amber-500/5":"border-border/30 bg-background/15"),children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[s.jsxs("span",{className:"relative flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-foreground/80",children:[s.jsx(n,{className:"h-4 w-4"}),s.jsx("span",{className:J("absolute -right-0.5 -top-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-black/40",uR[e.status],e.status==="down"&&"animate-pulse")})]}),s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-bold text-foreground",children:[e.label,e.status==="ok"&&s.jsx(Mt,{className:"h-3 w-3 text-emerald-400"}),!e.critical&&s.jsx("span",{className:"rounded bg-background/40 px-1 py-0.5 text-[8px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"optional"})]}),s.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:e.detail})]})]}),i&&e.repair&&s.jsxs("button",{onClick:r,disabled:t,className:J("flex h-8 shrink-0 items-center gap-1.5 rounded-lg border px-2.5 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer disabled:opacity-60",e.status==="down"?"border-red-500/40 bg-red-500/10 text-red-300 hover:bg-red-500/20":"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20"),title:e.repair.label,children:[t?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(tu,{className:"h-3.5 w-3.5"}),e.repair.label]}),i&&!e.repair&&s.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] font-semibold text-muted-foreground",title:"Keine Auto-Reparatur bekannt",children:[s.jsx(bI,{className:"h-3.5 w-3.5"})," manuell"]})]})}function hR(){const{data:e,error:t}=Co(3e3),r=sR();return{sys:e,hist:r,error:t}}var mR=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function Qx(e){if(typeof e!="string")return!1;var t=mR;return t.includes(e)}var pR=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],gR=new Set(pR);function jE(e){return typeof e!="string"?!1:gR.has(e)}function SE(e){return typeof e=="string"&&e.startsWith("data-")}function kn(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(jE(r)||SE(r))&&(t[r]=e[r]);return t}function kh(e){if(e==null)return null;if(x.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return kn(t)}return typeof e=="object"&&!Array.isArray(e)?kn(e):null}function nn(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(jE(r)||SE(r)||Qx(r))&&(t[r]=e[r]);return t}function vR(e){return e==null?null:x.isValidElement(e)?nn(e.props):typeof e=="object"&&!Array.isArray(e)?nn(e):null}var xR=["children","width","height","viewBox","className","style","title","desc"];function Iv(){return Iv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,o=e.viewBox,c=e.className,u=e.style,f=e.title,h=e.desc,m=yR(e,xR),p=o||{width:n,height:i,x:0,y:0},v=it("recharts-surface",c);return x.createElement("svg",Iv({},nn(m),{className:v,width:n,height:i,style:u,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),ref:t}),x.createElement("title",null,f),x.createElement("desc",null,h),r)}),wR=["children","className"];function Tv(){return Tv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=kR(e,wR),o=it("recharts-layer",n);return x.createElement("g",Tv({className:o},nn(i),{ref:t}),r)}),SR=x.createContext(null);function bt(e){return function(){return e}}const Dv=Math.PI,Lv=2*Dv,Va=1e-6,NR=Lv-Va;function EE(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return EE;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iVa)if(!(Math.abs(p*f-h*m)>Va)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-c,S=i-u,w=f*f+h*h,k=b*b+S*S,N=Math.sqrt(w),E=Math.sqrt(v),C=o*Math.tan((Dv-Math.acos((w+v-k)/(2*N*E)))/2),A=C/E,_=C/N;Math.abs(A-1)>Va&&this._append`L${t+A*m},${r+A*p}`,this._append`A${o},${o},0,0,${+(p*b>m*S)},${this._x1=t+_*f},${this._y1=r+_*h}`}}arc(t,r,n,i,o,c){if(t=+t,r=+r,n=+n,c=!!c,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),f=n*Math.sin(i),h=t+u,m=r+f,p=1^c,v=c?i-o:o-i;this._x1===null?this._append`M${h},${m}`:(Math.abs(this._x1-h)>Va||Math.abs(this._y1-m)>Va)&&this._append`L${h},${m}`,n&&(v<0&&(v=v%Lv+Lv),v>NR?this._append`A${n},${n},0,1,${p},${t-u},${r-f}A${n},${n},0,1,${p},${this._x1=h},${this._y1=m}`:v>Va&&this._append`A${n},${n},0,${+(v>=Dv)},${p},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function AE(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new AR(t)}function Yx(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function CE(e){this._context=e}CE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function jh(e){return new CE(e)}function PE(e){return e[0]}function OE(e){return e[1]}function _E(e,t){var r=bt(!0),n=null,i=jh,o=null,c=AE(u);e=typeof e=="function"?e:e===void 0?PE:bt(e),t=typeof t=="function"?t:t===void 0?OE:bt(t);function u(f){var h,m=(f=Yx(f)).length,p,v=!1,b;for(n==null&&(o=i(b=c())),h=0;h<=m;++h)!(h=b;--S)u.point(C[S],A[S]);u.lineEnd(),u.areaEnd()}N&&(C[v]=+e(k,v,p),A[v]=+t(k,v,p),u.point(n?+n(k,v,p):C[v],r?+r(k,v,p):A[v]))}if(E)return u=null,E+""||null}function m(){return _E().defined(i).curve(c).context(o)}return h.x=function(p){return arguments.length?(e=typeof p=="function"?p:bt(+p),n=null,h):e},h.x0=function(p){return arguments.length?(e=typeof p=="function"?p:bt(+p),h):e},h.x1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:bt(+p),h):n},h.y=function(p){return arguments.length?(t=typeof p=="function"?p:bt(+p),r=null,h):t},h.y0=function(p){return arguments.length?(t=typeof p=="function"?p:bt(+p),h):t},h.y1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:bt(+p),h):r},h.lineX0=h.lineY0=function(){return m().x(e).y(t)},h.lineY1=function(){return m().x(e).y(r)},h.lineX1=function(){return m().x(n).y(t)},h.defined=function(p){return arguments.length?(i=typeof p=="function"?p:bt(!!p),h):i},h.curve=function(p){return arguments.length?(c=p,o!=null&&(u=c(o)),h):c},h.context=function(p){return arguments.length?(p==null?o=u=null:u=c(o=p),h):o},h}class ME{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function CR(e){return new ME(e,!0)}function PR(e){return new ME(e,!1)}function vf(){}function xf(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function IE(e){this._context=e}IE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:xf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:xf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function OR(e){return new IE(e)}function TE(e){this._context=e}TE.prototype={areaStart:vf,areaEnd:vf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:xf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function _R(e){return new TE(e)}function DE(e){this._context=e}DE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:xf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function MR(e){return new DE(e)}function LE(e){this._context=e}LE.prototype={areaStart:vf,areaEnd:vf,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function IR(e){return new LE(e)}function Sk(e){return e<0?-1:1}function Nk(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),c=(r-e._y1)/(i||n<0&&-0),u=(o*i+c*n)/(n+i);return(Sk(o)+Sk(c))*Math.min(Math.abs(o),Math.abs(c),.5*Math.abs(u))||0}function Ek(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function wg(e,t,r){var n=e._x0,i=e._y0,o=e._x1,c=e._y1,u=(o-n)/3;e._context.bezierCurveTo(n+u,i+u*t,o-u,c-u*r,o,c)}function yf(e){this._context=e}yf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:wg(this,this._t0,Ek(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,wg(this,Ek(this,r=Nk(this,e,t)),r);break;default:wg(this,this._t0,r=Nk(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function RE(e){this._context=new $E(e)}(RE.prototype=Object.create(yf.prototype)).point=function(e,t){yf.prototype.point.call(this,t,e)};function $E(e){this._context=e}$E.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function TR(e){return new yf(e)}function DR(e){return new RE(e)}function zE(e){this._context=e}zE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Ak(e),i=Ak(t),o=0,c=1;c=0;--t)i[t]=(c[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function RR(e){return new Sh(e,.5)}function $R(e){return new Sh(e,0)}function zR(e){return new Sh(e,1)}function yo(e,t){if((c=e.length)>1)for(var r=1,n,i,o=e[t[0]],c,u=o.length;r=0;)r[t]=t;return r}function FR(e,t){return e[t]}function BR(e){const t=[];return t.key=e,t}function UR(){var e=bt([]),t=Rv,r=yo,n=FR;function i(o){var c=Array.from(e.apply(this,arguments),BR),u,f=c.length,h=-1,m;for(const p of o)for(u=0,++h;u0){for(var r,n,i=0,o=e[0].length,c;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,c;n1&&arguments[1]!==void 0?arguments[1]:VR,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Qt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[c-1];return typeof u=="string"?i+u+o:u!==void 0?i+ma(u)+o:i+o},"")}var en=e=>e===0?0:e>0?1:-1,Gn=e=>typeof e=="number"&&e!=+e,bo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Pe=e=>(typeof e=="number"||e instanceof Number)&&!Gn(e),Vn=e=>Pe(e)||typeof e=="string",qR=0,Mc=e=>{var t=++qR;return"".concat(e||"").concat(t)},ja=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Pe(t)&&typeof t!="string")return n;var o;if(bo(t)){if(r==null)return n;var c=t.indexOf("%");o=r*parseFloat(t.slice(0,c))/100}else o=+t;return Gn(o)&&(o=n),i&&r!=null&&o>r&&(o=r),o},UE=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):Po(n,t))===r)}var Jt=e=>e===null||typeof e>"u",Jx=e=>Jt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Cr(e){return e!=null}function al(){}var HE=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,e0=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(x.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{Qx(i)&&typeof r[i]=="function"&&(n[i]=(o=>r[i](r,o)))}),n},QR=(e,t,r)=>n=>(e(t,r,n),null),YR=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var o=e[i];Qx(i)&&typeof o=="function"&&(n||(n={}),n[i]=QR(o,t,r))}),n};function Ck(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZR(e){for(var t=1;t(c[u]===void 0&&n[u]!==void 0&&(c[u]=n[u]),c),r);return o}function t6(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function t0(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const o6="[object RegExp]",GE="[object String]",VE="[object Number]",qE="[object Boolean]",QE="[object Arguments]",s6="[object Symbol]",l6="[object Date]",c6="[object Map]",u6="[object Set]",d6="[object Array]",f6="[object ArrayBuffer]",h6="[object Object]",m6="[object DataView]",p6="[object Uint8Array]",g6="[object Uint8ClampedArray]",v6="[object Uint16Array]",x6="[object Uint32Array]",y6="[object Int8Array]",b6="[object Int16Array]",w6="[object Int32Array]",k6="[object Float32Array]",j6="[object Float64Array]",Pk=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function S6(e){return typeof Pk.Buffer<"u"&&Pk.Buffer.isBuffer(e)}function N6(e,t){return Za(e,void 0,e,new Map,t)}function Za(e,t,r,n=new Map,i=void 0){const o=i==null?void 0:i(e,t,r,n);if(o!==void 0)return o;if(zv(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const c=new Array(e.length);n.set(e,c);for(let u=0;u{}):Fv(e,t,function n(i,o,c,u,f,h){const m=r(i,o,c,u,f,h);return m!==void 0?!!m:Fv(i,o,n,h,!1)},new Map,!0)}function Fv(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return C6(e,t,r,n);case"function":return Object.keys(t).length>0?Fv(e,{...t},r,n,i):nf(e,t);default:return YE(e)&&i?typeof t=="string"?t==="":!0:nf(e,t)}}function C6(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return XE(e,t,r,n);if(t instanceof Map)return P6(e,t,r,n);if(t instanceof Set)return O6(e,t,r,n);const i=Object.keys(t);if(e==null||zv(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function _6(e){return e=A6(e),t=>JE(t,e)}function M6(e,t){return N6(e,(r,n,i,o)=>{if(typeof e=="object"){if(t0(e)==="[object Object]"&&typeof e.constructor!="function"){const c={};return o.set(e,c),vn(c,e,i,o),c}switch(Object.prototype.toString.call(e)){case VE:case GE:case qE:{const c=new e.constructor(e==null?void 0:e.valueOf());return vn(c,e),c}case QE:{const c={};return vn(c,e),c.length=e.length,c[Symbol.iterator]=e[Symbol.iterator],c}default:return}}})}function I6(e){return M6(e)}const T6=/^(?:0|[1-9]\d*)$/;function eA(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function tA(e){return e!=null&&typeof e!="function"&&z6(e.length)}function F6(e){return typeof e=="object"&&e!==null}function B6(e){return F6(e)&&tA(e)}function Ok(e,t=KE){return B6(e)?t6(Array.from(e),r6($6(t),1)):[]}function U6(e,t,r){return t===!0?Ok(e,r):typeof t=="function"?Ok(e,t):e}var kg={exports:{}},jg={},Sg={exports:{}},Ng={};/** +Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}u.invalidateQueries({queryKey:$e.health}),u.invalidateQueries({queryKey:$e.services}),u.invalidateQueries({queryKey:$e.models})}catch(E){o("Reparatur fehlgeschlagen",String((E==null?void 0:E.message)||E))}finally{h(E=>({...E,[k]:!1}))}}const p=e==="box"?{loading:"Box wird geprüft …",gut:"Alles okay",warn:"Kleinigkeit an der Box",problem:"Box braucht Hilfe"}:{loading:"Lucy wird geprüft …",gut:"Lucy geht's gut 💚",warn:"Kleinigkeit bei Lucy",problem:"Lucy braucht Hilfe"},v={loading:{ring:"border-border/60 bg-card/45",icon:kt,iconCls:"text-muted-foreground animate-spin",title:p.loading,sub:"Einen Moment, ich schaue nach dem Rechten."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:Rx,iconCls:"text-emerald-400",title:p.gut,sub:"Alle wichtigen Fähigkeiten laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:vr,iconCls:"text-amber-400",title:p.warn,sub:"Nichts Schlimmes — nur ein Hinweis."},problem:{ring:"border-red-500/50 bg-red-500/5",icon:vr,iconCls:"text-red-400",title:p.problem,sub:`${i.length} wichtige${i.length===1?"s":""} Problem${i.length===1?"":"e"} gefunden.`}}[t],b=v.icon,N={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[n.status],w={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[n.status];return s.jsxs("div",{className:J("rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors",v.ring),children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:s.jsx(b,{className:J("h-6 w-6",v.iconCls)})}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:v.title}),s.jsx("p",{className:"text-xs text-muted-foreground",children:v.sub})]})]}),s.jsxs("div",{className:"mt-4 rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[s.jsx(ga,{className:"h-3.5 w-3.5"})," Speicher"]}),s.jsx("span",{className:J("font-mono font-bold",w),children:n.status==="unknown"?"—":`${n.usedGb.toFixed(0)} / ${n.totalGb.toFixed(0)} GB`})]}),s.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:s.jsx("div",{className:J("h-full rounded-full transition-all duration-500",N),style:{width:`${n.pct}%`}})}),s.jsx("p",{className:J("mt-1.5 text-[11px]",w),children:n.text})]}),s.jsx("div",{className:"mt-4 space-y-1.5",children:r.map(k=>s.jsx(hR,{c:k,busy:!!f[k.id],onRepair:()=>k.repair&&m(k.id,k.repair)},k.id))}),c]})}function hR({c:e,busy:t,onRepair:r}){const n=e.icon,i=e.status==="down"||e.status==="warn";return s.jsxs("div",{className:J("flex items-center justify-between gap-3 rounded-xl border p-2.5 transition-colors",e.status==="down"?"border-red-500/25 bg-red-500/5":e.status==="warn"?"border-amber-500/20 bg-amber-500/5":"border-border/30 bg-background/15"),children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[s.jsxs("span",{className:"relative flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-foreground/80",children:[s.jsx(n,{className:"h-4 w-4"}),s.jsx("span",{className:J("absolute -right-0.5 -top-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-black/40",dR[e.status],e.status==="down"&&"animate-pulse")})]}),s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-bold text-foreground",children:[e.label,e.status==="ok"&&s.jsx(It,{className:"h-3 w-3 text-emerald-400"}),!e.critical&&s.jsx("span",{className:"rounded bg-background/40 px-1 py-0.5 text-[8px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"optional"})]}),s.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:e.detail})]})]}),i&&e.repair&&s.jsxs("button",{onClick:r,disabled:t,className:J("flex h-8 shrink-0 items-center gap-1.5 rounded-lg border px-2.5 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer disabled:opacity-60",e.status==="down"?"border-red-500/40 bg-red-500/10 text-red-300 hover:bg-red-500/20":"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20"),title:e.repair.label,children:[t?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(ru,{className:"h-3.5 w-3.5"}),e.repair.label]}),i&&!e.repair&&s.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] font-semibold text-muted-foreground",title:"Keine Auto-Reparatur bekannt",children:[s.jsx(bI,{className:"h-3.5 w-3.5"})," manuell"]})]})}function mR(){const{data:e,error:t}=Co(3e3),r=lR();return{sys:e,hist:r,error:t}}var pR=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function Yx(e){if(typeof e!="string")return!1;var t=pR;return t.includes(e)}var gR=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],vR=new Set(gR);function EE(e){return typeof e!="string"?!1:vR.has(e)}function AE(e){return typeof e=="string"&&e.startsWith("data-")}function jn(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(EE(r)||AE(r))&&(t[r]=e[r]);return t}function kh(e){if(e==null)return null;if(x.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return jn(t)}return typeof e=="object"&&!Array.isArray(e)?jn(e):null}function nn(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(EE(r)||AE(r)||Yx(r))&&(t[r]=e[r]);return t}function xR(e){return e==null?null:x.isValidElement(e)?nn(e.props):typeof e=="object"&&!Array.isArray(e)?nn(e):null}var yR=["children","width","height","viewBox","className","style","title","desc"];function Iv(){return Iv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,o=e.viewBox,c=e.className,u=e.style,f=e.title,h=e.desc,m=bR(e,yR),p=o||{width:n,height:i,x:0,y:0},v=it("recharts-surface",c);return x.createElement("svg",Iv({},nn(m),{className:v,width:n,height:i,style:u,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),ref:t}),x.createElement("title",null,f),x.createElement("desc",null,h),r)}),kR=["children","className"];function Tv(){return Tv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=jR(e,kR),o=it("recharts-layer",n);return x.createElement("g",Tv({className:o},nn(i),{ref:t}),r)}),SR=x.createContext(null);function bt(e){return function(){return e}}const Dv=Math.PI,Lv=2*Dv,Va=1e-6,ER=Lv-Va;function PE(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return PE;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iVa)if(!(Math.abs(p*f-h*m)>Va)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-c,N=i-u,w=f*f+h*h,k=b*b+N*N,S=Math.sqrt(w),E=Math.sqrt(v),C=o*Math.tan((Dv-Math.acos((w+v-k)/(2*S*E)))/2),A=C/E,_=C/S;Math.abs(A-1)>Va&&this._append`L${t+A*m},${r+A*p}`,this._append`A${o},${o},0,0,${+(p*b>m*N)},${this._x1=t+_*f},${this._y1=r+_*h}`}}arc(t,r,n,i,o,c){if(t=+t,r=+r,n=+n,c=!!c,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),f=n*Math.sin(i),h=t+u,m=r+f,p=1^c,v=c?i-o:o-i;this._x1===null?this._append`M${h},${m}`:(Math.abs(this._x1-h)>Va||Math.abs(this._y1-m)>Va)&&this._append`L${h},${m}`,n&&(v<0&&(v=v%Lv+Lv),v>ER?this._append`A${n},${n},0,1,${p},${t-u},${r-f}A${n},${n},0,1,${p},${this._x1=h},${this._y1=m}`:v>Va&&this._append`A${n},${n},0,${+(v>=Dv)},${p},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function OE(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new CR(t)}function Zx(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function _E(e){this._context=e}_E.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function jh(e){return new _E(e)}function ME(e){return e[0]}function IE(e){return e[1]}function TE(e,t){var r=bt(!0),n=null,i=jh,o=null,c=OE(u);e=typeof e=="function"?e:e===void 0?ME:bt(e),t=typeof t=="function"?t:t===void 0?IE:bt(t);function u(f){var h,m=(f=Zx(f)).length,p,v=!1,b;for(n==null&&(o=i(b=c())),h=0;h<=m;++h)!(h=b;--N)u.point(C[N],A[N]);u.lineEnd(),u.areaEnd()}S&&(C[v]=+e(k,v,p),A[v]=+t(k,v,p),u.point(n?+n(k,v,p):C[v],r?+r(k,v,p):A[v]))}if(E)return u=null,E+""||null}function m(){return TE().defined(i).curve(c).context(o)}return h.x=function(p){return arguments.length?(e=typeof p=="function"?p:bt(+p),n=null,h):e},h.x0=function(p){return arguments.length?(e=typeof p=="function"?p:bt(+p),h):e},h.x1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:bt(+p),h):n},h.y=function(p){return arguments.length?(t=typeof p=="function"?p:bt(+p),r=null,h):t},h.y0=function(p){return arguments.length?(t=typeof p=="function"?p:bt(+p),h):t},h.y1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:bt(+p),h):r},h.lineX0=h.lineY0=function(){return m().x(e).y(t)},h.lineY1=function(){return m().x(e).y(r)},h.lineX1=function(){return m().x(n).y(t)},h.defined=function(p){return arguments.length?(i=typeof p=="function"?p:bt(!!p),h):i},h.curve=function(p){return arguments.length?(c=p,o!=null&&(u=c(o)),h):c},h.context=function(p){return arguments.length?(p==null?o=u=null:u=c(o=p),h):o},h}class DE{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function PR(e){return new DE(e,!0)}function OR(e){return new DE(e,!1)}function xf(){}function yf(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function LE(e){this._context=e}LE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:yf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:yf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function _R(e){return new LE(e)}function RE(e){this._context=e}RE.prototype={areaStart:xf,areaEnd:xf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:yf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function MR(e){return new RE(e)}function $E(e){this._context=e}$E.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:yf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function IR(e){return new $E(e)}function zE(e){this._context=e}zE.prototype={areaStart:xf,areaEnd:xf,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function TR(e){return new zE(e)}function Ek(e){return e<0?-1:1}function Ak(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),c=(r-e._y1)/(i||n<0&&-0),u=(o*i+c*n)/(n+i);return(Ek(o)+Ek(c))*Math.min(Math.abs(o),Math.abs(c),.5*Math.abs(u))||0}function Ck(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function wg(e,t,r){var n=e._x0,i=e._y0,o=e._x1,c=e._y1,u=(o-n)/3;e._context.bezierCurveTo(n+u,i+u*t,o-u,c-u*r,o,c)}function bf(e){this._context=e}bf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:wg(this,this._t0,Ck(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,wg(this,Ck(this,r=Ak(this,e,t)),r);break;default:wg(this,this._t0,r=Ak(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function FE(e){this._context=new BE(e)}(FE.prototype=Object.create(bf.prototype)).point=function(e,t){bf.prototype.point.call(this,t,e)};function BE(e){this._context=e}BE.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function DR(e){return new bf(e)}function LR(e){return new FE(e)}function UE(e){this._context=e}UE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Pk(e),i=Pk(t),o=0,c=1;c=0;--t)i[t]=(c[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function $R(e){return new Nh(e,.5)}function zR(e){return new Nh(e,0)}function FR(e){return new Nh(e,1)}function yo(e,t){if((c=e.length)>1)for(var r=1,n,i,o=e[t[0]],c,u=o.length;r=0;)r[t]=t;return r}function BR(e,t){return e[t]}function UR(e){const t=[];return t.key=e,t}function WR(){var e=bt([]),t=Rv,r=yo,n=BR;function i(o){var c=Array.from(e.apply(this,arguments),UR),u,f=c.length,h=-1,m;for(const p of o)for(u=0,++h;u0){for(var r,n,i=0,o=e[0].length,c;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,c;n1&&arguments[1]!==void 0?arguments[1]:qR,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Qt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[c-1];return typeof u=="string"?i+u+o:u!==void 0?i+ma(u)+o:i+o},"")}var en=e=>e===0?0:e>0?1:-1,Gn=e=>typeof e=="number"&&e!=+e,bo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Pe=e=>(typeof e=="number"||e instanceof Number)&&!Gn(e),Vn=e=>Pe(e)||typeof e=="string",QR=0,Mc=e=>{var t=++QR;return"".concat(e||"").concat(t)},ja=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Pe(t)&&typeof t!="string")return n;var o;if(bo(t)){if(r==null)return n;var c=t.indexOf("%");o=r*parseFloat(t.slice(0,c))/100}else o=+t;return Gn(o)&&(o=n),i&&r!=null&&o>r&&(o=r),o},KE=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):Po(n,t))===r)}var Jt=e=>e===null||typeof e>"u",e0=e=>Jt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Cr(e){return e!=null}function al(){}var VE=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,t0=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(x.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{Yx(i)&&typeof r[i]=="function"&&(n[i]=(o=>r[i](r,o)))}),n},YR=(e,t,r)=>n=>(e(t,r,n),null),ZR=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var o=e[i];Yx(i)&&typeof o=="function"&&(n||(n={}),n[i]=YR(o,t,r))}),n};function Ok(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function XR(e){for(var t=1;t(c[u]===void 0&&n[u]!==void 0&&(c[u]=n[u]),c),r);return o}function r6(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function r0(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const s6="[object RegExp]",QE="[object String]",YE="[object Number]",ZE="[object Boolean]",XE="[object Arguments]",l6="[object Symbol]",c6="[object Date]",u6="[object Map]",d6="[object Set]",f6="[object Array]",h6="[object ArrayBuffer]",m6="[object Object]",p6="[object DataView]",g6="[object Uint8Array]",v6="[object Uint8ClampedArray]",x6="[object Uint16Array]",y6="[object Uint32Array]",b6="[object Int8Array]",w6="[object Int16Array]",k6="[object Int32Array]",j6="[object Float32Array]",N6="[object Float64Array]",_k=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function S6(e){return typeof _k.Buffer<"u"&&_k.Buffer.isBuffer(e)}function E6(e,t){return Za(e,void 0,e,new Map,t)}function Za(e,t,r,n=new Map,i=void 0){const o=i==null?void 0:i(e,t,r,n);if(o!==void 0)return o;if(zv(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const c=new Array(e.length);n.set(e,c);for(let u=0;u{}):Fv(e,t,function n(i,o,c,u,f,h){const m=r(i,o,c,u,f,h);return m!==void 0?!!m:Fv(i,o,n,h,!1)},new Map,!0)}function Fv(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return P6(e,t,r,n);case"function":return Object.keys(t).length>0?Fv(e,{...t},r,n,i):af(e,t);default:return JE(e)&&i?typeof t=="string"?t==="":!0:af(e,t)}}function P6(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return tA(e,t,r,n);if(t instanceof Map)return O6(e,t,r,n);if(t instanceof Set)return _6(e,t,r,n);const i=Object.keys(t);if(e==null||zv(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function M6(e){return e=C6(e),t=>rA(t,e)}function I6(e,t){return E6(e,(r,n,i,o)=>{if(typeof e=="object"){if(r0(e)==="[object Object]"&&typeof e.constructor!="function"){const c={};return o.set(e,c),xn(c,e,i,o),c}switch(Object.prototype.toString.call(e)){case YE:case QE:case ZE:{const c=new e.constructor(e==null?void 0:e.valueOf());return xn(c,e),c}case XE:{const c={};return xn(c,e),c.length=e.length,c[Symbol.iterator]=e[Symbol.iterator],c}default:return}}})}function T6(e){return I6(e)}const D6=/^(?:0|[1-9]\d*)$/;function nA(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function iA(e){return e!=null&&typeof e!="function"&&F6(e.length)}function B6(e){return typeof e=="object"&&e!==null}function U6(e){return B6(e)&&iA(e)}function Mk(e,t=qE){return U6(e)?r6(Array.from(e),n6(z6(t),1)):[]}function W6(e,t,r){return t===!0?Mk(e,r):typeof t=="function"?Mk(e,t):e}var kg={exports:{}},jg={},Ng={exports:{}},Sg={};/** * @license React * use-sync-external-store-shim.production.js * @@ -680,7 +680,7 @@ Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:" * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var _k;function W6(){if(_k)return Ng;_k=1;var e=el();function t(p,v){return p===v&&(p!==0||1/p===1/v)||p!==p&&v!==v}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,o=e.useLayoutEffect,c=e.useDebugValue;function u(p,v){var b=v(),S=n({inst:{value:b,getSnapshot:v}}),w=S[0].inst,k=S[1];return o(function(){w.value=b,w.getSnapshot=v,f(w)&&k({inst:w})},[p,b,v]),i(function(){return f(w)&&k({inst:w}),p(function(){f(w)&&k({inst:w})})},[p]),c(b),b}function f(p){var v=p.getSnapshot;p=p.value;try{var b=v();return!r(p,b)}catch{return!0}}function h(p,v){return v()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:u;return Ng.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,Ng}var Mk;function H6(){return Mk||(Mk=1,Sg.exports=W6()),Sg.exports}/** + */var Ik;function H6(){if(Ik)return Sg;Ik=1;var e=el();function t(p,v){return p===v&&(p!==0||1/p===1/v)||p!==p&&v!==v}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,o=e.useLayoutEffect,c=e.useDebugValue;function u(p,v){var b=v(),N=n({inst:{value:b,getSnapshot:v}}),w=N[0].inst,k=N[1];return o(function(){w.value=b,w.getSnapshot=v,f(w)&&k({inst:w})},[p,b,v]),i(function(){return f(w)&&k({inst:w}),p(function(){f(w)&&k({inst:w})})},[p]),c(b),b}function f(p){var v=p.getSnapshot;p=p.value;try{var b=v();return!r(p,b)}catch{return!0}}function h(p,v){return v()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:u;return Sg.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,Sg}var Tk;function K6(){return Tk||(Tk=1,Ng.exports=H6()),Ng.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -688,12 +688,12 @@ Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:" * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ik;function K6(){if(Ik)return jg;Ik=1;var e=el(),t=H6();function r(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,o=e.useRef,c=e.useEffect,u=e.useMemo,f=e.useDebugValue;return jg.useSyncExternalStoreWithSelector=function(h,m,p,v,b){var S=o(null);if(S.current===null){var w={hasValue:!1,value:null};S.current=w}else w=S.current;S=u(function(){function N(O){if(!E){if(E=!0,C=O,O=v(O),b!==void 0&&w.hasValue){var I=w.value;if(b(I,O))return A=I}return A=O}if(I=A,n(C,O))return I;var B=v(O);return b!==void 0&&b(I,B)?(C=O,I):(C=O,A=B)}var E=!1,C,A,_=p===void 0?null:p;return[function(){return N(m())},_===null?void 0:function(){return N(_())}]},[m,p,v,b]);var k=i(h,S[0],S[1]);return c(function(){w.hasValue=!0,w.value=k},[k]),f(k),k},jg}var Tk;function G6(){return Tk||(Tk=1,kg.exports=K6()),kg.exports}var V6=G6(),r0=x.createContext(null),q6=e=>e,At=()=>{var e=x.useContext(r0);return e?e.store.dispatch:q6},af=()=>{},Q6=()=>af,Y6=(e,t)=>e===t;function Te(e){var t=x.useContext(r0),r=x.useMemo(()=>t?n=>{if(n!=null)return e(n)}:af,[t,e]);return V6.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:Q6,t?t.store.getState:af,t?t.store.getState:af,r,Y6)}function Z6(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function X6(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Dk=e=>Array.isArray(e)?e:[e];function J6(e){const t=Array.isArray(e[0])?e[0]:e;return X6(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function e$(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?t$:WeakRef,rA=r$(),n$=0,Lk=1;function zd(){return{s:n$,v:void 0,o:null,p:null}}function i$(e){return e instanceof rA?e.deref():e}function nA(e,t={}){let r=zd();const{resultEqualityCheck:n}=t;let i,o=0;function c(){let u=r;const{length:f}=arguments;for(let p=0,v=f;p{r=zd(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}function a$(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,c=0,u,f={},h=i.pop();typeof h=="object"&&(f=h,h=i.pop()),Z6(h,`createSelector expects an output function after the inputs, but received: [${typeof h}]`);const m={...r,...f},{memoize:p,memoizeOptions:v=[],argsMemoize:b=nA,argsMemoizeOptions:S=[]}=m,w=Dk(v),k=Dk(S),N=J6(i),E=p(function(){return o++,h.apply(null,arguments)},...w),C=b(function(){c++;const _=e$(N,arguments);return u=E.apply(null,_),u},...k);return Object.assign(C,{resultFunc:h,memoizedResultFunc:E,dependencies:N,dependencyRecomputations:()=>c,resetDependencyRecomputations:()=>{c=0},lastResult:()=>u,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:p,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var Y=a$(nA);function o$(e,t=1){const r=[],n=Math.floor(t),i=(o,c)=>{for(let u=0;u{if(e!==t){const n=Rk(e),i=Rk(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function iA(e){return typeof e=="symbol"||e instanceof Symbol}const l$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c$=/^\w*$/;function u$(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||iA(e)?!0:typeof e=="string"&&(c$.test(e)||!l$.test(e))||t!=null}function d$(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(u=>String(u));const i=(u,f)=>{let h=u;for(let m=0;mf==null||u==null?f:typeof u=="object"&&"key"in u?Object.hasOwn(f,u.key)?f[u.key]:i(f,u.path):typeof u=="function"?u(f):Array.isArray(u)?i(f,u):typeof f=="object"?f[u]:f,c=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||u$(u)?u:{key:u,path:Xx(u)}));return e.map(u=>({original:u,criteria:c.map(f=>o(f,u))})).slice().sort((u,f)=>{for(let h=0;hu.original)}function Nh(e,...t){const r=t.length;return r>1&&Bv(e,t[0],t[1])?t=[]:r>2&&Bv(t[0],t[1],t[2])&&(t=[t[0]]),d$(e,o$(t),["asc"])}var aA=e=>e.legend.settings,f$=e=>e.legend.size,h$=e=>e.legend.payload;Y([h$,aA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Nh(n,r):n});function m$(e,t){return x$(e)||v$(e,t)||g$(e,t)||p$()}function p$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g$(e,t){if(e){if(typeof e=="string")return $k(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$k(e,t):void 0}}function $k(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rFd||Math.abs(e.left-t.left)>Fd||Math.abs(e.top-t.top)>Fd||Math.abs(e.width-t.width)>Fd}function Fk(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function y$(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=x.useState({height:0,left:0,top:0,width:0}),r=m$(t,2),n=r[0],i=r[1],o=x.useRef(null),c=x.useRef(n);c.current=n;var u=x.useCallback(f=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),f!=null){var h=Fk(f);if(zk(h,c.current)&&i(h),typeof ResizeObserver<"u"){var m=new ResizeObserver(()=>{var p=Fk(f);zk(p,c.current)&&i(p)});m.observe(f),o.current=m}}},[...e]);return x.useEffect(()=>()=>{var f;(f=o.current)===null||f===void 0||f.disconnect()},[]),[n,u]}function qt(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var b$=typeof Symbol=="function"&&Symbol.observable||"@@observable",Bk=b$,Eg=()=>Math.random().toString(36).substring(7).split("").join("."),w$={INIT:`@@redux/INIT${Eg()}`,REPLACE:`@@redux/REPLACE${Eg()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Eg()}`},bf=w$;function n0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function oA(e,t,r){if(typeof e!="function")throw new Error(qt(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(qt(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(qt(1));return r(oA)(e,t)}let n=e,i=t,o=new Map,c=o,u=0,f=!1;function h(){c===o&&(c=new Map,o.forEach((k,N)=>{c.set(N,k)}))}function m(){if(f)throw new Error(qt(3));return i}function p(k){if(typeof k!="function")throw new Error(qt(4));if(f)throw new Error(qt(5));let N=!0;h();const E=u++;return c.set(E,k),function(){if(N){if(f)throw new Error(qt(6));N=!1,h(),c.delete(E),o=null}}}function v(k){if(!n0(k))throw new Error(qt(7));if(typeof k.type>"u")throw new Error(qt(8));if(typeof k.type!="string")throw new Error(qt(17));if(f)throw new Error(qt(9));try{f=!0,i=n(i,k)}finally{f=!1}return(o=c).forEach(E=>{E()}),k}function b(k){if(typeof k!="function")throw new Error(qt(10));n=k,v({type:bf.REPLACE})}function S(){const k=p;return{subscribe(N){if(typeof N!="object"||N===null)throw new Error(qt(11));function E(){const A=N;A.next&&A.next(m())}return E(),{unsubscribe:k(E)}},[Bk](){return this}}}return v({type:bf.INIT}),{dispatch:v,subscribe:p,getState:m,replaceReducer:b,[Bk]:S}}function k$(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:bf.INIT})>"u")throw new Error(qt(12));if(typeof r(void 0,{type:bf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(qt(13))})}function sA(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw u&&u.type,new Error(qt(14));h[p]=S,f=f||S!==b}return f=f||n.length!==Object.keys(c).length,f?h:c}}function wf(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function j$(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error(qt(15))};const c={getState:i.getState,dispatch:(f,...h)=>o(f,...h)},u=e.map(f=>f(c));return o=wf(...u)(i.dispatch),{...i,dispatch:o}}}function lA(e){return n0(e)&&"type"in e&&typeof e.type=="string"}var cA=Symbol.for("immer-nothing"),Uk=Symbol.for("immer-draftable"),xr=Symbol.for("immer-state");function yn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var zr=Object,Ks=zr.getPrototypeOf,kf="constructor",Eh="prototype",Uv="configurable",jf="enumerable",of="writable",Ic="value",bi=e=>!!e&&!!e[xr];function jn(e){var t;return e?uA(e)||Ch(e)||!!e[Uk]||!!((t=e[kf])!=null&&t[Uk])||Ph(e)||Oh(e):!1}var S$=zr[Eh][kf].toString(),Wk=new WeakMap;function uA(e){if(!e||!i0(e))return!1;const t=Ks(e);if(t===null||t===zr[Eh])return!0;const r=zr.hasOwnProperty.call(t,kf)&&t[kf];if(r===Object)return!0;if(!ys(r))return!1;let n=Wk.get(r);return n===void 0&&(n=Function.toString.call(r),Wk.set(r,n)),n===S$}function Ah(e,t,r=!0){nu(e)===0?(r?Reflect.ownKeys(e):zr.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function nu(e){const t=e[xr];return t?t.type_:Ch(e)?1:Ph(e)?2:Oh(e)?3:0}var Hk=(e,t,r=nu(e))=>r===2?e.has(t):zr[Eh].hasOwnProperty.call(e,t),Wv=(e,t,r=nu(e))=>r===2?e.get(t):e[t],Sf=(e,t,r,n=nu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function N$(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Ch=Array.isArray,Ph=e=>e instanceof Map,Oh=e=>e instanceof Set,i0=e=>typeof e=="object",ys=e=>typeof e=="function",Ag=e=>typeof e=="boolean";function E$(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var ci=e=>e.copy_||e.base_,a0=e=>e.modified_?e.copy_:e.base_;function Hv(e,t){if(Ph(e))return new Map(e);if(Oh(e))return new Set(e);if(Ch(e))return Array[Eh].slice.call(e);const r=uA(e);if(t===!0||t==="class_only"&&!r){const n=zr.getOwnPropertyDescriptors(e);delete n[xr];let i=Reflect.ownKeys(n);for(let o=0;o1&&zr.defineProperties(e,{set:Bd,add:Bd,clear:Bd,delete:Bd}),zr.freeze(e),t&&Ah(e,(r,n)=>{o0(n,!0)},!1)),e}function A$(){yn(2)}var Bd={[Ic]:A$};function _h(e){return e===null||!i0(e)?!0:zr.isFrozen(e)}var Nf="MapSet",Kv="Patches",Kk="ArrayMethods",dA={};function wo(e){const t=dA[e];return t||yn(0,e),t}var Gk=e=>!!dA[e],Tc,fA=()=>Tc,C$=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Gk(Nf)?wo(Nf):void 0,arrayMethodsPlugin_:Gk(Kk)?wo(Kk):void 0});function Vk(e,t){t&&(e.patchPlugin_=wo(Kv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Gv(e){Vv(e),e.drafts_.forEach(P$),e.drafts_=null}function Vv(e){e===Tc&&(Tc=e.parent_)}var qk=e=>Tc=C$(Tc,e);function P$(e){const t=e[xr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Qk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[xr].modified_&&(Gv(t),yn(4)),jn(e)&&(e=Yk(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[xr].base_,e,t)}else e=Yk(t,r);return O$(t,e,!0),Gv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==cA?e:void 0}function Yk(e,t){if(_h(t))return t;const r=t[xr];if(!r)return Ef(t,e.handledSet_,e);if(!Mh(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);pA(r,e)}return r.copy_}function O$(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&o0(t,r)}function hA(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Mh=(e,t)=>e.scope_===t,_$=[];function mA(e,t,r,n){const i=ci(e),o=e.type_;if(n!==void 0&&Wv(i,n,o)===t){Sf(i,n,r,o);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;Ah(i,(f,h)=>{if(bi(h)){const m=u.get(h)||[];m.push(f),u.set(h,m)}})}const c=e.draftLocations_.get(t)??_$;for(const u of c)Sf(i,u,r,o)}function M$(e,t,r){e.callbacks_.push(function(i){var u;const o=t;if(!o||!Mh(o,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(o);const c=a0(o);mA(e,o.draft_??o,c,r),pA(o,i)})}function pA(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const o=i.getPath(e);o&&i.generatePatches_(e,o,t)}hA(e)}}function I$(e,t,r){const{scope_:n}=e;if(bi(r)){const i=r[xr];Mh(i,n)&&i.callbacks_.push(function(){sf(e);const c=a0(i);mA(e,r,c,t)})}else jn(r)&&e.callbacks_.push(function(){const o=ci(e);e.type_===3?o.has(r)&&Ef(r,n.handledSet_,n):Wv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ef(Wv(e.copy_,t,e.type_),n.handledSet_,n)})}function Ef(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||bi(e)||t.has(e)||!jn(e)||_h(e)||(t.add(e),Ah(e,(n,i)=>{if(bi(i)){const o=i[xr];if(Mh(o,r)){const c=a0(o);Sf(e,n,c,e.type_),hA(o)}}else jn(i)&&Ef(i,t,r)})),e}function T$(e,t){const r=Ch(e),n={type_:r?1:0,scope_:t?t.scope_:fA(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=Af;r&&(i=[n],o=Dc);const{revoke:c,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=c,[u,n]}var Af={get(e,t){if(t===xr)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=ci(e);if(!Hk(i,t,e.type_))return D$(e,i,t);const o=i[t];if(e.finalized_||!jn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&E$(t))return o;if(o===Cg(e.base_,t)){sf(e);const c=e.type_===1?+t:t,u=Qv(e.scope_,o,e,c);return e.copy_[c]=u}return o},has(e,t){return t in ci(e)},ownKeys(e){return Reflect.ownKeys(ci(e))},set(e,t,r){const n=gA(ci(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Cg(ci(e),t),o=i==null?void 0:i[xr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(N$(r,i)&&(r!==void 0||Hk(e.base_,t,e.type_)))return!0;sf(e),qv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),I$(e,t,r)),!0},deleteProperty(e,t){return sf(e),Cg(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),qv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=ci(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[of]:!0,[Uv]:e.type_!==1||t!=="length",[jf]:n[jf],[Ic]:r[t]}},defineProperty(){yn(11)},getPrototypeOf(e){return Ks(e.base_)},setPrototypeOf(){yn(12)}},Dc={};for(let e in Af){let t=Af[e];Dc[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Dc.deleteProperty=function(e,t){return Dc.set.call(this,e,t,void 0)};Dc.set=function(e,t,r){return Af.set.call(this,e[0],t,r,e[0])};function Cg(e,t){const r=e[xr];return(r?ci(r):e)[t]}function D$(e,t,r){var i;const n=gA(t,r);return n?Ic in n?n[Ic]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function gA(e,t){if(!(t in e))return;let r=Ks(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ks(r)}}function qv(e){e.modified_||(e.modified_=!0,e.parent_&&qv(e.parent_))}function sf(e){e.copy_||(e.assigned_=new Map,e.copy_=Hv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var L$=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(ys(r)&&!ys(n)){const c=n;n=r;const u=this;return function(h=c,...m){return u.produce(h,p=>n.call(this,p,...m))}}ys(n)||yn(6),i!==void 0&&!ys(i)&&yn(7);let o;if(jn(r)){const c=qk(this),u=Qv(c,r,void 0);let f=!0;try{o=n(u),f=!1}finally{f?Gv(c):Vv(c)}return Vk(c,i),Qk(o,c)}else if(!r||!i0(r)){if(o=n(r),o===void 0&&(o=r),o===cA&&(o=void 0),this.autoFreeze_&&o0(o,!0),i){const c=[],u=[];wo(Kv).generateReplacementPatches_(r,o,{patches_:c,inversePatches_:u}),i(c,u)}return o}else yn(1,r)},this.produceWithPatches=(r,n)=>{if(ys(r))return(u,...f)=>this.produceWithPatches(u,h=>r(h,...f));let i,o;return[this.produce(r,n,(u,f)=>{i=u,o=f}),i,o]},Ag(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Ag(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Ag(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){jn(t)||yn(8),bi(t)&&(t=tn(t));const r=qk(this),n=Qv(r,t,void 0);return n[xr].isManual_=!0,Vv(r),n}finishDraft(t,r){const n=t&&t[xr];(!n||!n.isManual_)&&yn(9);const{scope_:i}=n;return Vk(i,r),Qk(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const i=wo(Kv).applyPatches_;return bi(t)?i(t,r):this.produce(t,o=>i(o,r))}};function Qv(e,t,r,n){const[i,o]=Ph(t)?wo(Nf).proxyMap_(t,r):Oh(t)?wo(Nf).proxySet_(t,r):T$(t,r);return((r==null?void 0:r.scope_)??fA()).drafts_.push(i),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?M$(r,o,n):o.callbacks_.push(function(f){var m;(m=f.mapSetPlugin_)==null||m.fixSetContents(o);const{patchPlugin_:h}=f;o.modified_&&h&&h.generatePatches_(o,[],f)}),i}function tn(e){return bi(e)||yn(10,e),vA(e)}function vA(e){if(!jn(e)||_h(e))return e;const t=e[xr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Hv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Hv(e,!0);return Ah(r,(i,o)=>{Sf(r,i,vA(o))},n),t&&(t.finalized_=!1),r}var R$=new L$,xA=R$.produce;function yA(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var $$=yA(),z$=yA,F$=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?wf:wf.apply(null,arguments)};function Ur(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Fr(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>lA(n)&&n.type===e,r}var bA=class xc extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,xc.prototype)}static get[Symbol.species](){return xc}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new xc(...t[0].concat(this)):new xc(...t.concat(this))}};function Zk(e){return jn(e)?xA(e,()=>{}):e}function Ud(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function B$(e){return typeof e=="boolean"}var U$=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let c=new bA;return r&&(B$(r)?c.push($$):c.push(z$(r.extraArgument))),c},wA="RTK_autoBatch",ct=()=>e=>({payload:e,meta:{[wA]:!0}}),Xk=e=>t=>{setTimeout(t,e)},W$=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(c),r())},o=e(i),c=setTimeout(i,t)},kA=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,c=!1;const u=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?W$(window.requestAnimationFrame,100):Xk(10):e.type==="callback"?e.queueNotification:Xk(e.timeout),h=()=>{c=!1,o&&(o=!1,u.forEach(m=>m()))};return Object.assign({},n,{subscribe(m){const p=()=>i&&m(),v=n.subscribe(p);return u.add(m),()=>{v(),u.delete(m)}},dispatch(m){var p;try{return i=!((p=m==null?void 0:m.meta)!=null&&p[wA]),o=!i,o&&(c||(c=!0,f(h))),n.dispatch(m)}finally{i=!0}}})},H$=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new bA(e);return n&&i.push(kA(typeof n=="object"?n:void 0)),i};function K$(e){const t=U$(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:o=void 0,enhancers:c=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(n0(r))u=sA(r);else throw new Error(Fr(1));let f;typeof n=="function"?f=n(t):f=t();let h=wf;i&&(h=F$({trace:!1,...typeof i=="object"&&i}));const m=j$(...f),p=H$(m);let v=typeof c=="function"?c(p):p();const b=h(...v);return oA(u,o,b)}function jA(e){const t={},r=[];let n;const i={addCase(o,c){const u=typeof o=="string"?o:o.type;if(!u)throw new Error(Fr(28));if(u in t)throw new Error(Fr(29));return t[u]=c,i},addAsyncThunk(o,c){return c.pending&&(t[o.pending.type]=c.pending),c.rejected&&(t[o.rejected.type]=c.rejected),c.fulfilled&&(t[o.fulfilled.type]=c.fulfilled),c.settled&&r.push({matcher:o.settled,reducer:c.settled}),i},addMatcher(o,c){return r.push({matcher:o,reducer:c}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function G$(e){return typeof e=="function"}function V$(e,t){let[r,n,i]=jA(t),o;if(G$(e))o=()=>Zk(e());else{const u=Zk(e);o=()=>u}function c(u=o(),f){let h=[r[f.type],...n.filter(({matcher:m})=>m(f)).map(({reducer:m})=>m)];return h.filter(m=>!!m).length===0&&(h=[i]),h.reduce((m,p)=>{if(p)if(bi(m)){const b=p(m,f);return b===void 0?m:b}else{if(jn(m))return xA(m,v=>p(v,f));{const v=p(m,f);if(v===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}}return m},u)}return c.getInitialState=o,c}var q$="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",Q$=(e=21)=>{let t="",r=e;for(;r--;)t+=q$[Math.random()*64|0];return t},Y$=Symbol.for("rtk-slice-createasyncthunk");function Z$(e,t){return`${e}/${t}`}function X$({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[Y$];return function(i){const{name:o,reducerPath:c=o}=i;if(!o)throw new Error(Fr(11));const u=(typeof i.reducers=="function"?i.reducers(ez()):i.reducers)||{},f=Object.keys(u),h={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},m={addCase(A,_){const O=typeof A=="string"?A:A.type;if(!O)throw new Error(Fr(12));if(O in h.sliceCaseReducersByType)throw new Error(Fr(13));return h.sliceCaseReducersByType[O]=_,m},addMatcher(A,_){return h.sliceMatchers.push({matcher:A,reducer:_}),m},exposeAction(A,_){return h.actionCreators[A]=_,m},exposeCaseReducer(A,_){return h.sliceCaseReducersByName[A]=_,m}};f.forEach(A=>{const _=u[A],O={reducerName:A,type:Z$(o,A),createNotation:typeof i.reducers=="function"};rz(_)?iz(O,_,m,t):tz(O,_,m)});function p(){const[A={},_=[],O=void 0]=typeof i.extraReducers=="function"?jA(i.extraReducers):[i.extraReducers],I={...A,...h.sliceCaseReducersByType};return V$(i.initialState,B=>{for(let F in I)B.addCase(F,I[F]);for(let F of h.sliceMatchers)B.addMatcher(F.matcher,F.reducer);for(let F of _)B.addMatcher(F.matcher,F.reducer);O&&B.addDefaultCase(O)})}const v=A=>A,b=new Map,S=new WeakMap;let w;function k(A,_){return w||(w=p()),w(A,_)}function N(){return w||(w=p()),w.getInitialState()}function E(A,_=!1){function O(B){let F=B[A];return typeof F>"u"&&_&&(F=Ud(S,O,N)),F}function I(B=v){const F=Ud(b,_,()=>new WeakMap);return Ud(F,B,()=>{const R={};for(const[Q,U]of Object.entries(i.selectors??{}))R[Q]=J$(U,B,()=>Ud(S,B,N),_);return R})}return{reducerPath:A,getSelectors:I,get selectors(){return I(O)},selectSlice:O}}const C={name:o,reducer:k,actions:h.actionCreators,caseReducers:h.sliceCaseReducersByName,getInitialState:N,...E(c),injectInto(A,{reducerPath:_,...O}={}){const I=_??c;return A.inject({reducerPath:I,reducer:k},O),{...C,...E(I,!0)}}};return C}}function J$(e,t,r,n){function i(o,...c){let u=t(o);return typeof u>"u"&&n&&(u=r()),e(u,...c)}return i.unwrapped=e,i}var ur=X$();function ez(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function tz({type:e,reducerName:t,createNotation:r},n,i){let o,c;if("reducer"in n){if(r&&!nz(n))throw new Error(Fr(17));o=n.reducer,c=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,c?Ur(e,c):Ur(e))}function rz(e){return e._reducerDefinitionType==="asyncThunk"}function nz(e){return e._reducerDefinitionType==="reducerWithPrepare"}function iz({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Fr(18));const{payloadCreator:o,fulfilled:c,pending:u,rejected:f,settled:h,options:m}=r,p=i(e,o,m);n.exposeAction(t,p),c&&n.addCase(p.fulfilled,c),u&&n.addCase(p.pending,u),f&&n.addCase(p.rejected,f),h&&n.addMatcher(p.settled,h),n.exposeCaseReducer(t,{fulfilled:c||Wd,pending:u||Wd,rejected:f||Wd,settled:h||Wd})}function Wd(){}var az="task",SA="listener",NA="completed",s0="cancelled",oz=`task-${s0}`,sz=`task-${NA}`,Yv=`${SA}-${s0}`,lz=`${SA}-${NA}`,Ih=class{constructor(e){ns(this,"code");ns(this,"name","TaskAbortError");ns(this,"message");this.code=e,this.message=`${az} ${s0} (reason: ${e})`}},l0=(e,t)=>{if(typeof e!="function")throw new TypeError(Fr(32))},Cf=()=>{},EA=(e,t=Cf)=>(e.catch(t),e),AA=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),po=e=>{if(e.aborted)throw new Ih(e.reason)};function CA(e,t){let r=Cf;return new Promise((n,i)=>{const o=()=>i(new Ih(e.reason));if(e.aborted){o();return}r=AA(e,o),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Cf})}var cz=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Ih?"cancelled":"rejected",error:r}}finally{t==null||t()}},Pf=e=>t=>EA(CA(e,t).then(r=>(po(e),r))),PA=e=>{const t=Pf(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Ss}=Object,Jk={},Th="listenerMiddleware",uz=(e,t)=>{const r=n=>AA(e,()=>n.abort(e.reason));return(n,i)=>{l0(n);const o=new AbortController;r(o);const c=cz(async()=>{po(e),po(o.signal);const u=await n({pause:Pf(o.signal),delay:PA(o.signal),signal:o.signal});return po(o.signal),u},()=>o.abort(sz));return i!=null&&i.autoJoin&&t.push(c.catch(Cf)),{result:Pf(e)(c),cancel(){o.abort(oz)}}}},dz=(e,t)=>{const r=async(n,i)=>{po(t);let o=()=>{};const u=[new Promise((f,h)=>{let m=e({predicate:n,effect:(p,v)=>{v.unsubscribe(),f([p,v.getState(),v.getOriginalState()])}});o=()=>{m(),h()}})];i!=null&&u.push(new Promise(f=>setTimeout(f,i,null)));try{const f=await CA(t,Promise.race(u));return po(t),f}finally{o()}};return((n,i)=>EA(r(n,i)))},OA=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=Ur(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Fr(21));return l0(o),{predicate:i,type:t,effect:o}},_A=Ss(e=>{const{type:t,predicate:r,effect:n}=OA(e);return{id:Q$(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Fr(22))}}},{withTypes:()=>_A}),ej=(e,t)=>{const{type:r,effect:n,predicate:i}=OA(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===i)&&o.effect===n)},Zv=e=>{e.pending.forEach(t=>{t.abort(Yv)})},fz=(e,t)=>()=>{for(const r of t.keys())Zv(r);e.clear()},tj=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},MA=Ss(Ur(`${Th}/add`),{withTypes:()=>MA}),hz=Ur(`${Th}/removeAll`),IA=Ss(Ur(`${Th}/remove`),{withTypes:()=>IA}),mz=(...e)=>{console.error(`${Th}/error`,...e)},iu=(e={})=>{const t=new Map,r=new Map,n=b=>{const S=r.get(b)??0;r.set(b,S+1)},i=b=>{const S=r.get(b)??1;S===1?r.delete(b):r.set(b,S-1)},{extra:o,onError:c=mz}=e;l0(c);const u=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),S=>{b.unsubscribe(),S!=null&&S.cancelActive&&Zv(b)}),f=(b=>{const S=ej(t,b)??_A(b);return u(S)});Ss(f,{withTypes:()=>f});const h=b=>{const S=ej(t,b);return S&&(S.unsubscribe(),b.cancelActive&&Zv(S)),!!S};Ss(h,{withTypes:()=>h});const m=async(b,S,w,k)=>{const N=new AbortController,E=dz(f,N.signal),C=[];try{b.pending.add(N),n(b),await Promise.resolve(b.effect(S,Ss({},w,{getOriginalState:k,condition:(A,_)=>E(A,_).then(Boolean),take:E,delay:PA(N.signal),pause:Pf(N.signal),extra:o,signal:N.signal,fork:uz(N.signal,C),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((A,_,O)=>{A!==N&&(A.abort(Yv),O.delete(A))})},cancel:()=>{N.abort(Yv),b.pending.delete(N)},throwIfCancelled:()=>{po(N.signal)}})))}catch(A){A instanceof Ih||tj(c,A,{raisedBy:"effect"})}finally{await Promise.all(C),N.abort(lz),i(b),b.pending.delete(N)}},p=fz(t,r);return{middleware:b=>S=>w=>{if(!lA(w))return S(w);if(MA.match(w))return f(w.payload);if(hz.match(w)){p();return}if(IA.match(w))return h(w.payload);let k=b.getState();const N=()=>{if(k===Jk)throw new Error(Fr(23));return k};let E;try{if(E=S(w),t.size>0){const C=b.getState(),A=Array.from(t.values());for(const _ of A){let O=!1;try{O=_.predicate(w,C,k)}catch(I){O=!1,tj(c,I,{raisedBy:"predicate"})}O&&m(_,w,b,N)}}}finally{k=Jk}return E},startListening:f,stopListening:h,clearListeners:p}};function Fr(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var pz={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},TA=ur({name:"chartLayout",initialState:pz,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Dh=TA.actions,gz=Dh.setMargin,vz=Dh.setLayout,xz=Dh.setChartSize,yz=Dh.setScale,bz=TA.reducer;function DA(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Ge(e){return Number.isFinite(e)}function qn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function rj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bs(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,o=t.align,c=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&c==="middle")&&o!=="center"&&Pe(e[o]))return bs(bs({},e),{},{[o]:e[o]+(n||0)});if((u==="horizontal"||u==="vertical"&&o==="center")&&c!=="middle"&&Pe(e[c]))return bs(bs({},e),{},{[c]:e[c]+(i||0)})}return e},Zn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",LA=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,o,c=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(o=!0),u.coordinate));return i||c.push(t),o||c.push(r),c},RA=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,o=e.range,c=e.scale,u=e.realScaleType,f=e.isCategorical,h=e.categoricalDomain,m=e.tickCount,p=e.ticks,v=e.niceTicks,b=e.axisType;if(!c)return null;var S=u==="scaleBand"&&c.bandwidth?c.bandwidth()/2:2,w=i==="category"&&c.bandwidth?c.bandwidth()/S:0;if(w=b==="angleAxis"&&o&&o.length>=2?en(o[0]-o[1])*2*w:w,p||v){var k=(p||v||[]).map((N,E)=>{var C=n?n.indexOf(N):N,A=c.map(C);return Ge(A)?{coordinate:A+w,value:N,offset:w,index:E}:null}).filter(Cr);return k}return f&&h?h.map((N,E)=>{var C=c.map(N);return Ge(C)?{coordinate:C+w,value:N,index:E,offset:w}:null}).filter(Cr):c.ticks&&m!=null?c.ticks(m).map((N,E)=>{var C=c.map(N);return Ge(C)?{coordinate:C+w,value:N,index:E,offset:w}:null}).filter(Cr):c.domain().map((N,E)=>{var C=c.map(N);return Ge(C)?{coordinate:C+w,value:n?n[N]:N,index:E,offset:w}:null}).filter(Cr)},Nz=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(h[0]=o,o+=v,h[1]=o):(h[0]=c,c+=v,h[1]=c)}}}},Ez=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(f[0]=o,o+=h,f[1]=o):(f[0]=0,f[1]=0)}}}},Az={sign:Nz,expand:WR,none:yo,silhouette:HR,wiggle:KR,positive:Ez},Cz=(e,t,r)=>{var n,i=(n=Az[r])!==null&&n!==void 0?n:yo,o=UR().keys(t).value((u,f)=>Number(Bt(u,f,0))).order(Rv).offset(i),c=o(e);return c.forEach((u,f)=>{u.forEach((h,m)=>{var p=Bt(e[m],t[f],0);Array.isArray(p)&&p.length===2&&Pe(p[0])&&Pe(p[1])&&(h[0]=p[0],h[1]=p[1])})}),c};function Pz(e){return e==null?void 0:String(e)}function nj(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,c=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Jt(i[t.dataKey])){var u=WE(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var f=Bt(i,Jt(c)?t.dataKey:c),h=t.scale.map(f);return Pe(h)?h:null}var Oz=e=>{var t=e.flat(2).filter(Pe);return[Math.min(...t),Math.max(...t)]},_z=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Mz=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return _z(Object.keys(e).reduce((n,i)=>{var o=e[i];if(!o)return n;var c=o.stackedData,u=c.reduce((f,h)=>{var m=DA(h,t,r),p=Oz(m);return!Ge(p[0])||!Ge(p[1])?f:[Math.min(f[0],p[0]),Math.max(f[1],p[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},ij=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,aj=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Of=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=Nh(t,m=>m.coordinate),o=1/0,c=1,u=i.length;c{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},Tz=(e,t)=>t==="centric"?e.angle:e.radius,Ni=e=>e.layout.width,Ei=e=>e.layout.height,Dz=e=>e.layout.scale,zA=e=>e.layout.margin,Lh=Y(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Rh=Y(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),Lz="data-recharts-item-index",Rz="data-recharts-item-id",au=60;function sj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hd(e){for(var t=1;te.brush.height;function Uz(e){var t=Rh(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:au;return r+i}return r},0)}function Wz(e){var t=Rh(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:au;return r+i}return r},0)}function Hz(e){var t=Lh(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function Kz(e){var t=Lh(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var tr=Y([Ni,Ei,zA,Bz,Uz,Wz,Hz,Kz,aA,f$],(e,t,r,n,i,o,c,u,f,h)=>{var m={left:(r.left||0)+i,right:(r.right||0)+o},p={top:(r.top||0)+c,bottom:(r.bottom||0)+u},v=Hd(Hd({},p),m),b=v.bottom;v.bottom+=n,v=Sz(v,f,h);var S=e-v.left-v.right,w=t-v.top-v.bottom;return Hd(Hd({brushBottom:b},v),{},{width:Math.max(S,0),height:Math.max(w,0)})}),Gz=Y(tr,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),FA=Y(Ni,Ei,(e,t)=>({x:0,y:0,width:e,height:t})),Vz=x.createContext(null),Or=()=>x.useContext(Vz)!=null,$h=e=>e.brush,zh=Y([$h,tr,zA],(e,t,r)=>({height:e.height,x:Pe(e.x)?e.x:t.left,y:Pe(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:Pe(e.width)?e.width:t.width}));function qz(e,t,{signal:r,edges:n}={}){let i,o=null;const c=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),f=()=>{o!==null&&(e.apply(i,o),i=void 0,o=null)},h=()=>{u&&f(),b()};let m=null;const p=()=>{m!=null&&clearTimeout(m),m=setTimeout(()=>{m=null,h()},t)},v=()=>{m!==null&&(clearTimeout(m),m=null)},b=()=>{v(),i=void 0,o=null},S=()=>{f()},w=function(...k){if(r!=null&&r.aborted)return;i=this,o=k;const N=m==null;p(),c&&N&&f()};return w.schedule=p,w.cancel=b,w.flush=S,r==null||r.addEventListener("abort",b,{once:!0}),w}function Qz(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:o}=r,c=Array(2);n&&(c[0]="leading"),i&&(c[1]="trailing");let u,f=null;const h=qz(function(...v){u=e.apply(this,v),f=null},t,{edges:c}),m=function(...v){return o!=null&&(f===null&&(f=Date.now()),Date.now()-f>=o)?(u=e.apply(this,v),f=Date.now(),h.cancel(),h.schedule(),u):(h.apply(this,v),u)},p=()=>(h.flush(),u);return m.cancel=h.cancel,m.flush=p,m}function Yz(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return Qz(e,t,{leading:n,maxWait:t,trailing:i})}var _f=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi[c++]))}},Fn={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},BA=(e,t,r)=>{var n=r.width,i=n===void 0?Fn.width:n,o=r.height,c=o===void 0?Fn.height:o,u=r.aspect,f=r.maxHeight,h=bo(i)?e:Number(i),m=bo(c)?t:Number(c);return u&&u>0&&(h?m=h/u:m&&(h=m*u),f&&m!=null&&m>f&&(m=f)),{calculatedWidth:h,calculatedHeight:m}},Zz={width:0,height:0,overflow:"visible"},Xz={width:0,overflowX:"visible"},Jz={height:0,overflowY:"visible"},e8={},t8=e=>{var t=e.width,r=e.height,n=bo(t),i=bo(r);return n&&i?Zz:n?Xz:i?Jz:e8};function r8(e){var t=e.width,r=e.height,n=e.aspect,i=t,o=r;return i===void 0&&o===void 0?(i=Fn.width,o=Fn.height):i===void 0?i=n&&n>0?void 0:Fn.width:o===void 0&&(o=n&&n>0?void 0:Fn.height),{width:i,height:o}}var n8=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Mf(){return Mf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return m8(i)?x.createElement(UA.Provider,{value:i},t):null}var c0=()=>x.useContext(UA),p8=x.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?Fn.initialDimension:n,o=e.width,c=e.height,u=e.minWidth,f=u===void 0?Fn.minWidth:u,h=e.minHeight,m=e.maxHeight,p=e.children,v=e.debounce,b=v===void 0?Fn.debounce:v,S=e.id,w=e.className,k=e.onResize,N=e.style,E=N===void 0?{}:N,C=f8(e,n8),A=x.useRef(null),_=x.useRef();_.current=k,x.useImperativeHandle(t,()=>A.current);var O=x.useState({containerWidth:i.width,containerHeight:i.height}),I=s8(O,2),B=I[0],F=I[1],R=x.useCallback((se,ae)=>{F(Z=>{var te=Math.round(se),ie=Math.round(ae);return Z.containerWidth===te&&Z.containerHeight===ie?Z:{containerWidth:te,containerHeight:ie}})},[]);x.useEffect(()=>{if(A.current==null||typeof ResizeObserver>"u")return al;var se=D=>{var M,q=D[0];if(q!=null){var le=q.contentRect,oe=le.width,ee=le.height;R(oe,ee),(M=_.current)===null||M===void 0||M.call(_,oe,ee)}};b>0&&(se=Yz(se,b,{trailing:!0,leading:!1}));var ae=new ResizeObserver(se),Z=A.current.getBoundingClientRect(),te=Z.width,ie=Z.height;return R(te,ie),ae.observe(A.current),()=>{ae.disconnect()}},[R,b]);var Q=B.containerWidth,U=B.containerHeight;_f(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ge=BA(Q,U,{width:o,height:c,aspect:r,maxHeight:m}),ue=ge.calculatedWidth,pe=ge.calculatedHeight;return _f(Q<0||U<0||ue!=null&&ue>0||pe!=null&&pe>0,`The width(%s) and height(%s) of chart should be greater than 0, + */var Dk;function G6(){if(Dk)return jg;Dk=1;var e=el(),t=K6();function r(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,o=e.useRef,c=e.useEffect,u=e.useMemo,f=e.useDebugValue;return jg.useSyncExternalStoreWithSelector=function(h,m,p,v,b){var N=o(null);if(N.current===null){var w={hasValue:!1,value:null};N.current=w}else w=N.current;N=u(function(){function S(O){if(!E){if(E=!0,C=O,O=v(O),b!==void 0&&w.hasValue){var I=w.value;if(b(I,O))return A=I}return A=O}if(I=A,n(C,O))return I;var B=v(O);return b!==void 0&&b(I,B)?(C=O,I):(C=O,A=B)}var E=!1,C,A,_=p===void 0?null:p;return[function(){return S(m())},_===null?void 0:function(){return S(_())}]},[m,p,v,b]);var k=i(h,N[0],N[1]);return c(function(){w.hasValue=!0,w.value=k},[k]),f(k),k},jg}var Lk;function V6(){return Lk||(Lk=1,kg.exports=G6()),kg.exports}var q6=V6(),n0=x.createContext(null),Q6=e=>e,Ct=()=>{var e=x.useContext(n0);return e?e.store.dispatch:Q6},of=()=>{},Y6=()=>of,Z6=(e,t)=>e===t;function Te(e){var t=x.useContext(n0),r=x.useMemo(()=>t?n=>{if(n!=null)return e(n)}:of,[t,e]);return q6.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:Y6,t?t.store.getState:of,t?t.store.getState:of,r,Z6)}function X6(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function J6(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Rk=e=>Array.isArray(e)?e:[e];function e$(e){const t=Array.isArray(e[0])?e[0]:e;return J6(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function t$(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?r$:WeakRef,aA=n$(),i$=0,$k=1;function Fd(){return{s:i$,v:void 0,o:null,p:null}}function a$(e){return e instanceof aA?e.deref():e}function oA(e,t={}){let r=Fd();const{resultEqualityCheck:n}=t;let i,o=0;function c(){let u=r;const{length:f}=arguments;for(let p=0,v=f;p{r=Fd(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}function o$(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,c=0,u,f={},h=i.pop();typeof h=="object"&&(f=h,h=i.pop()),X6(h,`createSelector expects an output function after the inputs, but received: [${typeof h}]`);const m={...r,...f},{memoize:p,memoizeOptions:v=[],argsMemoize:b=oA,argsMemoizeOptions:N=[]}=m,w=Rk(v),k=Rk(N),S=e$(i),E=p(function(){return o++,h.apply(null,arguments)},...w),C=b(function(){c++;const _=t$(S,arguments);return u=E.apply(null,_),u},...k);return Object.assign(C,{resultFunc:h,memoizedResultFunc:E,dependencies:S,dependencyRecomputations:()=>c,resetDependencyRecomputations:()=>{c=0},lastResult:()=>u,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:p,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var Y=o$(oA);function s$(e,t=1){const r=[],n=Math.floor(t),i=(o,c)=>{for(let u=0;u{if(e!==t){const n=zk(e),i=zk(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function sA(e){return typeof e=="symbol"||e instanceof Symbol}const c$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u$=/^\w*$/;function d$(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||sA(e)?!0:typeof e=="string"&&(u$.test(e)||!c$.test(e))||t!=null}function f$(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(u=>String(u));const i=(u,f)=>{let h=u;for(let m=0;mf==null||u==null?f:typeof u=="object"&&"key"in u?Object.hasOwn(f,u.key)?f[u.key]:i(f,u.path):typeof u=="function"?u(f):Array.isArray(u)?i(f,u):typeof f=="object"?f[u]:f,c=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||d$(u)?u:{key:u,path:Jx(u)}));return e.map(u=>({original:u,criteria:c.map(f=>o(f,u))})).slice().sort((u,f)=>{for(let h=0;hu.original)}function Sh(e,...t){const r=t.length;return r>1&&Bv(e,t[0],t[1])?t=[]:r>2&&Bv(t[0],t[1],t[2])&&(t=[t[0]]),f$(e,s$(t),["asc"])}var lA=e=>e.legend.settings,h$=e=>e.legend.size,m$=e=>e.legend.payload;Y([m$,lA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Sh(n,r):n});function p$(e,t){return y$(e)||x$(e,t)||v$(e,t)||g$()}function g$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function v$(e,t){if(e){if(typeof e=="string")return Fk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Fk(e,t):void 0}}function Fk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rBd||Math.abs(e.left-t.left)>Bd||Math.abs(e.top-t.top)>Bd||Math.abs(e.width-t.width)>Bd}function Uk(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function b$(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=x.useState({height:0,left:0,top:0,width:0}),r=p$(t,2),n=r[0],i=r[1],o=x.useRef(null),c=x.useRef(n);c.current=n;var u=x.useCallback(f=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),f!=null){var h=Uk(f);if(Bk(h,c.current)&&i(h),typeof ResizeObserver<"u"){var m=new ResizeObserver(()=>{var p=Uk(f);Bk(p,c.current)&&i(p)});m.observe(f),o.current=m}}},[...e]);return x.useEffect(()=>()=>{var f;(f=o.current)===null||f===void 0||f.disconnect()},[]),[n,u]}function qt(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var w$=typeof Symbol=="function"&&Symbol.observable||"@@observable",Wk=w$,Eg=()=>Math.random().toString(36).substring(7).split("").join("."),k$={INIT:`@@redux/INIT${Eg()}`,REPLACE:`@@redux/REPLACE${Eg()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Eg()}`},wf=k$;function i0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function cA(e,t,r){if(typeof e!="function")throw new Error(qt(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(qt(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(qt(1));return r(cA)(e,t)}let n=e,i=t,o=new Map,c=o,u=0,f=!1;function h(){c===o&&(c=new Map,o.forEach((k,S)=>{c.set(S,k)}))}function m(){if(f)throw new Error(qt(3));return i}function p(k){if(typeof k!="function")throw new Error(qt(4));if(f)throw new Error(qt(5));let S=!0;h();const E=u++;return c.set(E,k),function(){if(S){if(f)throw new Error(qt(6));S=!1,h(),c.delete(E),o=null}}}function v(k){if(!i0(k))throw new Error(qt(7));if(typeof k.type>"u")throw new Error(qt(8));if(typeof k.type!="string")throw new Error(qt(17));if(f)throw new Error(qt(9));try{f=!0,i=n(i,k)}finally{f=!1}return(o=c).forEach(E=>{E()}),k}function b(k){if(typeof k!="function")throw new Error(qt(10));n=k,v({type:wf.REPLACE})}function N(){const k=p;return{subscribe(S){if(typeof S!="object"||S===null)throw new Error(qt(11));function E(){const A=S;A.next&&A.next(m())}return E(),{unsubscribe:k(E)}},[Wk](){return this}}}return v({type:wf.INIT}),{dispatch:v,subscribe:p,getState:m,replaceReducer:b,[Wk]:N}}function j$(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:wf.INIT})>"u")throw new Error(qt(12));if(typeof r(void 0,{type:wf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(qt(13))})}function uA(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw u&&u.type,new Error(qt(14));h[p]=N,f=f||N!==b}return f=f||n.length!==Object.keys(c).length,f?h:c}}function kf(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function N$(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error(qt(15))};const c={getState:i.getState,dispatch:(f,...h)=>o(f,...h)},u=e.map(f=>f(c));return o=kf(...u)(i.dispatch),{...i,dispatch:o}}}function dA(e){return i0(e)&&"type"in e&&typeof e.type=="string"}var fA=Symbol.for("immer-nothing"),Hk=Symbol.for("immer-draftable"),xr=Symbol.for("immer-state");function bn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Br=Object,Ks=Br.getPrototypeOf,jf="constructor",Eh="prototype",Uv="configurable",Nf="enumerable",sf="writable",Ic="value",bi=e=>!!e&&!!e[xr];function Nn(e){var t;return e?hA(e)||Ch(e)||!!e[Hk]||!!((t=e[jf])!=null&&t[Hk])||Ph(e)||Oh(e):!1}var S$=Br[Eh][jf].toString(),Kk=new WeakMap;function hA(e){if(!e||!a0(e))return!1;const t=Ks(e);if(t===null||t===Br[Eh])return!0;const r=Br.hasOwnProperty.call(t,jf)&&t[jf];if(r===Object)return!0;if(!ys(r))return!1;let n=Kk.get(r);return n===void 0&&(n=Function.toString.call(r),Kk.set(r,n)),n===S$}function Ah(e,t,r=!0){iu(e)===0?(r?Reflect.ownKeys(e):Br.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function iu(e){const t=e[xr];return t?t.type_:Ch(e)?1:Ph(e)?2:Oh(e)?3:0}var Gk=(e,t,r=iu(e))=>r===2?e.has(t):Br[Eh].hasOwnProperty.call(e,t),Wv=(e,t,r=iu(e))=>r===2?e.get(t):e[t],Sf=(e,t,r,n=iu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function E$(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Ch=Array.isArray,Ph=e=>e instanceof Map,Oh=e=>e instanceof Set,a0=e=>typeof e=="object",ys=e=>typeof e=="function",Ag=e=>typeof e=="boolean";function A$(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var ci=e=>e.copy_||e.base_,o0=e=>e.modified_?e.copy_:e.base_;function Hv(e,t){if(Ph(e))return new Map(e);if(Oh(e))return new Set(e);if(Ch(e))return Array[Eh].slice.call(e);const r=hA(e);if(t===!0||t==="class_only"&&!r){const n=Br.getOwnPropertyDescriptors(e);delete n[xr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Br.defineProperties(e,{set:Ud,add:Ud,clear:Ud,delete:Ud}),Br.freeze(e),t&&Ah(e,(r,n)=>{s0(n,!0)},!1)),e}function C$(){bn(2)}var Ud={[Ic]:C$};function _h(e){return e===null||!a0(e)?!0:Br.isFrozen(e)}var Ef="MapSet",Kv="Patches",Vk="ArrayMethods",mA={};function wo(e){const t=mA[e];return t||bn(0,e),t}var qk=e=>!!mA[e],Tc,pA=()=>Tc,P$=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:qk(Ef)?wo(Ef):void 0,arrayMethodsPlugin_:qk(Vk)?wo(Vk):void 0});function Qk(e,t){t&&(e.patchPlugin_=wo(Kv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Gv(e){Vv(e),e.drafts_.forEach(O$),e.drafts_=null}function Vv(e){e===Tc&&(Tc=e.parent_)}var Yk=e=>Tc=P$(Tc,e);function O$(e){const t=e[xr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Zk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[xr].modified_&&(Gv(t),bn(4)),Nn(e)&&(e=Xk(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[xr].base_,e,t)}else e=Xk(t,r);return _$(t,e,!0),Gv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==fA?e:void 0}function Xk(e,t){if(_h(t))return t;const r=t[xr];if(!r)return Af(t,e.handledSet_,e);if(!Mh(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);xA(r,e)}return r.copy_}function _$(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&s0(t,r)}function gA(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Mh=(e,t)=>e.scope_===t,M$=[];function vA(e,t,r,n){const i=ci(e),o=e.type_;if(n!==void 0&&Wv(i,n,o)===t){Sf(i,n,r,o);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;Ah(i,(f,h)=>{if(bi(h)){const m=u.get(h)||[];m.push(f),u.set(h,m)}})}const c=e.draftLocations_.get(t)??M$;for(const u of c)Sf(i,u,r,o)}function I$(e,t,r){e.callbacks_.push(function(i){var u;const o=t;if(!o||!Mh(o,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(o);const c=o0(o);vA(e,o.draft_??o,c,r),xA(o,i)})}function xA(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const o=i.getPath(e);o&&i.generatePatches_(e,o,t)}gA(e)}}function T$(e,t,r){const{scope_:n}=e;if(bi(r)){const i=r[xr];Mh(i,n)&&i.callbacks_.push(function(){lf(e);const c=o0(i);vA(e,r,c,t)})}else Nn(r)&&e.callbacks_.push(function(){const o=ci(e);e.type_===3?o.has(r)&&Af(r,n.handledSet_,n):Wv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Af(Wv(e.copy_,t,e.type_),n.handledSet_,n)})}function Af(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||bi(e)||t.has(e)||!Nn(e)||_h(e)||(t.add(e),Ah(e,(n,i)=>{if(bi(i)){const o=i[xr];if(Mh(o,r)){const c=o0(o);Sf(e,n,c,e.type_),gA(o)}}else Nn(i)&&Af(i,t,r)})),e}function D$(e,t){const r=Ch(e),n={type_:r?1:0,scope_:t?t.scope_:pA(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=Cf;r&&(i=[n],o=Dc);const{revoke:c,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=c,[u,n]}var Cf={get(e,t){if(t===xr)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=ci(e);if(!Gk(i,t,e.type_))return L$(e,i,t);const o=i[t];if(e.finalized_||!Nn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&A$(t))return o;if(o===Cg(e.base_,t)){lf(e);const c=e.type_===1?+t:t,u=Qv(e.scope_,o,e,c);return e.copy_[c]=u}return o},has(e,t){return t in ci(e)},ownKeys(e){return Reflect.ownKeys(ci(e))},set(e,t,r){const n=yA(ci(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Cg(ci(e),t),o=i==null?void 0:i[xr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(E$(r,i)&&(r!==void 0||Gk(e.base_,t,e.type_)))return!0;lf(e),qv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),T$(e,t,r)),!0},deleteProperty(e,t){return lf(e),Cg(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),qv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=ci(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[sf]:!0,[Uv]:e.type_!==1||t!=="length",[Nf]:n[Nf],[Ic]:r[t]}},defineProperty(){bn(11)},getPrototypeOf(e){return Ks(e.base_)},setPrototypeOf(){bn(12)}},Dc={};for(let e in Cf){let t=Cf[e];Dc[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Dc.deleteProperty=function(e,t){return Dc.set.call(this,e,t,void 0)};Dc.set=function(e,t,r){return Cf.set.call(this,e[0],t,r,e[0])};function Cg(e,t){const r=e[xr];return(r?ci(r):e)[t]}function L$(e,t,r){var i;const n=yA(t,r);return n?Ic in n?n[Ic]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function yA(e,t){if(!(t in e))return;let r=Ks(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ks(r)}}function qv(e){e.modified_||(e.modified_=!0,e.parent_&&qv(e.parent_))}function lf(e){e.copy_||(e.assigned_=new Map,e.copy_=Hv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var R$=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(ys(r)&&!ys(n)){const c=n;n=r;const u=this;return function(h=c,...m){return u.produce(h,p=>n.call(this,p,...m))}}ys(n)||bn(6),i!==void 0&&!ys(i)&&bn(7);let o;if(Nn(r)){const c=Yk(this),u=Qv(c,r,void 0);let f=!0;try{o=n(u),f=!1}finally{f?Gv(c):Vv(c)}return Qk(c,i),Zk(o,c)}else if(!r||!a0(r)){if(o=n(r),o===void 0&&(o=r),o===fA&&(o=void 0),this.autoFreeze_&&s0(o,!0),i){const c=[],u=[];wo(Kv).generateReplacementPatches_(r,o,{patches_:c,inversePatches_:u}),i(c,u)}return o}else bn(1,r)},this.produceWithPatches=(r,n)=>{if(ys(r))return(u,...f)=>this.produceWithPatches(u,h=>r(h,...f));let i,o;return[this.produce(r,n,(u,f)=>{i=u,o=f}),i,o]},Ag(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Ag(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Ag(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){Nn(t)||bn(8),bi(t)&&(t=tn(t));const r=Yk(this),n=Qv(r,t,void 0);return n[xr].isManual_=!0,Vv(r),n}finishDraft(t,r){const n=t&&t[xr];(!n||!n.isManual_)&&bn(9);const{scope_:i}=n;return Qk(i,r),Zk(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const i=wo(Kv).applyPatches_;return bi(t)?i(t,r):this.produce(t,o=>i(o,r))}};function Qv(e,t,r,n){const[i,o]=Ph(t)?wo(Ef).proxyMap_(t,r):Oh(t)?wo(Ef).proxySet_(t,r):D$(t,r);return((r==null?void 0:r.scope_)??pA()).drafts_.push(i),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?I$(r,o,n):o.callbacks_.push(function(f){var m;(m=f.mapSetPlugin_)==null||m.fixSetContents(o);const{patchPlugin_:h}=f;o.modified_&&h&&h.generatePatches_(o,[],f)}),i}function tn(e){return bi(e)||bn(10,e),bA(e)}function bA(e){if(!Nn(e)||_h(e))return e;const t=e[xr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Hv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Hv(e,!0);return Ah(r,(i,o)=>{Sf(r,i,bA(o))},n),t&&(t.finalized_=!1),r}var $$=new R$,wA=$$.produce;function kA(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var z$=kA(),F$=kA,B$=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?kf:kf.apply(null,arguments)};function Wr(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Ur(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>dA(n)&&n.type===e,r}var jA=class xc extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,xc.prototype)}static get[Symbol.species](){return xc}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new xc(...t[0].concat(this)):new xc(...t.concat(this))}};function Jk(e){return Nn(e)?wA(e,()=>{}):e}function Wd(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function U$(e){return typeof e=="boolean"}var W$=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let c=new jA;return r&&(U$(r)?c.push(z$):c.push(F$(r.extraArgument))),c},NA="RTK_autoBatch",ct=()=>e=>({payload:e,meta:{[NA]:!0}}),ej=e=>t=>{setTimeout(t,e)},H$=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(c),r())},o=e(i),c=setTimeout(i,t)},SA=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,c=!1;const u=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?H$(window.requestAnimationFrame,100):ej(10):e.type==="callback"?e.queueNotification:ej(e.timeout),h=()=>{c=!1,o&&(o=!1,u.forEach(m=>m()))};return Object.assign({},n,{subscribe(m){const p=()=>i&&m(),v=n.subscribe(p);return u.add(m),()=>{v(),u.delete(m)}},dispatch(m){var p;try{return i=!((p=m==null?void 0:m.meta)!=null&&p[NA]),o=!i,o&&(c||(c=!0,f(h))),n.dispatch(m)}finally{i=!0}}})},K$=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new jA(e);return n&&i.push(SA(typeof n=="object"?n:void 0)),i};function G$(e){const t=W$(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:o=void 0,enhancers:c=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(i0(r))u=uA(r);else throw new Error(Ur(1));let f;typeof n=="function"?f=n(t):f=t();let h=kf;i&&(h=B$({trace:!1,...typeof i=="object"&&i}));const m=N$(...f),p=K$(m);let v=typeof c=="function"?c(p):p();const b=h(...v);return cA(u,o,b)}function EA(e){const t={},r=[];let n;const i={addCase(o,c){const u=typeof o=="string"?o:o.type;if(!u)throw new Error(Ur(28));if(u in t)throw new Error(Ur(29));return t[u]=c,i},addAsyncThunk(o,c){return c.pending&&(t[o.pending.type]=c.pending),c.rejected&&(t[o.rejected.type]=c.rejected),c.fulfilled&&(t[o.fulfilled.type]=c.fulfilled),c.settled&&r.push({matcher:o.settled,reducer:c.settled}),i},addMatcher(o,c){return r.push({matcher:o,reducer:c}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function V$(e){return typeof e=="function"}function q$(e,t){let[r,n,i]=EA(t),o;if(V$(e))o=()=>Jk(e());else{const u=Jk(e);o=()=>u}function c(u=o(),f){let h=[r[f.type],...n.filter(({matcher:m})=>m(f)).map(({reducer:m})=>m)];return h.filter(m=>!!m).length===0&&(h=[i]),h.reduce((m,p)=>{if(p)if(bi(m)){const b=p(m,f);return b===void 0?m:b}else{if(Nn(m))return wA(m,v=>p(v,f));{const v=p(m,f);if(v===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}}return m},u)}return c.getInitialState=o,c}var Q$="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",Y$=(e=21)=>{let t="",r=e;for(;r--;)t+=Q$[Math.random()*64|0];return t},Z$=Symbol.for("rtk-slice-createasyncthunk");function X$(e,t){return`${e}/${t}`}function J$({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[Z$];return function(i){const{name:o,reducerPath:c=o}=i;if(!o)throw new Error(Ur(11));const u=(typeof i.reducers=="function"?i.reducers(tz()):i.reducers)||{},f=Object.keys(u),h={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},m={addCase(A,_){const O=typeof A=="string"?A:A.type;if(!O)throw new Error(Ur(12));if(O in h.sliceCaseReducersByType)throw new Error(Ur(13));return h.sliceCaseReducersByType[O]=_,m},addMatcher(A,_){return h.sliceMatchers.push({matcher:A,reducer:_}),m},exposeAction(A,_){return h.actionCreators[A]=_,m},exposeCaseReducer(A,_){return h.sliceCaseReducersByName[A]=_,m}};f.forEach(A=>{const _=u[A],O={reducerName:A,type:X$(o,A),createNotation:typeof i.reducers=="function"};nz(_)?az(O,_,m,t):rz(O,_,m)});function p(){const[A={},_=[],O=void 0]=typeof i.extraReducers=="function"?EA(i.extraReducers):[i.extraReducers],I={...A,...h.sliceCaseReducersByType};return q$(i.initialState,B=>{for(let F in I)B.addCase(F,I[F]);for(let F of h.sliceMatchers)B.addMatcher(F.matcher,F.reducer);for(let F of _)B.addMatcher(F.matcher,F.reducer);O&&B.addDefaultCase(O)})}const v=A=>A,b=new Map,N=new WeakMap;let w;function k(A,_){return w||(w=p()),w(A,_)}function S(){return w||(w=p()),w.getInitialState()}function E(A,_=!1){function O(B){let F=B[A];return typeof F>"u"&&_&&(F=Wd(N,O,S)),F}function I(B=v){const F=Wd(b,_,()=>new WeakMap);return Wd(F,B,()=>{const R={};for(const[Q,U]of Object.entries(i.selectors??{}))R[Q]=ez(U,B,()=>Wd(N,B,S),_);return R})}return{reducerPath:A,getSelectors:I,get selectors(){return I(O)},selectSlice:O}}const C={name:o,reducer:k,actions:h.actionCreators,caseReducers:h.sliceCaseReducersByName,getInitialState:S,...E(c),injectInto(A,{reducerPath:_,...O}={}){const I=_??c;return A.inject({reducerPath:I,reducer:k},O),{...C,...E(I,!0)}}};return C}}function ez(e,t,r,n){function i(o,...c){let u=t(o);return typeof u>"u"&&n&&(u=r()),e(u,...c)}return i.unwrapped=e,i}var ur=J$();function tz(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function rz({type:e,reducerName:t,createNotation:r},n,i){let o,c;if("reducer"in n){if(r&&!iz(n))throw new Error(Ur(17));o=n.reducer,c=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,c?Wr(e,c):Wr(e))}function nz(e){return e._reducerDefinitionType==="asyncThunk"}function iz(e){return e._reducerDefinitionType==="reducerWithPrepare"}function az({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Ur(18));const{payloadCreator:o,fulfilled:c,pending:u,rejected:f,settled:h,options:m}=r,p=i(e,o,m);n.exposeAction(t,p),c&&n.addCase(p.fulfilled,c),u&&n.addCase(p.pending,u),f&&n.addCase(p.rejected,f),h&&n.addMatcher(p.settled,h),n.exposeCaseReducer(t,{fulfilled:c||Hd,pending:u||Hd,rejected:f||Hd,settled:h||Hd})}function Hd(){}var oz="task",AA="listener",CA="completed",l0="cancelled",sz=`task-${l0}`,lz=`task-${CA}`,Yv=`${AA}-${l0}`,cz=`${AA}-${CA}`,Ih=class{constructor(e){ns(this,"code");ns(this,"name","TaskAbortError");ns(this,"message");this.code=e,this.message=`${oz} ${l0} (reason: ${e})`}},c0=(e,t)=>{if(typeof e!="function")throw new TypeError(Ur(32))},Pf=()=>{},PA=(e,t=Pf)=>(e.catch(t),e),OA=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),po=e=>{if(e.aborted)throw new Ih(e.reason)};function _A(e,t){let r=Pf;return new Promise((n,i)=>{const o=()=>i(new Ih(e.reason));if(e.aborted){o();return}r=OA(e,o),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Pf})}var uz=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Ih?"cancelled":"rejected",error:r}}finally{t==null||t()}},Of=e=>t=>PA(_A(e,t).then(r=>(po(e),r))),MA=e=>{const t=Of(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Ns}=Object,tj={},Th="listenerMiddleware",dz=(e,t)=>{const r=n=>OA(e,()=>n.abort(e.reason));return(n,i)=>{c0(n);const o=new AbortController;r(o);const c=uz(async()=>{po(e),po(o.signal);const u=await n({pause:Of(o.signal),delay:MA(o.signal),signal:o.signal});return po(o.signal),u},()=>o.abort(lz));return i!=null&&i.autoJoin&&t.push(c.catch(Pf)),{result:Of(e)(c),cancel(){o.abort(sz)}}}},fz=(e,t)=>{const r=async(n,i)=>{po(t);let o=()=>{};const u=[new Promise((f,h)=>{let m=e({predicate:n,effect:(p,v)=>{v.unsubscribe(),f([p,v.getState(),v.getOriginalState()])}});o=()=>{m(),h()}})];i!=null&&u.push(new Promise(f=>setTimeout(f,i,null)));try{const f=await _A(t,Promise.race(u));return po(t),f}finally{o()}};return((n,i)=>PA(r(n,i)))},IA=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=Wr(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Ur(21));return c0(o),{predicate:i,type:t,effect:o}},TA=Ns(e=>{const{type:t,predicate:r,effect:n}=IA(e);return{id:Y$(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Ur(22))}}},{withTypes:()=>TA}),rj=(e,t)=>{const{type:r,effect:n,predicate:i}=IA(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===i)&&o.effect===n)},Zv=e=>{e.pending.forEach(t=>{t.abort(Yv)})},hz=(e,t)=>()=>{for(const r of t.keys())Zv(r);e.clear()},nj=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},DA=Ns(Wr(`${Th}/add`),{withTypes:()=>DA}),mz=Wr(`${Th}/removeAll`),LA=Ns(Wr(`${Th}/remove`),{withTypes:()=>LA}),pz=(...e)=>{console.error(`${Th}/error`,...e)},au=(e={})=>{const t=new Map,r=new Map,n=b=>{const N=r.get(b)??0;r.set(b,N+1)},i=b=>{const N=r.get(b)??1;N===1?r.delete(b):r.set(b,N-1)},{extra:o,onError:c=pz}=e;c0(c);const u=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),N=>{b.unsubscribe(),N!=null&&N.cancelActive&&Zv(b)}),f=(b=>{const N=rj(t,b)??TA(b);return u(N)});Ns(f,{withTypes:()=>f});const h=b=>{const N=rj(t,b);return N&&(N.unsubscribe(),b.cancelActive&&Zv(N)),!!N};Ns(h,{withTypes:()=>h});const m=async(b,N,w,k)=>{const S=new AbortController,E=fz(f,S.signal),C=[];try{b.pending.add(S),n(b),await Promise.resolve(b.effect(N,Ns({},w,{getOriginalState:k,condition:(A,_)=>E(A,_).then(Boolean),take:E,delay:MA(S.signal),pause:Of(S.signal),extra:o,signal:S.signal,fork:dz(S.signal,C),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((A,_,O)=>{A!==S&&(A.abort(Yv),O.delete(A))})},cancel:()=>{S.abort(Yv),b.pending.delete(S)},throwIfCancelled:()=>{po(S.signal)}})))}catch(A){A instanceof Ih||nj(c,A,{raisedBy:"effect"})}finally{await Promise.all(C),S.abort(cz),i(b),b.pending.delete(S)}},p=hz(t,r);return{middleware:b=>N=>w=>{if(!dA(w))return N(w);if(DA.match(w))return f(w.payload);if(mz.match(w)){p();return}if(LA.match(w))return h(w.payload);let k=b.getState();const S=()=>{if(k===tj)throw new Error(Ur(23));return k};let E;try{if(E=N(w),t.size>0){const C=b.getState(),A=Array.from(t.values());for(const _ of A){let O=!1;try{O=_.predicate(w,C,k)}catch(I){O=!1,nj(c,I,{raisedBy:"predicate"})}O&&m(_,w,b,S)}}}finally{k=tj}return E},startListening:f,stopListening:h,clearListeners:p}};function Ur(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var gz={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},RA=ur({name:"chartLayout",initialState:gz,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Dh=RA.actions,vz=Dh.setMargin,xz=Dh.setLayout,yz=Dh.setChartSize,bz=Dh.setScale,wz=RA.reducer;function $A(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Ge(e){return Number.isFinite(e)}function qn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function ij(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bs(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,o=t.align,c=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&c==="middle")&&o!=="center"&&Pe(e[o]))return bs(bs({},e),{},{[o]:e[o]+(n||0)});if((u==="horizontal"||u==="vertical"&&o==="center")&&c!=="middle"&&Pe(e[c]))return bs(bs({},e),{},{[c]:e[c]+(i||0)})}return e},Zn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",zA=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,o,c=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(o=!0),u.coordinate));return i||c.push(t),o||c.push(r),c},FA=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,o=e.range,c=e.scale,u=e.realScaleType,f=e.isCategorical,h=e.categoricalDomain,m=e.tickCount,p=e.ticks,v=e.niceTicks,b=e.axisType;if(!c)return null;var N=u==="scaleBand"&&c.bandwidth?c.bandwidth()/2:2,w=i==="category"&&c.bandwidth?c.bandwidth()/N:0;if(w=b==="angleAxis"&&o&&o.length>=2?en(o[0]-o[1])*2*w:w,p||v){var k=(p||v||[]).map((S,E)=>{var C=n?n.indexOf(S):S,A=c.map(C);return Ge(A)?{coordinate:A+w,value:S,offset:w,index:E}:null}).filter(Cr);return k}return f&&h?h.map((S,E)=>{var C=c.map(S);return Ge(C)?{coordinate:C+w,value:S,index:E,offset:w}:null}).filter(Cr):c.ticks&&m!=null?c.ticks(m).map((S,E)=>{var C=c.map(S);return Ge(C)?{coordinate:C+w,value:S,index:E,offset:w}:null}).filter(Cr):c.domain().map((S,E)=>{var C=c.map(S);return Ge(C)?{coordinate:C+w,value:n?n[S]:S,index:E,offset:w}:null}).filter(Cr)},Ez=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(h[0]=o,o+=v,h[1]=o):(h[0]=c,c+=v,h[1]=c)}}}},Az=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(f[0]=o,o+=h,f[1]=o):(f[0]=0,f[1]=0)}}}},Cz={sign:Ez,expand:HR,none:yo,silhouette:KR,wiggle:GR,positive:Az},Pz=(e,t,r)=>{var n,i=(n=Cz[r])!==null&&n!==void 0?n:yo,o=WR().keys(t).value((u,f)=>Number(Ut(u,f,0))).order(Rv).offset(i),c=o(e);return c.forEach((u,f)=>{u.forEach((h,m)=>{var p=Ut(e[m],t[f],0);Array.isArray(p)&&p.length===2&&Pe(p[0])&&Pe(p[1])&&(h[0]=p[0],h[1]=p[1])})}),c};function Oz(e){return e==null?void 0:String(e)}function aj(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,c=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Jt(i[t.dataKey])){var u=GE(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var f=Ut(i,Jt(c)?t.dataKey:c),h=t.scale.map(f);return Pe(h)?h:null}var _z=e=>{var t=e.flat(2).filter(Pe);return[Math.min(...t),Math.max(...t)]},Mz=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Iz=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return Mz(Object.keys(e).reduce((n,i)=>{var o=e[i];if(!o)return n;var c=o.stackedData,u=c.reduce((f,h)=>{var m=$A(h,t,r),p=_z(m);return!Ge(p[0])||!Ge(p[1])?f:[Math.min(f[0],p[0]),Math.max(f[1],p[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},oj=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,sj=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,_f=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=Sh(t,m=>m.coordinate),o=1/0,c=1,u=i.length;c{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},Dz=(e,t)=>t==="centric"?e.angle:e.radius,Si=e=>e.layout.width,Ei=e=>e.layout.height,Lz=e=>e.layout.scale,UA=e=>e.layout.margin,Lh=Y(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Rh=Y(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),Rz="data-recharts-item-index",$z="data-recharts-item-id",ou=60;function cj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Kd(e){for(var t=1;te.brush.height;function Wz(e){var t=Rh(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:ou;return r+i}return r},0)}function Hz(e){var t=Rh(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:ou;return r+i}return r},0)}function Kz(e){var t=Lh(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function Gz(e){var t=Lh(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var tr=Y([Si,Ei,UA,Uz,Wz,Hz,Kz,Gz,lA,h$],(e,t,r,n,i,o,c,u,f,h)=>{var m={left:(r.left||0)+i,right:(r.right||0)+o},p={top:(r.top||0)+c,bottom:(r.bottom||0)+u},v=Kd(Kd({},p),m),b=v.bottom;v.bottom+=n,v=Sz(v,f,h);var N=e-v.left-v.right,w=t-v.top-v.bottom;return Kd(Kd({brushBottom:b},v),{},{width:Math.max(N,0),height:Math.max(w,0)})}),Vz=Y(tr,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),WA=Y(Si,Ei,(e,t)=>({x:0,y:0,width:e,height:t})),qz=x.createContext(null),Mr=()=>x.useContext(qz)!=null,$h=e=>e.brush,zh=Y([$h,tr,UA],(e,t,r)=>({height:e.height,x:Pe(e.x)?e.x:t.left,y:Pe(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:Pe(e.width)?e.width:t.width}));function Qz(e,t,{signal:r,edges:n}={}){let i,o=null;const c=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),f=()=>{o!==null&&(e.apply(i,o),i=void 0,o=null)},h=()=>{u&&f(),b()};let m=null;const p=()=>{m!=null&&clearTimeout(m),m=setTimeout(()=>{m=null,h()},t)},v=()=>{m!==null&&(clearTimeout(m),m=null)},b=()=>{v(),i=void 0,o=null},N=()=>{f()},w=function(...k){if(r!=null&&r.aborted)return;i=this,o=k;const S=m==null;p(),c&&S&&f()};return w.schedule=p,w.cancel=b,w.flush=N,r==null||r.addEventListener("abort",b,{once:!0}),w}function Yz(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:o}=r,c=Array(2);n&&(c[0]="leading"),i&&(c[1]="trailing");let u,f=null;const h=Qz(function(...v){u=e.apply(this,v),f=null},t,{edges:c}),m=function(...v){return o!=null&&(f===null&&(f=Date.now()),Date.now()-f>=o)?(u=e.apply(this,v),f=Date.now(),h.cancel(),h.schedule(),u):(h.apply(this,v),u)},p=()=>(h.flush(),u);return m.cancel=h.cancel,m.flush=p,m}function Zz(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return Yz(e,t,{leading:n,maxWait:t,trailing:i})}var Mf=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi[c++]))}},Fn={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},HA=(e,t,r)=>{var n=r.width,i=n===void 0?Fn.width:n,o=r.height,c=o===void 0?Fn.height:o,u=r.aspect,f=r.maxHeight,h=bo(i)?e:Number(i),m=bo(c)?t:Number(c);return u&&u>0&&(h?m=h/u:m&&(h=m*u),f&&m!=null&&m>f&&(m=f)),{calculatedWidth:h,calculatedHeight:m}},Xz={width:0,height:0,overflow:"visible"},Jz={width:0,overflowX:"visible"},e8={height:0,overflowY:"visible"},t8={},r8=e=>{var t=e.width,r=e.height,n=bo(t),i=bo(r);return n&&i?Xz:n?Jz:i?e8:t8};function n8(e){var t=e.width,r=e.height,n=e.aspect,i=t,o=r;return i===void 0&&o===void 0?(i=Fn.width,o=Fn.height):i===void 0?i=n&&n>0?void 0:Fn.width:o===void 0&&(o=n&&n>0?void 0:Fn.height),{width:i,height:o}}var i8=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function If(){return If=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return p8(i)?x.createElement(KA.Provider,{value:i},t):null}var u0=()=>x.useContext(KA),g8=x.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?Fn.initialDimension:n,o=e.width,c=e.height,u=e.minWidth,f=u===void 0?Fn.minWidth:u,h=e.minHeight,m=e.maxHeight,p=e.children,v=e.debounce,b=v===void 0?Fn.debounce:v,N=e.id,w=e.className,k=e.onResize,S=e.style,E=S===void 0?{}:S,C=h8(e,i8),A=x.useRef(null),_=x.useRef();_.current=k,x.useImperativeHandle(t,()=>A.current);var O=x.useState({containerWidth:i.width,containerHeight:i.height}),I=l8(O,2),B=I[0],F=I[1],R=x.useCallback((se,ae)=>{F(Z=>{var te=Math.round(se),ie=Math.round(ae);return Z.containerWidth===te&&Z.containerHeight===ie?Z:{containerWidth:te,containerHeight:ie}})},[]);x.useEffect(()=>{if(A.current==null||typeof ResizeObserver>"u")return al;var se=D=>{var M,q=D[0];if(q!=null){var le=q.contentRect,oe=le.width,ee=le.height;R(oe,ee),(M=_.current)===null||M===void 0||M.call(_,oe,ee)}};b>0&&(se=Zz(se,b,{trailing:!0,leading:!1}));var ae=new ResizeObserver(se),Z=A.current.getBoundingClientRect(),te=Z.width,ie=Z.height;return R(te,ie),ae.observe(A.current),()=>{ae.disconnect()}},[R,b]);var Q=B.containerWidth,U=B.containerHeight;Mf(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ge=HA(Q,U,{width:o,height:c,aspect:r,maxHeight:m}),ue=ge.calculatedWidth,pe=ge.calculatedHeight;return Mf(Q<0||U<0||ue!=null&&ue>0||pe!=null&&pe>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,ue,pe,o,c,f,h,r),x.createElement("div",Mf({id:S?"".concat(S):void 0,className:it("recharts-responsive-container",w),style:cj(cj({},E),{},{width:o,height:c,minWidth:f,minHeight:h,maxHeight:m}),ref:A},C),x.createElement("div",{style:t8({width:o,height:c})},x.createElement(WA,{width:ue,height:pe},p)))}),g8=x.forwardRef((e,t)=>{var r=c0();if(qn(r.width)&&qn(r.height))return e.children;var n=r8({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,o=n.height,c=BA(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),u=c.calculatedWidth,f=c.calculatedHeight;return Pe(u)&&Pe(f)?x.createElement(WA,{width:u,height:f},e.children):x.createElement(p8,Mf({},e,{width:i,height:o,ref:t}))});function u0(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Fh=()=>{var e,t=Or(),r=Te(Gz),n=Te(zh),i=(e=Te($h))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},v8={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},HA=()=>{var e;return(e=Te(tr))!==null&&e!==void 0?e:v8},KA=()=>Te(Ni),GA=()=>Te(Ei),mt=e=>e.layout.layoutType,ol=()=>Te(mt),d0=()=>{var e=ol();if(e==="horizontal"||e==="vertical")return e},VA=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},x8=()=>{var e=ol();return e!==void 0},ou=e=>{var t=At(),r=Or(),n=e.width,i=e.height,o=c0(),c=n,u=i;return o&&(c=o.width>0?o.width:n,u=o.height>0?o.height:i),x.useEffect(()=>{!r&&qn(c)&&qn(u)&&t(xz({width:c,height:u}))},[t,r,c,u]),null},qA=Symbol.for("immer-nothing"),dj=Symbol.for("immer-draftable"),Wr=Symbol.for("immer-state");function bn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Lc=Object.getPrototypeOf;function Gs(e){return!!e&&!!e[Wr]}function ko(e){var t;return e?QA(e)||Array.isArray(e)||!!e[dj]||!!((t=e.constructor)!=null&&t[dj])||su(e)||Uh(e):!1}var y8=Object.prototype.constructor.toString(),fj=new WeakMap;function QA(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=fj.get(r);return n===void 0&&(n=Function.toString.call(r),fj.set(r,n)),n===y8}function If(e,t,r=!0){Bh(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Bh(e){const t=e[Wr];return t?t.type_:Array.isArray(e)?1:su(e)?2:Uh(e)?3:0}function Xv(e,t){return Bh(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function YA(e,t,r){const n=Bh(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function b8(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function su(e){return e instanceof Map}function Uh(e){return e instanceof Set}function qa(e){return e.copy_||e.base_}function Jv(e,t){if(su(e))return new Map(e);if(Uh(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=QA(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Wr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:Kd,add:Kd,clear:Kd,delete:Kd}),Object.freeze(e),t&&Object.values(e).forEach(r=>f0(r,!0))),e}function w8(){bn(2)}var Kd={value:w8};function Wh(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var k8={};function jo(e){const t=k8[e];return t||bn(0,e),t}var Rc;function ZA(){return Rc}function j8(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function hj(e,t){t&&(jo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ex(e){tx(e),e.drafts_.forEach(S8),e.drafts_=null}function tx(e){e===Rc&&(Rc=e.parent_)}function mj(e){return Rc=j8(Rc,e)}function S8(e){const t=e[Wr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function pj(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Wr].modified_&&(ex(t),bn(4)),ko(e)&&(e=Tf(t,e),t.parent_||Df(t,e)),t.patches_&&jo("Patches").generateReplacementPatches_(r[Wr].base_,e,t.patches_,t.inversePatches_)):e=Tf(t,r,[]),ex(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==qA?e:void 0}function Tf(e,t,r){if(Wh(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[Wr];if(!i)return If(t,(o,c)=>gj(e,i,t,o,c,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return Df(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const o=i.copy_;let c=o,u=!1;i.type_===3&&(c=new Set(o),o.clear(),u=!0),If(c,(f,h)=>gj(e,i,o,f,h,r,u),n),Df(e,o,!1),r&&e.patches_&&jo("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function gj(e,t,r,n,i,o,c){if(i==null||typeof i!="object"&&!c)return;const u=Wh(i);if(!(u&&!c)){if(Gs(i)){const f=o&&t&&t.type_!==3&&!Xv(t.assigned_,n)?o.concat(n):void 0,h=Tf(e,i,f);if(YA(r,n,h),Gs(h))e.canAutoFreeze_=!1;else return}else c&&r.add(i);if(ko(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&u)return;Tf(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(su(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Df(e,i)}}}function Df(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&f0(t,r)}function N8(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:ZA(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=h0;r&&(i=[n],o=$c);const{revoke:c,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=c,u}var h0={get(e,t){if(t===Wr)return e;const r=qa(e);if(!Xv(r,t))return E8(e,r,t);const n=r[t];return e.finalized_||!ko(n)?n:n===Pg(e.base_,t)?(Og(e),e.copy_[t]=nx(n,e)):n},has(e,t){return t in qa(e)},ownKeys(e){return Reflect.ownKeys(qa(e))},set(e,t,r){const n=XA(qa(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Pg(qa(e),t),o=i==null?void 0:i[Wr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(b8(r,i)&&(r!==void 0||Xv(e.base_,t)))return!0;Og(e),rx(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Pg(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Og(e),rx(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=qa(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){bn(11)},getPrototypeOf(e){return Lc(e.base_)},setPrototypeOf(){bn(12)}},$c={};If(h0,(e,t)=>{$c[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});$c.deleteProperty=function(e,t){return $c.set.call(this,e,t,void 0)};$c.set=function(e,t,r){return h0.set.call(this,e[0],t,r,e[0])};function Pg(e,t){const r=e[Wr];return(r?qa(r):e)[t]}function E8(e,t,r){var i;const n=XA(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function XA(e,t){if(!(t in e))return;let r=Lc(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Lc(r)}}function rx(e){e.modified_||(e.modified_=!0,e.parent_&&rx(e.parent_))}function Og(e){e.copy_||(e.copy_=Jv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var A8=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const c=this;return function(f=o,...h){return c.produce(f,m=>r.call(this,m,...h))}}typeof r!="function"&&bn(6),n!==void 0&&typeof n!="function"&&bn(7);let i;if(ko(t)){const o=mj(this),c=nx(t,void 0);let u=!0;try{i=r(c),u=!1}finally{u?ex(o):tx(o)}return hj(o,n),pj(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===qA&&(i=void 0),this.autoFreeze_&&f0(i,!0),n){const o=[],c=[];jo("Patches").generateReplacementPatches_(t,i,o,c),n(o,c)}return i}else bn(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(c,...u)=>this.produceWithPatches(c,f=>t(f,...u));let n,i;return[this.produce(t,r,(c,u)=>{n=c,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){ko(e)||bn(8),Gs(e)&&(e=C8(e));const t=mj(this),r=nx(e,void 0);return r[Wr].isManual_=!0,tx(t),r}finishDraft(e,t){const r=e&&e[Wr];(!r||!r.isManual_)&&bn(9);const{scope_:n}=r;return hj(n,t),pj(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=jo("Patches").applyPatches_;return Gs(e)?n(e,t):this.produce(e,i=>n(i,t))}};function nx(e,t){const r=su(e)?jo("MapSet").proxyMap_(e,t):Uh(e)?jo("MapSet").proxySet_(e,t):N8(e,t);return(t?t.scope_:ZA()).drafts_.push(r),r}function C8(e){return Gs(e)||bn(10,e),JA(e)}function JA(e){if(!ko(e)||Wh(e))return e;const t=e[Wr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Jv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Jv(e,!0);return If(r,(i,o)=>{YA(r,i,JA(o))},n),t&&(t.finalized_=!1),r}var P8=new A8;P8.produce;var O8={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},eC=ur({name:"legend",initialState:O8,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:ct()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).payload.indexOf(n);o>-1&&(e.payload[o]=i)},prepare:ct()},removeLegendPayload:{reducer(e,t){var r=tn(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:ct()}}}),lu=eC.actions;lu.setLegendSize;lu.setLegendSettings;var _8=lu.addLegendPayload,M8=lu.replaceLegendPayload,I8=lu.removeLegendPayload,T8=eC.reducer,_g={exports:{}},Mg={};/** + height and width.`,ue,pe,o,c,f,h,r),x.createElement("div",If({id:N?"".concat(N):void 0,className:it("recharts-responsive-container",w),style:dj(dj({},E),{},{width:o,height:c,minWidth:f,minHeight:h,maxHeight:m}),ref:A},C),x.createElement("div",{style:r8({width:o,height:c})},x.createElement(GA,{width:ue,height:pe},p)))}),v8=x.forwardRef((e,t)=>{var r=u0();if(qn(r.width)&&qn(r.height))return e.children;var n=n8({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,o=n.height,c=HA(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),u=c.calculatedWidth,f=c.calculatedHeight;return Pe(u)&&Pe(f)?x.createElement(GA,{width:u,height:f},e.children):x.createElement(g8,If({},e,{width:i,height:o,ref:t}))});function d0(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Fh=()=>{var e,t=Mr(),r=Te(Vz),n=Te(zh),i=(e=Te($h))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},x8={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},VA=()=>{var e;return(e=Te(tr))!==null&&e!==void 0?e:x8},qA=()=>Te(Si),QA=()=>Te(Ei),pt=e=>e.layout.layoutType,ol=()=>Te(pt),f0=()=>{var e=ol();if(e==="horizontal"||e==="vertical")return e},YA=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},y8=()=>{var e=ol();return e!==void 0},su=e=>{var t=Ct(),r=Mr(),n=e.width,i=e.height,o=u0(),c=n,u=i;return o&&(c=o.width>0?o.width:n,u=o.height>0?o.height:i),x.useEffect(()=>{!r&&qn(c)&&qn(u)&&t(yz({width:c,height:u}))},[t,r,c,u]),null},ZA=Symbol.for("immer-nothing"),hj=Symbol.for("immer-draftable"),Hr=Symbol.for("immer-state");function wn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Lc=Object.getPrototypeOf;function Gs(e){return!!e&&!!e[Hr]}function ko(e){var t;return e?XA(e)||Array.isArray(e)||!!e[hj]||!!((t=e.constructor)!=null&&t[hj])||lu(e)||Uh(e):!1}var b8=Object.prototype.constructor.toString(),mj=new WeakMap;function XA(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=mj.get(r);return n===void 0&&(n=Function.toString.call(r),mj.set(r,n)),n===b8}function Tf(e,t,r=!0){Bh(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Bh(e){const t=e[Hr];return t?t.type_:Array.isArray(e)?1:lu(e)?2:Uh(e)?3:0}function Xv(e,t){return Bh(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function JA(e,t,r){const n=Bh(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function w8(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function lu(e){return e instanceof Map}function Uh(e){return e instanceof Set}function qa(e){return e.copy_||e.base_}function Jv(e,t){if(lu(e))return new Map(e);if(Uh(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=XA(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Hr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:Gd,add:Gd,clear:Gd,delete:Gd}),Object.freeze(e),t&&Object.values(e).forEach(r=>h0(r,!0))),e}function k8(){wn(2)}var Gd={value:k8};function Wh(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var j8={};function jo(e){const t=j8[e];return t||wn(0,e),t}var Rc;function eC(){return Rc}function N8(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function pj(e,t){t&&(jo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ex(e){tx(e),e.drafts_.forEach(S8),e.drafts_=null}function tx(e){e===Rc&&(Rc=e.parent_)}function gj(e){return Rc=N8(Rc,e)}function S8(e){const t=e[Hr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function vj(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Hr].modified_&&(ex(t),wn(4)),ko(e)&&(e=Df(t,e),t.parent_||Lf(t,e)),t.patches_&&jo("Patches").generateReplacementPatches_(r[Hr].base_,e,t.patches_,t.inversePatches_)):e=Df(t,r,[]),ex(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==ZA?e:void 0}function Df(e,t,r){if(Wh(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[Hr];if(!i)return Tf(t,(o,c)=>xj(e,i,t,o,c,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return Lf(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const o=i.copy_;let c=o,u=!1;i.type_===3&&(c=new Set(o),o.clear(),u=!0),Tf(c,(f,h)=>xj(e,i,o,f,h,r,u),n),Lf(e,o,!1),r&&e.patches_&&jo("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function xj(e,t,r,n,i,o,c){if(i==null||typeof i!="object"&&!c)return;const u=Wh(i);if(!(u&&!c)){if(Gs(i)){const f=o&&t&&t.type_!==3&&!Xv(t.assigned_,n)?o.concat(n):void 0,h=Df(e,i,f);if(JA(r,n,h),Gs(h))e.canAutoFreeze_=!1;else return}else c&&r.add(i);if(ko(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&u)return;Df(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(lu(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Lf(e,i)}}}function Lf(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&h0(t,r)}function E8(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:eC(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=m0;r&&(i=[n],o=$c);const{revoke:c,proxy:u}=Proxy.revocable(i,o);return n.draft_=u,n.revoke_=c,u}var m0={get(e,t){if(t===Hr)return e;const r=qa(e);if(!Xv(r,t))return A8(e,r,t);const n=r[t];return e.finalized_||!ko(n)?n:n===Pg(e.base_,t)?(Og(e),e.copy_[t]=nx(n,e)):n},has(e,t){return t in qa(e)},ownKeys(e){return Reflect.ownKeys(qa(e))},set(e,t,r){const n=tC(qa(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Pg(qa(e),t),o=i==null?void 0:i[Hr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(w8(r,i)&&(r!==void 0||Xv(e.base_,t)))return!0;Og(e),rx(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Pg(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Og(e),rx(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=qa(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){wn(11)},getPrototypeOf(e){return Lc(e.base_)},setPrototypeOf(){wn(12)}},$c={};Tf(m0,(e,t)=>{$c[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});$c.deleteProperty=function(e,t){return $c.set.call(this,e,t,void 0)};$c.set=function(e,t,r){return m0.set.call(this,e[0],t,r,e[0])};function Pg(e,t){const r=e[Hr];return(r?qa(r):e)[t]}function A8(e,t,r){var i;const n=tC(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function tC(e,t){if(!(t in e))return;let r=Lc(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Lc(r)}}function rx(e){e.modified_||(e.modified_=!0,e.parent_&&rx(e.parent_))}function Og(e){e.copy_||(e.copy_=Jv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var C8=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const c=this;return function(f=o,...h){return c.produce(f,m=>r.call(this,m,...h))}}typeof r!="function"&&wn(6),n!==void 0&&typeof n!="function"&&wn(7);let i;if(ko(t)){const o=gj(this),c=nx(t,void 0);let u=!0;try{i=r(c),u=!1}finally{u?ex(o):tx(o)}return pj(o,n),vj(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===ZA&&(i=void 0),this.autoFreeze_&&h0(i,!0),n){const o=[],c=[];jo("Patches").generateReplacementPatches_(t,i,o,c),n(o,c)}return i}else wn(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(c,...u)=>this.produceWithPatches(c,f=>t(f,...u));let n,i;return[this.produce(t,r,(c,u)=>{n=c,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){ko(e)||wn(8),Gs(e)&&(e=P8(e));const t=gj(this),r=nx(e,void 0);return r[Hr].isManual_=!0,tx(t),r}finishDraft(e,t){const r=e&&e[Hr];(!r||!r.isManual_)&&wn(9);const{scope_:n}=r;return pj(n,t),vj(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=jo("Patches").applyPatches_;return Gs(e)?n(e,t):this.produce(e,i=>n(i,t))}};function nx(e,t){const r=lu(e)?jo("MapSet").proxyMap_(e,t):Uh(e)?jo("MapSet").proxySet_(e,t):E8(e,t);return(t?t.scope_:eC()).drafts_.push(r),r}function P8(e){return Gs(e)||wn(10,e),rC(e)}function rC(e){if(!ko(e)||Wh(e))return e;const t=e[Hr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Jv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Jv(e,!0);return Tf(r,(i,o)=>{JA(r,i,rC(o))},n),t&&(t.finalized_=!1),r}var O8=new C8;O8.produce;var _8={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},nC=ur({name:"legend",initialState:_8,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:ct()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).payload.indexOf(n);o>-1&&(e.payload[o]=i)},prepare:ct()},removeLegendPayload:{reducer(e,t){var r=tn(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:ct()}}}),cu=nC.actions;cu.setLegendSize;cu.setLegendSettings;var M8=cu.addLegendPayload,I8=cu.replaceLegendPayload,T8=cu.removeLegendPayload,D8=nC.reducer,_g={exports:{}},Mg={};/** * @license React * use-sync-external-store-with-selector.production.js * @@ -701,58 +701,58 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vj;function D8(){if(vj)return Mg;vj=1;var e=el();function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,c=e.useMemo,u=e.useDebugValue;return Mg.useSyncExternalStoreWithSelector=function(f,h,m,p,v){var b=i(null);if(b.current===null){var S={hasValue:!1,value:null};b.current=S}else S=b.current;b=c(function(){function k(_){if(!N){if(N=!0,E=_,_=p(_),v!==void 0&&S.hasValue){var O=S.value;if(v(O,_))return C=O}return C=_}if(O=C,r(E,_))return O;var I=p(_);return v!==void 0&&v(O,I)?(E=_,O):(E=_,C=I)}var N=!1,E,C,A=m===void 0?null:m;return[function(){return k(h())},A===null?void 0:function(){return k(A())}]},[h,m,p,v]);var w=n(f,b[0],b[1]);return o(function(){S.hasValue=!0,S.value=w},[w]),u(w),w},Mg}var xj;function L8(){return xj||(xj=1,_g.exports=D8()),_g.exports}L8();function R8(e){e()}function $8(){let e=null,t=null;return{clear(){e=null,t=null},notify(){R8(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var yj={notify(){},get:()=>[]};function z8(e,t){let r,n=yj,i=0,o=!1;function c(w){m();const k=n.subscribe(w);let N=!1;return()=>{N||(N=!0,k(),p())}}function u(){n.notify()}function f(){S.onStateChange&&S.onStateChange()}function h(){return o}function m(){i++,r||(r=e.subscribe(f),n=$8())}function p(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=yj)}function v(){o||(o=!0,m())}function b(){o&&(o=!1,p())}const S={addNestedSub:c,notifyNestedSubs:u,handleChangeWrapper:f,isSubscribed:h,trySubscribe:v,tryUnsubscribe:b,getListeners:()=>n};return S}var F8=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",B8=F8(),U8=()=>typeof navigator<"u"&&navigator.product==="ReactNative",W8=U8(),H8=()=>B8||W8?x.useLayoutEffect:x.useEffect,K8=H8();function bj(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function G8(e,t){if(bj(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const f=z8(i);return{store:i,subscription:f,getServerState:n?()=>n:void 0}},[i,n]),c=x.useMemo(()=>i.getState(),[i]);K8(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),c!==i.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,c]);const u=r||q8;return x.createElement(u.Provider,{value:o},t)}var Y8=Q8,Z8=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function X8(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Hh(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(Z8.has(n)){if(e[n]==null&&t[n]==null)continue;if(!G8(e[n],t[n]))return!1}else if(!X8(e[n],t[n]))return!1;return!0}function ix(){return ix=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?ls.separator:t,n=e.contentStyle,i=e.itemStyle,o=e.labelStyle,c=o===void 0?ls.labelStyle:o,u=e.payload,f=e.formatter,h=e.itemSorter,m=e.wrapperClassName,p=e.labelClassName,v=e.label,b=e.labelFormatter,S=e.accessibilityLayer,w=S===void 0?ls.accessibilityLayer:S,k=()=>{if(u&&u.length){var B={padding:0,margin:0},F=lF(u,h),R=F.map((Q,U)=>{if(!Q||Q.type==="none")return null;var ge=Q.formatter||f||sF,ue=Q.value,pe=Q.name,se=ue,ae=pe;if(ge){var Z=ge(ue,pe,Q,U,u);if(Array.isArray(Z)){var te=rF(Z,2);se=te[0],ae=te[1]}else if(Z!=null)se=Z;else return null}var ie=sc(sc({},ls.itemStyle),{},{color:Q.color||ls.itemStyle.color},i);return x.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(U),style:ie},Vn(ae)?x.createElement("span",{className:"recharts-tooltip-item-name"},ae):null,Vn(ae)?x.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,x.createElement("span",{className:"recharts-tooltip-item-value"},se),x.createElement("span",{className:"recharts-tooltip-item-unit"},Q.unit||""))});return x.createElement("ul",{className:"recharts-tooltip-item-list",style:B},R)}return null},N=sc(sc({},ls.contentStyle),n),E=sc({margin:0},c),C=!Jt(v),A=C?v:"",_=it("recharts-default-tooltip",m),O=it("recharts-tooltip-label",p);C&&b&&u!==void 0&&u!==null&&(A=b(v,u));var I=w?{role:"status","aria-live":"assertive"}:{};return x.createElement("div",ix({className:_,style:N},I),x.createElement("p",{className:O,style:E},x.isValidElement(A)?A:"".concat(A)),k())},lc="recharts-tooltip-wrapper",uF={visibility:"hidden"};function dF(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return it(lc,{["".concat(lc,"-right")]:Pe(r)&&t&&Pe(t.x)&&r>=t.x,["".concat(lc,"-left")]:Pe(r)&&t&&Pe(t.x)&&r=t.y,["".concat(lc,"-top")]:Pe(n)&&t&&Pe(t.y)&&n0?i:0),p=r[n]+i;if(t[n])return c[n]?m:p;var v=f[n];if(v==null)return 0;if(c[n]){var b=m,S=v;return bk?Math.max(m,v):Math.max(p,v)}function fF(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function hF(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,o=e.position,c=e.reverseDirection,u=e.tooltipBox,f=e.useTranslate3d,h=e.viewBox,m,p,v;return u.height>0&&u.width>0&&r?(p=jj({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:o,reverseDirection:c,tooltipDimension:u.width,viewBox:h,viewBoxDimension:h.width}),v=jj({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:c,tooltipDimension:u.height,viewBox:h,viewBoxDimension:h.height}),m=fF({translateX:p,translateY:v,useTranslate3d:f})):m=uF,{cssProperties:m,cssClasses:dF({translateX:p,translateY:v,coordinate:r})}}var mF=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),cu={isSsr:mF()};function pF(e,t){return yF(e)||xF(e,t)||vF(e,t)||gF()}function gF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vF(e,t){if(e){if(typeof e=="string")return Sj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Sj(e,t):void 0}}function Sj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rcu.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=pF(e,2),r=t[0],n=t[1];return x.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(i.matches)};return i.addEventListener("change",o),()=>{i.removeEventListener("change",o)}}},[]),r}function Nj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cs(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),h=jF(f,2),m=h[0],p=h[1];x.useEffect(()=>{var N=E=>{if(E.key==="Escape"){var C,A,_,O;p({dismissed:!0,dismissedAtCoordinate:{x:(C=(A=e.coordinate)===null||A===void 0?void 0:A.x)!==null&&C!==void 0?C:0,y:(_=(O=e.coordinate)===null||O===void 0?void 0:O.y)!==null&&_!==void 0?_:0}})}};return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),m.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==m.dismissedAtCoordinate.x||((o=(c=e.coordinate)===null||c===void 0?void 0:c.y)!==null&&o!==void 0?o:0)!==m.dismissedAtCoordinate.y)&&p(cs(cs({},m),{},{dismissed:!1}));var v=hF({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=v.cssClasses,S=v.cssProperties,w=e.hasPortalFromProps?{}:cs(cs({transition:CF({prefersReducedMotion:u,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},S),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),k=cs(cs({},w),{},{visibility:!m.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return x.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:k,ref:e.innerRef},e.children)}var OF=x.memo(PF),rC=()=>{var e;return(e=Te(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function ax(){return ax=Object.assign?Object.assign.bind():function(e){for(var t=1;tGe(e.x)&&Ge(e.y),Oj=e=>e.base!=null&&Lf(e.base)&&Lf(e),cc=e=>e.x,uc=e=>e.y,TF=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Jx(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=Pj["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return Pj[r]||jh},_j={connectNulls:!1,type:"linear"},DF=e=>{var t=e.type,r=t===void 0?_j.type:t,n=e.points,i=n===void 0?[]:n,o=e.baseLine,c=e.layout,u=e.connectNulls,f=u===void 0?_j.connectNulls:u,h=TF(r,c),m=f?i.filter(Lf):i;if(Array.isArray(o)){var p,v=i.map((N,E)=>Cj(Cj({},N),{},{base:o[E]}));c==="vertical"?p=$d().y(uc).x1(cc).x0(N=>N.base.x):p=$d().x(cc).y1(uc).y0(N=>N.base.y);var b=p.defined(Oj).curve(h),S=f?v.filter(Oj):v;return b(S)}var w;c==="vertical"&&Pe(o)?w=$d().y(uc).x1(cc).x0(o):Pe(o)?w=$d().x(cc).y1(uc).y0(o):w=_E().x(cc).y(uc);var k=w.defined(Lf).curve(h);return k(m)},lf=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,o=ol();if((!r||!r.length)&&!n)return null;var c={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},u=r&&r.length?DF(c):n;return x.createElement("path",ax({},kn(e),e0(e),{className:it("recharts-curve",t),d:u===null?void 0:u,ref:i}))},LF=["x","y","top","left","width","height","className"];function ox(){return ox=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),HF=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,o=e.top,c=o===void 0?0:o,u=e.left,f=u===void 0?0:u,h=e.width,m=h===void 0?0:h,p=e.height,v=p===void 0?0:p,b=e.className,S=BF(e,LF),w=RF({x:r,y:i,top:c,left:f,width:m,height:v},S);return!Pe(r)||!Pe(i)||!Pe(m)||!Pe(v)||!Pe(c)||!Pe(f)?null:x.createElement("path",ox({},nn(w),{className:it("recharts-cross",b),d:WF(r,i,m,v,c,f)}))};function KF(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Rf=1e-4,nC=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],iC=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Ij=(e,t)=>r=>{var n=nC(e,t);return iC(n,r)},GF=(e,t)=>r=>{var n=nC(e,t),i=[...n.map((o,c)=>o*c).slice(1),0];return iC(i,r)},VF=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(o=>parseFloat(o));return[i[0],i[1],i[2],i[3]]},qF=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=Ij(e,r),o=Ij(t,n),c=GF(e,r),u=h=>h>1?1:h<0?0:h,f=h=>{for(var m=h>1?1:h,p=m,v=0;v<8;++v){var b=i(p)-m,S=c(p);if(Math.abs(b-m)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,c=t.dt,u=c===void 0?16.67:c,f=1,h=[0],m=0,p=0,v=1e4,b=0;b{var E,C,A;if(N<=0)return 0;if(N>=1)return f;var _=N*k,O=Math.floor(_),I=_-O;return((E=h[O])!==null&&E!==void 0?E:0)+(((C=h[O+1])!==null&&C!==void 0?C:0)-((A=h[O])!==null&&A!==void 0?A:0))*I}},ZF=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Tj(e);case"spring":return YF();default:if(e.split("(")[0]==="cubic-bezier")return Tj(e)}return typeof e=="function"?e:null},XF=(e,t,r)=>{var n,i=o=>{var c=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,c);return}n=e.setTimeout(i,c)};return n=e.setTimeout(i,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},aC=x.createContext(XF);aC.Provider;function JF(e){var t=x.useContext(aC);return x.useMemo(()=>e??t,[e,t])}function e9(e,t,r){return(t=t9(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t9(e){var t=r9(e,"string");return typeof t=="symbol"?t:t+""}function r9(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Dj="init",Lj="pending",Rj="active",n9="completed";function Dg(e){return Math.max(0,e)}class i9{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;e9(this,"state",Dj),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Dg(t.animationDuration),this.animationBegin=Dg(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===Dj)return this.state=Lj,this.beginStartedTime=t,this.animationBegin;if(this.getState()===Lj){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=Rj,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Dg(this.animationBegin-r)}if(this.getState()===Rj){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=n9}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class a9 extends i9{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(hi(this.getFrom(),this.getTo(),this.getProgress()))}}class o9{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,o=c=>{c-n>=r?t(c):i=requestAnimationFrame(o)};return i=requestAnimationFrame(o),()=>{i!=null&&cancelAnimationFrame(i)}}}function s9(e,t){return d9(e)||u9(e,t)||c9(e,t)||l9()}function l9(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c9(e,t){if(e){if(typeof e=="string")return $j(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$j(e,t):void 0}}function $j(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},zj=0,Lg=1;function oC(e){var t=sn(e,f9),r=t.animationId,n=t.isActive,i=t.canBegin,o=t.duration,c=t.easing,u=t.begin,f=t.onAnimationEnd,h=t.onAnimationStart,m=t.children,p=tC(),v=n==="auto"?!cu.isSsr&&!p:n,b=JF(t.animationController),S=x.useState(v?zj:Lg),w=s9(S,2),k=w[0],N=w[1];return x.useEffect(()=>{v||N(Lg)},[v]),x.useEffect(()=>{var E=ZF(c);if(!v||!i||E==null)return al;var C=new o9,A=new a9({animationId:r,easing:E,animationDuration:o,animationBegin:u,onAnimationStart:h,onAnimationEnd:f,from:zj,to:Lg});return b(C,A,N)},[b,r,v,i,o,c,u,h,f]),m(Number(k))}function sC(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=x.useRef(Mc(t)),n=x.useRef(e);return n.current!==e&&(r.current=Mc(t),n.current=e),r.current}var h9=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),m9=(e,t,r)=>e.map(n=>"".concat(h9(n)," ").concat(t,"ms ").concat(r)).join(","),p9=["radius"],g9=["radius"],Fj,Bj,Uj,Wj,Hj,Kj,Gj,Vj,qj,Qj;function Yj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zj(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=ma(r),c=ma(n),u=Math.min(Math.abs(o)/2,Math.abs(c)/2),f=c>=0?1:-1,h=o>=0?1:-1,m=c>=0&&o>=0||c<0&&o<0?1:0,p;if(u>0&&Array.isArray(i)){for(var v=[0,0,0,0],b=0,S=4;bu?u:k}p=Qt(Fj||(Fj=In(["M",",",""])),e,t+f*v[0]),v[0]>0&&(p+=Qt(Bj||(Bj=In(["A ",",",",0,0,",",",",",""])),v[0],v[0],m,e+h*v[0],t)),p+=Qt(Uj||(Uj=In(["L ",",",""])),e+r-h*v[1],t),v[1]>0&&(p+=Qt(Wj||(Wj=In(["A ",",",",0,0,",`, - `,",",""])),v[1],v[1],m,e+r,t+f*v[1])),p+=Qt(Hj||(Hj=In(["L ",",",""])),e+r,t+n-f*v[2]),v[2]>0&&(p+=Qt(Kj||(Kj=In(["A ",",",",0,0,",`, - `,",",""])),v[2],v[2],m,e+r-h*v[2],t+n)),p+=Qt(Gj||(Gj=In(["L ",",",""])),e+h*v[3],t+n),v[3]>0&&(p+=Qt(Vj||(Vj=In(["A ",",",",0,0,",`, - `,",",""])),v[3],v[3],m,e,t+n-f*v[3])),p+="Z"}else if(u>0&&i===+i&&i>0){var N=Math.min(u,i);p=Qt(qj||(qj=In(["M ",",",` + */var yj;function L8(){if(yj)return Mg;yj=1;var e=el();function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,c=e.useMemo,u=e.useDebugValue;return Mg.useSyncExternalStoreWithSelector=function(f,h,m,p,v){var b=i(null);if(b.current===null){var N={hasValue:!1,value:null};b.current=N}else N=b.current;b=c(function(){function k(_){if(!S){if(S=!0,E=_,_=p(_),v!==void 0&&N.hasValue){var O=N.value;if(v(O,_))return C=O}return C=_}if(O=C,r(E,_))return O;var I=p(_);return v!==void 0&&v(O,I)?(E=_,O):(E=_,C=I)}var S=!1,E,C,A=m===void 0?null:m;return[function(){return k(h())},A===null?void 0:function(){return k(A())}]},[h,m,p,v]);var w=n(f,b[0],b[1]);return o(function(){N.hasValue=!0,N.value=w},[w]),u(w),w},Mg}var bj;function R8(){return bj||(bj=1,_g.exports=L8()),_g.exports}R8();function $8(e){e()}function z8(){let e=null,t=null;return{clear(){e=null,t=null},notify(){$8(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var wj={notify(){},get:()=>[]};function F8(e,t){let r,n=wj,i=0,o=!1;function c(w){m();const k=n.subscribe(w);let S=!1;return()=>{S||(S=!0,k(),p())}}function u(){n.notify()}function f(){N.onStateChange&&N.onStateChange()}function h(){return o}function m(){i++,r||(r=e.subscribe(f),n=z8())}function p(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=wj)}function v(){o||(o=!0,m())}function b(){o&&(o=!1,p())}const N={addNestedSub:c,notifyNestedSubs:u,handleChangeWrapper:f,isSubscribed:h,trySubscribe:v,tryUnsubscribe:b,getListeners:()=>n};return N}var B8=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",U8=B8(),W8=()=>typeof navigator<"u"&&navigator.product==="ReactNative",H8=W8(),K8=()=>U8||H8?x.useLayoutEffect:x.useEffect,G8=K8();function kj(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function V8(e,t){if(kj(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const f=F8(i);return{store:i,subscription:f,getServerState:n?()=>n:void 0}},[i,n]),c=x.useMemo(()=>i.getState(),[i]);G8(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),c!==i.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,c]);const u=r||Q8;return x.createElement(u.Provider,{value:o},t)}var Z8=Y8,X8=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function J8(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Hh(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(X8.has(n)){if(e[n]==null&&t[n]==null)continue;if(!V8(e[n],t[n]))return!1}else if(!J8(e[n],t[n]))return!1;return!0}function ix(){return ix=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?ls.separator:t,n=e.contentStyle,i=e.itemStyle,o=e.labelStyle,c=o===void 0?ls.labelStyle:o,u=e.payload,f=e.formatter,h=e.itemSorter,m=e.wrapperClassName,p=e.labelClassName,v=e.label,b=e.labelFormatter,N=e.accessibilityLayer,w=N===void 0?ls.accessibilityLayer:N,k=()=>{if(u&&u.length){var B={padding:0,margin:0},F=cF(u,h),R=F.map((Q,U)=>{if(!Q||Q.type==="none")return null;var ge=Q.formatter||f||lF,ue=Q.value,pe=Q.name,se=ue,ae=pe;if(ge){var Z=ge(ue,pe,Q,U,u);if(Array.isArray(Z)){var te=nF(Z,2);se=te[0],ae=te[1]}else if(Z!=null)se=Z;else return null}var ie=sc(sc({},ls.itemStyle),{},{color:Q.color||ls.itemStyle.color},i);return x.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(U),style:ie},Vn(ae)?x.createElement("span",{className:"recharts-tooltip-item-name"},ae):null,Vn(ae)?x.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,x.createElement("span",{className:"recharts-tooltip-item-value"},se),x.createElement("span",{className:"recharts-tooltip-item-unit"},Q.unit||""))});return x.createElement("ul",{className:"recharts-tooltip-item-list",style:B},R)}return null},S=sc(sc({},ls.contentStyle),n),E=sc({margin:0},c),C=!Jt(v),A=C?v:"",_=it("recharts-default-tooltip",m),O=it("recharts-tooltip-label",p);C&&b&&u!==void 0&&u!==null&&(A=b(v,u));var I=w?{role:"status","aria-live":"assertive"}:{};return x.createElement("div",ix({className:_,style:S},I),x.createElement("p",{className:O,style:E},x.isValidElement(A)?A:"".concat(A)),k())},lc="recharts-tooltip-wrapper",dF={visibility:"hidden"};function fF(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return it(lc,{["".concat(lc,"-right")]:Pe(r)&&t&&Pe(t.x)&&r>=t.x,["".concat(lc,"-left")]:Pe(r)&&t&&Pe(t.x)&&r=t.y,["".concat(lc,"-top")]:Pe(n)&&t&&Pe(t.y)&&n0?i:0),p=r[n]+i;if(t[n])return c[n]?m:p;var v=f[n];if(v==null)return 0;if(c[n]){var b=m,N=v;return bk?Math.max(m,v):Math.max(p,v)}function hF(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function mF(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,o=e.position,c=e.reverseDirection,u=e.tooltipBox,f=e.useTranslate3d,h=e.viewBox,m,p,v;return u.height>0&&u.width>0&&r?(p=Sj({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:o,reverseDirection:c,tooltipDimension:u.width,viewBox:h,viewBoxDimension:h.width}),v=Sj({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:c,tooltipDimension:u.height,viewBox:h,viewBoxDimension:h.height}),m=hF({translateX:p,translateY:v,useTranslate3d:f})):m=dF,{cssProperties:m,cssClasses:fF({translateX:p,translateY:v,coordinate:r})}}var pF=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),uu={isSsr:pF()};function gF(e,t){return bF(e)||yF(e,t)||xF(e,t)||vF()}function vF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xF(e,t){if(e){if(typeof e=="string")return Ej(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ej(e,t):void 0}}function Ej(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);ruu.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=gF(e,2),r=t[0],n=t[1];return x.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(i.matches)};return i.addEventListener("change",o),()=>{i.removeEventListener("change",o)}}},[]),r}function Aj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cs(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),h=NF(f,2),m=h[0],p=h[1];x.useEffect(()=>{var S=E=>{if(E.key==="Escape"){var C,A,_,O;p({dismissed:!0,dismissedAtCoordinate:{x:(C=(A=e.coordinate)===null||A===void 0?void 0:A.x)!==null&&C!==void 0?C:0,y:(_=(O=e.coordinate)===null||O===void 0?void 0:O.y)!==null&&_!==void 0?_:0}})}};return document.addEventListener("keydown",S),()=>{document.removeEventListener("keydown",S)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),m.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==m.dismissedAtCoordinate.x||((o=(c=e.coordinate)===null||c===void 0?void 0:c.y)!==null&&o!==void 0?o:0)!==m.dismissedAtCoordinate.y)&&p(cs(cs({},m),{},{dismissed:!1}));var v=mF({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=v.cssClasses,N=v.cssProperties,w=e.hasPortalFromProps?{}:cs(cs({transition:PF({prefersReducedMotion:u,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},N),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),k=cs(cs({},w),{},{visibility:!m.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return x.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:k,ref:e.innerRef},e.children)}var _F=x.memo(OF),aC=()=>{var e;return(e=Te(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function ax(){return ax=Object.assign?Object.assign.bind():function(e){for(var t=1;tGe(e.x)&&Ge(e.y),Mj=e=>e.base!=null&&Rf(e.base)&&Rf(e),cc=e=>e.x,uc=e=>e.y,DF=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(e0(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=_j["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return _j[r]||jh},Ij={connectNulls:!1,type:"linear"},LF=e=>{var t=e.type,r=t===void 0?Ij.type:t,n=e.points,i=n===void 0?[]:n,o=e.baseLine,c=e.layout,u=e.connectNulls,f=u===void 0?Ij.connectNulls:u,h=DF(r,c),m=f?i.filter(Rf):i;if(Array.isArray(o)){var p,v=i.map((S,E)=>Oj(Oj({},S),{},{base:o[E]}));c==="vertical"?p=zd().y(uc).x1(cc).x0(S=>S.base.x):p=zd().x(cc).y1(uc).y0(S=>S.base.y);var b=p.defined(Mj).curve(h),N=f?v.filter(Mj):v;return b(N)}var w;c==="vertical"&&Pe(o)?w=zd().y(uc).x1(cc).x0(o):Pe(o)?w=zd().x(cc).y1(uc).y0(o):w=TE().x(cc).y(uc);var k=w.defined(Rf).curve(h);return k(m)},cf=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,o=ol();if((!r||!r.length)&&!n)return null;var c={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},u=r&&r.length?LF(c):n;return x.createElement("path",ax({},jn(e),t0(e),{className:it("recharts-curve",t),d:u===null?void 0:u,ref:i}))},RF=["x","y","top","left","width","height","className"];function ox(){return ox=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),KF=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,o=e.top,c=o===void 0?0:o,u=e.left,f=u===void 0?0:u,h=e.width,m=h===void 0?0:h,p=e.height,v=p===void 0?0:p,b=e.className,N=UF(e,RF),w=$F({x:r,y:i,top:c,left:f,width:m,height:v},N);return!Pe(r)||!Pe(i)||!Pe(m)||!Pe(v)||!Pe(c)||!Pe(f)?null:x.createElement("path",ox({},nn(w),{className:it("recharts-cross",b),d:HF(r,i,m,v,c,f)}))};function GF(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var $f=1e-4,oC=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],sC=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Dj=(e,t)=>r=>{var n=oC(e,t);return sC(n,r)},VF=(e,t)=>r=>{var n=oC(e,t),i=[...n.map((o,c)=>o*c).slice(1),0];return sC(i,r)},qF=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(o=>parseFloat(o));return[i[0],i[1],i[2],i[3]]},QF=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=Dj(e,r),o=Dj(t,n),c=VF(e,r),u=h=>h>1?1:h<0?0:h,f=h=>{for(var m=h>1?1:h,p=m,v=0;v<8;++v){var b=i(p)-m,N=c(p);if(Math.abs(b-m)<$f||N<$f)return o(p);p=u(p-b/N)}return o(p)};return f.isStepper=!1,f},Lj=function(){return YF(...QF(...arguments))},ZF=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,c=t.dt,u=c===void 0?16.67:c,f=1,h=[0],m=0,p=0,v=1e4,b=0;b{var E,C,A;if(S<=0)return 0;if(S>=1)return f;var _=S*k,O=Math.floor(_),I=_-O;return((E=h[O])!==null&&E!==void 0?E:0)+(((C=h[O+1])!==null&&C!==void 0?C:0)-((A=h[O])!==null&&A!==void 0?A:0))*I}},XF=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Lj(e);case"spring":return ZF();default:if(e.split("(")[0]==="cubic-bezier")return Lj(e)}return typeof e=="function"?e:null},JF=(e,t,r)=>{var n,i=o=>{var c=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,c);return}n=e.setTimeout(i,c)};return n=e.setTimeout(i,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},lC=x.createContext(JF);lC.Provider;function e9(e){var t=x.useContext(lC);return x.useMemo(()=>e??t,[e,t])}function t9(e,t,r){return(t=r9(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r9(e){var t=n9(e,"string");return typeof t=="symbol"?t:t+""}function n9(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Rj="init",$j="pending",zj="active",i9="completed";function Dg(e){return Math.max(0,e)}class a9{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;t9(this,"state",Rj),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Dg(t.animationDuration),this.animationBegin=Dg(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===Rj)return this.state=$j,this.beginStartedTime=t,this.animationBegin;if(this.getState()===$j){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=zj,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Dg(this.animationBegin-r)}if(this.getState()===zj){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=i9}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class o9 extends a9{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(hi(this.getFrom(),this.getTo(),this.getProgress()))}}class s9{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,o=c=>{c-n>=r?t(c):i=requestAnimationFrame(o)};return i=requestAnimationFrame(o),()=>{i!=null&&cancelAnimationFrame(i)}}}function l9(e,t){return f9(e)||d9(e,t)||u9(e,t)||c9()}function c9(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u9(e,t){if(e){if(typeof e=="string")return Fj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Fj(e,t):void 0}}function Fj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Bj=0,Lg=1;function cC(e){var t=ln(e,h9),r=t.animationId,n=t.isActive,i=t.canBegin,o=t.duration,c=t.easing,u=t.begin,f=t.onAnimationEnd,h=t.onAnimationStart,m=t.children,p=iC(),v=n==="auto"?!uu.isSsr&&!p:n,b=e9(t.animationController),N=x.useState(v?Bj:Lg),w=l9(N,2),k=w[0],S=w[1];return x.useEffect(()=>{v||S(Lg)},[v]),x.useEffect(()=>{var E=XF(c);if(!v||!i||E==null)return al;var C=new s9,A=new o9({animationId:r,easing:E,animationDuration:o,animationBegin:u,onAnimationStart:h,onAnimationEnd:f,from:Bj,to:Lg});return b(C,A,S)},[b,r,v,i,o,c,u,h,f]),m(Number(k))}function uC(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=x.useRef(Mc(t)),n=x.useRef(e);return n.current!==e&&(r.current=Mc(t),n.current=e),r.current}var m9=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),p9=(e,t,r)=>e.map(n=>"".concat(m9(n)," ").concat(t,"ms ").concat(r)).join(","),g9=["radius"],v9=["radius"],Uj,Wj,Hj,Kj,Gj,Vj,qj,Qj,Yj,Zj;function Xj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Jj(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=ma(r),c=ma(n),u=Math.min(Math.abs(o)/2,Math.abs(c)/2),f=c>=0?1:-1,h=o>=0?1:-1,m=c>=0&&o>=0||c<0&&o<0?1:0,p;if(u>0&&Array.isArray(i)){for(var v=[0,0,0,0],b=0,N=4;bu?u:k}p=Qt(Uj||(Uj=In(["M",",",""])),e,t+f*v[0]),v[0]>0&&(p+=Qt(Wj||(Wj=In(["A ",",",",0,0,",",",",",""])),v[0],v[0],m,e+h*v[0],t)),p+=Qt(Hj||(Hj=In(["L ",",",""])),e+r-h*v[1],t),v[1]>0&&(p+=Qt(Kj||(Kj=In(["A ",",",",0,0,",`, + `,",",""])),v[1],v[1],m,e+r,t+f*v[1])),p+=Qt(Gj||(Gj=In(["L ",",",""])),e+r,t+n-f*v[2]),v[2]>0&&(p+=Qt(Vj||(Vj=In(["A ",",",",0,0,",`, + `,",",""])),v[2],v[2],m,e+r-h*v[2],t+n)),p+=Qt(qj||(qj=In(["L ",",",""])),e+h*v[3],t+n),v[3]>0&&(p+=Qt(Qj||(Qj=In(["A ",",",",0,0,",`, + `,",",""])),v[3],v[3],m,e,t+n-f*v[3])),p+="Z"}else if(u>0&&i===+i&&i>0){var S=Math.min(u,i);p=Qt(Yj||(Yj=In(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+f*N,N,N,m,e+h*N,t,e+r-h*N,t,N,N,m,e+r,t+f*N,e+r,t+n-f*N,N,N,m,e+r-h*N,t+n,e+h*N,t+n,N,N,m,e,t+n-f*N)}else p=Qt(Qj||(Qj=In(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return p},t2={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},E9=e=>{var t=sn(e,t2),r=x.useRef(null),n=x.useState(-1),i=w9(n,2),o=i[0],c=i[1];x.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var Z=r.current.getTotalLength();Z&&c(Z)}catch{}},[]);var u=t.x,f=t.y,h=t.width,m=t.height,p=t.radius,v=t.className,b=t.animationEasing,S=t.animationDuration,w=t.animationBegin,k=t.isAnimationActive,N=t.isUpdateAnimationActive,E=x.useRef(h),C=x.useRef(m),A=x.useRef(u),_=x.useRef(f),O=x.useMemo(()=>({x:u,y:f,width:h,height:m,radius:p}),[u,f,h,m,p]),I=sC(O,"rectangle-");if(u!==+u||f!==+f||h!==+h||m!==+m||h===0||m===0)return null;var B=it("recharts-rectangle",v);if(!N){var F=nn(t);F.radius;var R=Xj(F,p9);return x.createElement("path",$f({},R,{x:ma(u),y:ma(f),width:ma(h),height:ma(m),radius:typeof p=="number"?p:void 0,className:B,d:e2(u,f,h,m,p)}))}var Q=E.current,U=C.current,ge=A.current,ue=_.current,pe="0px ".concat(o===-1?1:o,"px"),se="".concat(o,"px ").concat(o,"px"),ae=m9(["strokeDasharray"],S,typeof b=="string"?b:t2.animationEasing);return x.createElement(oC,{animationId:I,key:I,canBegin:o>0,duration:S,easing:b,isActive:N,begin:w},Z=>{var te=hi(Q,h,Z),ie=hi(U,m,Z),D=hi(ge,u,Z),M=hi(ue,f,Z);r.current&&(E.current=te,C.current=ie,A.current=D,_.current=M);var q;k?Z>0?q={transition:ae,strokeDasharray:se}:q={strokeDasharray:pe}:q={strokeDasharray:se};var le=nn(t);le.radius;var oe=Xj(le,g9);return x.createElement("path",$f({},oe,{radius:typeof p=="number"?p:void 0,className:B,d:e2(D,M,te,ie,p),ref:r,style:Zj(Zj({},q),t.style)}))})};function r2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function n2(e){for(var t=1;te*180/Math.PI,Xt=(e,t,r,n)=>({x:e+Math.cos(-zf*n)*r,y:t+Math.sin(-zf*n)*r}),_9=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},M9=(e,t)=>{var r=e.x,n=e.y,i=t.x,o=t.y;return Math.sqrt((r-i)**2+(n-o)**2)},I9=(e,t)=>{var r=e.x,n=e.y,i=t.cx,o=t.cy,c=M9({x:r,y:n},{x:i,y:o});if(c<=0)return{radius:c,angle:0};var u=(r-i)/c,f=Math.acos(u);return n>o&&(f=2*Math.PI-f),{radius:c,angle:O9(f),angleInRadian:f}},T9=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),o=Math.min(n,i);return{startAngle:t-o*360,endAngle:r-o*360}},D9=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),c=Math.min(i,o);return e+c*360},L9=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=I9({x:r,y:n},t),o=i.radius,c=i.angle,u=t.innerRadius,f=t.outerRadius;if(of||o===0)return null;var h=T9(t),m=h.startAngle,p=h.endAngle,v=c,b;if(m<=p){for(;v>p;)v-=360;for(;v=m&&v<=p}else{for(;v>m;)v-=360;for(;v=p&&v<=m}return b?n2(n2({},t),{},{radius:o,angle:D9(v,t)}):null};function lC(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,o=e.endAngle,c=Xt(t,r,n,i),u=Xt(t,r,n,o);return{points:[c,u],cx:t,cy:r,radius:n,startAngle:i,endAngle:o}}var i2,a2,o2,s2,l2,c2,u2;function sx(){return sx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=en(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},Gd=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,o=e.sign,c=e.isExternal,u=e.cornerRadius,f=e.cornerIsExternal,h=u*(c?1:-1)+n,m=Math.asin(u/h)/zf,p=f?i:i+o*m,v=Xt(t,r,h,p),b=Xt(t,r,n,p),S=f?i-o*m:i,w=Xt(t,r,h*Math.cos(m*zf),S);return{center:v,circleTangency:b,lineTangency:w,theta:m}},cC=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.startAngle,c=e.endAngle,u=R9(o,c),f=o+u,h=Xt(t,r,i,o),m=Xt(t,r,i,f),p=Qt(i2||(i2=Xa(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+f*S,S,S,m,e+h*S,t,e+r-h*S,t,S,S,m,e+r,t+f*S,e+r,t+n-f*S,S,S,m,e+r-h*S,t+n,e+h*S,t+n,S,S,m,e,t+n-f*S)}else p=Qt(Zj||(Zj=In(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return p},n2={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},A9=e=>{var t=ln(e,n2),r=x.useRef(null),n=x.useState(-1),i=k9(n,2),o=i[0],c=i[1];x.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var Z=r.current.getTotalLength();Z&&c(Z)}catch{}},[]);var u=t.x,f=t.y,h=t.width,m=t.height,p=t.radius,v=t.className,b=t.animationEasing,N=t.animationDuration,w=t.animationBegin,k=t.isAnimationActive,S=t.isUpdateAnimationActive,E=x.useRef(h),C=x.useRef(m),A=x.useRef(u),_=x.useRef(f),O=x.useMemo(()=>({x:u,y:f,width:h,height:m,radius:p}),[u,f,h,m,p]),I=uC(O,"rectangle-");if(u!==+u||f!==+f||h!==+h||m!==+m||h===0||m===0)return null;var B=it("recharts-rectangle",v);if(!S){var F=nn(t);F.radius;var R=e2(F,g9);return x.createElement("path",zf({},R,{x:ma(u),y:ma(f),width:ma(h),height:ma(m),radius:typeof p=="number"?p:void 0,className:B,d:r2(u,f,h,m,p)}))}var Q=E.current,U=C.current,ge=A.current,ue=_.current,pe="0px ".concat(o===-1?1:o,"px"),se="".concat(o,"px ").concat(o,"px"),ae=p9(["strokeDasharray"],N,typeof b=="string"?b:n2.animationEasing);return x.createElement(cC,{animationId:I,key:I,canBegin:o>0,duration:N,easing:b,isActive:S,begin:w},Z=>{var te=hi(Q,h,Z),ie=hi(U,m,Z),D=hi(ge,u,Z),M=hi(ue,f,Z);r.current&&(E.current=te,C.current=ie,A.current=D,_.current=M);var q;k?Z>0?q={transition:ae,strokeDasharray:se}:q={strokeDasharray:pe}:q={strokeDasharray:se};var le=nn(t);le.radius;var oe=e2(le,v9);return x.createElement("path",zf({},oe,{radius:typeof p=="number"?p:void 0,className:B,d:r2(D,M,te,ie,p),ref:r,style:Jj(Jj({},q),t.style)}))})};function i2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function a2(e){for(var t=1;te*180/Math.PI,Xt=(e,t,r,n)=>({x:e+Math.cos(-Ff*n)*r,y:t+Math.sin(-Ff*n)*r}),M9=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},I9=(e,t)=>{var r=e.x,n=e.y,i=t.x,o=t.y;return Math.sqrt((r-i)**2+(n-o)**2)},T9=(e,t)=>{var r=e.x,n=e.y,i=t.cx,o=t.cy,c=I9({x:r,y:n},{x:i,y:o});if(c<=0)return{radius:c,angle:0};var u=(r-i)/c,f=Math.acos(u);return n>o&&(f=2*Math.PI-f),{radius:c,angle:_9(f),angleInRadian:f}},D9=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),o=Math.min(n,i);return{startAngle:t-o*360,endAngle:r-o*360}},L9=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),c=Math.min(i,o);return e+c*360},R9=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=T9({x:r,y:n},t),o=i.radius,c=i.angle,u=t.innerRadius,f=t.outerRadius;if(of||o===0)return null;var h=D9(t),m=h.startAngle,p=h.endAngle,v=c,b;if(m<=p){for(;v>p;)v-=360;for(;v=m&&v<=p}else{for(;v>m;)v-=360;for(;v=p&&v<=m}return b?a2(a2({},t),{},{radius:o,angle:L9(v,t)}):null};function dC(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,o=e.endAngle,c=Xt(t,r,n,i),u=Xt(t,r,n,o);return{points:[c,u],cx:t,cy:r,radius:n,startAngle:i,endAngle:o}}var o2,s2,l2,c2,u2,d2,f2;function sx(){return sx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=en(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},Vd=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,o=e.sign,c=e.isExternal,u=e.cornerRadius,f=e.cornerIsExternal,h=u*(c?1:-1)+n,m=Math.asin(u/h)/Ff,p=f?i:i+o*m,v=Xt(t,r,h,p),b=Xt(t,r,n,p),N=f?i-o*m:i,w=Xt(t,r,h*Math.cos(m*Ff),N);return{center:v,circleTangency:b,lineTangency:w,theta:m}},fC=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.startAngle,c=e.endAngle,u=$9(o,c),f=o+u,h=Xt(t,r,i,o),m=Xt(t,r,i,f),p=Qt(o2||(o2=Xa(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),h.x,h.y,i,i,+(Math.abs(u)>180),+(o>f),m.x,m.y);if(n>0){var v=Xt(t,r,n,o),b=Xt(t,r,n,f);p+=Qt(a2||(a2=Xa(["L ",",",` + `])),h.x,h.y,i,i,+(Math.abs(u)>180),+(o>f),m.x,m.y);if(n>0){var v=Xt(t,r,n,o),b=Xt(t,r,n,f);p+=Qt(s2||(s2=Xa(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),b.x,b.y,n,n,+(Math.abs(u)>180),+(o<=f),v.x,v.y)}else p+=Qt(o2||(o2=Xa(["L ",","," Z"])),t,r);return p},$9=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.cornerRadius,c=e.forceCornerRadius,u=e.cornerIsExternal,f=e.startAngle,h=e.endAngle,m=en(h-f),p=Gd({cx:t,cy:r,radius:i,angle:f,sign:m,cornerRadius:o,cornerIsExternal:u}),v=p.circleTangency,b=p.lineTangency,S=p.theta,w=Gd({cx:t,cy:r,radius:i,angle:h,sign:-m,cornerRadius:o,cornerIsExternal:u}),k=w.circleTangency,N=w.lineTangency,E=w.theta,C=u?Math.abs(f-h):Math.abs(f-h)-S-E;if(C<0)return c?Qt(s2||(s2=Xa(["M ",",",` + `,","," Z"])),b.x,b.y,n,n,+(Math.abs(u)>180),+(o<=f),v.x,v.y)}else p+=Qt(l2||(l2=Xa(["L ",","," Z"])),t,r);return p},z9=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.cornerRadius,c=e.forceCornerRadius,u=e.cornerIsExternal,f=e.startAngle,h=e.endAngle,m=en(h-f),p=Vd({cx:t,cy:r,radius:i,angle:f,sign:m,cornerRadius:o,cornerIsExternal:u}),v=p.circleTangency,b=p.lineTangency,N=p.theta,w=Vd({cx:t,cy:r,radius:i,angle:h,sign:-m,cornerRadius:o,cornerIsExternal:u}),k=w.circleTangency,S=w.lineTangency,E=w.theta,C=u?Math.abs(f-h):Math.abs(f-h)-N-E;if(C<0)return c?Qt(c2||(c2=Xa(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),b.x,b.y,o,o,o*2,o,o,-o*2):cC({cx:t,cy:r,innerRadius:n,outerRadius:i,startAngle:f,endAngle:h});var A=Qt(l2||(l2=Xa(["M ",",",` + `])),b.x,b.y,o,o,o*2,o,o,-o*2):fC({cx:t,cy:r,innerRadius:n,outerRadius:i,startAngle:f,endAngle:h});var A=Qt(u2||(u2=Xa(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),b.x,b.y,o,o,+(m<0),v.x,v.y,i,i,+(C>180),+(m<0),k.x,k.y,o,o,+(m<0),N.x,N.y);if(n>0){var _=Gd({cx:t,cy:r,radius:n,angle:f,sign:m,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),O=_.circleTangency,I=_.lineTangency,B=_.theta,F=Gd({cx:t,cy:r,radius:n,angle:h,sign:-m,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),R=F.circleTangency,Q=F.lineTangency,U=F.theta,ge=u?Math.abs(f-h):Math.abs(f-h)-B-U;if(ge<0&&o===0)return"".concat(A,"L").concat(t,",").concat(r,"Z");A+=Qt(c2||(c2=Xa(["L",",",` + `])),b.x,b.y,o,o,+(m<0),v.x,v.y,i,i,+(C>180),+(m<0),k.x,k.y,o,o,+(m<0),S.x,S.y);if(n>0){var _=Vd({cx:t,cy:r,radius:n,angle:f,sign:m,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),O=_.circleTangency,I=_.lineTangency,B=_.theta,F=Vd({cx:t,cy:r,radius:n,angle:h,sign:-m,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),R=F.circleTangency,Q=F.lineTangency,U=F.theta,ge=u?Math.abs(f-h):Math.abs(f-h)-B-U;if(ge<0&&o===0)return"".concat(A,"L").concat(t,",").concat(r,"Z");A+=Qt(d2||(d2=Xa(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),Q.x,Q.y,o,o,+(m<0),R.x,R.y,n,n,+(ge>180),+(m>0),O.x,O.y,o,o,+(m<0),I.x,I.y)}else A+=Qt(u2||(u2=Xa(["L",",","Z"])),t,r);return A},z9={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},F9=e=>{var t=sn(e,z9),r=t.cx,n=t.cy,i=t.innerRadius,o=t.outerRadius,c=t.cornerRadius,u=t.forceCornerRadius,f=t.cornerIsExternal,h=t.startAngle,m=t.endAngle,p=t.className;if(o0&&Math.abs(h-m)<360?w=$9({cx:r,cy:n,innerRadius:i,outerRadius:o,cornerRadius:Math.min(S,b/2),forceCornerRadius:u,cornerIsExternal:f,startAngle:h,endAngle:m}):w=cC({cx:r,cy:n,innerRadius:i,outerRadius:o,startAngle:h,endAngle:m}),x.createElement("path",sx({},nn(t),{className:v,d:w}))};function B9(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(HE(t)){if(e==="centric"){var n=t.cx,i=t.cy,o=t.innerRadius,c=t.outerRadius,u=t.angle,f=Xt(n,i,o,u),h=Xt(n,i,c,u);return[{x:f.x,y:f.y},{x:h.x,y:h.y}]}return lC(t)}}function U9(e){return iA(e)?NaN:Number(e)}function Rg(e){return e?(e=U9(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function uC(e,t,r){r&&typeof r!="number"&&Bv(e,t,r)&&(t=r=void 0),e=Rg(e),t===void 0?(t=e,e=0):t=Rg(t),r=r===void 0?ee.chartData,m0=Y([En],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Kh=(e,t,r,n)=>n?m0(e):En(e),W9=(e,t,r)=>r?m0(e):En(e),H9=Y([Kh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});Y([m0],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var K9=Y([En],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function p0(e,t){return Q9(e)||q9(e,t)||V9(e,t)||G9()}function G9(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function V9(e,t){if(e){if(typeof e=="string")return d2(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d2(e,t):void 0}}function d2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};Ne.decimalPlaces=Ne.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*ut;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};Ne.dividedBy=Ne.div=function(e){return vi(this,new this.constructor(e))};Ne.dividedToIntegerBy=Ne.idiv=function(e){var t=this,r=t.constructor;return rt(vi(t,new r(e),0,1),r.precision)};Ne.equals=Ne.eq=function(e){return!this.cmp(e)};Ne.exponent=function(){return Et(this)};Ne.greaterThan=Ne.gt=function(e){return this.cmp(e)>0};Ne.greaterThanOrEqualTo=Ne.gte=function(e){return this.cmp(e)>=0};Ne.isInteger=Ne.isint=function(){return this.e>this.d.length-2};Ne.isNegative=Ne.isneg=function(){return this.s<0};Ne.isPositive=Ne.ispos=function(){return this.s>0};Ne.isZero=function(){return this.s===0};Ne.lessThan=Ne.lt=function(e){return this.cmp(e)<0};Ne.lessThanOrEqualTo=Ne.lte=function(e){return this.cmp(e)<1};Ne.logarithm=Ne.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq($r))throw Error(on+"NaN");if(r.s<1)throw Error(on+(r.s?"NaN":"-Infinity"));return r.eq($r)?new n(0):(ht=!1,t=vi(zc(r,o),zc(e,o),o),ht=!0,rt(t,i))};Ne.minus=Ne.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?pC(t,e):hC(t,(e.s=-e.s,e))};Ne.modulo=Ne.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(on+"NaN");return r.s?(ht=!1,t=vi(r,e,0,1).times(e),ht=!0,r.minus(t)):rt(new n(r),i)};Ne.naturalExponential=Ne.exp=function(){return mC(this)};Ne.naturalLogarithm=Ne.ln=function(){return zc(this)};Ne.negated=Ne.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Ne.plus=Ne.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?hC(t,e):pC(t,(e.s=-e.s,e))};Ne.precision=Ne.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(go+e);if(t=Et(i)+1,n=i.d.length-1,r=n*ut+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};Ne.squareRoot=Ne.sqrt=function(){var e,t,r,n,i,o,c,u=this,f=u.constructor;if(u.s<1){if(!u.s)return new f(0);throw Error(on+"NaN")}for(e=Et(u),ht=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=Bn(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=ll((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(i.toString()),r=f.precision,i=c=r+3;;)if(o=n,n=o.plus(vi(u,o,c+2)).times(.5),Bn(o.d).slice(0,c)===(t=Bn(n.d)).slice(0,c)){if(t=t.slice(c-3,c+1),i==c&&t=="4999"){if(rt(o,r+1,0),o.times(o).eq(u)){n=o;break}}else if(t!="9999")break;c+=4}return ht=!0,rt(n,r)};Ne.times=Ne.mul=function(e){var t,r,n,i,o,c,u,f,h,m=this,p=m.constructor,v=m.d,b=(e=new p(e)).d;if(!m.s||!e.s)return new p(0);for(e.s*=m.s,r=m.e+e.e,f=v.length,h=b.length,f=0;){for(t=0,i=f+n;i>n;)u=o[i]+b[n]*v[i-n-1]+t,o[i--]=u%Ft|0,t=u/Ft|0;o[i]=(o[i]+t)%Ft|0}for(;!o[--c];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,ht?rt(e,p.precision):e};Ne.toDecimalPlaces=Ne.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Qn(e,0,sl),t===void 0?t=n.rounding:Qn(t,0,8),rt(r,e+Et(r)+1,t))};Ne.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=So(n,!0):(Qn(e,0,sl),t===void 0?t=i.rounding:Qn(t,0,8),n=rt(new i(n),e+1,t),r=So(n,!0,e+1)),r};Ne.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?So(i):(Qn(e,0,sl),t===void 0?t=o.rounding:Qn(t,0,8),n=rt(new o(i),e+Et(i)+1,t),r=So(n.abs(),!1,e+Et(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};Ne.toInteger=Ne.toint=function(){var e=this,t=e.constructor;return rt(new t(e),Et(e)+1,t.rounding)};Ne.toNumber=function(){return+this};Ne.toPower=Ne.pow=function(e){var t,r,n,i,o,c,u=this,f=u.constructor,h=12,m=+(e=new f(e));if(!e.s)return new f($r);if(u=new f(u),!u.s){if(e.s<1)throw Error(on+"Infinity");return u}if(u.eq($r))return u;if(n=f.precision,e.eq($r))return rt(u,n);if(t=e.e,r=e.d.length-1,c=t>=r,o=u.s,c){if((r=m<0?-m:m)<=fC){for(i=new f($r),t=Math.ceil(n/ut+4),ht=!1;r%2&&(i=i.times(u),m2(i.d,t)),r=ll(r/2),r!==0;)u=u.times(u),m2(u.d,t);return ht=!0,e.s<0?new f($r).div(i):rt(i,n)}}else if(o<0)throw Error(on+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,ht=!1,i=e.times(zc(u,n+h)),ht=!0,i=mC(i),i.s=o,i};Ne.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=Et(i),n=So(i,r<=o.toExpNeg||r>=o.toExpPos)):(Qn(e,1,sl),t===void 0?t=o.rounding:Qn(t,0,8),i=rt(new o(i),e,t),r=Et(i),n=So(i,e<=r||r<=o.toExpNeg,e)),n};Ne.toSignificantDigits=Ne.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Qn(e,1,sl),t===void 0?t=n.rounding:Qn(t,0,8)),rt(new n(r),e,t)};Ne.toString=Ne.valueOf=Ne.val=Ne.toJSON=Ne[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Et(e),r=e.constructor;return So(e,t<=r.toExpNeg||t>=r.toExpPos)};function hC(e,t){var r,n,i,o,c,u,f,h,m=e.constructor,p=m.precision;if(!e.s||!t.s)return t.s||(t=new m(e)),ht?rt(t,p):t;if(f=e.d,h=t.d,c=e.e,i=t.e,f=f.slice(),o=c-i,o){for(o<0?(n=f,o=-o,u=h.length):(n=h,i=c,u=f.length),c=Math.ceil(p/ut),u=c>u?c+1:u+1,o>u&&(o=u,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(u=f.length,o=h.length,u-o<0&&(o=u,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/Ft|0,f[o]%=Ft;for(r&&(f.unshift(r),++i),u=f.length;f[--u]==0;)f.pop();return t.d=f,t.e=i,ht?rt(t,p):t}function Qn(e,t,r){if(e!==~~e||er)throw Error(go+e)}function Bn(e){var t,r,n,i=e.length-1,o="",c=e[0];if(i>0){for(o+=c,t=1;tc?1:-1;else for(u=f=0;ui[u]?1:-1;break}return f}function r(n,i,o){for(var c=0;o--;)n[o]-=c,c=n[o]1;)n.shift()}return function(n,i,o,c){var u,f,h,m,p,v,b,S,w,k,N,E,C,A,_,O,I,B,F=n.constructor,R=n.s==i.s?1:-1,Q=n.d,U=i.d;if(!n.s)return new F(n);if(!i.s)throw Error(on+"Division by zero");for(f=n.e-i.e,I=U.length,_=Q.length,b=new F(R),S=b.d=[],h=0;U[h]==(Q[h]||0);)++h;if(U[h]>(Q[h]||0)&&--f,o==null?E=o=F.precision:c?E=o+(Et(n)-Et(i))+1:E=o,E<0)return new F(0);if(E=E/ut+2|0,h=0,I==1)for(m=0,U=U[0],E++;(h<_||m)&&E--;h++)C=m*Ft+(Q[h]||0),S[h]=C/U|0,m=C%U|0;else{for(m=Ft/(U[0]+1)|0,m>1&&(U=e(U,m),Q=e(Q,m),I=U.length,_=Q.length),A=I,w=Q.slice(0,I),k=w.length;k=Ft/2&&++O;do m=0,u=t(U,w,I,k),u<0?(N=w[0],I!=k&&(N=N*Ft+(w[1]||0)),m=N/O|0,m>1?(m>=Ft&&(m=Ft-1),p=e(U,m),v=p.length,k=w.length,u=t(p,w,v,k),u==1&&(m--,r(p,I16)throw Error(g0+Et(e));if(!e.s)return new m($r);for(ht=!1,u=p,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),h+=5;for(n=Math.log(Qa(2,h))/Math.LN10*2+5|0,u+=n,r=i=o=new m($r),m.precision=u;;){if(i=rt(i.times(e),u),r=r.times(++f),c=o.plus(vi(i,r,u)),Bn(c.d).slice(0,u)===Bn(o.d).slice(0,u)){for(;h--;)o=rt(o.times(o),u);return m.precision=p,t==null?(ht=!0,rt(o,p)):o}o=c}}function Et(e){for(var t=e.e*ut,r=e.d[0];r>=10;r/=10)t++;return t}function $g(e,t,r){if(t>e.LN10.sd())throw ht=!0,r&&(e.precision=r),Error(on+"LN10 precision limit exceeded");return rt(new e(e.LN10),t)}function na(e){for(var t="";e--;)t+="0";return t}function zc(e,t){var r,n,i,o,c,u,f,h,m,p=1,v=10,b=e,S=b.d,w=b.constructor,k=w.precision;if(b.s<1)throw Error(on+(b.s?"NaN":"-Infinity"));if(b.eq($r))return new w(0);if(t==null?(ht=!1,h=k):h=t,b.eq(10))return t==null&&(ht=!0),$g(w,h);if(h+=v,w.precision=h,r=Bn(S),n=r.charAt(0),o=Et(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=Bn(b.d),n=r.charAt(0),p++;o=Et(b),n>1?(b=new w("0."+r),o++):b=new w(n+"."+r.slice(1))}else return f=$g(w,h+2,k).times(o+""),b=zc(new w(n+"."+r.slice(1)),h-v).plus(f),w.precision=k,t==null?(ht=!0,rt(b,k)):b;for(u=c=b=vi(b.minus($r),b.plus($r),h),m=rt(b.times(b),h),i=3;;){if(c=rt(c.times(m),h),f=u.plus(vi(c,new w(i),h)),Bn(f.d).slice(0,h)===Bn(u.d).slice(0,h))return u=u.times(2),o!==0&&(u=u.plus($g(w,h+2,k).times(o+""))),u=vi(u,new w(p),h),w.precision=k,t==null?(ht=!0,rt(u,k)):u;u=f,i+=2}}function h2(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=ll(r/ut),e.d=[],n=(r+1)%ut,r<0&&(n+=ut),nFf||e.e<-Ff))throw Error(g0+r)}else e.s=0,e.e=0,e.d=[0];return e}function rt(e,t,r){var n,i,o,c,u,f,h,m,p=e.d;for(c=1,o=p[0];o>=10;o/=10)c++;if(n=t-c,n<0)n+=ut,i=t,h=p[m=0];else{if(m=Math.ceil((n+1)/ut),o=p.length,m>=o)return e;for(h=o=p[m],c=1;o>=10;o/=10)c++;n%=ut,i=n-ut+c}if(r!==void 0&&(o=Qa(10,c-i-1),u=h/o%10|0,f=t<0||p[m+1]!==void 0||h%o,f=r<4?(u||f)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||f||r==6&&(n>0?i>0?h/Qa(10,c-i):0:p[m-1])%10&1||r==(e.s<0?8:7))),t<1||!p[0])return f?(o=Et(e),p.length=1,t=t-o-1,p[0]=Qa(10,(ut-t%ut)%ut),e.e=ll(-t/ut)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(n==0?(p.length=m,o=1,m--):(p.length=m+1,o=Qa(10,ut-n),p[m]=i>0?(h/Qa(10,c-i)%Qa(10,i)|0)*o:0),f)for(;;)if(m==0){(p[0]+=o)==Ft&&(p[0]=1,++e.e);break}else{if(p[m]+=o,p[m]!=Ft)break;p[m--]=0,o=1}for(n=p.length;p[--n]===0;)p.pop();if(ht&&(e.e>Ff||e.e<-Ff))throw Error(g0+Et(e));return e}function pC(e,t){var r,n,i,o,c,u,f,h,m,p,v=e.constructor,b=v.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new v(e),ht?rt(t,b):t;if(f=e.d,p=t.d,n=t.e,h=e.e,f=f.slice(),c=h-n,c){for(m=c<0,m?(r=f,c=-c,u=p.length):(r=p,n=h,u=f.length),i=Math.max(Math.ceil(b/ut),u)+2,c>i&&(c=i,r.length=1),r.reverse(),i=c;i--;)r.push(0);r.reverse()}else{for(i=f.length,u=p.length,m=i0;--i)f[u++]=0;for(i=p.length;i>c;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+na(n):c>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+na(-i-1)+o,r&&(n=r-c)>0&&(o+=na(n))):i>=c?(o+=na(i+1-c),r&&(n=r-i-1)>0&&(o=o+"."+na(n))):((n=i+1)0&&(i+1===c&&(o+="."),o+=na(n))),e.s<0?"-"+o:o}function m2(e,t){if(e.length>t)return e.length=t,!0}function gC(e){var t,r,n;function i(o){var c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,o instanceof i){c.s=o.s,c.e=o.e,c.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(go+o);if(o>0)c.s=1;else if(o<0)o=-o,c.s=-1;else{c.s=0,c.e=0,c.d=[0];return}if(o===~~o&&o<1e7){c.e=0,c.d=[o];return}return h2(c,o.toString())}else if(typeof o!="string")throw Error(go+o);if(o.charCodeAt(0)===45?(o=o.slice(1),c.s=-1):c.s=1,X9.test(o))h2(c,o);else throw Error(go+o)}if(i.prototype=Ne,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=gC,i.config=i.set=J9,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(go+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(go+r+": "+n);return this}var v0=gC(Z9);$r=new v0(1);const qe=v0;function vC(e){var t;return e===0?t=1:t=Math.floor(new qe(e).abs().log(10).toNumber())+1,t}function xC(e,t,r){for(var n=new qe(e),i=0,o=[];n.lt(t)&&i<1e5;)o.push(n.toNumber()),n=n.add(r),i++;return o}function Fc(e,t){return n7(e)||r7(e,t)||t7(e,t)||e7()}function e7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t7(e,t){if(e){if(typeof e=="string")return p2(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p2(e,t):void 0}}function p2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Fc(e,2),r=t[0],n=t[1],i=r,o=n;return r>n&&(i=n,o=r),[i,o]},x0=(e,t,r)=>{if(e.lte(0))return new qe(0);var n=vC(e.toNumber()),i=new qe(10).pow(n),o=e.div(i),c=n!==1?.05:.1,u=new qe(Math.ceil(o.div(c).toNumber())).add(r).mul(c),f=u.mul(i);return t?new qe(f.toNumber()):new qe(Math.ceil(f.toNumber()))},bC=(e,t,r)=>{var n;if(e.lte(0))return new qe(0);var i=[1,2,2.5,5],o=e.toNumber(),c=Math.floor(new qe(o).abs().log(10).toNumber()),u=new qe(10).pow(c),f=e.div(u).toNumber(),h=i.findIndex(b=>b>=f-1e-10);if(h===-1&&(u=u.mul(10),h=0),h+=r,h>=i.length){var m=Math.floor(h/i.length);h%=i.length,u=u.mul(new qe(10).pow(m))}var p=(n=i[h])!==null&&n!==void 0?n:1,v=new qe(p).mul(u);return t?v:new qe(Math.ceil(v.toNumber()))},i7=(e,t,r)=>{var n=new qe(1),i=new qe(e);if(!i.isint()&&r){var o=Math.abs(e);o<1?(n=new qe(10).pow(vC(e)-1),i=new qe(Math.floor(i.div(n).toNumber())).mul(n)):o>1&&(i=new qe(Math.floor(e)))}else e===0?i=new qe(Math.floor((t-1)/2)):r||(i=new qe(Math.floor(e)));for(var c=Math.floor((t-1)/2),u=[],f=0;f4&&arguments[4]!==void 0?arguments[4]:0,c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:x0;if(!Number.isFinite((r-t)/(n-1)))return{step:new qe(0),tickMin:new qe(0),tickMax:new qe(0)};var u=c(new qe(r).sub(t).div(n-1),i,o),f;t<=0&&r>=0?f=new qe(0):(f=new qe(t).add(r).div(2),f=f.sub(new qe(f).mod(u)));var h=Math.ceil(f.sub(t).div(u).toNumber()),m=Math.ceil(new qe(r).sub(f).div(u).toNumber()),p=h+m+1;return p>n?wC(t,r,n,i,o+1,c):(p0?m+(n-p):m,h=r>0?h:h+(n-p)),{step:u,tickMin:f.sub(new qe(h).mul(u)),tickMax:f.add(new qe(m).mul(u))})},g2=function(t){var r=Fc(t,2),n=r[0],i=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=Math.max(o,2),h=yC([n,i]),m=Fc(h,2),p=m[0],v=m[1];if(p===-1/0||v===1/0){var b=v===1/0?[p,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),v];return n>i?b.reverse():b}if(p===v)return i7(p,o,c);var S=u==="snap125"?bC:x0,w=wC(p,v,f,c,0,S),k=w.step,N=w.tickMin,E=w.tickMax,C=xC(N,E.add(new qe(.1).mul(k)),k);return n>i?C.reverse():C},v2=function(t,r){var n=Fc(t,2),i=n[0],o=n[1],c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=yC([i,o]),h=Fc(f,2),m=h[0],p=h[1];if(m===-1/0||p===1/0)return[i,o];if(m===p)return[m];var v=u==="snap125"?bC:x0,b=Math.max(r,2),S=v(new qe(p).sub(m).div(b-1),c,0),w=[...xC(new qe(m),new qe(p),S),p];return c===!1&&(w=w.map(k=>Math.round(k))),i>o?w.reverse():w},a7=e=>e.rootProps.barCategoryGap,Gh=e=>e.rootProps.stackOffset,kC=e=>e.rootProps.reverseStackOrder,y0=e=>e.options.chartName,b0=e=>e.rootProps.syncId,jC=e=>e.rootProps.syncMethod,w0=e=>e.options.eventEmitter,o7=e=>e.rootProps.baseValue,pr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Ua={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},Tn={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Vh=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function qh(e,t,r){if(r!=="auto")return r;if(e!=null)return Zn(e,t)?"category":"number"}function x2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Bf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},k0=Y([u7,VA],(e,t)=>{var r;if(e!=null)return e;var n=(r=qh(t,"angleAxis",y2.type))!==null&&r!==void 0?r:"category";return Bf(Bf({},y2),{},{type:n})}),d7=(e,t)=>e.polarAxis.radiusAxis[t],j0=Y([d7,VA],(e,t)=>{var r;if(e!=null)return e;var n=(r=qh(t,"radiusAxis",b2.type))!==null&&r!==void 0?r:"category";return Bf(Bf({},b2),{},{type:n})}),Qh=e=>e.polarOptions,S0=Y([Ni,Ei,tr],_9),SC=Y([Qh,S0],(e,t)=>{if(e!=null)return ja(e.innerRadius,t,0)}),NC=Y([Qh,S0],(e,t)=>{if(e!=null)return ja(e.outerRadius,t,t*.8)}),f7=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},EC=Y([Qh],f7);Y([k0,EC],Vh);var AC=Y([S0,SC,NC],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});Y([j0,AC],Vh);var CC=Y([mt,Qh,SC,NC,Ni,Ei],(e,t,r,n,i,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var c=t.cx,u=t.cy,f=t.startAngle,h=t.endAngle;return{cx:ja(c,i,i/2),cy:ja(u,o,o/2),innerRadius:r,outerRadius:n,startAngle:f,endAngle:h,clockWise:!1}}}),Wt=(e,t)=>t,Yh=(e,t,r)=>r;function N0(e){return e==null?void 0:e.id}function PC(e,t,r){var n=t.chartData,i=n===void 0?[]:n,o=r.allowDuplicatedCategory,c=r.dataKey,u=new Map;return e.forEach(f=>{var h,m=(h=f.data)!==null&&h!==void 0?h:i;if(!(m==null||m.length===0)){var p=N0(f);m.forEach((v,b)=>{var S=c==null||o?b:String(Bt(v,c,null)),w=Bt(v,f.dataKey,0),k;u.has(S)?k=u.get(S):k={},Object.assign(k,{[p]:w}),u.set(S,k)})}}),Array.from(u.values())}function E0(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Zh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Xh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function h7(e,t){if(e.length===t.length){for(var r=0;r{var t=mt(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},cl=e=>e.tooltip.settings.axisId;function A0(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function c(){return o.apply(this,arguments)}return c.toString=function(){return o.toString()},c})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(o){var c=i[0],u=i[1];return c<=u?o>=c&&o<=u:o>=u&&o<=c},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,c)=>{var u=e(o);if(u!=null){if(e.bandwidth&&c!==null&&c!==void 0&&c.position){var f=e.bandwidth();switch(c.position){case"middle":u+=f/2;break;case"end":u+=f;break}}return u}}}}}var m7=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Un(t)){for(var r,n,i=0;in)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function ya(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function p7(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function C0(e){let t,r,n;e.length!==2?(t=ya,r=(u,f)=>ya(e(u),f),n=(u,f)=>e(u)-f):(t=e===ya||e===p7?e:g7,r=e,n=e);function i(u,f,h=0,m=u.length){if(h>>1;r(u[p],f)<0?h=p+1:m=p}while(h>>1;r(u[p],f)<=0?h=p+1:m=p}while(hh&&n(u[p-1],f)>-n(u[p],f)?p-1:p}return{left:i,center:c,right:o}}function g7(){return 0}function OC(e){return e===null?NaN:+e}function*v7(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const x7=C0(ya),uu=x7.right;C0(OC).center;class w2 extends Map{constructor(t,r=w7){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(k2(this,t))}has(t){return super.has(k2(this,t))}set(t,r){return super.set(y7(this,t),r)}delete(t){return super.delete(b7(this,t))}}function k2({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function y7({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function b7({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function w7(e){return e!==null&&typeof e=="object"?e.valueOf():e}function k7(e=ya){if(e===ya)return _C;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function _C(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const j7=Math.sqrt(50),S7=Math.sqrt(10),N7=Math.sqrt(2);function Uf(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),c=o>=j7?10:o>=S7?5:o>=N7?2:1;let u,f,h;return i<0?(h=Math.pow(10,-i)/c,u=Math.round(e*h),f=Math.round(t*h),u/ht&&--f,h=-h):(h=Math.pow(10,i)*c,u=Math.round(e/h),f=Math.round(t/h),u*ht&&--f),f0))return[];if(e===t)return[e];const n=t=i))return[];const u=o-i+1,f=new Array(u);if(n)if(c<0)for(let h=0;h=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r=i)&&(r=i)}return r}function S2(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function MC(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?_C:k7(i);n>r;){if(n-r>600){const f=n-r+1,h=t-r+1,m=Math.log(f),p=.5*Math.exp(2*m/3),v=.5*Math.sqrt(m*p*(f-p)/f)*(h-f/2<0?-1:1),b=Math.max(r,Math.floor(t-h*p/f+v)),S=Math.min(n,Math.floor(t+(f-h)*p/f+v));MC(e,t,b,S,i)}const o=e[t];let c=r,u=n;for(dc(e,r,t),i(e[n],o)>0&&dc(e,r,n);c0;)--u}i(e[r],o)===0?dc(e,r,u):(++u,dc(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function dc(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function E7(e,t,r){if(e=Float64Array.from(v7(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return S2(e);if(t>=1)return j2(e);var n,i=(n-1)*t,o=Math.floor(i),c=j2(MC(e,o).subarray(0,o+1)),u=S2(e.subarray(o+1));return c+(u-c)*(i-o)}}function A7(e,t,r=OC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,o=Math.floor(i),c=+r(e[o],o,e),u=+r(e[o+1],o+1,e);return c+(u-c)*(i-o)}}function C7(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Vd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Vd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=_7.exec(e))?new Pr(t[1],t[2],t[3],1):(t=M7.exec(e))?new Pr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=I7.exec(e))?Vd(t[1],t[2],t[3],t[4]):(t=T7.exec(e))?Vd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=D7.exec(e))?_2(t[1],t[2]/100,t[3]/100,1):(t=L7.exec(e))?_2(t[1],t[2]/100,t[3]/100,t[4]):N2.hasOwnProperty(e)?C2(N2[e]):e==="transparent"?new Pr(NaN,NaN,NaN,0):null}function C2(e){return new Pr(e>>16&255,e>>8&255,e&255,1)}function Vd(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pr(e,t,r,n)}function z7(e){return e instanceof du||(e=Wc(e)),e?(e=e.rgb(),new Pr(e.r,e.g,e.b,e.opacity)):new Pr}function fx(e,t,r,n){return arguments.length===1?z7(e):new Pr(e,t,r,n??1)}function Pr(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}_0(Pr,fx,TC(du,{brighter(e){return e=e==null?Wf:Math.pow(Wf,e),new Pr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Bc:Math.pow(Bc,e),new Pr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pr(vo(this.r),vo(this.g),vo(this.b),Hf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:P2,formatHex:P2,formatHex8:F7,formatRgb:O2,toString:O2}));function P2(){return`#${Ja(this.r)}${Ja(this.g)}${Ja(this.b)}`}function F7(){return`#${Ja(this.r)}${Ja(this.g)}${Ja(this.b)}${Ja((isNaN(this.opacity)?1:this.opacity)*255)}`}function O2(){const e=Hf(this.opacity);return`${e===1?"rgb(":"rgba("}${vo(this.r)}, ${vo(this.g)}, ${vo(this.b)}${e===1?")":`, ${e})`}`}function Hf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function vo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ja(e){return e=vo(e),(e<16?"0":"")+e.toString(16)}function _2(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new wn(e,t,r,n)}function DC(e){if(e instanceof wn)return new wn(e.h,e.s,e.l,e.opacity);if(e instanceof du||(e=Wc(e)),!e)return new wn;if(e instanceof wn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),c=NaN,u=o-i,f=(o+i)/2;return u?(t===o?c=(r-n)/u+(r0&&f<1?0:c,new wn(c,u,f,e.opacity)}function B7(e,t,r,n){return arguments.length===1?DC(e):new wn(e,t,r,n??1)}function wn(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}_0(wn,B7,TC(du,{brighter(e){return e=e==null?Wf:Math.pow(Wf,e),new wn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Bc:Math.pow(Bc,e),new wn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new Pr(zg(e>=240?e-240:e+120,i,n),zg(e,i,n),zg(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new wn(M2(this.h),qd(this.s),qd(this.l),Hf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Hf(this.opacity);return`${e===1?"hsl(":"hsla("}${M2(this.h)}, ${qd(this.s)*100}%, ${qd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function M2(e){return e=(e||0)%360,e<0?e+360:e}function qd(e){return Math.max(0,Math.min(1,e||0))}function zg(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const M0=e=>()=>e;function U7(e,t){return function(r){return e+r*t}}function W7(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function H7(e){return(e=+e)==1?LC:function(t,r){return r-t?W7(t,r,e):M0(isNaN(t)?r:t)}}function LC(e,t){var r=t-e;return r?U7(e,r):M0(isNaN(e)?t:e)}const I2=(function e(t){var r=H7(t);function n(i,o){var c=r((i=fx(i)).r,(o=fx(o)).r),u=r(i.g,o.g),f=r(i.b,o.b),h=LC(i.opacity,o.opacity);return function(m){return i.r=c(m),i.g=u(m),i.b=f(m),i.opacity=h(m),i+""}}return n.gamma=e,n})(1);function K7(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(o){for(i=0;ir&&(o=t.slice(r,o),u[c]?u[c]+=o:u[++c]=o),(n=n[0])===(i=i[0])?u[c]?u[c]+=i:u[++c]=i:(u[++c]=null,f.push({i:c,x:Kf(n,i)})),r=Fg.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function rB(e,t,r){var n=e[0],i=e[1],o=t[0],c=t[1];return i2?nB:rB,f=h=null,p}function p(v){return v==null||isNaN(v=+v)?o:(f||(f=u(e.map(n),t,r)))(n(c(v)))}return p.invert=function(v){return c(i((h||(h=u(t,e.map(n),Kf)))(v)))},p.domain=function(v){return arguments.length?(e=Array.from(v,Gf),m()):e.slice()},p.range=function(v){return arguments.length?(t=Array.from(v),m()):t.slice()},p.rangeRound=function(v){return t=Array.from(v),r=I0,m()},p.clamp=function(v){return arguments.length?(c=v?!0:gr,m()):c!==gr},p.interpolate=function(v){return arguments.length?(r=v,m()):r},p.unknown=function(v){return arguments.length?(o=v,p):o},function(v,b){return n=v,i=b,m()}}function T0(){return Jh()(gr,gr)}function iB(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Vf(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Vs(e){return e=Vf(Math.abs(e)),e?e[1]:NaN}function aB(e,t){return function(r,n){for(var i=r.length,o=[],c=0,u=e[0],f=0;i>0&&u>0&&(f+u+1>n&&(u=Math.max(1,n-f)),o.push(r.substring(i-=u,i+u)),!((f+=u+1)>n));)u=e[c=(c+1)%e.length];return o.reverse().join(t)}}function oB(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var sB=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Hc(e){if(!(t=sB.exec(e)))throw new Error("invalid format: "+e);var t;return new D0({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Hc.prototype=D0.prototype;function D0(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}D0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function lB(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var qf;function cB(e,t){var r=Vf(e,t);if(!r)return qf=void 0,e.toPrecision(t);var n=r[0],i=r[1],o=i-(qf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,c=n.length;return o===c?n:o>c?n+new Array(o-c+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+Vf(e,Math.max(0,t+o-1))[0]}function D2(e,t){var r=Vf(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const L2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:iB,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>D2(e*100,t),r:D2,s:cB,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function R2(e){return e}var $2=Array.prototype.map,z2=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function uB(e){var t=e.grouping===void 0||e.thousands===void 0?R2:aB($2.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?R2:oB($2.call(e.numerals,String)),c=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",f=e.nan===void 0?"NaN":e.nan+"";function h(p,v){p=Hc(p);var b=p.fill,S=p.align,w=p.sign,k=p.symbol,N=p.zero,E=p.width,C=p.comma,A=p.precision,_=p.trim,O=p.type;O==="n"?(C=!0,O="g"):L2[O]||(A===void 0&&(A=12),_=!0,O="g"),(N||b==="0"&&S==="=")&&(N=!0,b="0",S="=");var I=(v&&v.prefix!==void 0?v.prefix:"")+(k==="$"?r:k==="#"&&/[boxX]/.test(O)?"0"+O.toLowerCase():""),B=(k==="$"?n:/[%p]/.test(O)?c:"")+(v&&v.suffix!==void 0?v.suffix:""),F=L2[O],R=/[defgprs%]/.test(O);A=A===void 0?6:/[gprs]/.test(O)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function Q(U){var ge=I,ue=B,pe,se,ae;if(O==="c")ue=F(U)+ue,U="";else{U=+U;var Z=U<0||1/U<0;if(U=isNaN(U)?f:F(Math.abs(U),A),_&&(U=lB(U)),Z&&+U==0&&w!=="+"&&(Z=!1),ge=(Z?w==="("?w:u:w==="-"||w==="("?"":w)+ge,ue=(O==="s"&&!isNaN(U)&&qf!==void 0?z2[8+qf/3]:"")+ue+(Z&&w==="("?")":""),R){for(pe=-1,se=U.length;++peae||ae>57){ue=(ae===46?i+U.slice(pe+1):U.slice(pe))+ue,U=U.slice(0,pe);break}}}C&&!N&&(U=t(U,1/0));var te=ge.length+U.length+ue.length,ie=te>1)+ge+U+ue+ie.slice(te);break;default:U=ie+ge+U+ue;break}return o(U)}return Q.toString=function(){return p+""},Q}function m(p,v){var b=Math.max(-8,Math.min(8,Math.floor(Vs(v)/3)))*3,S=Math.pow(10,-b),w=h((p=Hc(p),p.type="f",p),{suffix:z2[8+b/3]});return function(k){return w(S*k)}}return{format:h,formatPrefix:m}}var Qd,L0,RC;dB({thousands:",",grouping:[3],currency:["$",""]});function dB(e){return Qd=uB(e),L0=Qd.format,RC=Qd.formatPrefix,Qd}function fB(e){return Math.max(0,-Vs(Math.abs(e)))}function hB(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Vs(t)/3)))*3-Vs(Math.abs(e)))}function mB(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Vs(t)-Vs(e))+1}function $C(e,t,r,n){var i=ux(e,t,r),o;switch(n=Hc(n??",f"),n.type){case"s":{var c=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=hB(i,c))&&(n.precision=o),RC(n,c)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=mB(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=fB(i))&&(n.precision=o-(n.type==="%")*2);break}}return L0(n)}function Na(e){var t=e.domain;return e.ticks=function(r){var n=t();return lx(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return $C(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,o=n.length-1,c=n[i],u=n[o],f,h,m=10;for(u0;){if(h=cx(c,u,r),h===f)return n[i]=c,n[o]=u,t(n);if(h>0)c=Math.floor(c/h)*h,u=Math.ceil(u/h)*h;else if(h<0)c=Math.ceil(c*h)/h,u=Math.floor(u*h)/h;else break;f=h}return e},e}function zC(){var e=T0();return e.copy=function(){return fu(e,zC())},ln.apply(e,arguments),Na(e)}function FC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,Gf),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return FC(e).unknown(t)},e=arguments.length?Array.from(e,Gf):[0,1],Na(r)}function BC(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],o=e[n],c;return oMath.pow(e,t)}function yB(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function U2(e){return(t,r)=>-e(-t,r)}function R0(e){const t=e(F2,B2),r=t.domain;let n=10,i,o;function c(){return i=yB(n),o=xB(n),r()[0]<0?(i=U2(i),o=U2(o),e(pB,gB)):e(F2,B2),t}return t.base=function(u){return arguments.length?(n=+u,c()):n},t.domain=function(u){return arguments.length?(r(u),c()):r()},t.ticks=u=>{const f=r();let h=f[0],m=f[f.length-1];const p=m0){for(;v<=b;++v)for(S=1;Sm)break;N.push(w)}}else for(;v<=b;++v)for(S=n-1;S>=1;--S)if(w=v>0?S/o(-v):S*o(v),!(wm)break;N.push(w)}N.length*2{if(u==null&&(u=10),f==null&&(f=n===10?"s":","),typeof f!="function"&&(!(n%1)&&(f=Hc(f)).precision==null&&(f.trim=!0),f=L0(f)),u===1/0)return f;const h=Math.max(1,n*u/t.ticks().length);return m=>{let p=m/o(Math.round(i(m)));return p*nr(BC(r(),{floor:u=>o(Math.floor(i(u))),ceil:u=>o(Math.ceil(i(u)))})),t}function UC(){const e=R0(Jh()).domain([1,10]);return e.copy=()=>fu(e,UC()).base(e.base()),ln.apply(e,arguments),e}function W2(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function H2(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function $0(e){var t=1,r=e(W2(t),H2(t));return r.constant=function(n){return arguments.length?e(W2(t=+n),H2(t)):t},Na(r)}function WC(){var e=$0(Jh());return e.copy=function(){return fu(e,WC()).constant(e.constant())},ln.apply(e,arguments)}function K2(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function bB(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function wB(e){return e<0?-e*e:e*e}function z0(e){var t=e(gr,gr),r=1;function n(){return r===1?e(gr,gr):r===.5?e(bB,wB):e(K2(r),K2(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},Na(t)}function F0(){var e=z0(Jh());return e.copy=function(){return fu(e,F0()).exponent(e.exponent())},ln.apply(e,arguments),e}function kB(){return F0.apply(null,arguments).exponent(.5)}function G2(e){return Math.sign(e)*e*e}function jB(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function HC(){var e=T0(),t=[0,1],r=!1,n;function i(o){var c=jB(e(o));return isNaN(c)?n:r?Math.round(c):c}return i.invert=function(o){return e.invert(G2(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,Gf)).map(G2)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(r=!!o,i):r},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return HC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},ln.apply(i,arguments),Na(i)}function KC(){var e=[],t=[],r=[],n;function i(){var c=0,u=Math.max(1,t.length);for(r=new Array(u-1);++c0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[h-1],n[h]]},c.unknown=function(f){return arguments.length&&(o=f),c},c.thresholds=function(){return n.slice()},c.copy=function(){return GC().domain([e,t]).range(i).unknown(o)},ln.apply(Na(c),arguments)}function VC(){var e=[.5],t=[0,1],r,n=1;function i(o){return o!=null&&o<=o?t[uu(e,o,0,n)]:r}return i.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var c=t.indexOf(o);return[e[c-1],e[c]]},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return VC().domain(e).range(t).unknown(r)},ln.apply(i,arguments)}const Bg=new Date,Ug=new Date;function It(e,t,r,n){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const c=i(o),u=i.ceil(o);return o-c(t(o=new Date(+o),c==null?1:Math.floor(c)),o),i.range=(o,c,u)=>{const f=[];if(o=i.ceil(o),u=u==null?1:Math.floor(u),!(o0))return f;let h;do f.push(h=new Date(+o)),t(o,u),e(o);while(hIt(c=>{if(c>=c)for(;e(c),!o(c);)c.setTime(c-1)},(c,u)=>{if(c>=c)if(u<0)for(;++u<=0;)for(;t(c,-1),!o(c););else for(;--u>=0;)for(;t(c,1),!o(c););}),r&&(i.count=(o,c)=>(Bg.setTime(+o),Ug.setTime(+c),e(Bg),e(Ug),Math.floor(r(Bg,Ug))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?c=>n(c)%o===0:c=>i.count(0,c)%o===0):i)),i}const Qf=It(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Qf.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?It(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Qf);Qf.range;const mi=1e3,rn=mi*60,pi=rn*60,wi=pi*24,B0=wi*7,V2=wi*30,Wg=wi*365,eo=It(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*mi)},(e,t)=>(t-e)/mi,e=>e.getUTCSeconds());eo.range;const U0=It(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*mi)},(e,t)=>{e.setTime(+e+t*rn)},(e,t)=>(t-e)/rn,e=>e.getMinutes());U0.range;const W0=It(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*rn)},(e,t)=>(t-e)/rn,e=>e.getUTCMinutes());W0.range;const H0=It(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*mi-e.getMinutes()*rn)},(e,t)=>{e.setTime(+e+t*pi)},(e,t)=>(t-e)/pi,e=>e.getHours());H0.range;const K0=It(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*pi)},(e,t)=>(t-e)/pi,e=>e.getUTCHours());K0.range;const hu=It(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*rn)/wi,e=>e.getDate()-1);hu.range;const em=It(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wi,e=>e.getUTCDate()-1);em.range;const qC=It(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wi,e=>Math.floor(e/wi));qC.range;function Oo(e){return It(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*rn)/B0)}const tm=Oo(0),Yf=Oo(1),SB=Oo(2),NB=Oo(3),qs=Oo(4),EB=Oo(5),AB=Oo(6);tm.range;Yf.range;SB.range;NB.range;qs.range;EB.range;AB.range;function _o(e){return It(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/B0)}const rm=_o(0),Zf=_o(1),CB=_o(2),PB=_o(3),Qs=_o(4),OB=_o(5),_B=_o(6);rm.range;Zf.range;CB.range;PB.range;Qs.range;OB.range;_B.range;const G0=It(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());G0.range;const V0=It(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());V0.range;const ki=It(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());ki.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:It(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});ki.range;const ji=It(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ji.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:It(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ji.range;function QC(e,t,r,n,i,o){const c=[[eo,1,mi],[eo,5,5*mi],[eo,15,15*mi],[eo,30,30*mi],[o,1,rn],[o,5,5*rn],[o,15,15*rn],[o,30,30*rn],[i,1,pi],[i,3,3*pi],[i,6,6*pi],[i,12,12*pi],[n,1,wi],[n,2,2*wi],[r,1,B0],[t,1,V2],[t,3,3*V2],[e,1,Wg]];function u(h,m,p){const v=mk).right(c,v);if(b===c.length)return e.every(ux(h/Wg,m/Wg,p));if(b===0)return Qf.every(Math.max(ux(h,m,p),1));const[S,w]=c[v/c[b-1][2]53)return null;"w"in W||(W.w=1),"Z"in W?(Ie=Kg(fc(W.y,0,1)),be=Ie.getUTCDay(),Ie=be>4||be===0?Zf.ceil(Ie):Zf(Ie),Ie=em.offset(Ie,(W.V-1)*7),W.y=Ie.getUTCFullYear(),W.m=Ie.getUTCMonth(),W.d=Ie.getUTCDate()+(W.w+6)%7):(Ie=Hg(fc(W.y,0,1)),be=Ie.getDay(),Ie=be>4||be===0?Yf.ceil(Ie):Yf(Ie),Ie=hu.offset(Ie,(W.V-1)*7),W.y=Ie.getFullYear(),W.m=Ie.getMonth(),W.d=Ie.getDate()+(W.w+6)%7)}else("W"in W||"U"in W)&&("w"in W||(W.w="u"in W?W.u%7:"W"in W?1:0),be="Z"in W?Kg(fc(W.y,0,1)).getUTCDay():Hg(fc(W.y,0,1)).getDay(),W.m=0,W.d="W"in W?(W.w+6)%7+W.W*7-(be+5)%7:W.w+W.U*7-(be+6)%7);return"Z"in W?(W.H+=W.Z/100|0,W.M+=W.Z%100,Kg(W)):Hg(W)}}function B(re,ye,Oe,W){for(var ke=0,Ie=ye.length,be=Oe.length,We,Dt;ke=be)return-1;if(We=ye.charCodeAt(ke++),We===37){if(We=ye.charAt(ke++),Dt=_[We in q2?ye.charAt(ke++):We],!Dt||(W=Dt(re,Oe,W))<0)return-1}else if(We!=Oe.charCodeAt(W++))return-1}return W}function F(re,ye,Oe){var W=h.exec(ye.slice(Oe));return W?(re.p=m.get(W[0].toLowerCase()),Oe+W[0].length):-1}function R(re,ye,Oe){var W=b.exec(ye.slice(Oe));return W?(re.w=S.get(W[0].toLowerCase()),Oe+W[0].length):-1}function Q(re,ye,Oe){var W=p.exec(ye.slice(Oe));return W?(re.w=v.get(W[0].toLowerCase()),Oe+W[0].length):-1}function U(re,ye,Oe){var W=N.exec(ye.slice(Oe));return W?(re.m=E.get(W[0].toLowerCase()),Oe+W[0].length):-1}function ge(re,ye,Oe){var W=w.exec(ye.slice(Oe));return W?(re.m=k.get(W[0].toLowerCase()),Oe+W[0].length):-1}function ue(re,ye,Oe){return B(re,t,ye,Oe)}function pe(re,ye,Oe){return B(re,r,ye,Oe)}function se(re,ye,Oe){return B(re,n,ye,Oe)}function ae(re){return c[re.getDay()]}function Z(re){return o[re.getDay()]}function te(re){return f[re.getMonth()]}function ie(re){return u[re.getMonth()]}function D(re){return i[+(re.getHours()>=12)]}function M(re){return 1+~~(re.getMonth()/3)}function q(re){return c[re.getUTCDay()]}function le(re){return o[re.getUTCDay()]}function oe(re){return f[re.getUTCMonth()]}function ee(re){return u[re.getUTCMonth()]}function ne(re){return i[+(re.getUTCHours()>=12)]}function he(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var ye=O(re+="",C);return ye.toString=function(){return re},ye},parse:function(re){var ye=I(re+="",!1);return ye.toString=function(){return re},ye},utcFormat:function(re){var ye=O(re+="",A);return ye.toString=function(){return re},ye},utcParse:function(re){var ye=I(re+="",!0);return ye.toString=function(){return re},ye}}}var q2={"-":"",_:" ",0:"0"},Kt=/^\s*\d+/,RB=/^%/,$B=/[\\^$*+?|[\]().{}]/g;function Ze(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",o=i.length;return n+(o[t.toLowerCase(),r]))}function FB(e,t,r){var n=Kt.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function BB(e,t,r){var n=Kt.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function UB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function WB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function HB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Q2(e,t,r){var n=Kt.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function Y2(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function KB(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function GB(e,t,r){var n=Kt.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function VB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function Z2(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function qB(e,t,r){var n=Kt.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function X2(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function QB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function YB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function ZB(e,t,r){var n=Kt.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function XB(e,t,r){var n=Kt.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function JB(e,t,r){var n=RB.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function eU(e,t,r){var n=Kt.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function tU(e,t,r){var n=Kt.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function J2(e,t){return Ze(e.getDate(),t,2)}function rU(e,t){return Ze(e.getHours(),t,2)}function nU(e,t){return Ze(e.getHours()%12||12,t,2)}function iU(e,t){return Ze(1+hu.count(ki(e),e),t,3)}function YC(e,t){return Ze(e.getMilliseconds(),t,3)}function aU(e,t){return YC(e,t)+"000"}function oU(e,t){return Ze(e.getMonth()+1,t,2)}function sU(e,t){return Ze(e.getMinutes(),t,2)}function lU(e,t){return Ze(e.getSeconds(),t,2)}function cU(e){var t=e.getDay();return t===0?7:t}function uU(e,t){return Ze(tm.count(ki(e)-1,e),t,2)}function ZC(e){var t=e.getDay();return t>=4||t===0?qs(e):qs.ceil(e)}function dU(e,t){return e=ZC(e),Ze(qs.count(ki(e),e)+(ki(e).getDay()===4),t,2)}function fU(e){return e.getDay()}function hU(e,t){return Ze(Yf.count(ki(e)-1,e),t,2)}function mU(e,t){return Ze(e.getFullYear()%100,t,2)}function pU(e,t){return e=ZC(e),Ze(e.getFullYear()%100,t,2)}function gU(e,t){return Ze(e.getFullYear()%1e4,t,4)}function vU(e,t){var r=e.getDay();return e=r>=4||r===0?qs(e):qs.ceil(e),Ze(e.getFullYear()%1e4,t,4)}function xU(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ze(t/60|0,"0",2)+Ze(t%60,"0",2)}function eS(e,t){return Ze(e.getUTCDate(),t,2)}function yU(e,t){return Ze(e.getUTCHours(),t,2)}function bU(e,t){return Ze(e.getUTCHours()%12||12,t,2)}function wU(e,t){return Ze(1+em.count(ji(e),e),t,3)}function XC(e,t){return Ze(e.getUTCMilliseconds(),t,3)}function kU(e,t){return XC(e,t)+"000"}function jU(e,t){return Ze(e.getUTCMonth()+1,t,2)}function SU(e,t){return Ze(e.getUTCMinutes(),t,2)}function NU(e,t){return Ze(e.getUTCSeconds(),t,2)}function EU(e){var t=e.getUTCDay();return t===0?7:t}function AU(e,t){return Ze(rm.count(ji(e)-1,e),t,2)}function JC(e){var t=e.getUTCDay();return t>=4||t===0?Qs(e):Qs.ceil(e)}function CU(e,t){return e=JC(e),Ze(Qs.count(ji(e),e)+(ji(e).getUTCDay()===4),t,2)}function PU(e){return e.getUTCDay()}function OU(e,t){return Ze(Zf.count(ji(e)-1,e),t,2)}function _U(e,t){return Ze(e.getUTCFullYear()%100,t,2)}function MU(e,t){return e=JC(e),Ze(e.getUTCFullYear()%100,t,2)}function IU(e,t){return Ze(e.getUTCFullYear()%1e4,t,4)}function TU(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Qs(e):Qs.ceil(e),Ze(e.getUTCFullYear()%1e4,t,4)}function DU(){return"+0000"}function tS(){return"%"}function rS(e){return+e}function nS(e){return Math.floor(+e/1e3)}var us,eP,tP;LU({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function LU(e){return us=LB(e),eP=us.format,us.parse,tP=us.utcFormat,us.utcParse,us}function RU(e){return new Date(e)}function $U(e){return e instanceof Date?+e:+new Date(+e)}function q0(e,t,r,n,i,o,c,u,f,h){var m=T0(),p=m.invert,v=m.domain,b=h(".%L"),S=h(":%S"),w=h("%I:%M"),k=h("%I %p"),N=h("%a %d"),E=h("%b %d"),C=h("%B"),A=h("%Y");function _(O){return(f(O)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,o)=>E7(e,o/n))},r.copy=function(){return aP(t).domain(e)},Ai.apply(r,arguments)}function im(){var e=0,t=.5,r=1,n=1,i,o,c,u,f,h=gr,m,p=!1,v;function b(w){return isNaN(w=+w)?v:(w=.5+((w=+m(w))-o)*(n*w{if(e!=null){var n=e.scale,i=e.type;if(n==="auto")return i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof n=="string")return KU(n)?n:"point"}};function GU(e,t){for(var r=0,n=e.length,i=e[0]t)?r=o+1:n=o}return r}function dP(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var c;return(c=e(o))!==null&&c!==void 0?c:0}),i=e.range();if(!(r.length===0||i.length<2))return o=>{var c,u,f=GU(n,o);if(f<=0)return r[0];if(f>=r.length)return r[r.length-1];var h=(c=n[f-1])!==null&&c!==void 0?c:0,m=(u=n[f])!==null&&u!==void 0?u:0;return Math.abs(o-h)<=Math.abs(o-m)?r[f-1]:r[f]}}}function VU(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):dP(e,void 0)}function aS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Xf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Ci=(e,t)=>{var r=hP(e,t);return r??Ot},_t={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:px,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:au},mP=(e,t)=>e.cartesianAxis.yAxis[t],Pi=(e,t)=>{var r=mP(e,t);return r??_t},tW={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},X0=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??tW},yr=(e,t,r)=>{switch(t){case"xAxis":return Ci(e,r);case"yAxis":return Pi(e,r);case"zAxis":return X0(e,r);case"angleAxis":return k0(e,r);case"radiusAxis":return j0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},rW=(e,t,r)=>{switch(t){case"xAxis":return Ci(e,r);case"yAxis":return Pi(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},mu=(e,t,r)=>{switch(t){case"xAxis":return Ci(e,r);case"yAxis":return Pi(e,r);case"angleAxis":return k0(e,r);case"radiusAxis":return j0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},pP=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function gP(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var vP=e=>e.graphicalItems.cartesianItems,nW=Y([Wt,Yh],gP),xP=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),dl=Y([vP,yr,nW],xP,{memoizeOptions:{resultEqualityCheck:Xh}}),yP=Y([dl],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(E0)),bP=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),iW=Y([dl],bP),wP=e=>e.map(t=>t.data).filter(Boolean).flat(1),aW=Y([dl],e=>e.some(t=>!t.data)),kP=Y([dl],wP,{memoizeOptions:{resultEqualityCheck:Xh}}),jP=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,i=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(i,o+1)},J0=Y([kP,Kh],jP),oW=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:Bt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(i=>({value:Bt(i,n)}))):e.map(n=>({value:n})),SP=(e,t,r,n,i,o)=>{var c=n.chartData,u=c===void 0?[]:c,f=n.dataStartIndex,h=n.dataEndIndex,m=oW(e,t,r);if(i&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var p=u.slice(f,h+1),v=p.map(b=>({value:Bt(b,t.dataKey)})).filter(b=>b.value!=null);return[...v,...m]}return m},pu=Y([J0,yr,dl,Kh,aW,kP],SP);function Es(e){if(Vn(e)||e instanceof Date){var t=Number(e);if(Ge(t))return t}}function sS(e){if(Array.isArray(e)){var t=[Es(e[0]),Es(e[1])];return Un(t)?t:void 0}var r=Es(e);if(r!=null)return[r,r]}function Yn(e){return e.map(Es).filter(Cr)}function sW(e,t){var r=Es(e),n=Es(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var lW=Y([pu],e=>e==null?void 0:e.map(t=>t.value).sort(sW));function NP(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function cW(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Gn(t))n=t;else if(Array.isArray(t)){var i=Yn(t);i.length>0&&(n=Math.max(...i))}return n==null?[]:Yn(r.flatMap(o=>{var c=Bt(e,o.dataKey),u,f;if(Array.isArray(c)){var h=fP(c,2);u=h[0],f=h[1]}else u=f=c;if(!(!Ge(u)||!Ge(f)))return[n-u,n+f]}))}var Tt=e=>{var t=Ht(e),r=cl(e);return mu(e,t,r)},Ys=Y([Tt],e=>e==null?void 0:e.dataKey),uW=Y([yP,Kh,Tt],PC),EP=(e,t,r,n)=>{var i={},o=t.reduce((c,u)=>{if(u.stackId==null)return c;var f=c[u.stackId];return f==null&&(f=[]),f.push(u),c[u.stackId]=f,c},i);return Object.fromEntries(Object.entries(o).map(c=>{var u=fP(c,2),f=u[0],h=u[1],m=n?[...h].reverse():h,p=m.map(N0);return[f,{stackedData:Cz(e,p,r),graphicalItems:m}]}))},AP=Y([uW,yP,Gh,kC],EP),CP=(e,t,r,n)=>{var i=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return Mz(e,i,o)},dW=Y([yr],e=>e.allowDataOverflow),ey=e=>{var t;if(e==null||!("domain"in e))return px;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Yn(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:px},PP=Y([yr],ey),OP=Y([PP,dW],dC),fW=Y([AP,En,Wt,OP],CP,{memoizeOptions:{resultEqualityCheck:Zh}}),ty=e=>e.errorBars,hW=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>NP(r,n)),Jf=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],u,f;if(n.length>0&&n.forEach(h=>{var m,p=h.data!=null?[...h.data]:c,v=(m=i[h.id])===null||m===void 0?void 0:m.filter(b=>NP(o,b));p.forEach(b=>{var S,w=Bt(b,(S=r.dataKey)!==null&&S!==void 0?S:h.dataKey),k=cW(b,w,v);if(k.length>=2){var N=Math.min(...k),E=Math.max(...k);(u==null||Nf)&&(f=E)}var C=sS(w);C!=null&&(u=u==null?C[0]:Math.min(u,C[0]),f=f==null?C[1]:Math.max(f,C[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(h=>{var m=sS(Bt(h,r.dataKey));m!=null&&(u=u==null?m[0]:Math.min(u,m[0]),f=f==null?m[1]:Math.max(f,m[1]))}),Ge(u)&&Ge(f))return[u,f]},mW=Y([J0,yr,iW,ty,Wt,H9],_P,{memoizeOptions:{resultEqualityCheck:Zh}});function pW(e){var t=e.value;if(Vn(t)||t instanceof Date)return t}var gW=(e,t,r)=>{var n=e.map(pW).filter(i=>i!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&UE(n))?uC(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},MP=e=>e.referenceElements.dots,fl=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),vW=Y([MP,Wt,Yh],fl),IP=e=>e.referenceElements.areas,xW=Y([IP,Wt,Yh],fl),TP=e=>e.referenceElements.lines,yW=Y([TP,Wt,Yh],fl),DP=(e,t)=>{if(e!=null){var r=Yn(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},bW=Y(vW,Wt,DP),LP=(e,t)=>{if(e!=null){var r=Yn(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},wW=Y([xW,Wt],LP);function kW(e){var t;if(e.x!=null)return Yn([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Yn(r)}function jW(e){var t;if(e.y!=null)return Yn([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Yn(r)}var RP=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?kW(n):jW(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},SW=Y([yW,Wt],RP),NW=Y(bW,SW,wW,(e,t,r)=>Jf(e,r,t)),$P=(e,t,r,n,i,o,c,u)=>{if(r!=null)return r;var f=c==="vertical"&&u==="xAxis"||c==="horizontal"&&u==="yAxis",h=f?Jf(n,o,i):Jf(o,i);return Y9(t,h,e.allowDataOverflow)},EW=Y([yr,PP,OP,fW,mW,NW,mt,Wt],$P,{memoizeOptions:{resultEqualityCheck:Zh}}),AW=[0,1],zP=(e,t,r,n,i,o,c)=>{if(!((e==null||r==null||r.length===0)&&c===void 0)){var u=e.dataKey,f=e.type,h=Zn(t,o);if(h&&u==null){var m;return uC(0,(m=r==null?void 0:r.length)!==null&&m!==void 0?m:0)}return f==="category"?gW(n,e,h):i==="expand"&&!h?AW:c}},ry=Y([yr,mt,J0,pu,Gh,Wt,EW],zP),hl=Y([yr,pP,y0],uP),FP=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var i=ey(t),o=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Un(e)){if(o)return g2(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return v2(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Un(e))return g2(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Un(e))return v2(e,t.tickCount,t.allowDecimals,"adaptive")}}},ny=Y([ry,mu,hl],FP),BP=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&Un(t)&&Array.isArray(r)&&r.length>0){var i,o,c=t[0],u=(i=r[0])!==null&&i!==void 0?i:0,f=t[1],h=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(c,u),Math.max(f,h)]}return t},CW=Y([yr,ry,ny,Wt],BP),PW=Y(pu,yr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Yn(e.map(p=>p.value))).sort((p,v)=>p-v),i=n[0],o=n[n.length-1];if(i==null||o==null)return 1/0;var c=o-i;if(c===0)return 1/0;for(var u=0;ui,(e,t,r,n,i)=>{if(!Ge(e))return 0;var o=t==="vertical"?n.height:n.width;if(i==="gap")return e*o/2;if(i==="no-gap"){var c=ja(r,e*o),u=e*o/2;return u-c-(u-c)/o*c}return 0}),OW=(e,t,r)=>{var n=Ci(e,t);return n==null||typeof n.padding!="string"?0:UP(e,"xAxis",t,r,n.padding)},_W=(e,t,r)=>{var n=Pi(e,t);return n==null||typeof n.padding!="string"?0:UP(e,"yAxis",t,r,n.padding)},MW=Y(Ci,OW,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var i=e.padding;return typeof i=="string"?{left:t,right:t}:{left:((r=i.left)!==null&&r!==void 0?r:0)+t,right:((n=i.right)!==null&&n!==void 0?n:0)+t}}),IW=Y(Pi,_W,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var i=e.padding;return typeof i=="string"?{top:t,bottom:t}:{top:((r=i.top)!==null&&r!==void 0?r:0)+t,bottom:((n=i.bottom)!==null&&n!==void 0?n:0)+t}}),WP=Y([tr,MW,zh,$h,(e,t,r)=>r],(e,t,r,n,i)=>{var o=n.padding;return i?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),HP=Y([tr,mt,IW,zh,$h,(e,t,r)=>r],(e,t,r,n,i,o)=>{var c=i.padding;return o?[n.height-c.bottom,c.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),gu=(e,t,r,n)=>{var i;switch(t){case"xAxis":return WP(e,r,n);case"yAxis":return HP(e,r,n);case"zAxis":return(i=X0(e,r))===null||i===void 0?void 0:i.range;case"angleAxis":return EC(e);case"radiusAxis":return AC(e,r);default:return}},KP=Y([yr,gu],Vh),TW=Y([hl,CW],m7),iy=Y([yr,hl,TW,KP],Z0),GP=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var i=r.type,o=r.scale,c=Zn(e,n);if(c&&(i==="number"||o!=="auto"))return t.map(u=>u.value)}},ay=Y([mt,pu,mu,Wt],GP),am=Y([iy],A0);Y([iy],VU);Y([iy,lW],dP);Y([dl,ty,Wt],hW);function VP(e,t){return e.idt.id?1:0}var om=(e,t)=>t,sm=(e,t,r)=>r,DW=Y(Lh,om,sm,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(VP)),LW=Y(Rh,om,sm,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(VP)),qP=(e,t)=>({width:e.width,height:t.height}),RW=(e,t)=>{var r=typeof t.width=="number"?t.width:au;return{width:r,height:e.height}},$W=Y(tr,Ci,qP),zW=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},FW=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},BW=Y(Ei,tr,DW,om,sm,(e,t,r,n,i)=>{var o={},c;return r.forEach(u=>{var f=qP(t,u);c==null&&(c=zW(t,n,e));var h=n==="top"&&!i||n==="bottom"&&i;o[u.id]=c-Number(h)*f.height,c+=(h?-1:1)*f.height}),o}),UW=Y(Ni,tr,LW,om,sm,(e,t,r,n,i)=>{var o={},c;return r.forEach(u=>{var f=RW(t,u);c==null&&(c=FW(t,n,e));var h=n==="left"&&!i||n==="right"&&i;o[u.id]=c-Number(h)*f.width,c+=(h?-1:1)*f.width}),o}),WW=(e,t)=>{var r=Ci(e,t);if(r!=null)return BW(e,r.orientation,r.mirror)},HW=Y([tr,Ci,WW,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),KW=(e,t)=>{var r=Pi(e,t);if(r!=null)return UW(e,r.orientation,r.mirror)},GW=Y([tr,Pi,KW,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),VW=Y(tr,Pi,(e,t)=>{var r=typeof t.width=="number"?t.width:au;return{width:r,height:e.height}}),QP=(e,t,r,n)=>{if(r!=null){var i=r.allowDuplicatedCategory,o=r.type,c=r.dataKey,u=Zn(e,n),f=t.map(m=>m.value),h=f.filter(m=>m!=null);if(c&&u&&o==="category"&&i&&UE(h))return f}},oy=Y([mt,pu,yr,Wt],QP),lS=Y([mt,rW,hl,am,oy,ay,gu,ny,Wt],(e,t,r,n,i,o,c,u,f)=>{if(t!=null){var h=Zn(e,f);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:f,categoricalDomain:o,duplicateDomain:i,isCategorical:h,niceTicks:u,range:c,realScaleType:r,scale:n}}}),qW=(e,t,r,n,i,o,c,u,f)=>{if(!(t==null||n==null)){var h=Zn(e,f),m=t.type,p=t.ticks,v=t.tickCount,b=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,S=m==="category"&&n.bandwidth?n.bandwidth()/b:0;S=f==="angleAxis"&&o!=null&&o.length>=2?en(o[0]-o[1])*2*S:S;var w=p||i;return w?w.map((k,N)=>{var E=c?c.indexOf(k):k,C=n.map(E);return Ge(C)?{index:N,coordinate:C+S,value:k,offset:S}:null}).filter(Cr):h&&u?u.map((k,N)=>{var E=n.map(k);return Ge(E)?{coordinate:E+S,value:k,index:N,offset:S}:null}).filter(Cr):n.ticks?n.ticks(v).map((k,N)=>{var E=n.map(k);return Ge(E)?{coordinate:E+S,value:k,index:N,offset:S}:null}).filter(Cr):n.domain().map((k,N)=>{var E=n.map(k);return Ge(E)?{coordinate:E+S,value:c?c[k]:k,index:N,offset:S}:null}).filter(Cr)}},YP=Y([mt,mu,hl,am,ny,gu,oy,ay,Wt],qW),QW=(e,t,r,n,i,o,c)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var u=Zn(e,c),f=t.tickCount,h=0;return h=c==="angleAxis"&&(n==null?void 0:n.length)>=2?en(n[0]-n[1])*2*h:h,u&&o?o.map((m,p)=>{var v=r.map(m);return Ge(v)?{coordinate:v+h,value:m,index:p,offset:h}:null}).filter(Cr):r.ticks?r.ticks(f).map((m,p)=>{var v=r.map(m);return Ge(v)?{coordinate:v+h,value:m,index:p,offset:h}:null}).filter(Cr):r.domain().map((m,p)=>{var v=r.map(m);return Ge(v)?{coordinate:v+h,value:i?i[m]:m,index:p,offset:h}:null}).filter(Cr)}},ZP=Y([mt,mu,am,gu,oy,ay,Wt],QW),XP=Y(yr,am,(e,t)=>{if(!(e==null||t==null))return Xf(Xf({},e),{},{scale:t})}),YW=Y([yr,hl,ry,KP],Z0),ZW=Y([YW],A0);Y((e,t,r)=>X0(e,r),ZW,(e,t)=>{if(!(e==null||t==null))return Xf(Xf({},e),{},{scale:t})});var XW=Y([mt,Lh,Rh],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),JW=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};Y([JW],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,i=e[0];for(var o of e){var c=Math.abs(o.coordinate-t);ce.options.defaultTooltipEventType,e3=e=>e.options.validateTooltipEventTypes;function t3(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function vu(e,t){var r=JP(e),n=e3(e);return t3(t,r,n)}function eH(e){return Te(t=>vu(t,e))}var r3=(e,t)=>{var r,n=Number(t);if(!(Gn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},tH=e=>e.tooltip.settings,aa={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},rH={itemInteraction:{click:aa,hover:aa},axisInteraction:{click:aa,hover:aa},keyboardInteraction:aa,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},n3=ur({name:"tooltip",initialState:rH,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:ct()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).tooltipItemPayloads.indexOf(n);o>-1&&(e.tooltipItemPayloads[o]=i)},prepare:ct()},removeTooltipEntrySettings:{reducer(e,t){var r=tn(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:ct()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),cn=n3.actions,nH=cn.addTooltipEntrySettings,iH=cn.replaceTooltipEntrySettings,aH=cn.removeTooltipEntrySettings,oH=cn.setTooltipSettingsState,sH=cn.setActiveMouseOverItemIndex;cn.mouseLeaveItem;var i3=cn.mouseLeaveChart;cn.setActiveClickItemIndex;var a3=cn.setMouseOverAxisIndex,lH=cn.setMouseClickAxisIndex,yc=cn.setSyncInteraction,eh=cn.setKeyboardInteraction,cH=n3.reducer;function cS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Yd(e){for(var t=1;t{if(t==null)return aa;var i=hH(e,t,r);if(i==null)return aa;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(mH(i)){if(o)return Yd(Yd({},i),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Yd(Yd({},aa),{},{coordinate:i.coordinate})};function pH(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function gH(e,t){var r=pH(e),n=t[0],i=t[1];if(r===void 0)return!1;var o=Math.min(n,i),c=Math.max(n,i);return r>=o&&r<=c}function vH(e,t,r){if(r==null||t==null)return!0;var n=Bt(e,t);return n==null||!Un(r)?!0:gH(n,r)}var kc=(e,t,r,n)=>{var i=e==null?void 0:e.index;if(i==null)return null;var o=Number(i);if(!Ge(o))return i;var c=0,u=1/0;t.length>0&&(u=t.length-1);var f=Math.max(c,Math.min(o,u)),h=t[f];return h==null||vH(h,r,n)?String(f):null},s3=(e,t,r,n,i,o,c)=>{if(o!=null){var u=c[0],f=u==null?void 0:u.getPosition(o);if(f!=null)return f;var h=i==null?void 0:i[Number(o)];if(h)switch(r){case"horizontal":return{x:h.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:h.coordinate}}}},l3=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(r==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(c=>{var u;return((u=c.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},c3=e=>e.options.tooltipPayloadSearcher,ml=e=>e.tooltip;function uS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dS(e){for(var t=1;te(t)}function fS(e){if(typeof e=="string")return e}function SH(e){if(!(e==null||typeof e!="object")){var t="name"in e?wH(e.name):void 0,r="unit"in e?kH(e.unit):void 0,n="dataKey"in e?jH(e.dataKey):void 0,i="payload"in e?e.payload:void 0,o="color"in e?fS(e.color):void 0,c="fill"in e?fS(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:i,color:o,fill:c}}}function NH(e,t){return e??t}var u3=(e,t,r,n,i,o,c)=>{if(!(t==null||o==null)){var u=r.chartData,f=r.computedData,h=r.dataStartIndex,m=r.dataEndIndex,p=[];return e.reduce((v,b)=>{var S,w=b.dataDefinedOnItem,k=b.settings,N=NH(w,u),E=Array.isArray(N)?DA(N,h,m):N,C=(S=k==null?void 0:k.dataKey)!==null&&S!==void 0?S:n,A=k==null?void 0:k.nameKey,_;if(n&&Array.isArray(E)&&!Array.isArray(E[0])&&c==="axis"?_=WE(E,n,i):_=o(E,t,f,A),Array.isArray(_))_.forEach(I=>{var B,F,R=SH(I),Q=R==null?void 0:R.name,U=R==null?void 0:R.dataKey,ge=R==null?void 0:R.payload,ue=dS(dS({},k),{},{name:Q,unit:R==null?void 0:R.unit,color:(B=R==null?void 0:R.color)!==null&&B!==void 0?B:k==null?void 0:k.color,fill:(F=R==null?void 0:R.fill)!==null&&F!==void 0?F:k==null?void 0:k.fill});v.push(oj({tooltipEntrySettings:ue,dataKey:U,payload:ge,value:Bt(ge,U),name:Q==null?void 0:String(Q)}))});else{var O;v.push(oj({tooltipEntrySettings:k,dataKey:C,payload:_,value:Bt(_,C),name:(O=Bt(_,A))!==null&&O!==void 0?O:k==null?void 0:k.name}))}return v},p)}},sy=Y([Tt,pP,y0],uP),EH=Y([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),AH=Y([Ht,cl],gP),Mo=Y([EH,Tt,AH],xP,{memoizeOptions:{resultEqualityCheck:Xh}}),CH=Y([Mo],e=>e.filter(E0)),d3=Y([Mo],wP,{memoizeOptions:{resultEqualityCheck:Xh}}),PH=Y([Mo],e=>e.some(t=>!t.data)),No=Y([d3,En],jP),OH=Y([CH,En,Tt],PC),ly=Y([No,Tt,Mo,En,PH,d3],SP),f3=Y([Tt],ey),_H=Y([Tt],e=>e.allowDataOverflow),h3=Y([f3,_H],dC),MH=Y([Mo],e=>e.filter(E0)),IH=Y([OH,MH,Gh,kC],EP),TH=Y([IH,En,Ht,h3],CP),DH=Y([Mo],bP),LH=Y([No,Tt,DH,ty,Ht,K9],_P,{memoizeOptions:{resultEqualityCheck:Zh}}),RH=Y([MP,Ht,cl],fl),$H=Y([RH,Ht],DP),zH=Y([IP,Ht,cl],fl),FH=Y([zH,Ht],LP),BH=Y([TP,Ht,cl],fl),UH=Y([BH,Ht],RP),WH=Y([$H,UH,FH],Jf),HH=Y([Tt,f3,h3,TH,LH,WH,mt,Ht],$P),Zs=Y([Tt,mt,No,ly,Gh,Ht,HH],zP),KH=Y([Zs,Tt,sy],FP),GH=Y([Tt,Zs,KH,Ht],BP),m3=e=>{var t=Ht(e),r=cl(e),n=!1;return gu(e,t,r,n)},p3=Y([Tt,m3],Vh),VH=Y([Tt,sy,GH,p3],Z0),g3=Y([VH],A0),qH=Y([mt,ly,Tt,Ht],QP),QH=Y([mt,ly,Tt,Ht],GP),YH=(e,t,r,n,i,o,c,u)=>{if(t){var f=t.type,h=Zn(e,u);if(n){var m=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,p=f==="category"&&n.bandwidth?n.bandwidth()/m:0;return p=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?en(i[0]-i[1])*2*p:p,h&&c?c.map((v,b)=>{var S=n.map(v);return Ge(S)?{coordinate:S+p,value:v,index:b,offset:p}:null}).filter(Cr):n.domain().map((v,b)=>{var S=n.map(v);return Ge(S)?{coordinate:S+p,value:o?o[v]:v,index:b,offset:p}:null}).filter(Cr)}}},Oi=Y([mt,Tt,sy,g3,m3,qH,QH,Ht],YH),cy=Y([JP,e3,tH],(e,t,r)=>t3(r.shared,e,t)),v3=e=>e.tooltip.settings.trigger,uy=e=>e.tooltip.settings.defaultIndex,xu=Y([ml,cy,v3,uy],o3),Kc=Y([xu,No,Ys,Zs],kc),x3=Y([Oi,Kc],r3),ZH=Y([xu],e=>{if(e)return e.dataKey}),XH=Y([xu],e=>{if(e)return e.graphicalItemId}),y3=Y([ml,cy,v3,uy],l3),JH=Y([Ni,Ei,mt,tr,Oi,uy,y3],s3),eK=Y([xu,JH],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),tK=Y([xu],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),rK=Y([y3,Kc,En,Ys,x3,c3,cy],u3),nK=Y([rK],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function hS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mS(e){for(var t=1;tTe(Tt),lK=()=>{var e=sK(),t=Te(Oi),r=Te(g3);return Of(!e||!r?void 0:mS(mS({},e),{},{scale:r}),t)};function pS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ds(e){for(var t=1;t{var i=t.find(o=>o&&o.index===r);if(i){if(e==="horizontal")return{x:i.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:i.coordinate}}return{x:0,y:0}},hK=(e,t,r,n)=>{var i=t.find(h=>h&&h.index===r);if(i){if(e==="centric"){var o=i.coordinate,c=n.radius;return ds(ds(ds({},n),Xt(n.cx,n.cy,c,o)),{},{angle:o,radius:c})}var u=i.coordinate,f=n.angle;return ds(ds(ds({},n),Xt(n.cx,n.cy,u,f)),{},{angle:f,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function mK(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var b3=(e,t,r,n,i)=>{var o,c=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(c<=1||e==null)return 0;if(n==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(f=r[u-1])===null||f===void 0?void 0:f.coordinate:(h=r[c-1])===null||h===void 0?void 0:h.coordinate,S=(m=r[u])===null||m===void 0?void 0:m.coordinate,w=u>=c-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(v=r[u+1])===null||v===void 0?void 0:v.coordinate,k=void 0;if(!(b==null||S==null||w==null))if(en(S-b)!==en(w-S)){var N=[];if(en(w-S)===en(i[1]-i[0])){k=w;var E=S+i[1]-i[0];N[0]=Math.min(E,(E+b)/2),N[1]=Math.max(E,(E+b)/2)}else{k=b;var C=w+i[1]-i[0];N[0]=Math.min(S,(C+S)/2),N[1]=Math.max(S,(C+S)/2)}var A=[Math.min(S,(k+S)/2),Math.max(S,(k+S)/2)];if(e>A[0]&&e<=A[1]||e>=N[0]&&e<=N[1]){var _;return(_=r[u])===null||_===void 0?void 0:_.index}}else{var O=Math.min(b,w),I=Math.max(b,w);if(e>(O+S)/2&&e<=(I+S)/2){var B;return(B=r[u])===null||B===void 0?void 0:B.index}}}else if(t)for(var F=0;F(R.coordinate+U.coordinate)/2||F>0&&F(R.coordinate+U.coordinate)/2&&e<=(R.coordinate+Q.coordinate)/2)return R.index}}return-1},w3=()=>Te(y0),dy=(e,t)=>t,k3=(e,t,r)=>r,fy=(e,t,r,n)=>n,pK=Y(Oi,e=>Nh(e,t=>t.coordinate)),hy=Y([ml,dy,k3,fy],o3),my=Y([hy,No,Ys,Zs],kc),gK=(e,t,r)=>{if(t!=null){var n=ml(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},j3=Y([ml,dy,k3,fy],l3),th=Y([Ni,Ei,mt,tr,Oi,fy,j3],s3),vK=Y([hy,th],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),S3=Y([Oi,my],r3),xK=Y([j3,my,En,Ys,S3,c3,dy],u3),yK=Y([hy,my],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),bK=(e,t,r,n,i,o,c)=>{if(!(!e||!r||!n||!i)&&mK(e,c)){var u=Iz(e,t),f=b3(u,o,i,r,n),h=fK(t,i,f,e);return{activeIndex:String(f),activeCoordinate:h}}},wK=(e,t,r,n,i,o,c)=>{if(!(!e||!n||!i||!o||!r)){var u=L9(e,r);if(u){var f=Tz(u,t),h=b3(f,c,o,n,i),m=hK(t,o,h,u);return{activeIndex:String(h),activeCoordinate:m}}}},kK=(e,t,r,n,i,o,c,u)=>{if(!(!e||!t||!n||!i||!o))return t==="horizontal"||t==="vertical"?bK(e,t,n,i,o,c,u):wK(e,t,r,n,i,o,c)},jK=Y(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),SK=Y(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(pr)),r=Array.from(new Set(t));return r.sort((n,i)=>n-i)},{memoizeOptions:{resultEqualityCheck:h7}});function gS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vS(e){for(var t=1;tvS(vS({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),CK)},OK=new Set(Object.values(pr));function _K(e){return OK.has(e)}var N3=ur({name:"zIndex",initialState:PK,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:ct()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!_K(r)&&delete e.zIndexMap[r])},prepare:ct()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,i=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=i:e.zIndexMap[n].element=i:e.zIndexMap[n]={consumers:0,element:o?void 0:i,panoramaElement:o?i:void 0}},prepare:ct()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:ct()}}}),lm=N3.actions,MK=lm.registerZIndexPortal,Gg=lm.unregisterZIndexPortal,IK=lm.registerZIndexPortalElement,TK=lm.unregisterZIndexPortalElement,DK=N3.reducer;function _i(e){var t=e.zIndex,r=e.children,n=x8(),i=n&&t!==void 0&&t!==0,o=Or(),c=x.useRef(void 0),u=x.useRef(new Set),f=At(),h=Te(p=>jK(p,t,o));if(x.useLayoutEffect(()=>{if(!i){var p=u.current;p.forEach(b=>{f(Gg({zIndex:b}))}),p.clear(),c.current=void 0;return}if(u.current.has(t)||(f(MK({zIndex:t})),u.current.add(t)),h){c.current=h;var v=u.current;v.forEach(b=>{b!==t&&(f(Gg({zIndex:b})),v.delete(b))})}},[f,t,i,h]),x.useLayoutEffect(()=>{var p=u.current;return()=>{p.forEach(v=>{f(Gg({zIndex:v}))}),p.clear()}},[f]),!i)return r;var m=h??c.current;return m?gh.createPortal(r,m):null}function gx(){return gx=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.useContext(E3),Vg={exports:{}},yS;function WK(){return yS||(yS=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(f,h,m){this.fn=f,this.context=h,this.once=m||!1}function o(f,h,m,p,v){if(typeof m!="function")throw new TypeError("The listener must be a function");var b=new i(m,p||f,v),S=r?r+h:h;return f._events[S]?f._events[S].fn?f._events[S]=[f._events[S],b]:f._events[S].push(b):(f._events[S]=b,f._eventsCount++),f}function c(f,h){--f._eventsCount===0?f._events=new n:delete f._events[h]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var h=[],m,p;if(this._eventsCount===0)return h;for(p in m=this._events)t.call(m,p)&&h.push(r?p.slice(1):p);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(m)):h},u.prototype.listeners=function(h){var m=r?r+h:h,p=this._events[m];if(!p)return[];if(p.fn)return[p.fn];for(var v=0,b=p.length,S=new Array(b);v{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Gn(r))return e[r]}},VK={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},A3=ur({name:"options",initialState:VK,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),qK=A3.reducer,QK=A3.actions.createEventEmitter;function YK(e){return e.tooltip.syncInteraction}var ZK={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},C3=ur({name:"chartData",initialState:ZK,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,i=r.endIndex;n!=null&&(e.dataStartIndex=n),i!=null&&(e.dataEndIndex=i)}}}),py=C3.actions,wS=py.setChartData,XK=py.setDataStartEndIndexes;py.setComputedData;var JK=C3.reducer,eG=["x","y"];function kS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fs(e){for(var t=1;tf.rootProps.className);x.useEffect(()=>{if(e==null)return al;var f=(h,m,p)=>{if(t!==p&&e===h){if(m.payload.active===!1){r(yc({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var v;if(c&&m!==null&&m!==void 0&&(v=m.payload)!==null&&v!==void 0&&v.coordinate&&m.payload.sourceViewBox){var b=m.payload.coordinate,S=b.x,w=b.y,k=iG(b,eG),N=m.payload.sourceViewBox,E=N.x,C=N.y,A=N.width,_=N.height,O=fs(fs({},k),{},{x:c.x+(A?(S-E)/A:0)*c.width,y:c.y+(_?(w-C)/_:0)*c.height});r(fs(fs({},m),{},{payload:fs(fs({},m.payload),{},{coordinate:O})}))}else r(m);return}if(i!=null){var I;if(typeof n=="function"){var B={activeTooltipIndex:m.payload.index==null?void 0:Number(m.payload.index),isTooltipActive:m.payload.active,activeIndex:m.payload.index==null?void 0:Number(m.payload.index),activeLabel:m.payload.label,activeDataKey:m.payload.dataKey,activeCoordinate:m.payload.coordinate},F=n(i,B);I=i[F]}else n==="value"&&(I=i.find(ae=>String(ae.value)===m.payload.label));var R=m.payload.coordinate;if(R==null||c==null){r(yc({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(I==null){r(yc({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:m.payload.sourceViewBox,graphicalItemId:void 0}));return}var Q=R.x,U=R.y,ge=Math.min(Q,c.x+c.width),ue=Math.min(U,c.y+c.height),pe={x:o==="horizontal"?I.coordinate:ge,y:o==="horizontal"?ue:I.coordinate},se=yc({active:m.payload.active,coordinate:pe,dataKey:m.payload.dataKey,index:String(I.index),label:m.payload.label,sourceViewBox:m.payload.sourceViewBox,graphicalItemId:m.payload.graphicalItemId});r(se)}}};return Gc.on(vx,f),()=>{Gc.off(vx,f)}},[u,r,t,e,n,i,o,c])}function sG(){var e=Te(b0),t=Te(w0),r=At();x.useEffect(()=>{if(e==null)return al;var n=(i,o,c)=>{t!==c&&e===i&&r(XK(o))};return Gc.on(bS,n),()=>{Gc.off(bS,n)}},[r,t,e])}function lG(){var e=At();x.useEffect(()=>{e(QK())},[e]),oG(),sG()}function cG(e,t,r,n,i,o){var c=Te(S=>gK(S,e,t)),u=Te(XH),f=Te(w0),h=Te(b0),m=Te(jC),p=Te(YK),v=(p==null?void 0:p.sourceViewBox)!=null,b=Fh();x.useEffect(()=>{if(!v&&h!=null&&f!=null){var S=yc({active:o,coordinate:r,dataKey:c,index:i,label:typeof n=="number"?String(n):n,sourceViewBox:b,graphicalItemId:u});Gc.emit(vx,h,S,f)}},[v,r,c,u,i,n,f,h,m,o,b])}function jS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function SS(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{I(oH({shared:E,trigger:C,axisId:O,active:i,defaultIndex:B}))},[I,E,C,O,i,B]);var F=Fh(),R=rC(),Q=eH(E),U=(t=Te(Oe=>yK(Oe,Q,C,B)))!==null&&t!==void 0?t:{},ge=U.activeIndex,ue=U.isActive,pe=Te(Oe=>xK(Oe,Q,C,B)),se=Te(Oe=>S3(Oe,Q,C,B)),ae=Te(Oe=>vK(Oe,Q,C,B)),Z=pe,te=UK(),ie=(r=i??ue)!==null&&r!==void 0?r:!1,D=y$([Z,ie]),M=hG(D,2),q=M[0],le=M[1],oe=Q==="axis"?se:void 0;cG(Q,C,ae,oe,ge,ie);var ee=_??te;if(ee==null||F==null||Q==null)return null;var ne=Z??ES;ie||(ne=ES),h&&ne.length&&(ne=U6(ne.filter(Oe=>Oe.value!=null&&(Oe.hide!==!0||n.includeHidden)),v,xG));var he=ne.length>0,re=SS(SS({},n),{},{payload:ne,label:oe,active:ie,activeIndex:ge,coordinate:ae,accessibilityLayer:R}),ye=x.createElement(OF,{allowEscapeViewBox:o,animationDuration:c,animationEasing:u,isAnimationActive:m,active:ie,coordinate:ae,hasPayload:he,offset:p,position:b,reverseDirection:S,useTranslate3d:w,viewBox:F,wrapperStyle:k,lastBoundingBox:q,innerRef:le,hasPortalFromProps:!!_},yG(f,re));return x.createElement(x.Fragment,null,gh.createPortal(ye,ee),ie&&x.createElement(BK,{cursor:N,tooltipEventType:Q,coordinate:ae,payload:ne,index:ge}))}function kG(e,t,r){return(t=jG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jG(e){var t=SG(e,"string");return typeof t=="symbol"?t:t+""}function SG(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class NG{constructor(t){kG(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function AS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function EG(e){for(var t=1;t{try{var r=document.getElementById(PS);r||(r=document.createElement("span"),r.setAttribute("id",PS),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,_G,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},jc=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||cu.isSsr)return{width:0,height:0};if(!P3.enableCache)return OS(t,r);var n=MG(t,r),i=CS.get(n);if(i)return i;var o=OS(t,r);return CS.set(n,o),o},O3;function rh(e,t){return LG(e)||DG(e,t)||TG(e,t)||IG()}function IG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TG(e,t){if(e){if(typeof e=="string")return _S(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_S(e,t):void 0}}function _S(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var i=[];Jt(t)||(r?i=t.toString().split(""):i=t.toString().split(M3));var o=i.map(u=>({word:u,width:jc(u,n).width})),c=r?0:jc(" ",n).width;return{wordsWithComputedWidth:o,spaceWidth:c}}catch{return null}};function T3(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function rV(e){return Jt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var D3=(e,t,r,n)=>e.reduce((i,o)=>{var c=o.word,u=o.width,f=i[i.length-1];if(f&&u!=null&&(t==null||n||f.width+u+re.reduce((t,r)=>t.width>r.width?t:r),nV="…",$S=(e,t,r,n,i,o,c,u)=>{var f=e.slice(0,t),h=I3({breakAll:r,style:n,children:f+nV});if(!h)return[!1,[]];var m=D3(h.wordsWithComputedWidth,o,c,u),p=m.length>i||L3(m).width>Number(o);return[p,m]},iV=(e,t,r,n,i)=>{var o=e.maxLines,c=e.children,u=e.style,f=e.breakAll,h=Pe(o),m=String(c),p=D3(t,n,r,i);if(!h||i)return p;var v=p.length>o||L3(p).width>Number(n);if(!v)return p;for(var b=0,S=m.length-1,w=0,k;b<=S&&w<=m.length-1;){var N=Math.floor((b+S)/2),E=N-1,C=$S(m,E,f,u,o,n,r,i),A=LS(C,2),_=A[0],O=A[1],I=$S(m,N,f,u,o,n,r,i),B=LS(I,1),F=B[0];if(!_&&!F&&(b=N+1),_&&F&&(S=N-1),!_&&F){k=O;break}w++}return k||p},zS=e=>{var t=Jt(e)?[]:e.toString().split(M3);return[{words:t,width:void 0}]},aV=e=>{var t=e.width,r=e.scaleToFit,n=e.children,i=e.style,o=e.breakAll,c=e.maxLines;if((t||r)&&!cu.isSsr){var u,f,h=I3({breakAll:o,children:n,style:i});if(h){var m=h.wordsWithComputedWidth,p=h.spaceWidth;u=m,f=p}else return zS(n);return iV({breakAll:o,children:n,maxLines:c,style:i},u,f,t,!!r)}return zS(n)},R3="#808080",oV={angle:0,breakAll:!1,capHeight:"0.71em",fill:R3,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},gy=x.forwardRef((e,t)=>{var r=sn(e,oV),n=r.x,i=r.y,o=r.lineHeight,c=r.capHeight,u=r.fill,f=r.scaleToFit,h=r.textAnchor,m=r.verticalAnchor,p=DS(r,QG),v=x.useMemo(()=>aV({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:f,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,f,p.style,p.width]),b=p.dx,S=p.dy,w=p.angle,k=p.className,N=p.breakAll,E=DS(p,YG);if(!Vn(n)||!Vn(i)||v.length===0)return null;var C=Number(n)+(Pe(b)?b:0),A=Number(i)+(Pe(S)?S:0);if(!Ge(C)||!Ge(A))return null;var _;switch(m){case"start":_=qg("calc(".concat(c,")"));break;case"middle":_=qg("calc(".concat((v.length-1)/2," * -").concat(o," + (").concat(c," / 2))"));break;default:_=qg("calc(".concat(v.length-1," * -").concat(o,")"));break}var O=[],I=v[0];if(f&&I!=null){var B=I.width,F=p.width;O.push("scale(".concat(Pe(F)&&Pe(B)?F/B:1,")"))}return w&&O.push("rotate(".concat(w,", ").concat(C,", ").concat(A,")")),O.length&&(E.transform=O.join(" ")),x.createElement("text",xx({},nn(E),{ref:t,x:C,y:A,className:it("recharts-text",k),textAnchor:h,fill:u.includes("url")?R3:u}),v.map((R,Q)=>{var U=R.words.join(N?"":" ");return x.createElement("tspan",{x:C,dy:Q===0?_:o,key:"".concat(U,"-").concat(Q)},U)}))});gy.displayName="Text";function FS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dn(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,i=n===void 0?0:n,o=e.parentViewBox,c=u0(t),u=c.x,f=c.y,h=c.height,m=c.upperWidth,p=c.lowerWidth,v=u,b=u+(m-p)/2,S=(v+b)/2,w=(m+p)/2,k=v+m/2,N=h>=0?1:-1,E=N*i,C=N>0?"end":"start",A=N>0?"start":"end",_=m>=0?1:-1,O=_*i,I=_>0?"end":"start",B=_>0?"start":"end",F=o;if(r==="top"){var R={x:v+m/2,y:f-E,horizontalAnchor:"middle",verticalAnchor:C};return F&&(R.height=Math.max(f-F.y,0),R.width=m),R}if(r==="bottom"){var Q={x:b+p/2,y:f+h+E,horizontalAnchor:"middle",verticalAnchor:A};return F&&(Q.height=Math.max(F.y+F.height-(f+h),0),Q.width=p),Q}if(r==="left"){var U={x:S-O,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"};return F&&(U.width=Math.max(U.x-F.x,0),U.height=h),U}if(r==="right"){var ge={x:S+w+O,y:f+h/2,horizontalAnchor:B,verticalAnchor:"middle"};return F&&(ge.width=Math.max(F.x+F.width-ge.x,0),ge.height=h),ge}var ue=F?{width:w,height:h}:{};return r==="insideLeft"?Dn({x:S+O,y:f+h/2,horizontalAnchor:B,verticalAnchor:"middle"},ue):r==="insideRight"?Dn({x:S+w-O,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"},ue):r==="insideTop"?Dn({x:v+m/2,y:f+E,horizontalAnchor:"middle",verticalAnchor:A},ue):r==="insideBottom"?Dn({x:b+p/2,y:f+h-E,horizontalAnchor:"middle",verticalAnchor:C},ue):r==="insideTopLeft"?Dn({x:v+O,y:f+E,horizontalAnchor:B,verticalAnchor:A},ue):r==="insideTopRight"?Dn({x:v+m-O,y:f+E,horizontalAnchor:I,verticalAnchor:A},ue):r==="insideBottomLeft"?Dn({x:b+O,y:f+h-E,horizontalAnchor:B,verticalAnchor:C},ue):r==="insideBottomRight"?Dn({x:b+p-O,y:f+h-E,horizontalAnchor:I,verticalAnchor:C},ue):r&&typeof r=="object"&&(Pe(r.x)||bo(r.x))&&(Pe(r.y)||bo(r.y))?Dn({x:u+ja(r.x,w),y:f+ja(r.y,h),horizontalAnchor:"end",verticalAnchor:"end"},ue):Dn({x:k,y:f+h/2,horizontalAnchor:"middle",verticalAnchor:"middle"},ue)},dV=["labelRef"],fV=["content"];function BS(e,t){if(e==null)return{};var r,n,i=hV(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,i=e.lowerWidth,o=e.width,c=e.height,u=e.children,f=x.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:i,width:o,height:c}),[t,r,n,i,o,c]);return x.createElement($3.Provider,{value:f},u)},z3=()=>{var e=x.useContext($3),t=Fh();return e||(t?u0(t):void 0)},xV=x.createContext(null),yV=()=>{var e=x.useContext(xV),t=Te(CC);return e||t},bV=e=>{var t=e.value,r=e.formatter,n=Jt(e.children)?t:e.children;return typeof r=="function"?r(n):n},vy=e=>e!=null&&typeof e=="function",wV=(e,t)=>{var r=en(t-e),n=Math.min(Math.abs(t-e),360);return r*n},kV=(e,t,r,n,i)=>{var o=e.offset,c=e.className,u=i.cx,f=i.cy,h=i.innerRadius,m=i.outerRadius,p=i.startAngle,v=i.endAngle,b=i.clockWise,S=(h+m)/2,w=wV(p,v),k=w>=0?1:-1,N,E;switch(t){case"insideStart":N=p+k*o,E=b;break;case"insideEnd":N=v-k*o,E=!b;break;case"end":N=v+k*o,E=b;break;default:throw new Error("Unsupported position ".concat(t))}E=w<=0?E:!E;var C=Xt(u,f,S,N),A=Xt(u,f,S,N+(E?1:-1)*359),_="M".concat(C.x,",").concat(C.y,` - A`).concat(S,",").concat(S,",0,1,").concat(E?0:1,`, - `).concat(A.x,",").concat(A.y),O=Jt(e.id)?Mc("recharts-radial-line-"):e.id;return x.createElement("text",fi({},n,{dominantBaseline:"central",className:it("recharts-radial-bar-label",c)}),x.createElement("defs",null,x.createElement("path",{id:O,d:_})),x.createElement("textPath",{xlinkHref:"#".concat(O)},r))},jV=(e,t,r)=>{var n=e.cx,i=e.cy,o=e.innerRadius,c=e.outerRadius,u=e.startAngle,f=e.endAngle,h=(u+f)/2;if(r==="outside"){var m=Xt(n,i,c+t,h),p=m.x,v=m.y;return{x:p,y:v,textAnchor:p>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"end"};var b=(o+c)/2,S=Xt(n,i,b,h),w=S.x,k=S.y;return{x:w,y:k,textAnchor:"middle",verticalAnchor:"middle"}},cf=e=>e!=null&&"cx"in e&&Pe(e.cx),SV={angle:0,offset:5,zIndex:pr.label,position:"middle",textBreakAll:!1};function NV(e){if(!cf(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,i=n*2;return{x:t-n,y:r-n,width:i,upperWidth:i,lowerWidth:i,height:i}}function ia(e){var t=sn(e,SV),r=t.viewBox,n=t.parentViewBox,i=t.position,o=t.value,c=t.children,u=t.content,f=t.className,h=f===void 0?"":f,m=t.textBreakAll,p=t.labelRef,v=yV(),b=z3(),S=i==="center"?b:v??b,w,k,N;r==null?w=S:cf(r)?w=r:w=u0(r);var E=NV(w);if(!w||Jt(o)&&Jt(c)&&!x.isValidElement(u)&&typeof u!="function")return null;var C=bc(bc({},t),{},{viewBox:w});if(x.isValidElement(u)){C.labelRef;var A=BS(C,dV);return x.cloneElement(u,A)}if(typeof u=="function"){C.content;var _=BS(C,fV);if(k=x.createElement(u,_),x.isValidElement(k))return k}else k=bV(t);var O=nn(t);if(cf(w)){if(i==="insideStart"||i==="insideEnd"||i==="end")return kV(t,i,k,O,w);N=jV(w,t.offset,t.position)}else{if(!E)return null;var I=uV({viewBox:E,position:i,offset:t.offset,parentViewBox:cf(n)?void 0:n});N=bc(bc({x:I.x,y:I.y,textAnchor:I.horizontalAnchor,verticalAnchor:I.verticalAnchor},I.width!==void 0?{width:I.width}:{}),I.height!==void 0?{height:I.height}:{})}return x.createElement(_i,{zIndex:t.zIndex},x.createElement(gy,fi({ref:p,className:it("recharts-label",h)},O,N,{textAnchor:T3(O.textAnchor)?O.textAnchor:N.textAnchor,breakAll:m}),k))}ia.displayName="Label";var EV=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?x.createElement(ia,fi({key:"label-implicit"},n)):Vn(e)?x.createElement(ia,fi({key:"label-implicit",value:e},n)):x.isValidElement(e)?e.type===ia?x.cloneElement(e,bc({key:"label-implicit"},n)):x.createElement(ia,fi({key:"label-implicit",content:e},n)):vy(e)?x.createElement(ia,fi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?x.createElement(ia,fi({},e,{key:"label-implicit"},n)):null};function AV(e){var t=e.label,r=e.labelRef,n=z3();return EV(t,n,r)||null}var CV=["valueAccessor"],PV=["dataKey","clockWise","id","textBreakAll","zIndex"];function nh(){return nh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(rV(t))return t},F3=x.createContext(void 0),MV=F3.Provider,B3=x.createContext(void 0);B3.Provider;function IV(){return x.useContext(F3)}function TV(){return x.useContext(B3)}function uf(e){var t=e.valueAccessor,r=t===void 0?_V:t,n=WS(e,CV),i=n.dataKey;n.clockWise;var o=n.id,c=n.textBreakAll,u=n.zIndex,f=WS(n,PV),h=IV(),m=TV(),p=h||m;return!p||!p.length?null:x.createElement(_i,{zIndex:u??pr.label},x.createElement(an,{className:"recharts-label-list"},p.map((v,b)=>{var S,w=Jt(i)?r(v,b):Bt(v.payload,i),k=Jt(o)?{}:{id:"".concat(o,"-").concat(b)};return x.createElement(ia,nh({key:"label-".concat(b)},nn(v),f,k,{fill:(S=n.fill)!==null&&S!==void 0?S:v.fill,parentViewBox:v.parentViewBox,value:w,textBreakAll:c,viewBox:v.viewBox,index:b,zIndex:0}))})))}uf.displayName="LabelList";function DV(e){var t=e.label;return t?t===!0?x.createElement(uf,{key:"labelList-implicit"}):x.isValidElement(t)||vy(t)?x.createElement(uf,{key:"labelList-implicit",content:t}):typeof t=="object"?x.createElement(uf,nh({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function yx(){return yx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,i=e.className,o=it("recharts-dot",i);return Pe(t)&&Pe(r)&&Pe(n)?x.createElement("circle",yx({},kn(e),e0(e),{className:o,cx:t,cy:r,r:n})):null},LV={radiusAxis:{},angleAxis:{}},W3=ur({name:"polarAxis",initialState:LV,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),cm=W3.actions;cm.addRadiusAxis;cm.removeRadiusAxis;cm.addAngleAxis;cm.removeAngleAxis;var RV=W3.reducer;function $V(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var H3=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function HS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function KS(e){for(var t=1;t{n||(i.current===null?r(nH(t)):i.current!==t&&r(iH({prev:i.current,next:t})),i.current=t)},[t,r,n]),x.useLayoutEffect(()=>()=>{i.current&&(r(aH(i.current)),i.current=null)},[r]),null}function qV(e){var t=e.legendPayload,r=At(),n=Or(),i=x.useRef(null);return x.useLayoutEffect(()=>{n||(i.current===null?r(_8(t)):i.current!==t&&r(M8({prev:i.current,next:t})),i.current=t)},[r,n,t]),x.useLayoutEffect(()=>()=>{i.current&&(r(I8(i.current)),i.current=null)},[r]),null}function QV(e,t){return JV(e)||XV(e,t)||ZV(e,t)||YV()}function YV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZV(e,t){if(e){if(typeof e=="string")return GS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?GS(e,t):void 0}}function GS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var i of r)n.push({status:"removed",prev:i});for(var o=0;oe[Math.floor(o*r)]);return yy(n,t)}function rq(e,t){var r=t.map((n,i)=>e[i]);return yy(r,t)}function nq(e,t){for(var r=new Map,n=0;n{var b=r(p,v);if(b!=null){var S=n.get(b);if(S!==void 0)return i.add(b),S}}),c=[];for(var u of n){var f=QV(u,2),h=f[0],m=f[1];i.has(h)||c.push(m)}return yy(o,t,c)}function bx(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===xy?tq(e,t):r===eq?rq(e,t):iq(e,t,r)}function G3(e,t){var r=x.useRef(e),n=x.useRef(t.current),i=x.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,i.current=!1);var o=x.useCallback(function(c,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(u===0){i.current=!0;return}u===1&&(n.current=c),u>0&&i.current&&f&&(t.current=c)},[t]);return{startValue:n.current,syncStepValue:o}}function aq(e,t){return cq(e)||lq(e,t)||sq(e,t)||oq()}function oq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sq(e,t){if(e){if(typeof e=="string")return VS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?VS(e,t):void 0}}function VS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),u=x.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:i,handleAnimationStart:c,handleAnimationEnd:u}}function dq(e){var t,r=e.animationInput,n=e.animationIdPrefix,i=e.items,o=e.previousItemsRef,c=e.isAnimationActive,u=e.animationBegin,f=e.animationDuration,h=e.animationEasing,m=e.onAnimationStart,p=e.onAnimationEnd,v=e.animationInterpolateFn,b=e.animationMatchBy,S=e.shouldUpdatePreviousRef,w=e.children,k=e.layout,N=sC(r,n),E=G3(N,o),C=(t=E.startValue)!==null&&t!==void 0?t:null,A=bx(C,i,b??xy);return x.createElement(oC,{animationId:N,begin:u,duration:f,isActive:c,easing:h,onAnimationEnd:p,onAnimationStart:m,key:N},_=>{var O=C==null,I=i==null?i:v(A,_,k),B=S?S(_):_>0;return E.syncStepValue(I,_,B),I==null?null:w(I,_,O)})}var Qg;function fq(e,t){return gq(e)||pq(e,t)||mq(e,t)||hq()}function hq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mq(e,t){if(e){if(typeof e=="string")return qS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?qS(e,t):void 0}}function qS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=x.useState(()=>Mc("uid-")),t=fq(e,1),r=t[0];return r},V3=(Qg=fh.useId)!==null&&Qg!==void 0?Qg:vq;function xq(e,t){var r=V3();return t||(e?"".concat(e,"-").concat(r):r)}var yq=x.createContext(void 0),bq=e=>{var t=e.id,r=e.type,n=e.children,i=xq("recharts-".concat(r),t);return x.createElement(yq.Provider,{value:i},n(i))},wq={cartesianItems:[],polarItems:[]},q3=ur({name:"graphicalItems",initialState:wq,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:ct()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).cartesianItems.indexOf(n);o>-1&&(e.cartesianItems[o]=i)},prepare:ct()},removeCartesianGraphicalItem:{reducer(e,t){var r=tn(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:ct()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:ct()},removePolarGraphicalItem:{reducer(e,t){var r=tn(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:ct()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).polarItems.indexOf(n);o>-1&&(e.polarItems[o]=i)},prepare:ct()}}}),pl=q3.actions,kq=pl.addCartesianGraphicalItem,jq=pl.replaceCartesianGraphicalItem,Sq=pl.removeCartesianGraphicalItem;pl.addPolarGraphicalItem;pl.removePolarGraphicalItem;pl.replacePolarGraphicalItem;var Nq=q3.reducer,Eq=e=>{var t=At(),r=x.useRef(null);return x.useLayoutEffect(()=>{r.current===null?t(kq(e)):r.current!==e&&t(jq({prev:r.current,next:e})),r.current=e},[t,e]),x.useLayoutEffect(()=>()=>{r.current&&(t(Sq(r.current)),r.current=null)},[t]),null},Aq=x.memo(Eq),Cq=["points"];function QS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Yg(e){for(var t=1;t{var N,E,C=Yg(Yg(Yg({r:3},c),v),{},{index:k,cx:(N=w.x)!==null&&N!==void 0?N:void 0,cy:(E=w.y)!==null&&E!==void 0?E:void 0,dataKey:o,value:w.value,payload:w.payload,points:t});return x.createElement(Tq,{key:"dot-".concat(k),option:r,dotProps:C,className:i})}),S={};return u&&f!=null&&(S.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(f,")")),x.createElement(_i,{zIndex:m},x.createElement(an,ih({className:n},S),b))}function YS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZS(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),Yq=Y([Qq,Ni,Ei],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),by=()=>Te(Yq),Zq=()=>Te(nK);function XS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zg(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,i=e.activeDot,o=e.dataKey,c=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var u={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},f=Zg(Zg(Zg({},u),kh(i)),e0(i)),h;return x.isValidElement(i)?h=x.cloneElement(i,f):typeof i=="function"?h=i(f):h=x.createElement(U3,f),x.createElement(an,{className:"recharts-active-dot",clipPath:c},h)};function JS(e){var t=e.points,r=e.mainColor,n=e.activeDot,i=e.itemDataKey,o=e.clipPath,c=e.zIndex,u=c===void 0?pr.activeDot:c,f=Te(Kc),h=Zq();if(t==null||h==null)return null;var m=t.find(p=>h.includes(p.payload));return Jt(m)?null:x.createElement(_i,{zIndex:u},x.createElement(tQ,{point:m,childIndex:Number(f),mainColor:r,dataKey:i,activeDot:n,clipPath:o}))}var rQ=e=>{var t=e.chartData,r=At(),n=Or();return x.useEffect(()=>n?()=>{}:(r(wS(t)),()=>{r(wS(void 0))}),[t,r,n]),null},eN={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},Z3=ur({name:"brush",initialState:eN,reducers:{setBrushSettings(e,t){return t.payload==null?eN:t.payload}}});Z3.actions.setBrushSettings;var nQ=Z3.reducer;function iQ(e){return(e%180+180)%180}var aQ=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=iQ(i),c=o*Math.PI/180,u=Math.atan(n/r),f=c>u&&c{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=tn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=tn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=tn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),gl=X3.actions;gl.addDot;gl.removeDot;gl.addArea;gl.removeArea;gl.addLine;gl.removeLine;var sQ=X3.reducer;function lQ(e,t){return fQ(e)||dQ(e,t)||uQ(e,t)||cQ()}function cQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uQ(e,t){if(e){if(typeof e=="string")return tN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tN(e,t):void 0}}function tN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=x.useState("".concat(Mc("recharts"),"-clip")),n=lQ(r,1),i=n[0],o=by();if(o==null)return null;var c=o.x,u=o.y,f=o.width,h=o.height;return x.createElement(hQ.Provider,{value:i},x.createElement("defs",null,x.createElement("clipPath",{id:i},x.createElement("rect",{x:c,y:u,height:h,width:f}))),t)};function J3(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*i)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-i)<=0}function vQ(e,t){return J3(e,t+1)}function xQ(e,t,r,n,i){for(var o=(n||[]).slice(),c=t.start,u=t.end,f=0,h=1,m=c,p=function(){var S=n==null?void 0:n[f];if(S===void 0)return{v:J3(n,h)};var w=f,k,N=()=>(k===void 0&&(k=r(S,w)),k),E=S.coordinate,C=f===0||Vc(e,E,N,m,u);C||(f=0,m=c,h+=1),C&&(m=E+e*(N()/2+i),f+=h)},v;h<=o.length;)if(v=p(),v)return v.v;return[]}function yQ(e,t,r,n,i){var o=(n||[]).slice(),c=o.length;if(c===0)return[];for(var u=t.start,f=t.end,h=1;h<=c;h++){for(var m=(c-1)%h,p=u,v=!0,b=function(){var A=n[w];if(A==null)return 0;var _=w,O,I=()=>(O===void 0&&(O=r(A,_)),O),B=A.coordinate,F=w===m||Vc(e,B,I,p,f);if(!F)return v=!1,1;F&&(p=B+e*(I()/2+i))},S,w=m;w(w===void 0&&(w=r(b,v)),w);if(v===c-1){var N=e*(S.coordinate+e*k()/2-f);o[v]=S=sr(sr({},S),{},{tickCoord:N>0?S.coordinate-N*e:S.coordinate})}else o[v]=S=sr(sr({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var E=Vc(e,S.tickCoord,k,u,f);E&&(f=S.tickCoord-e*(k()/2+i),o[v]=sr(sr({},S),{},{isShow:!0}))}},m=c-1;m>=0;m--)h(m);return o}function SQ(e,t,r,n,i,o){var c=(n||[]).slice(),u=c.length,f=t.start,h=t.end;if(o){var m=n[u-1];if(m!=null){var p=r(m,u-1),v=e*(m.coordinate+e*p/2-h);if(c[u-1]=m=sr(sr({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate}),m.tickCoord!=null){var b=Vc(e,m.tickCoord,()=>p,f,h);b&&(h=m.tickCoord-e*(p/2+i),c[u-1]=sr(sr({},m),{},{isShow:!0}))}}}for(var S=o?u-1:u,w=function(E){var C=c[E];if(C==null)return 1;var A=C,_,O=()=>(_===void 0&&(_=r(C,E)),_);if(E===0){var I=e*(A.coordinate-e*O()/2-f);c[E]=A=sr(sr({},A),{},{tickCoord:I<0?A.coordinate-I*e:A.coordinate})}else c[E]=A=sr(sr({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var B=Vc(e,A.tickCoord,O,f,h);B&&(f=A.tickCoord+e*(O()/2+i),c[E]=sr(sr({},A),{},{isShow:!0}))}},k=0;k{var I=typeof h=="function"?h(_.value,O):_.value;return S==="width"?pQ(jc(I,{fontSize:t,letterSpacing:r}),w,p):jc(I,{fontSize:t,letterSpacing:r})[S]},N=i[0],E=i[1],C=i.length>=2&&N!=null&&E!=null?en(E.coordinate-N.coordinate):1,A=gQ(o,C,S);return f==="equidistantPreserveStart"?xQ(C,A,k,i,c):f==="equidistantPreserveEnd"?yQ(C,A,k,i,c):(f==="preserveStart"||f==="preserveStartEnd"?b=SQ(C,A,k,i,c,f==="preserveStartEnd"):b=jQ(C,A,k,i,c),b.filter(_=>_.isShow))}var NQ=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,i=n,o=e.tickSize,c=o===void 0?0:o,u=e.tickMargin,f=u===void 0?0:u,h=0;if(t){Array.from(t).forEach(b=>{if(b){var S=b.getBoundingClientRect();S.width>h&&(h=S.width)}});var m=r?r.getBoundingClientRect().width:0,p=c+f,v=h+p+m+(r?i:0);return Math.round(v)}return 0},EQ={xAxis:{},yAxis:{}},eO=ur({name:"renderedTicks",initialState:EQ,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId,o=r.ticks;e[n][i]=o},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId;delete e[n][i]}}}),tO=eO.actions,AQ=tO.setRenderedTicks,CQ=tO.removeRenderedTicks,PQ=eO.reducer,OQ=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function nN(e,t){return TQ(e)||IQ(e,t)||MQ(e,t)||_Q()}function _Q(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MQ(e,t){if(e){if(typeof e=="string")return iN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?iN(e,t):void 0}}function iN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return al;var o=t.map(c=>({value:c.value,coordinate:c.coordinate,offset:c.offset,index:c.index}));return i(AQ({ticks:o,axisId:n,axisType:r})),()=>{i(CQ({axisId:n,axisType:r}))}},[i,t,n,r]),null}var GQ=x.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,i=e.tick,o=e.tickLine,c=e.stroke,u=e.tickFormatter,f=e.unit,h=e.padding,m=e.tickTextProps,p=e.orientation,v=e.mirror,b=e.x,S=e.y,w=e.width,k=e.height,N=e.tickSize,E=e.tickMargin,C=e.fontSize,A=e.letterSpacing,_=e.getTicksConfig,O=e.events,I=e.axisType,B=e.axisId,F=wy(wt(wt({},_),{},{ticks:n}),C,A),R=kn(_),Q=kh(i),U=T3(R.textAnchor)?R.textAnchor:UQ(p,v),ge=WQ(p,v),ue={};typeof o=="object"&&(ue=o);var pe=wt(wt({},R),{},{fill:"none"},ue),se=F.map(te=>wt({entry:te},BQ(te,b,S,w,k,p,N,v,E))),ae=se.map(te=>{var ie=te.entry,D=te.line;return x.createElement(an,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(ie.value,"-").concat(ie.coordinate,"-").concat(ie.tickCoord)},o&&x.createElement("line",Eo({},pe,D,{className:it("recharts-cartesian-axis-tick-line",Po(o,"className"))})))}),Z=se.map((te,ie)=>{var D,M,q=te.entry,le=te.tick,oe=wt(wt(wt(wt({verticalAnchor:ge},R),{},{textAnchor:U,stroke:"none",fill:c},le),{},{index:ie,payload:q,visibleTicksCount:F.length,tickFormatter:u,padding:h},m),{},{angle:(D=(M=m==null?void 0:m.angle)!==null&&M!==void 0?M:R.angle)!==null&&D!==void 0?D:0}),ee=wt(wt({},oe),Q);return x.createElement(an,Eo({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(q.value,"-").concat(q.coordinate,"-").concat(q.tickCoord)},YR(O,q,ie)),i&&x.createElement(HQ,{option:i,tickProps:ee,value:"".concat(typeof u=="function"?u(q.value,ie):q.value).concat(f||"")}))});return x.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(I,"-ticks")},x.createElement(KQ,{ticks:F,axisId:B,axisType:I}),Z.length>0&&x.createElement(_i,{zIndex:pr.label},x.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(I,"-tick-labels"),ref:t},Z)),ae.length>0&&x.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(I,"-tick-lines")},ae))}),VQ=x.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,i=e.height,o=e.className,c=e.hide,u=e.ticks,f=e.axisType,h=e.axisId,m=DQ(e,OQ),p=x.useState(""),v=nN(p,2),b=v[0],S=v[1],w=x.useState(""),k=nN(w,2),N=k[0],E=k[1],C=x.useRef(null);x.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var _;return NQ({ticks:C.current,label:(_=e.labelRef)===null||_===void 0?void 0:_.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var A=x.useCallback(_=>{if(_){var O=_.getElementsByClassName("recharts-cartesian-axis-tick-value");C.current=O;var I=O[0];if(I){var B=window.getComputedStyle(I),F=B.fontSize,R=B.letterSpacing;(F!==b||R!==N)&&(S(F),E(R))}}},[b,N]);return c||n!=null&&n<=0||i!=null&&i<=0?null:x.createElement(_i,{zIndex:e.zIndex},x.createElement(an,{className:it("recharts-cartesian-axis",o)},x.createElement(FQ,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:kn(e)}),x.createElement(GQ,{ref:A,axisType:f,events:m,fontSize:b,getTicksConfig:e,height:e.height,letterSpacing:N,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:h}),x.createElement(vV,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},x.createElement(AV,{label:e.label,labelRef:e.labelRef}),e.children)))}),ky=x.forwardRef((e,t)=>{var r=sn(e,xi);return x.createElement(VQ,Eo({},r,{ref:t}))});ky.displayName="CartesianAxis";var qQ=["x1","y1","x2","y2","key"],QQ=["offset"],YQ=["xAxisId","yAxisId"],ZQ=["xAxisId","yAxisId"];function oN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cr(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,i=e.y,o=e.width,c=e.height,u=e.ry;return x.createElement("rect",{x:n,y:i,ry:u,width:o,height:c,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function rO(e){var t=e.option,r=e.lineItemProps,n;if(x.isValidElement(t))n=x.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,o=r.x1,c=r.y1,u=r.x2,f=r.y2,h=r.key,m=ah(r,qQ),p=(i=kn(m))!==null&&i!==void 0?i:{};p.offset;var v=ah(p,QQ);n=x.createElement("line",to({},v,{x1:o,y1:c,x2:u,y2:f,fill:"none",key:h}))}return n}function nY(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,o=e.horizontalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var c=ah(e,YQ),u=o.map((f,h)=>{var m=cr(cr({},c),{},{x1:t,y1:f,x2:t+r,y2:f,key:"line-".concat(h),index:h});return x.createElement(rO,{key:"line-".concat(h),option:i,lineItemProps:m})});return x.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function iY(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,o=e.verticalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var c=ah(e,ZQ),u=o.map((f,h)=>{var m=cr(cr({},c),{},{x1:f,y1:t,x2:f,y2:t+r,key:"line-".concat(h),index:h});return x.createElement(rO,{option:i,lineItemProps:m,key:"line-".concat(h)})});return x.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function aY(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,o=e.width,c=e.height,u=e.horizontalPoints,f=e.horizontal,h=f===void 0?!0:f;if(!h||!t||!t.length||u==null)return null;var m=u.map(v=>Math.round(v+i-i)).sort((v,b)=>v-b);i!==m[0]&&m.unshift(0);var p=m.map((v,b)=>{var S=m[b+1],w=S==null,k=w?i+c-v:S-v;if(k<=0)return null;var N=b%t.length;return x.createElement("rect",{key:"react-".concat(b),y:v,x:n,height:k,width:o,stroke:"none",fill:t[N],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function oY(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,o=e.x,c=e.y,u=e.width,f=e.height,h=e.verticalPoints;if(!r||!n||!n.length)return null;var m=h.map(v=>Math.round(v+o-o)).sort((v,b)=>v-b);o!==m[0]&&m.unshift(0);var p=m.map((v,b)=>{var S=m[b+1],w=S==null,k=w?o+u-v:S-v;if(k<=0)return null;var N=b%n.length;return x.createElement("rect",{key:"react-".concat(b),x:v,y:c,width:k,height:f,stroke:"none",fill:n[N],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var sY=(e,t)=>{var r=e.xAxis,n=e.width,i=e.height,o=e.offset;return LA(wy(cr(cr(cr({},xi),r),{},{ticks:RA(r),viewBox:{x:0,y:0,width:n,height:i}})),o.left,o.left+o.width,t)},lY=(e,t)=>{var r=e.yAxis,n=e.width,i=e.height,o=e.offset;return LA(wy(cr(cr(cr({},xi),r),{},{ticks:RA(r),viewBox:{x:0,y:0,width:n,height:i}})),o.top,o.top+o.height,t)},cY={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:pr.grid};function nO(e){var t=KA(),r=GA(),n=HA(),i=cr(cr({},sn(e,cY)),{},{x:Pe(e.x)?e.x:n.left,y:Pe(e.y)?e.y:n.top,width:Pe(e.width)?e.width:n.width,height:Pe(e.height)?e.height:n.height}),o=i.xAxisId,c=i.yAxisId,u=i.x,f=i.y,h=i.width,m=i.height,p=i.syncWithTicks,v=i.horizontalValues,b=i.verticalValues,S=Or(),w=Te(F=>lS(F,"xAxis",o,S)),k=Te(F=>lS(F,"yAxis",c,S));if(!qn(h)||!qn(m)||!Pe(u)||!Pe(f))return null;var N=i.verticalCoordinatesGenerator||sY,E=i.horizontalCoordinatesGenerator||lY,C=i.horizontalPoints,A=i.verticalPoints;if((!C||!C.length)&&typeof E=="function"){var _=v&&v.length,O=E({yAxis:k?cr(cr({},k),{},{ticks:_?v:k.ticks}):void 0,width:t??h,height:r??m,offset:n},_?!0:p);_f(Array.isArray(O),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof O,"]")),Array.isArray(O)&&(C=O)}if((!A||!A.length)&&typeof N=="function"){var I=b&&b.length,B=N({xAxis:w?cr(cr({},w),{},{ticks:I?b:w.ticks}):void 0,width:t??h,height:r??m,offset:n},I?!0:p);_f(Array.isArray(B),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof B,"]")),Array.isArray(B)&&(A=B)}return x.createElement(_i,{zIndex:i.zIndex},x.createElement("g",{className:"recharts-cartesian-grid"},x.createElement(rY,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),x.createElement(aY,to({},i,{horizontalPoints:C})),x.createElement(oY,to({},i,{verticalPoints:A})),x.createElement(nY,to({},i,{offset:n,horizontalPoints:C,xAxis:w,yAxis:k})),x.createElement(iY,to({},i,{offset:n,verticalPoints:A,xAxis:w,yAxis:k}))))}nO.displayName="CartesianGrid";var uY={},iO=ur({name:"errorBars",initialState:uY,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]||(e[n]=[]),e[n].push(i)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(c=>c.dataKey===i.dataKey&&c.direction===i.direction?o:c))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==i.dataKey||o.direction!==i.direction))}}}),jy=iO.actions;jy.addErrorBar;jy.replaceErrorBar;jy.removeErrorBar;var dY=iO.reducer;function aO(e,t){var r,n,i=Te(h=>Ci(h,e)),o=Te(h=>Pi(h,t)),c=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:Ot.allowDataOverflow,u=(n=o==null?void 0:o.allowDataOverflow)!==null&&n!==void 0?n:_t.allowDataOverflow,f=c||u;return{needClip:f,needClipX:c,needClipY:u}}function fY(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,i=by(),o=aO(t,r),c=o.needClipX,u=o.needClipY,f=o.needClip,h=Te(C=>WP(C,t,!1)),m=Te(C=>HP(C,r,!1));if(!f||!i)return null;var p=i.x,v=i.y,b=i.width,S=i.height,w=c&&h?Math.min(h[0],h[1]):p-b/2,k=u&&m?Math.min(m[0],m[1]):v-S/2,N=c&&h?Math.abs(h[1]-h[0]):b*2,E=u&&m?Math.abs(m[1]-m[0]):S*2;return x.createElement("clipPath",{id:"clipPath-".concat(n)},x.createElement("rect",{x:w,y:k,width:N,height:E}))}function hY(e){var t=kh(e),r=3,n=2;if(t!=null){var i=t.r,o=t.strokeWidth,c=Number(i),u=Number(o);return(Number.isNaN(c)||c<0)&&(c=r),(Number.isNaN(u)||u<0)&&(u=n),{r:c,strokeWidth:u}}return{r,strokeWidth:n}}function Sy(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:Q3}function Ny(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:Q3}var oO=(e,t,r)=>XP(e,"xAxis",Sy(e,t),r),sO=(e,t,r)=>ZP(e,"xAxis",Sy(e,t),r),lO=(e,t,r)=>XP(e,"yAxis",Ny(e,t),r),cO=(e,t,r)=>ZP(e,"yAxis",Ny(e,t),r),mY=Y([mt,oO,lO,sO,cO],(e,t,r,n,i)=>Zn(e,"xAxis")?Of(t,n,!1):Of(r,i,!1)),pY=(e,t)=>t,uO=Y([vP,pY],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),dO=e=>{var t=mt(e),r=Zn(t,"xAxis");return r?"yAxis":"xAxis"},gY=(e,t)=>{var r=dO(e);return r==="yAxis"?Ny(e,t):Sy(e,t)},vY=(e,t,r)=>AP(e,dO(e),gY(e,t),r),xY=Y([uO,vY],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,i=N0(e);if(!(n==null||i==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,c=o==null?void 0:o.find(u=>u.key===i);if(c!=null)return c.map(u=>[u[0],u[1]])}}}),yY=Y([mt,oO,lO,sO,cO,xY,W9,mY,uO,o7],(e,t,r,n,i,o,c,u,f,h)=>{var m=c.chartData,p=c.dataStartIndex,v=c.dataEndIndex;if(!(f==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var b=f.data,S;if(b&&b.length>0?S=b:S=m==null?void 0:m.slice(p,v+1),S!=null)return KY({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:p,areaSettings:f,stackedData:o,displayedData:S,chartBaseValue:h,bandSize:u})}}),bY=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],wY=["id","baseLine"];function Sc(){return Sc=Object.assign?Object.assign.bind():function(e){for(var t=1;tp.y||0));return Pe(i)?m=Math.max(i,m):i&&Array.isArray(i)&&i.length&&(m=Math.max(...i.map(p=>p.y||0),m)),Pe(m)?x.createElement("rect",{x:up.x||0));return Pe(i)?m=Math.max(i,m):i&&Array.isArray(i)&&i.length&&(m=Math.max(...i.map(p=>p.x||0),m)),Pe(m)?x.createElement("rect",{x:0,y:ue==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Xs(Xs({},r.next),{},{x:hi(r.prev.x,r.next.x,t),y:hi(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),hO={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:xy,animationInterpolateFn:IY,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:EY,xAxisId:0,yAxisId:0,zIndex:pr.area};function sh(e,t){return e&&e!=="none"?e:t}var TY=e=>{var t=e.dataKey,r=e.name,n=e.stroke,i=e.fill,o=e.legendType,c=e.hide;return[{inactive:c,dataKey:t,type:o,color:sh(n,i),value:$A(r,t),payload:e}]},DY=x.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,i=e.strokeWidth,o=e.fill,c=e.name,u=e.hide,f=e.unit,h=e.tooltipType,m=e.id,p={dataDefinedOnItem:r,getPosition:al,settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:void 0,name:$A(c,t),hide:u,type:h,color:sh(n,o),unit:f,graphicalItemId:m}};return x.createElement(VV,{tooltipEntrySettings:p})});function LY(e){var t=e.clipPathId,r=e.points,n=e.props,i=n.needClip,o=n.dot,c=n.dataKey,u=kn(n);return x.createElement(Lq,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:c,baseProps:u,needClip:i,clipPathId:t})}function RY(e){var t=e.showLabels,r=e.children,n=e.points,i=n.map(o=>{var c,u,f={x:(c=o.x)!==null&&c!==void 0?c:0,y:(u=o.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Xs(Xs({},f),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:f,fill:void 0})});return x.createElement(MV,{value:t?i:void 0},r)}function $Y(e){var t=e.points,r=e.baseLine,n=e.needClip,i=e.clipPathId,o=e.props,c=e.animationElapsedTime,u=e.isAnimating,f=e.isEntrance,h=o.layout,m=o.type,p=o.stroke,v=o.connectNulls,b=o.isRange,S=o.shape,w=o.id,k=fO(o,AY),N=nn(k),E=Xs(Xs({},N),{},{id:w,points:t,connectNulls:v,type:m,baseLine:r,layout:h,stroke:p,isRange:b,animationElapsedTime:c,isAnimating:u,isEntrance:f});return x.createElement(x.Fragment,null,(t==null?void 0:t.length)>1&&x.createElement(an,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},x.createElement(GV,{option:S,DefaultShape:hO.shape,shapeProps:E})),x.createElement(LY,{points:t,props:k,clipPathId:i}))}function zY(e,t,r){if(Pe(e)){var n=Pe(t)?t:void 0;return hi(n,e,r)}if(Jt(e)||Gn(e)){var i=Pe(t)?t:void 0;return hi(i,0,r)}return e}function FY(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=e.previousPointsRef,o=e.previousBaselineRef,c=n.points,u=n.baseLine,f=n.isAnimationActive,h=n.animationBegin,m=n.animationDuration,p=n.animationEasing,v=n.animationMatchBy,b=n.animationInterpolateFn,S=x.useMemo(()=>({points:c,baseLine:u}),[c,u]),w=G3(S,o),k=d0(),N=uq(n.onAnimationStart,n.onAnimationEnd),E=N.isAnimating,C=N.handleAnimationStart,A=N.handleAnimationEnd,_=w.startValue;if(k==null)return null;var O;return Array.isArray(u)&&Array.isArray(_)?O=bx(_,u,v):Array.isArray(u)?O=bx(null,u,v):O=null,x.createElement(dq,{animationInput:S,animationIdPrefix:"recharts-area-",items:c,previousItemsRef:i,isAnimationActive:f,animationBegin:h,animationDuration:m,animationEasing:p,onAnimationStart:C,onAnimationEnd:A,animationInterpolateFn:b,animationMatchBy:v,layout:k},(I,B,F)=>{var R;return B===1?R=u:Array.isArray(u)?R=b(O,B,k):R=F?u:zY(u,_,B),w.syncStepValue(R,B),x.createElement(RY,{showLabels:!E,points:c},n.children,x.createElement($Y,{points:I,baseLine:R,needClip:t,clipPathId:r,props:n,animationElapsedTime:B,isAnimating:E||B<1,isEntrance:F}),x.createElement(DV,{label:n.label}))})}function BY(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=x.useRef(null),o=x.useRef();return x.createElement(FY,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:o})}class UY extends x.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,i=t.points,o=t.className,c=t.top,u=t.left,f=t.needClip,h=t.xAxisId,m=t.yAxisId,p=t.width,v=t.height,b=t.id,S=t.baseLine,w=t.zIndex;if(r)return null;var k=it("recharts-area",o),N=b,E=hY(n),C=E.r,A=E.strokeWidth,_=H3(n),O=C*2+A,I=f?"url(#clipPath-".concat(_?"":"dots-").concat(N,")"):void 0;return x.createElement(_i,{zIndex:w},x.createElement(an,{className:k},f&&x.createElement("defs",null,x.createElement(fY,{clipPathId:N,xAxisId:h,yAxisId:m}),!_&&x.createElement("clipPath",{id:"clipPath-dots-".concat(N)},x.createElement("rect",{x:u-O/2,y:c-O/2,width:p+O,height:v+O}))),x.createElement(BY,{needClip:f,clipPathId:N,props:this.props})),x.createElement(JS,{points:i,mainColor:sh(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(S)&&x.createElement(JS,{points:S,mainColor:sh(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}function WY(e){var t,r=e.activeDot,n=e.animationBegin,i=e.animationDuration,o=e.animationEasing,c=e.connectNulls,u=e.dot,f=e.fill,h=e.fillOpacity,m=e.hide,p=e.isAnimationActive,v=e.legendType,b=e.stroke,S=e.xAxisId,w=e.yAxisId,k=fO(e,CY),N=ol(),E=w3(),C=aO(S,w),A=C.needClip,_=Or(),O=(t=Te(pe=>yY(pe,e.id,_)))!==null&&t!==void 0?t:{},I=O.points,B=O.isRange,F=O.baseLine,R=by();if(N!=="horizontal"&&N!=="vertical"||R==null||E!=="AreaChart"&&E!=="ComposedChart")return null;var Q=R.height,U=R.width,ge=R.x,ue=R.y;return!I||!I.length?null:x.createElement(UY,oh({},k,{activeDot:r,animationBegin:n,animationDuration:i,animationEasing:o,baseLine:F,connectNulls:c,dot:u,fill:f,fillOpacity:h,height:Q,hide:m,layout:N,isAnimationActive:p,isRange:B,legendType:v,needClip:A,points:I,stroke:b,width:U,left:ge,top:ue,xAxisId:S,yAxisId:w}))}var HY=(e,t,r,n,i)=>{var o=r??t;if(Pe(o))return o;var c=e==="horizontal"?i:n,u=c.scale.domain();if(c.type==="number"){var f=Math.max(u[0],u[1]),h=Math.min(u[0],u[1]);return o==="dataMin"?h:o==="dataMax"||f<0?f:Math.max(Math.min(u[0],u[1]),0)}return o==="dataMin"?u[0]:o==="dataMax"?u[1]:u[0]};function KY(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,i=t.dataKey,o=e.stackedData,c=e.layout,u=e.chartBaseValue,f=e.xAxis,h=e.yAxis,m=e.displayedData,p=e.dataStartIndex,v=e.xAxisTicks,b=e.yAxisTicks,S=e.bandSize,w=o&&o.length,k=HY(c,u,n,f,h),N=c==="horizontal",E=!1,C=m.map((_,O)=>{var I,B,F,R;if(w)R=o[p+O];else{var Q=Bt(_,i);Array.isArray(Q)?(R=Q,E=!0):R=[k,Q]}var U=(I=(B=R)===null||B===void 0?void 0:B[1])!==null&&I!==void 0?I:null,ge=U==null||w&&!r&&Bt(_,i)==null;if(N){var ue;return{x:nj({axis:f,ticks:v,bandSize:S,entry:_,index:O}),y:ge?null:(ue=h.scale.map(U))!==null&&ue!==void 0?ue:null,value:R,payload:_}}return{x:ge?null:(F=f.scale.map(U))!==null&&F!==void 0?F:null,y:nj({axis:h,ticks:b,bandSize:S,entry:_,index:O}),value:R,payload:_}}),A;return w||E?A=C.map(_=>{var O,I=Array.isArray(_.value)?_.value[0]:null;if(N){var B;return{x:_.x,y:I!=null&&_.y!=null&&(B=h.scale.map(I))!==null&&B!==void 0?B:null,payload:_.payload}}return{x:I!=null&&(O=f.scale.map(I))!==null&&O!==void 0?O:null,y:_.y,payload:_.payload}}):A=N?h.scale.map(k):f.scale.map(k),{points:C,baseLine:A??0,isRange:E}}function GY(e){var t=sn(e,hO),r=Or();return x.createElement(bq,{id:t.id,type:"area"},n=>x.createElement(x.Fragment,null,x.createElement(qV,{legendPayload:TY(t)}),x.createElement(DY,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),x.createElement(Aq,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Pz(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),x.createElement(WY,oh({},t,{id:n}))))}var mO=x.memo(GY,Hh);mO.displayName="Area";var VY=["domain","range"],qY=["domain","range"];function cN(e,t){if(e==null)return{};var r,n,i=QY(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(c!=null)return fN(fN({},o),{},{type:c})},[o,c]);return x.useLayoutEffect(()=>{u!=null&&(r.current===null?t(Bq(u)):r.current!==u&&t(Uq({prev:r.current,next:u})),r.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{r.current&&(t(Wq(r.current)),r.current=null)},[t]),null}var iZ=e=>{var t=e.xAxisId,r=e.className,n=Te(FA),i=Or(),o="xAxis",c=Te(v=>YP(v,o,t,i)),u=Te(v=>$W(v,t)),f=Te(v=>HW(v,t)),h=Te(v=>hP(v,t));if(u==null||f==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var m=kx(e,ZY);h.id,h.scale;var p=kx(h,XY);return x.createElement(ky,wx({},m,p,{x:f.x,y:f.y,width:u.width,height:u.height,className:it("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:c,axisType:o,axisId:t}))},aZ={allowDataOverflow:Ot.allowDataOverflow,allowDecimals:Ot.allowDecimals,allowDuplicatedCategory:Ot.allowDuplicatedCategory,angle:Ot.angle,axisLine:xi.axisLine,height:Ot.height,hide:!1,includeHidden:Ot.includeHidden,interval:Ot.interval,label:!1,minTickGap:Ot.minTickGap,mirror:Ot.mirror,orientation:Ot.orientation,padding:Ot.padding,reversed:Ot.reversed,scale:Ot.scale,tick:Ot.tick,tickCount:Ot.tickCount,tickLine:xi.tickLine,tickSize:xi.tickSize,type:Ot.type,niceTicks:Ot.niceTicks,xAxisId:0},oZ=e=>{var t=sn(e,aZ);return x.createElement(x.Fragment,null,x.createElement(nZ,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),x.createElement(iZ,t))},gO=x.memo(oZ,pO);gO.displayName="XAxis";var sZ=["type"],lZ=["dangerouslySetInnerHTML","ticks","scale"],cZ=["id","scale"];function jx(){return jx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(c!=null)return mN(mN({},o),{},{type:c})},[c,o]);return x.useLayoutEffect(()=>{u!=null&&(r.current===null?t(Hq(u)):r.current!==u&&t(Kq({prev:r.current,next:u})),r.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{r.current&&(t(Gq(r.current)),r.current=null)},[t]),null}function pZ(e){var t=e.yAxisId,r=e.className,n=e.width,i=e.label,o=x.useRef(null),c=x.useRef(null),u=Te(FA),f=Or(),h=At(),m="yAxis",p=Te(N=>VW(N,t)),v=Te(N=>GW(N,t)),b=Te(N=>YP(N,m,t,f)),S=Te(N=>mP(N,t));if(x.useLayoutEffect(()=>{if(!(n!=="auto"||!p||vy(i)||x.isValidElement(i)||S==null)){var N=o.current;if(N){var E=N.getCalculatedWidth();Math.round(p.width)!==Math.round(E)&&h(Vq({id:t,width:E}))}}},[b,p,h,i,t,n,S]),p==null||v==null||S==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var w=Sx(e,lZ);S.id,S.scale;var k=Sx(S,cZ);return x.createElement(ky,jx({},w,k,{ref:o,labelRef:c,x:v.x,y:v.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:p.width,height:p.height,className:it("recharts-".concat(m," ").concat(m),r),viewBox:u,ticks:b,axisType:m,axisId:t}))}var gZ={allowDataOverflow:_t.allowDataOverflow,allowDecimals:_t.allowDecimals,allowDuplicatedCategory:_t.allowDuplicatedCategory,angle:_t.angle,axisLine:xi.axisLine,hide:!1,includeHidden:_t.includeHidden,interval:_t.interval,label:!1,minTickGap:_t.minTickGap,mirror:_t.mirror,orientation:_t.orientation,padding:_t.padding,reversed:_t.reversed,scale:_t.scale,tick:_t.tick,tickCount:_t.tickCount,tickLine:xi.tickLine,tickSize:xi.tickSize,type:_t.type,niceTicks:_t.niceTicks,width:_t.width,yAxisId:0},vZ=e=>{var t=sn(e,gZ);return x.createElement(x.Fragment,null,x.createElement(mZ,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),x.createElement(pZ,t))},vO=x.memo(vZ,pO);vO.displayName="YAxis";var xZ=(e,t)=>t,Ey=Y([xZ,mt,CC,Ht,p3,Oi,pK,tr],kK);function yZ(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Ay(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(yZ(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var c=(u,f)=>({relativeX:Math.round((u-t.left)/r),relativeY:Math.round((f-t.top)/n)});return"touches"in e?Array.from(e.touches).map(u=>c(u.clientX,u.clientY)):c(e.clientX,e.clientY)}var xO=Ur("mouseClick"),yO=iu();yO.startListening({actionCreator:xO,effect:(e,t)=>{var r=e.payload,n=Ey(t.getState(),Ay(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(lH({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var Nx=Ur("mouseMove"),bO=iu(),hs=null,Wa=null,Xg=null;bO.startListening({actionCreator:Nx,effect:(e,t)=>{var r=e.payload,n=t.getState(),i=n.eventSettings,o=i.throttleDelay,c=i.throttledEvents,u=c==="all"||(c==null?void 0:c.includes("mousemove"));hs!==null&&(cancelAnimationFrame(hs),hs=null),Wa!==null&&(typeof o!="number"||!u)&&(clearTimeout(Wa),Wa=null),Xg=Ay(r);var f=()=>{var h=t.getState(),m=vu(h,h.tooltip.settings.shared);if(!Xg){hs=null,Wa=null;return}if(m==="axis"){var p=Ey(h,Xg);(p==null?void 0:p.activeIndex)!=null?t.dispatch(a3({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(i3())}hs=null,Wa=null};if(!u){f();return}o==="raf"?hs=requestAnimationFrame(f):typeof o=="number"&&Wa===null&&(Wa=setTimeout(f,o))}});function bZ(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var pN={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},wO=ur({name:"rootProps",initialState:pN,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:pN.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),wZ=wO.reducer,kZ=wO.actions.updateOptions,jZ=null,SZ={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},kO=ur({name:"polarOptions",initialState:jZ,reducers:SZ});kO.actions.updatePolarOptions;var NZ=kO.reducer,jO=Ur("keyDown"),SO=Ur("focus"),NO=Ur("blur"),um=iu(),ms=null,Ha=null,Xd=null;um.startListening({actionCreator:jO,effect:(e,t)=>{Xd=e.payload,ms!==null&&(cancelAnimationFrame(ms),ms=null);var r=t.getState(),n=r.eventSettings,i=n.throttleDelay,o=n.throttledEvents,c=o==="all"||o.includes("keydown");Ha!==null&&(typeof i!="number"||!c)&&(clearTimeout(Ha),Ha=null);var u=()=>{try{var f=t.getState(),h=f.rootProps.accessibilityLayer!==!1;if(!h)return;var m=f.tooltip.keyboardInteraction,p=Xd;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var v=kc(m,No(f),Ys(f),Zs(f)),b=v==null?-1:Number(v),S=!Number.isFinite(b)||b<0,w=Oi(f),k=No(f),N=vu(f,f.tooltip.settings.shared);if(p==="Enter"){if(S)return;var E=th(f,N,"hover",String(m.index));t.dispatch(eh({active:!m.active,activeIndex:m.index,activeCoordinate:E}));return}var C=XW(f),A=C==="left-to-right"?1:-1,_=p==="ArrowRight"?1:-1,O;if(S){var I=Ys(f),B=Zs(f),F=_*A,R=pe=>({active:!1,index:String(pe),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(O=-1,F>0){for(var Q=0;Q=0;U--)if(kc(R(U),k,I,B)!=null){O=U;break}if(O<0)return}else{O=b+_*A;var ge=(w==null?void 0:w.length)||k.length;if(ge===0||O>=ge||O<0)return}var ue=th(f,N,"hover",String(O));t.dispatch(eh({active:!0,activeIndex:O.toString(),activeCoordinate:ue}))}finally{ms=null,Ha=null}};if(!c){u();return}i==="raf"?ms=requestAnimationFrame(u):typeof i=="number"&&Ha===null&&(u(),Xd=null,Ha=setTimeout(()=>{Xd?u():(Ha=null,ms=null)},i))}});um.startListening({actionCreator:SO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var o="0",c=vu(r,r.tooltip.settings.shared),u=th(r,c,"hover",String(o));t.dispatch(eh({active:!0,activeIndex:o,activeCoordinate:u}))}}}});um.startListening({actionCreator:NO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;i.active&&t.dispatch(eh({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function EO(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var Zr=Ur("externalEvent"),AO=iu(),Jd=new Map,pc=new Map,Jg=new Map;AO.startListening({actionCreator:Zr,effect:(e,t)=>{var r=e.payload,n=r.handler,i=r.reactEvent;if(n!=null){var o=i.type,c=EO(i);Jg.set(o,{handler:n,reactEvent:c});var u=Jd.get(o);u!==void 0&&(cancelAnimationFrame(u),Jd.delete(o));var f=t.getState(),h=f.eventSettings,m=h.throttleDelay,p=h.throttledEvents,v=p,b=v==="all"||(v==null?void 0:v.includes(o)),S=pc.get(o);S!==void 0&&(typeof m!="number"||!b)&&(clearTimeout(S),pc.delete(o));var w=()=>{var E=Jg.get(o);try{if(!E)return;var C=E.handler,A=E.reactEvent,_=t.getState(),O={activeCoordinate:eK(_),activeDataKey:ZH(_),activeIndex:Kc(_),activeLabel:x3(_),activeTooltipIndex:Kc(_),isTooltipActive:tK(_)};C&&C(O,A)}finally{Jd.delete(o),pc.delete(o),Jg.delete(o)}};if(!b){w();return}if(m==="raf"){var k=requestAnimationFrame(w);Jd.set(o,k)}else if(typeof m=="number"){if(!pc.has(o)){w();var N=setTimeout(w,m);pc.set(o,N)}}else w()}}});var EZ=Y([ml],e=>e.tooltipItemPayloads),AZ=Y([EZ,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var i=n.getPosition;if(i!=null)return i(t)}}}),CO=Ur("touchMove"),PO=iu(),Ka=null,ea=null,gN=null,gc=null;PO.startListening({actionCreator:CO,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){gc=EO(r);var n=t.getState(),i=n.eventSettings,o=i.throttleDelay,c=i.throttledEvents,u=c==="all"||c.includes("touchmove");Ka!==null&&(cancelAnimationFrame(Ka),Ka=null),ea!==null&&(typeof o!="number"||!u)&&(clearTimeout(ea),ea=null),gN=Array.from(r.touches).map(h=>Ay({clientX:h.clientX,clientY:h.clientY,currentTarget:r.currentTarget}));var f=()=>{if(gc!=null){var h=t.getState(),m=vu(h,h.tooltip.settings.shared);if(m==="axis"){var p,v=(p=gN)===null||p===void 0?void 0:p[0];if(v==null){Ka=null,ea=null;return}var b=Ey(h,v);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(a3({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(m==="item"){var S,w=gc.touches[0];if(document.elementFromPoint==null||w==null)return;var k=document.elementFromPoint(w.clientX,w.clientY);if(!k||!k.getAttribute)return;var N=k.getAttribute(Lz),E=(S=k.getAttribute(Rz))!==null&&S!==void 0?S:void 0,C=Mo(h).find(O=>O.id===E);if(N==null||C==null||E==null)return;var A=C.dataKey,_=AZ(h,N,E);t.dispatch(sH({activeDataKey:A,activeIndex:N,activeCoordinate:_,activeGraphicalItemId:E}))}Ka=null,ea=null}};if(!u){f();return}o==="raf"?Ka=requestAnimationFrame(f):typeof o=="number"&&ea===null&&(f(),gc=null,ea=setTimeout(()=>{gc?f():(ea=null,Ka=null)},o))}}});var OO={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},_O=ur({name:"eventSettings",initialState:OO,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),CZ=_O.actions.setEventSettings,PZ=_O.reducer,OZ=sA({brush:nQ,cartesianAxis:qq,chartData:JK,errorBars:dY,eventSettings:PZ,graphicalItems:Nq,layout:bz,legend:T8,options:qK,polarAxis:RV,polarOptions:NZ,referenceElements:sQ,renderedTicks:PQ,rootProps:wZ,tooltip:cH,zIndex:DK}),_Z=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return K$({reducer:OZ,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([yO.middleware,bO.middleware,um.middleware,AO.middleware,PO.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(kA({type:"raf"}))},devTools:{serialize:{replacer:bZ},name:"recharts-".concat(r)}})};function MZ(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,i=Or(),o=x.useRef(null);if(i)return r;o.current==null&&(o.current=_Z(t,n));var c=r0;return x.createElement(Y8,{context:c,store:o.current},r)}function IZ(e){var t=e.layout,r=e.margin,n=At(),i=Or();return x.useEffect(()=>{i||(n(vz(t)),n(gz(r)))},[n,i,t,r]),null}var TZ=x.memo(IZ,Hh);function DZ(e){var t=At();return x.useEffect(()=>{t(kZ(e))},[t,e]),null}var LZ=e=>{var t=At();return x.useEffect(()=>{t(CZ(e))},[t,e]),null},RZ=x.memo(LZ,Hh);function vN(e){var t=e.zIndex,r=e.isPanorama,n=x.useRef(null),i=At();return x.useLayoutEffect(()=>(n.current&&i(IK({zIndex:t,element:n.current,isPanorama:r})),()=>{i(TK({zIndex:t,isPanorama:r}))}),[i,t,r]),x.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function xN(e){var t=e.children,r=e.isPanorama,n=Te(SK);if(!n||n.length===0)return t;var i=n.filter(c=>c<0),o=n.filter(c=>c>0);return x.createElement(x.Fragment,null,i.map(c=>x.createElement(vN,{key:c,zIndex:c,isPanorama:r})),t,o.map(c=>x.createElement(vN,{key:c,zIndex:c,isPanorama:r})))}var $Z=["children"];function zZ(e,t){if(e==null)return{};var r,n,i=FZ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=KA(),n=GA(),i=rC();if(!qn(r)||!qn(n))return null;var o=e.children,c=e.otherAttributes,u=e.title,f=e.desc,h,m;return c!=null&&(typeof c.tabIndex=="number"?h=c.tabIndex:h=i?0:void 0,typeof c.role=="string"?m=c.role:m=i?"application":void 0),x.createElement(NE,lh({},c,{title:u,desc:f,role:m,tabIndex:h,width:r,height:n,style:BZ,ref:t}),o)}),WZ=e=>{var t=e.children,r=Te(zh);if(!r)return null;var n=r.width,i=r.height,o=r.y,c=r.x;return x.createElement(NE,{width:n,height:i,x:c,y:o},t)},yN=x.forwardRef((e,t)=>{var r=e.children,n=zZ(e,$Z),i=Or();return i?x.createElement(WZ,null,x.createElement(xN,{isPanorama:!0},r)):x.createElement(UZ,lh({ref:t},n),x.createElement(xN,{isPanorama:!1},r))});function HZ(e,t){return qZ(e)||VZ(e,t)||GZ(e,t)||KZ()}function KZ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function GZ(e,t){if(e){if(typeof e=="string")return bN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bN(e,t):void 0}}function bN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var c=n.getBoundingClientRect(),u=c.width/n.offsetWidth;Ge(u)&&u!==o&&e(yz(u))}},[n,e,o]),i}function wN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function YZ(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(lG(),null);function uh(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var aX=x.forwardRef((e,t)=>{var r,n,i=x.useRef(null),o=x.useState({containerWidth:uh((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:uh((n=e.style)===null||n===void 0?void 0:n.height)}),c=ch(o,2),u=c[0],f=c[1],h=x.useCallback((p,v)=>{f(b=>{var S=Math.round(p),w=Math.round(v);return b.containerWidth===S&&b.containerHeight===w?b:{containerWidth:S,containerHeight:w}})},[]),m=x.useCallback(p=>{if(typeof t=="function"&&t(p),i.current!=null&&(i.current.disconnect(),i.current=null),p!=null&&typeof ResizeObserver<"u"){var v=p.getBoundingClientRect(),b=v.width,S=v.height;h(b,S);var w=N=>{var E=N[0];if(E!=null){var C=E.contentRect,A=C.width,_=C.height;h(A,_)}},k=new ResizeObserver(w);k.observe(p),i.current=k}},[t,h]);return x.useEffect(()=>()=>{var p=i.current;p!=null&&p.disconnect()},[h]),x.createElement(x.Fragment,null,x.createElement(ou,{width:u.containerWidth,height:u.containerHeight}),x.createElement("div",ba({ref:m},e)))}),oX=x.forwardRef((e,t)=>{var r=e.width,n=e.height,i=x.useState({containerWidth:uh(r),containerHeight:uh(n)}),o=ch(i,2),c=o[0],u=o[1],f=x.useCallback((m,p)=>{u(v=>{var b=Math.round(m),S=Math.round(p);return v.containerWidth===b&&v.containerHeight===S?v:{containerWidth:b,containerHeight:S}})},[]),h=x.useCallback(m=>{if(typeof t=="function"&&t(m),m!=null){var p=m.getBoundingClientRect(),v=p.width,b=p.height;f(v,b)}},[t,f]);return x.createElement(x.Fragment,null,x.createElement(ou,{width:c.containerWidth,height:c.containerHeight}),x.createElement("div",ba({ref:h},e)))}),sX=x.forwardRef((e,t)=>{var r=e.width,n=e.height;return x.createElement(x.Fragment,null,x.createElement(ou,{width:r,height:n}),x.createElement("div",ba({ref:t},e)))}),lX=x.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?x.createElement(oX,ba({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?x.createElement(sX,ba({},e,{width:r,height:n,ref:t})):x.createElement(x.Fragment,null,x.createElement(ou,{width:r,height:n}),x.createElement("div",ba({ref:t},e)))});function cX(e){return e?aX:lX}var uX=x.forwardRef((e,t)=>{var r=e.children,n=e.className,i=e.height,o=e.onClick,c=e.onContextMenu,u=e.onDoubleClick,f=e.onMouseDown,h=e.onMouseEnter,m=e.onMouseLeave,p=e.onMouseMove,v=e.onMouseUp,b=e.onTouchEnd,S=e.onTouchMove,w=e.onTouchStart,k=e.style,N=e.width,E=e.responsive,C=e.dispatchTouchEvents,A=C===void 0?!0:C,_=x.useRef(null),O=At(),I=x.useState(null),B=ch(I,2),F=B[0],R=B[1],Q=x.useState(null),U=ch(Q,2),ge=U[0],ue=U[1],pe=QZ(),se=c0(),ae=(se==null?void 0:se.width)>0?se.width:N,Z=(se==null?void 0:se.height)>0?se.height:i,te=x.useCallback(be=>{pe(be),typeof t=="function"&&t(be),R(be),ue(be),be!=null&&(_.current=be)},[pe,t,R,ue]),ie=x.useCallback(be=>{O(xO(be)),O(Zr({handler:o,reactEvent:be}))},[O,o]),D=x.useCallback(be=>{O(Nx(be)),O(Zr({handler:h,reactEvent:be}))},[O,h]),M=x.useCallback(be=>{O(i3()),O(Zr({handler:m,reactEvent:be}))},[O,m]),q=x.useCallback(be=>{O(Nx(be)),O(Zr({handler:p,reactEvent:be}))},[O,p]),le=x.useCallback(()=>{O(SO())},[O]),oe=x.useCallback(()=>{O(NO())},[O]),ee=x.useCallback(be=>{O(jO(be.key))},[O]),ne=x.useCallback(be=>{O(Zr({handler:c,reactEvent:be}))},[O,c]),he=x.useCallback(be=>{O(Zr({handler:u,reactEvent:be}))},[O,u]),re=x.useCallback(be=>{O(Zr({handler:f,reactEvent:be}))},[O,f]),ye=x.useCallback(be=>{O(Zr({handler:v,reactEvent:be}))},[O,v]),Oe=x.useCallback(be=>{O(Zr({handler:w,reactEvent:be}))},[O,w]),W=x.useCallback(be=>{A&&O(CO(be)),O(Zr({handler:S,reactEvent:be}))},[O,A,S]),ke=x.useCallback(be=>{O(Zr({handler:b,reactEvent:be}))},[O,b]),Ie=cX(E);return x.createElement(E3.Provider,{value:F},x.createElement(SR.Provider,{value:ge},x.createElement(Ie,{width:ae??(k==null?void 0:k.width),height:Z??(k==null?void 0:k.height),className:it("recharts-wrapper",n),style:YZ({position:"relative",cursor:"default",width:ae,height:Z},k),onClick:ie,onContextMenu:ne,onDoubleClick:he,onFocus:le,onBlur:oe,onKeyDown:ee,onMouseDown:re,onMouseEnter:D,onMouseLeave:M,onMouseMove:q,onMouseUp:ye,onTouchEnd:ke,onTouchMove:W,onTouchStart:Oe,ref:te},x.createElement(iX,null),r)))}),dX=["width","height","responsive","children","className","style","compact","title","desc"];function fX(e,t){if(e==null)return{};var r,n,i=hX(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,i=e.responsive,o=e.children,c=e.className,u=e.style,f=e.compact,h=e.title,m=e.desc,p=fX(e,dX),v=kn(p);return f?x.createElement(x.Fragment,null,x.createElement(ou,{width:r,height:n}),x.createElement(yN,{otherAttributes:v,title:h,desc:m},o)):x.createElement(uX,{className:c,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},x.createElement(yN,{otherAttributes:v,title:h,desc:m,ref:t},x.createElement(mQ,null,o)))});function Ex(){return Ex=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(wX,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:kX,tooltipPayloadSearcher:GK,categoricalChartProps:e,ref:t}));const SX="rgba(130,130,150,0.14)",SN="rgba(130,130,150,0.85)";function NX(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function MO(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function EX({active:e,payload:t,unit:r}){return!e||!(t!=null&&t.length)?null:s.jsx("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:s.jsx("div",{className:"space-y-1",children:t.map(n=>s.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[s.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:n.color}}),s.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:n.name}),s.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:MO(n.value,r)})]},n.dataKey))})})}function IO({data:e,series:t,unit:r="%",yMode:n="percent",height:i=176}){const o=e.reduce((u,f)=>t.reduce((h,m)=>Math.max(h,Number(f[m.key])||0),u),0),c=n==="percent"?Math.min(100,Math.max(25,Math.ceil(o*1.2/25)*25)):Math.max(NX(o*1.15),10);return s.jsx("div",{style:{height:i},className:"w-full",children:s.jsx(g8,{width:"100%",height:"100%",children:s.jsxs(jX,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[s.jsx("defs",{children:t.map(u=>s.jsxs("linearGradient",{id:`grad-${u.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:u.color,stopOpacity:.22}),s.jsx("stop",{offset:"100%",stopColor:u.color,stopOpacity:0})]},u.key))}),s.jsx(nO,{vertical:!1,stroke:SX}),s.jsx(gO,{dataKey:"t",hide:!0}),s.jsx(vO,{domain:[0,c],ticks:[0,c/2,c],tickFormatter:u=>MO(u,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:SN}}),s.jsx(wG,{content:s.jsx(EX,{unit:r}),cursor:{stroke:SN,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(u=>s.jsx(mO,{type:"monotone",dataKey:u.key,name:u.label,stroke:u.color,strokeWidth:2,fill:`url(#grad-${u.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},u.key))]})})})}const AX=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function TO(){var c,u,f,h;const{sys:e,hist:t}=hR(),r=!!(e!=null&&e.gpu&&e.gpu.busy_percent!=null&&e.gpu.gtt_used!=null&&e.gpu.gtt_total!=null),n=AX.filter(m=>m.key!=="gpu"||r),i={cpu:(c=e==null?void 0:e.cpu)==null?void 0:c.percent,ram:(u=e==null?void 0:e.ram)==null?void 0:u.percent,gpu:r?e.gpu.busy_percent:null,disk:(f=e==null?void 0:e.disk)==null?void 0:f.percent},o={cpu:(h=e==null?void 0:e.cpu)!=null&&h.cores?`${e.cpu.cores} Cores`:"",ram:e?`${Jr(e.ram.used)}/${Jr(e.ram.total)} GB`:"",gpu:r?`${Jr(e.gpu.gtt_used)}/${Jr(e.gpu.gtt_total)} GB`:"",disk:e!=null&&e.disk?`${Jr(e.disk.used)}/${Jr(e.disk.total)} GB`:""};return s.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[s.jsx(yi,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),s.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:n.map(m=>s.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:m.color}}),s.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:m.label}),s.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(i[m.key]??0),"%"]}),o[m.key]&&s.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:o[m.key]})]},m.key))}),s.jsx(IO,{data:t,series:n,unit:"%",yMode:"percent",height:176})]}):s.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(e==null?void 0:e.temp)&&(e.temp.cpu||e.temp.gpu)&&s.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[e.temp.cpu!=null&&s.jsxs("span",{children:["CPU Temp: ",e.temp.cpu," °C"]}),e.temp.gpu!=null&&s.jsxs("span",{children:["GPU Temp: ",e.temp.gpu," °C"]})]})]})}const NN=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function DO(){const{data:e}=dE(3e3),t=lR(),r=t[t.length-1],n=r?Math.round(r.prompt+r.completion):0;return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[s.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(hh,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Durchsatz"}),s.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e&&s.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[s.jsx("span",{className:"font-space text-3xl font-bold tracking-tight text-foreground tabular-nums",children:n.toLocaleString("de-DE")}),s.jsx("span",{className:"text-xs text-muted-foreground",children:"tok/s aktuell"})]}),e&&s.jsxs("div",{className:"mt-0.5 space-y-0.5 font-mono text-[11px] text-muted-foreground/70",children:[s.jsxs("div",{children:[e.total_tokens.toLocaleString("de-DE")," Tokens gesamt · ",s.jsxs("span",{className:"text-emerald-400/90",children:[e.saved_eur.toLocaleString("de-DE",{minimumFractionDigits:2})," € gespart"]})]}),s.jsxs("div",{className:"text-muted-foreground/55",children:["Input ",e.prompt_tokens.toLocaleString("de-DE")," · Output ",e.completion_tokens.toLocaleString("de-DE")]})]})]}),s.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1.5 pt-1",children:NN.map(i=>s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),s.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:i.label}),s.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((r==null?void 0:r[i.key])??0)})]},i.key))})]}),e?s.jsx(IO,{data:t,series:NN,unit:" tok/s",yMode:"auto",height:150}):s.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),s.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}function CX(){const{data:e}=wh(3e4),{data:t}=Si(),r=((e==null?void 0:e.os)||0)+((e==null?void 0:e.engine)||0)+((e==null?void 0:e.swap)||0)+((e==null?void 0:e.models)||0),n=()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}})),i=(t==null?void 0:t.models)??[],o=(t==null?void 0:t.running)??[],c=i.find(m=>m.role==="hermes"),u=i.find(m=>m.role==="coder-lite")||i.find(m=>m.role==="coder"),f=m=>m?o.includes(m):!1,h=m=>{var p;return((p=m==null?void 0:m.split("/").pop())==null?void 0:p.replace(/\.gguf$/i,""))||"—"};return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Basisstation"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Geht's der Box gut, gibt's Updates, was läuft gerade."})]}),s.jsx(dR,{frame:"box"}),s.jsxs("button",{onClick:n,className:J("w-full flex items-center gap-3 rounded-2xl border p-4 text-left transition-all cursor-pointer",r>0?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10":"border-border/60 bg-card/45 hover:border-primary/40"),children:[r>0?s.jsx(FM,{className:"h-6 w-6 shrink-0 text-amber-400"}):s.jsx(Mt,{className:"h-6 w-6 shrink-0 text-emerald-400"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:J("text-sm font-semibold",r>0?"text-amber-400":"text-foreground"),children:r>0?`${r} Update${r===1?"":"s"} verfügbar`:"Alles aktuell"}),s.jsx("div",{className:"text-xs text-muted-foreground",children:r>0?"Antippen, um zu sehen, was genau aktualisiert wird.":"Keine ausstehenden Updates."})]}),r>0&&s.jsxs("span",{className:"shrink-0 flex items-center gap-1 text-xs font-semibold text-amber-400",children:["Ansehen ",s.jsx(Kn,{className:"h-4 w-4"})]})]}),s.jsxs("div",{children:[s.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:"Was gerade läuft"}),s.jsx("div",{className:"rounded-2xl border border-border/60 overflow-hidden",children:[{icon:yi,label:"Lucys Hirn",model:c==null?void 0:c.name,warm:f(c==null?void 0:c.name)},{icon:Fs,label:"Coder (Vibe-Coding)",model:u==null?void 0:u.name,warm:f(u==null?void 0:u.name)}].map(m=>s.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-border/40 last:border-0",children:[s.jsx("span",{className:J("h-2 w-2 shrink-0 rounded-full",m.warm?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40")}),s.jsx(m.icon,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsx("span",{className:"text-sm text-foreground w-40 shrink-0",children:m.label}),s.jsx("span",{className:"text-xs text-muted-foreground flex-1 truncate font-mono",children:h(m.model)}),s.jsx("span",{className:J("text-xs shrink-0",m.warm?"text-emerald-400":"text-muted-foreground"),children:m.model?m.warm?"warm":"bereit":"nicht gesetzt"})]},m.label))})]}),s.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[s.jsx(TO,{}),s.jsx(DO,{})]})]})}const PX=e=>!!ft(e).protected;function OX({role:e,roleRec:t,models:r,onAssign:n,onClose:i}){var f,h;const o=t&&t.role===e?t:null,c={};o==null||o.models.forEach(m=>{c[m.name]=m});const u=o?o.models.map(m=>r.find(p=>p.name===m.name)).filter(Boolean):r;return s.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":`${ft(e).label} konfigurieren`,children:s.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[s.jsx(mo,{role:e})," festlegen"]}),s.jsx("button",{onClick:i,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Wähle ein Modell für ",s.jsx("strong",{className:"text-foreground",children:ft(e).label}),s.jsx("span",{className:"block text-[10px] text-muted-foreground/70 mt-0.5",children:ft(e).desc})]}),(o==null?void 0:o.recommended)&&s.jsxs("button",{onClick:()=>n(o.recommended),title:(f=c[o.recommended])==null?void 0:f.reason,className:"shrink-0 h-7 px-3 text-[11px] font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg cursor-pointer flex items-center gap-1",children:[s.jsx(wa,{className:"h-3 w-3"})," Auto: ",(h=o.recommended.split("/").pop())==null?void 0:h.replace(/\.gguf$/i,"")]})]}),s.jsxs("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:[PX(e)?s.jsx("div",{className:"w-full px-3 py-2 rounded-lg text-[11px] text-muted-foreground border border-border/30 bg-background/20 flex items-center gap-1.5",children:"🔒 Diese Rolle ist lebenswichtig und kann nicht leer bleiben — wähle stattdessen ein anderes Modell."}):s.jsx("button",{onClick:()=>n(""),className:"w-full text-left px-3 py-2 rounded-lg text-xs hover:bg-accent text-red-400 font-semibold cursor-pointer border border-red-500/20 bg-red-500/5 flex items-center justify-between",children:s.jsx("span",{children:"Zuweisung entfernen"})}),u.map(m=>{var w;const p=c[m.name],v=m.role===e,b=!!(p!=null&&p.recommended),S=!!p&&!p.suitable;return s.jsxs("button",{onClick:()=>n(m.name),className:J("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border",b?"border-primary/50 bg-primary/10":v?"text-primary font-bold bg-primary/5 border-primary/30":S?"border-border/20 bg-background/10 opacity-60":"text-foreground bg-background/20 border-border/30"),children:[s.jsxs("div",{className:"flex flex-col text-left min-w-0",children:[s.jsxs("span",{className:"truncate max-w-[260px] font-semibold flex items-center gap-1.5",children:[(w=m.name.split("/").pop())==null?void 0:w.replace(/\.gguf$/i,""),b&&s.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-primary bg-primary/15 px-1.5 py-0.5 rounded",children:"Empfohlen"})]}),s.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:p?`${p.params_b}B · ${m.quant} · ${p.reason}`:`${lr(m.size_bytes)} · ${m.quant}`})]}),v&&s.jsx(Mt,{className:"h-4 w-4 shrink-0 text-primary"})]},m.name)})]})]})})}const _X=["fast","heavy","heavy_chars"],MX=["coder_lite","coder","coding_escalate_chars"];function IX(){const e=Hr(),{data:t,isLoading:r}=bL(),[n,i]=x.useState(null),[o,c]=x.useState(!1),[u,f]=x.useState(""),[h,m]=x.useState(0);if(x.useEffect(()=>{t!=null&&t.policy&&!n&&i({...t.policy})},[t,n]),r||!t||!n)return s.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 text-xs text-muted-foreground",children:"Lade Routing-Policy…"});const p=N=>t.fields.find(E=>E.key===N),v=Object.keys(n).some(N=>n[N]!==t.policy[N]),b=(N,E)=>{i(C=>C&&{...C,[N]:E}),f("")},S=N=>b(N,t.defaults[N]);async function w(){if(!n)return;const N={};for(const E of Object.keys(n))n[E]!==t.policy[E]&&(N[E]=n[E]);if(Object.keys(N).length!==0){c(!0),f("");try{const{policy:E}=await mL(N);i({...E}),e.invalidateQueries({queryKey:Fe.routingPolicy}),e.invalidateQueries({queryKey:Fe.routing}),m(Date.now()),setTimeout(()=>m(0),2e3)}catch(E){f(E.message||String(E))}finally{c(!1)}}}function k({k:N}){const E=p(N),C=n[N],A=n[N]===t.defaults[N];return s.jsxs("div",{className:"space-y-1",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("label",{className:"text-[10px] font-semibold text-muted-foreground",children:E.label}),!A&&s.jsxs("button",{onClick:()=>S(N),className:"flex items-center gap-0.5 text-[9px] text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",title:`Auf Default zurücksetzen (${String(t.defaults[N])||"leer"})`,children:[s.jsx(Rx,{className:"h-2.5 w-2.5"})," Default"]})]}),E.type==="bool"?s.jsxs("button",{onClick:()=>b(N,!C),className:J("flex h-8 w-full items-center justify-between rounded-lg border px-3 text-[11px] font-semibold transition-all cursor-pointer",C?"border-emerald-500/40 bg-emerald-500/10 text-emerald-300":"border-border/40 bg-background/40 text-muted-foreground"),children:[s.jsx("span",{children:C?"An":"Aus"}),s.jsx("span",{className:J("h-3.5 w-3.5 rounded-full transition-colors",C?"bg-emerald-400":"bg-muted-foreground/40")})]}):E.type==="int"?s.jsx("input",{type:"number",value:C,min:E.min,max:E.max,"aria-label":E.label,onChange:_=>b(N,Number(_.target.value)),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"}):s.jsx("input",{type:"text",value:C,"aria-label":E.label,spellCheck:!1,placeholder:N==="coder_lite"?"(leer = aus)":"",onChange:_=>b(N,_.target.value),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"})]})}return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-4",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(kI,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Lane-Routing & Policy"}),s.jsx("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-300 border border-emerald-500/20",children:"hot-reload"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[u&&s.jsx("span",{className:"text-[10px] text-red-400 max-w-[280px] truncate",title:u,children:u}),h>0&&s.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-emerald-400",children:[s.jsx(Mt,{className:"h-3.5 w-3.5"})," gespeichert"]}),s.jsxs("button",{onClick:w,disabled:!v||o,className:J("h-8 px-4 rounded-lg text-[10px] font-bold uppercase tracking-wide transition-all flex items-center gap-1.5",v&&!o?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer shadow-md shadow-primary/10":"bg-background/40 text-muted-foreground/50 border border-border/40 cursor-not-allowed"),children:[o?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):null,"Speichern"]})]})]}),s.jsxs("p",{className:"text-[10px] text-muted-foreground/70 leading-relaxed -mt-1",children:["Welches echte Modell hinter den virtuellen Lanes ",s.jsx("code",{className:"text-cyan-300",children:"chat"})," und"," ",s.jsx("code",{className:"text-cyan-300",children:"coding"})," steckt. Änderungen greifen sofort (kein Neustart). Die Keyword-Heuristiken bleiben im Code."]}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[s.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[s.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[s.jsx(cI,{className:"h-4 w-4 text-teal-400"}),s.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"chat"}),s.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(= auto)"})]}),_X.map(N=>s.jsx(k,{k:N},N))]}),s.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[s.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[s.jsx(HM,{className:"h-4 w-4 text-indigo-400"}),s.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"coding"}),s.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(agentisch → immer Coder)"})]}),MX.map(N=>s.jsx(k,{k:N},N))]})]}),s.jsx("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4",children:s.jsx("div",{className:"max-w-xs",children:s.jsx(k,{k:"fast_no_think"})})})]})}function TX(){var ge,ue,pe;const e=Hr(),{data:t}=Si(4e3),{data:r}=Gx(),{data:n}=Co(),{data:i}=fE(),{showAlert:o,dialogElement:c}=Nn(),[u,f]=x.useState(!1),[h,m]=x.useState(!1),p=(t==null?void 0:t.models)??[],v=(t==null?void 0:t.running)??[],b=(ge=r==null?void 0:r.groups)==null?void 0:ge.brains,S=(b==null?void 0:b.members)??[],w=se=>p.find(ae=>ae.name===se),k=se=>{var ae;return((ae=se.split("/").pop())==null?void 0:ae.replace(/\.gguf$/i,""))||se},N=S.map(w).filter(Boolean),E=1024**3,C=i==null?void 0:i.budget,A=N.reduce((se,ae)=>se+(ae.size_bytes||0),0)/E,_=((ue=n==null?void 0:n.gpu)==null?void 0:ue.gtt_total)||((pe=n==null?void 0:n.gpu)==null?void 0:pe.vram_total)||0,O=(C==null?void 0:C.gtt_gb)||(_?_/E:0),I=(C==null?void 0:C.warm_projected_gb)??A,B=O>0?Math.min(100,I/O*100):0,F=p.filter(se=>!S.includes(se.name)&&!se.incomplete);async function R(se){m(!0);try{await sE("brains",se,(b==null?void 0:b.swap)??!1,(b==null?void 0:b.persist)??!0),e.invalidateQueries({queryKey:Fe.groups}),e.invalidateQueries({queryKey:Fe.models}),e.invalidateQueries({queryKey:Fe.hermesBrain})}catch(ae){o("Fehler",`Immer-bereit-Set konnte nicht geändert werden: ${(ae==null?void 0:ae.message)||ae}`)}finally{m(!1)}}function Q(se){const ae=w(se);if(ae&&ft(ae.role).protected){o("Geschützt",`„${ft(ae.role).label}" ist lebenswichtig und bleibt immer bereit.`);return}R(S.filter(Z=>Z!==se))}function U(se){f(!1),R([...S,se])}return b?s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-4",children:[s.jsx(EN,{}),s.jsxs("div",{className:"space-y-1.5",children:[N.length===0&&s.jsx("div",{className:"text-xs text-muted-foreground",children:"Noch keine Modelle im Set."}),N.map(se=>{const ae=v.includes(se.name),Z=ft(se.role).protected;return s.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[s.jsx("span",{className:J("h-2 w-2 shrink-0 rounded-full ring-2 ring-black/40",ae?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40"),title:ae?"Gerade warm (bereit)":"Reserviert — lädt bei Bedarf sofort"}),se.role&&s.jsx(mo,{role:se.role,dense:!0,className:"shrink-0"}),s.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",title:se.name,children:k(se.name)}),s.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:lr(se.size_bytes)})]}),Z?s.jsx("span",{className:"shrink-0 text-[10px] font-semibold text-muted-foreground",title:"Lebenswichtig — bleibt immer im Set.",children:"🔒"}):s.jsx("button",{onClick:()=>Q(se.name),disabled:h,className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:bg-red-500/5 hover:text-red-400 cursor-pointer disabled:opacity-50",title:"Aus dem Immer-bereit-Set nehmen (lädt dann nur noch bei Bedarf)",children:s.jsx(Br,{className:"h-3.5 w-3.5"})})]},se.name)})]}),s.jsxs("button",{onClick:()=>f(!0),disabled:h||F.length===0,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border/50 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground transition-colors hover:border-primary/40 hover:text-primary cursor-pointer disabled:opacity-50",children:[s.jsx(hf,{className:"h-3.5 w-3.5"})," Modell dauerhaft bereithalten"]}),s.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",title:"Modellgewichte + KV-Cache, berechnet aus den echten Architektur-Daten jedes Modells (Layer × KV-Köpfe × Kontext) und seiner KV-Quantisierung. So viel legt llama.cpp beim Laden wirklich für den eingestellten Kontext an — kein Aufschlag mehr.",children:[s.jsx(ga,{className:"h-3.5 w-3.5"})," Reserviert fürs Set"]}),s.jsxs("span",{className:"font-mono font-bold text-foreground",children:[I.toFixed(1),O>0?` / ${O.toFixed(0)}`:""," GB"]})]}),s.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:s.jsx("div",{className:J("h-full rounded-full transition-all duration-500",B>=85?"bg-red-500":B>=65?"bg-amber-500":"bg-teal-500"),style:{width:`${B}%`}})}),C&&!C.fits&&s.jsxs("p",{className:"mt-2 flex items-start gap-1.5 text-[11px] text-amber-400",children:[s.jsx(vr,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),s.jsxs("span",{children:["Zusammen mit dem größten Gelegenheits-Modell (~",C.largest_ondemand_gb," GB) wird der Speicher knapp. Das Set bleibt dabei immer geladen — wird es wirklich eng, schlägt das Laden des großen Modells fehl (es wartet dann, statt das Set zu verdrängen)."]})]}),C&&C.fits&&s.jsxs("p",{className:"mt-2 flex items-center gap-1.5 text-[11px] text-emerald-400",children:[s.jsx(Mt,{className:"h-3.5 w-3.5 shrink-0"})," Passt auch neben dem größten Gelegenheits-Modell — nichts wird verdrängt."]})]}),u&&s.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",role:"dialog","aria-modal":"true","aria-label":"Modell zum Immer-bereit-Set hinzufügen",children:s.jsxs("div",{className:"w-full max-w-md space-y-3 rounded-2xl border border-border/80 bg-card p-6 shadow-2xl animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:"Dauerhaft bereithalten"}),s.jsx("button",{onClick:()=>f(!1),className:"rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground cursor-pointer",children:s.jsx(Br,{className:"h-4 w-4"})})]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Wähle ein Modell, das ohne Ladezeit bereitstehen soll:"}),s.jsx("div",{className:"max-h-60 space-y-1.5 overflow-y-auto pr-1",children:F.map(se=>s.jsxs("button",{onClick:()=>U(se.name),className:"flex w-full items-center justify-between gap-2 rounded-lg border border-border/30 bg-background/20 px-3 py-2.5 text-left transition-colors hover:bg-accent cursor-pointer",children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[se.role&&s.jsx(mo,{role:se.role,dense:!0,className:"shrink-0"}),s.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",children:k(se.name)})]}),s.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:lr(se.size_bytes)})]},se.name))})]})}),c]}):s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[s.jsx(EN,{}),s.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"Es gibt noch kein Immer-bereit-Set. Es entsteht automatisch, sobald Lucys Hirn zugewiesen ist."}),c]})}function EN(){return s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(wa,{className:"h-4.5 w-4.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h2",{className:"text-sm font-bold uppercase tracking-wide text-foreground",children:"Immer-bereit-Set"}),s.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Diese Modelle hält Lucy immer bereit — sie antworten ohne Ladezeit."})]})]})}function DX(){var Ie,be,We,Dt;const e=Hr(),{data:t,isLoading:r,error:n}=Si(4e3),{data:i}=wh(4e3),{data:o}=fE(),{data:c}=Co(),{data:u}=Gx(),{showAlert:f,showConfirm:h,showPrompt:m,dialogElement:p}=Nn(),v=Wx(),b=K=>!!ft(K).protected,S=(t==null?void 0:t.models)??[],w=(t==null?void 0:t.running)??[],k=n?String(n):"",N=()=>{e.invalidateQueries({queryKey:Fe.models}),e.invalidateQueries({queryKey:Fe.routing})},E=(Ie=u==null?void 0:u.groups)==null?void 0:Ie.brains,C=(E==null?void 0:E.members)??[],A=K=>C.includes(K),_=C.some(K=>w.includes(K));async function O(K){if(!E){f("Keine brains-Gruppe","Es existiert noch keine Ko-Residenz-Gruppe „brains“ in der Engine-Konfiguration. Lege sie erst über die Gruppen-Verwaltung an.");return}const _e=C.includes(K)?C.filter(Xe=>Xe!==K):[...C,K];try{await sE("brains",_e,E.swap??!1,E.persist??!0),e.invalidateQueries({queryKey:Fe.groups}),N()}catch(Xe){f("Fehler",`Ko-Residenz konnte nicht geändert werden: ${Xe.message||Xe}`)}}const[I,B]=x.useState(null),[F,R]=x.useState(null),[Q,U]=x.useState(null),[ge,ue]=x.useState("grid"),[pe,se]=x.useState("all"),ae=S.filter(K=>pe==="in_use"?!!K.role||w.includes(K.name):!0);async function Z(K){try{await xe(`/api/models/${encodeURIComponent(K)}/load`,{method:"POST"}),N()}catch(Ae){f("Fehler",`Fehler beim Laden des Modells: ${Ae.message}`)}}async function te(K){if(E&&_&&!A(K)){const Ae=C.filter(_e=>w.includes(_e)).map(_e=>_e.split("/").pop()).join(", ");h("Verdrängt das Hirn?",`„${K.split("/").pop()}“ ist nicht in der Ko-Residenz-Gruppe „brains“. Beim Laden wirft es das aktuell warme Hirn (${Ae}) raus — Lucy verliert Hirn bzw. Augen. + A`,",",",0,0,",",",",","Z"])),Q.x,Q.y,o,o,+(m<0),R.x,R.y,n,n,+(ge>180),+(m>0),O.x,O.y,o,o,+(m<0),I.x,I.y)}else A+=Qt(f2||(f2=Xa(["L",",","Z"])),t,r);return A},F9={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},B9=e=>{var t=ln(e,F9),r=t.cx,n=t.cy,i=t.innerRadius,o=t.outerRadius,c=t.cornerRadius,u=t.forceCornerRadius,f=t.cornerIsExternal,h=t.startAngle,m=t.endAngle,p=t.className;if(o0&&Math.abs(h-m)<360?w=z9({cx:r,cy:n,innerRadius:i,outerRadius:o,cornerRadius:Math.min(N,b/2),forceCornerRadius:u,cornerIsExternal:f,startAngle:h,endAngle:m}):w=fC({cx:r,cy:n,innerRadius:i,outerRadius:o,startAngle:h,endAngle:m}),x.createElement("path",sx({},nn(t),{className:v,d:w}))};function U9(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(VE(t)){if(e==="centric"){var n=t.cx,i=t.cy,o=t.innerRadius,c=t.outerRadius,u=t.angle,f=Xt(n,i,o,u),h=Xt(n,i,c,u);return[{x:f.x,y:f.y},{x:h.x,y:h.y}]}return dC(t)}}function W9(e){return sA(e)?NaN:Number(e)}function Rg(e){return e?(e=W9(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function hC(e,t,r){r&&typeof r!="number"&&Bv(e,t,r)&&(t=r=void 0),e=Rg(e),t===void 0?(t=e,e=0):t=Rg(t),r=r===void 0?ee.chartData,p0=Y([En],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Kh=(e,t,r,n)=>n?p0(e):En(e),H9=(e,t,r)=>r?p0(e):En(e),K9=Y([Kh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});Y([p0],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var G9=Y([En],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function g0(e,t){return Y9(e)||Q9(e,t)||q9(e,t)||V9()}function V9(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function q9(e,t){if(e){if(typeof e=="string")return h2(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h2(e,t):void 0}}function h2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};Se.decimalPlaces=Se.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*ut;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};Se.dividedBy=Se.div=function(e){return vi(this,new this.constructor(e))};Se.dividedToIntegerBy=Se.idiv=function(e){var t=this,r=t.constructor;return rt(vi(t,new r(e),0,1),r.precision)};Se.equals=Se.eq=function(e){return!this.cmp(e)};Se.exponent=function(){return At(this)};Se.greaterThan=Se.gt=function(e){return this.cmp(e)>0};Se.greaterThanOrEqualTo=Se.gte=function(e){return this.cmp(e)>=0};Se.isInteger=Se.isint=function(){return this.e>this.d.length-2};Se.isNegative=Se.isneg=function(){return this.s<0};Se.isPositive=Se.ispos=function(){return this.s>0};Se.isZero=function(){return this.s===0};Se.lessThan=Se.lt=function(e){return this.cmp(e)<0};Se.lessThanOrEqualTo=Se.lte=function(e){return this.cmp(e)<1};Se.logarithm=Se.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Fr))throw Error(on+"NaN");if(r.s<1)throw Error(on+(r.s?"NaN":"-Infinity"));return r.eq(Fr)?new n(0):(ht=!1,t=vi(zc(r,o),zc(e,o),o),ht=!0,rt(t,i))};Se.minus=Se.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?xC(t,e):gC(t,(e.s=-e.s,e))};Se.modulo=Se.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(on+"NaN");return r.s?(ht=!1,t=vi(r,e,0,1).times(e),ht=!0,r.minus(t)):rt(new n(r),i)};Se.naturalExponential=Se.exp=function(){return vC(this)};Se.naturalLogarithm=Se.ln=function(){return zc(this)};Se.negated=Se.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Se.plus=Se.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?gC(t,e):xC(t,(e.s=-e.s,e))};Se.precision=Se.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(go+e);if(t=At(i)+1,n=i.d.length-1,r=n*ut+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};Se.squareRoot=Se.sqrt=function(){var e,t,r,n,i,o,c,u=this,f=u.constructor;if(u.s<1){if(!u.s)return new f(0);throw Error(on+"NaN")}for(e=At(u),ht=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=Bn(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=ll((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(i.toString()),r=f.precision,i=c=r+3;;)if(o=n,n=o.plus(vi(u,o,c+2)).times(.5),Bn(o.d).slice(0,c)===(t=Bn(n.d)).slice(0,c)){if(t=t.slice(c-3,c+1),i==c&&t=="4999"){if(rt(o,r+1,0),o.times(o).eq(u)){n=o;break}}else if(t!="9999")break;c+=4}return ht=!0,rt(n,r)};Se.times=Se.mul=function(e){var t,r,n,i,o,c,u,f,h,m=this,p=m.constructor,v=m.d,b=(e=new p(e)).d;if(!m.s||!e.s)return new p(0);for(e.s*=m.s,r=m.e+e.e,f=v.length,h=b.length,f=0;){for(t=0,i=f+n;i>n;)u=o[i]+b[n]*v[i-n-1]+t,o[i--]=u%Bt|0,t=u/Bt|0;o[i]=(o[i]+t)%Bt|0}for(;!o[--c];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,ht?rt(e,p.precision):e};Se.toDecimalPlaces=Se.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Qn(e,0,sl),t===void 0?t=n.rounding:Qn(t,0,8),rt(r,e+At(r)+1,t))};Se.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=No(n,!0):(Qn(e,0,sl),t===void 0?t=i.rounding:Qn(t,0,8),n=rt(new i(n),e+1,t),r=No(n,!0,e+1)),r};Se.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?No(i):(Qn(e,0,sl),t===void 0?t=o.rounding:Qn(t,0,8),n=rt(new o(i),e+At(i)+1,t),r=No(n.abs(),!1,e+At(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};Se.toInteger=Se.toint=function(){var e=this,t=e.constructor;return rt(new t(e),At(e)+1,t.rounding)};Se.toNumber=function(){return+this};Se.toPower=Se.pow=function(e){var t,r,n,i,o,c,u=this,f=u.constructor,h=12,m=+(e=new f(e));if(!e.s)return new f(Fr);if(u=new f(u),!u.s){if(e.s<1)throw Error(on+"Infinity");return u}if(u.eq(Fr))return u;if(n=f.precision,e.eq(Fr))return rt(u,n);if(t=e.e,r=e.d.length-1,c=t>=r,o=u.s,c){if((r=m<0?-m:m)<=pC){for(i=new f(Fr),t=Math.ceil(n/ut+4),ht=!1;r%2&&(i=i.times(u),g2(i.d,t)),r=ll(r/2),r!==0;)u=u.times(u),g2(u.d,t);return ht=!0,e.s<0?new f(Fr).div(i):rt(i,n)}}else if(o<0)throw Error(on+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,ht=!1,i=e.times(zc(u,n+h)),ht=!0,i=vC(i),i.s=o,i};Se.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=At(i),n=No(i,r<=o.toExpNeg||r>=o.toExpPos)):(Qn(e,1,sl),t===void 0?t=o.rounding:Qn(t,0,8),i=rt(new o(i),e,t),r=At(i),n=No(i,e<=r||r<=o.toExpNeg,e)),n};Se.toSignificantDigits=Se.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Qn(e,1,sl),t===void 0?t=n.rounding:Qn(t,0,8)),rt(new n(r),e,t)};Se.toString=Se.valueOf=Se.val=Se.toJSON=Se[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=At(e),r=e.constructor;return No(e,t<=r.toExpNeg||t>=r.toExpPos)};function gC(e,t){var r,n,i,o,c,u,f,h,m=e.constructor,p=m.precision;if(!e.s||!t.s)return t.s||(t=new m(e)),ht?rt(t,p):t;if(f=e.d,h=t.d,c=e.e,i=t.e,f=f.slice(),o=c-i,o){for(o<0?(n=f,o=-o,u=h.length):(n=h,i=c,u=f.length),c=Math.ceil(p/ut),u=c>u?c+1:u+1,o>u&&(o=u,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(u=f.length,o=h.length,u-o<0&&(o=u,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/Bt|0,f[o]%=Bt;for(r&&(f.unshift(r),++i),u=f.length;f[--u]==0;)f.pop();return t.d=f,t.e=i,ht?rt(t,p):t}function Qn(e,t,r){if(e!==~~e||er)throw Error(go+e)}function Bn(e){var t,r,n,i=e.length-1,o="",c=e[0];if(i>0){for(o+=c,t=1;tc?1:-1;else for(u=f=0;ui[u]?1:-1;break}return f}function r(n,i,o){for(var c=0;o--;)n[o]-=c,c=n[o]1;)n.shift()}return function(n,i,o,c){var u,f,h,m,p,v,b,N,w,k,S,E,C,A,_,O,I,B,F=n.constructor,R=n.s==i.s?1:-1,Q=n.d,U=i.d;if(!n.s)return new F(n);if(!i.s)throw Error(on+"Division by zero");for(f=n.e-i.e,I=U.length,_=Q.length,b=new F(R),N=b.d=[],h=0;U[h]==(Q[h]||0);)++h;if(U[h]>(Q[h]||0)&&--f,o==null?E=o=F.precision:c?E=o+(At(n)-At(i))+1:E=o,E<0)return new F(0);if(E=E/ut+2|0,h=0,I==1)for(m=0,U=U[0],E++;(h<_||m)&&E--;h++)C=m*Bt+(Q[h]||0),N[h]=C/U|0,m=C%U|0;else{for(m=Bt/(U[0]+1)|0,m>1&&(U=e(U,m),Q=e(Q,m),I=U.length,_=Q.length),A=I,w=Q.slice(0,I),k=w.length;k=Bt/2&&++O;do m=0,u=t(U,w,I,k),u<0?(S=w[0],I!=k&&(S=S*Bt+(w[1]||0)),m=S/O|0,m>1?(m>=Bt&&(m=Bt-1),p=e(U,m),v=p.length,k=w.length,u=t(p,w,v,k),u==1&&(m--,r(p,I16)throw Error(v0+At(e));if(!e.s)return new m(Fr);for(ht=!1,u=p,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),h+=5;for(n=Math.log(Qa(2,h))/Math.LN10*2+5|0,u+=n,r=i=o=new m(Fr),m.precision=u;;){if(i=rt(i.times(e),u),r=r.times(++f),c=o.plus(vi(i,r,u)),Bn(c.d).slice(0,u)===Bn(o.d).slice(0,u)){for(;h--;)o=rt(o.times(o),u);return m.precision=p,t==null?(ht=!0,rt(o,p)):o}o=c}}function At(e){for(var t=e.e*ut,r=e.d[0];r>=10;r/=10)t++;return t}function $g(e,t,r){if(t>e.LN10.sd())throw ht=!0,r&&(e.precision=r),Error(on+"LN10 precision limit exceeded");return rt(new e(e.LN10),t)}function na(e){for(var t="";e--;)t+="0";return t}function zc(e,t){var r,n,i,o,c,u,f,h,m,p=1,v=10,b=e,N=b.d,w=b.constructor,k=w.precision;if(b.s<1)throw Error(on+(b.s?"NaN":"-Infinity"));if(b.eq(Fr))return new w(0);if(t==null?(ht=!1,h=k):h=t,b.eq(10))return t==null&&(ht=!0),$g(w,h);if(h+=v,w.precision=h,r=Bn(N),n=r.charAt(0),o=At(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=Bn(b.d),n=r.charAt(0),p++;o=At(b),n>1?(b=new w("0."+r),o++):b=new w(n+"."+r.slice(1))}else return f=$g(w,h+2,k).times(o+""),b=zc(new w(n+"."+r.slice(1)),h-v).plus(f),w.precision=k,t==null?(ht=!0,rt(b,k)):b;for(u=c=b=vi(b.minus(Fr),b.plus(Fr),h),m=rt(b.times(b),h),i=3;;){if(c=rt(c.times(m),h),f=u.plus(vi(c,new w(i),h)),Bn(f.d).slice(0,h)===Bn(u.d).slice(0,h))return u=u.times(2),o!==0&&(u=u.plus($g(w,h+2,k).times(o+""))),u=vi(u,new w(p),h),w.precision=k,t==null?(ht=!0,rt(u,k)):u;u=f,i+=2}}function p2(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=ll(r/ut),e.d=[],n=(r+1)%ut,r<0&&(n+=ut),nBf||e.e<-Bf))throw Error(v0+r)}else e.s=0,e.e=0,e.d=[0];return e}function rt(e,t,r){var n,i,o,c,u,f,h,m,p=e.d;for(c=1,o=p[0];o>=10;o/=10)c++;if(n=t-c,n<0)n+=ut,i=t,h=p[m=0];else{if(m=Math.ceil((n+1)/ut),o=p.length,m>=o)return e;for(h=o=p[m],c=1;o>=10;o/=10)c++;n%=ut,i=n-ut+c}if(r!==void 0&&(o=Qa(10,c-i-1),u=h/o%10|0,f=t<0||p[m+1]!==void 0||h%o,f=r<4?(u||f)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||f||r==6&&(n>0?i>0?h/Qa(10,c-i):0:p[m-1])%10&1||r==(e.s<0?8:7))),t<1||!p[0])return f?(o=At(e),p.length=1,t=t-o-1,p[0]=Qa(10,(ut-t%ut)%ut),e.e=ll(-t/ut)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(n==0?(p.length=m,o=1,m--):(p.length=m+1,o=Qa(10,ut-n),p[m]=i>0?(h/Qa(10,c-i)%Qa(10,i)|0)*o:0),f)for(;;)if(m==0){(p[0]+=o)==Bt&&(p[0]=1,++e.e);break}else{if(p[m]+=o,p[m]!=Bt)break;p[m--]=0,o=1}for(n=p.length;p[--n]===0;)p.pop();if(ht&&(e.e>Bf||e.e<-Bf))throw Error(v0+At(e));return e}function xC(e,t){var r,n,i,o,c,u,f,h,m,p,v=e.constructor,b=v.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new v(e),ht?rt(t,b):t;if(f=e.d,p=t.d,n=t.e,h=e.e,f=f.slice(),c=h-n,c){for(m=c<0,m?(r=f,c=-c,u=p.length):(r=p,n=h,u=f.length),i=Math.max(Math.ceil(b/ut),u)+2,c>i&&(c=i,r.length=1),r.reverse(),i=c;i--;)r.push(0);r.reverse()}else{for(i=f.length,u=p.length,m=i0;--i)f[u++]=0;for(i=p.length;i>c;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+na(n):c>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+na(-i-1)+o,r&&(n=r-c)>0&&(o+=na(n))):i>=c?(o+=na(i+1-c),r&&(n=r-i-1)>0&&(o=o+"."+na(n))):((n=i+1)0&&(i+1===c&&(o+="."),o+=na(n))),e.s<0?"-"+o:o}function g2(e,t){if(e.length>t)return e.length=t,!0}function yC(e){var t,r,n;function i(o){var c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,o instanceof i){c.s=o.s,c.e=o.e,c.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(go+o);if(o>0)c.s=1;else if(o<0)o=-o,c.s=-1;else{c.s=0,c.e=0,c.d=[0];return}if(o===~~o&&o<1e7){c.e=0,c.d=[o];return}return p2(c,o.toString())}else if(typeof o!="string")throw Error(go+o);if(o.charCodeAt(0)===45?(o=o.slice(1),c.s=-1):c.s=1,J9.test(o))p2(c,o);else throw Error(go+o)}if(i.prototype=Se,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=yC,i.config=i.set=e7,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(go+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(go+r+": "+n);return this}var x0=yC(X9);Fr=new x0(1);const qe=x0;function bC(e){var t;return e===0?t=1:t=Math.floor(new qe(e).abs().log(10).toNumber())+1,t}function wC(e,t,r){for(var n=new qe(e),i=0,o=[];n.lt(t)&&i<1e5;)o.push(n.toNumber()),n=n.add(r),i++;return o}function Fc(e,t){return i7(e)||n7(e,t)||r7(e,t)||t7()}function t7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r7(e,t){if(e){if(typeof e=="string")return v2(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v2(e,t):void 0}}function v2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Fc(e,2),r=t[0],n=t[1],i=r,o=n;return r>n&&(i=n,o=r),[i,o]},y0=(e,t,r)=>{if(e.lte(0))return new qe(0);var n=bC(e.toNumber()),i=new qe(10).pow(n),o=e.div(i),c=n!==1?.05:.1,u=new qe(Math.ceil(o.div(c).toNumber())).add(r).mul(c),f=u.mul(i);return t?new qe(f.toNumber()):new qe(Math.ceil(f.toNumber()))},jC=(e,t,r)=>{var n;if(e.lte(0))return new qe(0);var i=[1,2,2.5,5],o=e.toNumber(),c=Math.floor(new qe(o).abs().log(10).toNumber()),u=new qe(10).pow(c),f=e.div(u).toNumber(),h=i.findIndex(b=>b>=f-1e-10);if(h===-1&&(u=u.mul(10),h=0),h+=r,h>=i.length){var m=Math.floor(h/i.length);h%=i.length,u=u.mul(new qe(10).pow(m))}var p=(n=i[h])!==null&&n!==void 0?n:1,v=new qe(p).mul(u);return t?v:new qe(Math.ceil(v.toNumber()))},a7=(e,t,r)=>{var n=new qe(1),i=new qe(e);if(!i.isint()&&r){var o=Math.abs(e);o<1?(n=new qe(10).pow(bC(e)-1),i=new qe(Math.floor(i.div(n).toNumber())).mul(n)):o>1&&(i=new qe(Math.floor(e)))}else e===0?i=new qe(Math.floor((t-1)/2)):r||(i=new qe(Math.floor(e)));for(var c=Math.floor((t-1)/2),u=[],f=0;f4&&arguments[4]!==void 0?arguments[4]:0,c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:y0;if(!Number.isFinite((r-t)/(n-1)))return{step:new qe(0),tickMin:new qe(0),tickMax:new qe(0)};var u=c(new qe(r).sub(t).div(n-1),i,o),f;t<=0&&r>=0?f=new qe(0):(f=new qe(t).add(r).div(2),f=f.sub(new qe(f).mod(u)));var h=Math.ceil(f.sub(t).div(u).toNumber()),m=Math.ceil(new qe(r).sub(f).div(u).toNumber()),p=h+m+1;return p>n?NC(t,r,n,i,o+1,c):(p0?m+(n-p):m,h=r>0?h:h+(n-p)),{step:u,tickMin:f.sub(new qe(h).mul(u)),tickMax:f.add(new qe(m).mul(u))})},x2=function(t){var r=Fc(t,2),n=r[0],i=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=Math.max(o,2),h=kC([n,i]),m=Fc(h,2),p=m[0],v=m[1];if(p===-1/0||v===1/0){var b=v===1/0?[p,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),v];return n>i?b.reverse():b}if(p===v)return a7(p,o,c);var N=u==="snap125"?jC:y0,w=NC(p,v,f,c,0,N),k=w.step,S=w.tickMin,E=w.tickMax,C=wC(S,E.add(new qe(.1).mul(k)),k);return n>i?C.reverse():C},y2=function(t,r){var n=Fc(t,2),i=n[0],o=n[1],c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=kC([i,o]),h=Fc(f,2),m=h[0],p=h[1];if(m===-1/0||p===1/0)return[i,o];if(m===p)return[m];var v=u==="snap125"?jC:y0,b=Math.max(r,2),N=v(new qe(p).sub(m).div(b-1),c,0),w=[...wC(new qe(m),new qe(p),N),p];return c===!1&&(w=w.map(k=>Math.round(k))),i>o?w.reverse():w},o7=e=>e.rootProps.barCategoryGap,Gh=e=>e.rootProps.stackOffset,SC=e=>e.rootProps.reverseStackOrder,b0=e=>e.options.chartName,w0=e=>e.rootProps.syncId,EC=e=>e.rootProps.syncMethod,k0=e=>e.options.eventEmitter,s7=e=>e.rootProps.baseValue,pr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Ua={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},Tn={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Vh=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function qh(e,t,r){if(r!=="auto")return r;if(e!=null)return Zn(e,t)?"category":"number"}function b2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Uf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},j0=Y([d7,YA],(e,t)=>{var r;if(e!=null)return e;var n=(r=qh(t,"angleAxis",w2.type))!==null&&r!==void 0?r:"category";return Uf(Uf({},w2),{},{type:n})}),f7=(e,t)=>e.polarAxis.radiusAxis[t],N0=Y([f7,YA],(e,t)=>{var r;if(e!=null)return e;var n=(r=qh(t,"radiusAxis",k2.type))!==null&&r!==void 0?r:"category";return Uf(Uf({},k2),{},{type:n})}),Qh=e=>e.polarOptions,S0=Y([Si,Ei,tr],M9),AC=Y([Qh,S0],(e,t)=>{if(e!=null)return ja(e.innerRadius,t,0)}),CC=Y([Qh,S0],(e,t)=>{if(e!=null)return ja(e.outerRadius,t,t*.8)}),h7=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},PC=Y([Qh],h7);Y([j0,PC],Vh);var OC=Y([S0,AC,CC],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});Y([N0,OC],Vh);var _C=Y([pt,Qh,AC,CC,Si,Ei],(e,t,r,n,i,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var c=t.cx,u=t.cy,f=t.startAngle,h=t.endAngle;return{cx:ja(c,i,i/2),cy:ja(u,o,o/2),innerRadius:r,outerRadius:n,startAngle:f,endAngle:h,clockWise:!1}}}),Wt=(e,t)=>t,Yh=(e,t,r)=>r;function E0(e){return e==null?void 0:e.id}function MC(e,t,r){var n=t.chartData,i=n===void 0?[]:n,o=r.allowDuplicatedCategory,c=r.dataKey,u=new Map;return e.forEach(f=>{var h,m=(h=f.data)!==null&&h!==void 0?h:i;if(!(m==null||m.length===0)){var p=E0(f);m.forEach((v,b)=>{var N=c==null||o?b:String(Ut(v,c,null)),w=Ut(v,f.dataKey,0),k;u.has(N)?k=u.get(N):k={},Object.assign(k,{[p]:w}),u.set(N,k)})}}),Array.from(u.values())}function A0(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Zh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Xh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function m7(e,t){if(e.length===t.length){for(var r=0;r{var t=pt(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},cl=e=>e.tooltip.settings.axisId;function C0(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function c(){return o.apply(this,arguments)}return c.toString=function(){return o.toString()},c})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(o){var c=i[0],u=i[1];return c<=u?o>=c&&o<=u:o>=u&&o<=c},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,c)=>{var u=e(o);if(u!=null){if(e.bandwidth&&c!==null&&c!==void 0&&c.position){var f=e.bandwidth();switch(c.position){case"middle":u+=f/2;break;case"end":u+=f;break}}return u}}}}}var p7=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Un(t)){for(var r,n,i=0;in)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function ya(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function g7(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function P0(e){let t,r,n;e.length!==2?(t=ya,r=(u,f)=>ya(e(u),f),n=(u,f)=>e(u)-f):(t=e===ya||e===g7?e:v7,r=e,n=e);function i(u,f,h=0,m=u.length){if(h>>1;r(u[p],f)<0?h=p+1:m=p}while(h>>1;r(u[p],f)<=0?h=p+1:m=p}while(hh&&n(u[p-1],f)>-n(u[p],f)?p-1:p}return{left:i,center:c,right:o}}function v7(){return 0}function IC(e){return e===null?NaN:+e}function*x7(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const y7=P0(ya),du=y7.right;P0(IC).center;class j2 extends Map{constructor(t,r=k7){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(N2(this,t))}has(t){return super.has(N2(this,t))}set(t,r){return super.set(b7(this,t),r)}delete(t){return super.delete(w7(this,t))}}function N2({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function b7({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function w7({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function k7(e){return e!==null&&typeof e=="object"?e.valueOf():e}function j7(e=ya){if(e===ya)return TC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function TC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const N7=Math.sqrt(50),S7=Math.sqrt(10),E7=Math.sqrt(2);function Wf(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),c=o>=N7?10:o>=S7?5:o>=E7?2:1;let u,f,h;return i<0?(h=Math.pow(10,-i)/c,u=Math.round(e*h),f=Math.round(t*h),u/ht&&--f,h=-h):(h=Math.pow(10,i)*c,u=Math.round(e/h),f=Math.round(t/h),u*ht&&--f),f0))return[];if(e===t)return[e];const n=t=i))return[];const u=o-i+1,f=new Array(u);if(n)if(c<0)for(let h=0;h=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r=i)&&(r=i)}return r}function E2(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of e)(i=t(i,++n,e))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function DC(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?TC:j7(i);n>r;){if(n-r>600){const f=n-r+1,h=t-r+1,m=Math.log(f),p=.5*Math.exp(2*m/3),v=.5*Math.sqrt(m*p*(f-p)/f)*(h-f/2<0?-1:1),b=Math.max(r,Math.floor(t-h*p/f+v)),N=Math.min(n,Math.floor(t+(f-h)*p/f+v));DC(e,t,b,N,i)}const o=e[t];let c=r,u=n;for(dc(e,r,t),i(e[n],o)>0&&dc(e,r,n);c0;)--u}i(e[r],o)===0?dc(e,r,u):(++u,dc(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function dc(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function A7(e,t,r){if(e=Float64Array.from(x7(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return E2(e);if(t>=1)return S2(e);var n,i=(n-1)*t,o=Math.floor(i),c=S2(DC(e,o).subarray(0,o+1)),u=E2(e.subarray(o+1));return c+(u-c)*(i-o)}}function C7(e,t,r=IC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,o=Math.floor(i),c=+r(e[o],o,e),u=+r(e[o+1],o+1,e);return c+(u-c)*(i-o)}}function P7(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?qd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?qd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=M7.exec(e))?new Pr(t[1],t[2],t[3],1):(t=I7.exec(e))?new Pr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=T7.exec(e))?qd(t[1],t[2],t[3],t[4]):(t=D7.exec(e))?qd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=L7.exec(e))?I2(t[1],t[2]/100,t[3]/100,1):(t=R7.exec(e))?I2(t[1],t[2]/100,t[3]/100,t[4]):A2.hasOwnProperty(e)?O2(A2[e]):e==="transparent"?new Pr(NaN,NaN,NaN,0):null}function O2(e){return new Pr(e>>16&255,e>>8&255,e&255,1)}function qd(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pr(e,t,r,n)}function F7(e){return e instanceof fu||(e=Wc(e)),e?(e=e.rgb(),new Pr(e.r,e.g,e.b,e.opacity)):new Pr}function fx(e,t,r,n){return arguments.length===1?F7(e):new Pr(e,t,r,n??1)}function Pr(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}M0(Pr,fx,RC(fu,{brighter(e){return e=e==null?Hf:Math.pow(Hf,e),new Pr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Bc:Math.pow(Bc,e),new Pr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pr(vo(this.r),vo(this.g),vo(this.b),Kf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:_2,formatHex:_2,formatHex8:B7,formatRgb:M2,toString:M2}));function _2(){return`#${Ja(this.r)}${Ja(this.g)}${Ja(this.b)}`}function B7(){return`#${Ja(this.r)}${Ja(this.g)}${Ja(this.b)}${Ja((isNaN(this.opacity)?1:this.opacity)*255)}`}function M2(){const e=Kf(this.opacity);return`${e===1?"rgb(":"rgba("}${vo(this.r)}, ${vo(this.g)}, ${vo(this.b)}${e===1?")":`, ${e})`}`}function Kf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function vo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ja(e){return e=vo(e),(e<16?"0":"")+e.toString(16)}function I2(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new kn(e,t,r,n)}function $C(e){if(e instanceof kn)return new kn(e.h,e.s,e.l,e.opacity);if(e instanceof fu||(e=Wc(e)),!e)return new kn;if(e instanceof kn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),c=NaN,u=o-i,f=(o+i)/2;return u?(t===o?c=(r-n)/u+(r0&&f<1?0:c,new kn(c,u,f,e.opacity)}function U7(e,t,r,n){return arguments.length===1?$C(e):new kn(e,t,r,n??1)}function kn(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}M0(kn,U7,RC(fu,{brighter(e){return e=e==null?Hf:Math.pow(Hf,e),new kn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Bc:Math.pow(Bc,e),new kn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new Pr(zg(e>=240?e-240:e+120,i,n),zg(e,i,n),zg(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new kn(T2(this.h),Qd(this.s),Qd(this.l),Kf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Kf(this.opacity);return`${e===1?"hsl(":"hsla("}${T2(this.h)}, ${Qd(this.s)*100}%, ${Qd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function T2(e){return e=(e||0)%360,e<0?e+360:e}function Qd(e){return Math.max(0,Math.min(1,e||0))}function zg(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const I0=e=>()=>e;function W7(e,t){return function(r){return e+r*t}}function H7(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function K7(e){return(e=+e)==1?zC:function(t,r){return r-t?H7(t,r,e):I0(isNaN(t)?r:t)}}function zC(e,t){var r=t-e;return r?W7(e,r):I0(isNaN(e)?t:e)}const D2=(function e(t){var r=K7(t);function n(i,o){var c=r((i=fx(i)).r,(o=fx(o)).r),u=r(i.g,o.g),f=r(i.b,o.b),h=zC(i.opacity,o.opacity);return function(m){return i.r=c(m),i.g=u(m),i.b=f(m),i.opacity=h(m),i+""}}return n.gamma=e,n})(1);function G7(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(o){for(i=0;ir&&(o=t.slice(r,o),u[c]?u[c]+=o:u[++c]=o),(n=n[0])===(i=i[0])?u[c]?u[c]+=i:u[++c]=i:(u[++c]=null,f.push({i:c,x:Gf(n,i)})),r=Fg.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function nB(e,t,r){var n=e[0],i=e[1],o=t[0],c=t[1];return i2?iB:nB,f=h=null,p}function p(v){return v==null||isNaN(v=+v)?o:(f||(f=u(e.map(n),t,r)))(n(c(v)))}return p.invert=function(v){return c(i((h||(h=u(t,e.map(n),Gf)))(v)))},p.domain=function(v){return arguments.length?(e=Array.from(v,Vf),m()):e.slice()},p.range=function(v){return arguments.length?(t=Array.from(v),m()):t.slice()},p.rangeRound=function(v){return t=Array.from(v),r=T0,m()},p.clamp=function(v){return arguments.length?(c=v?!0:gr,m()):c!==gr},p.interpolate=function(v){return arguments.length?(r=v,m()):r},p.unknown=function(v){return arguments.length?(o=v,p):o},function(v,b){return n=v,i=b,m()}}function D0(){return Jh()(gr,gr)}function aB(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function qf(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Vs(e){return e=qf(Math.abs(e)),e?e[1]:NaN}function oB(e,t){return function(r,n){for(var i=r.length,o=[],c=0,u=e[0],f=0;i>0&&u>0&&(f+u+1>n&&(u=Math.max(1,n-f)),o.push(r.substring(i-=u,i+u)),!((f+=u+1)>n));)u=e[c=(c+1)%e.length];return o.reverse().join(t)}}function sB(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var lB=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Hc(e){if(!(t=lB.exec(e)))throw new Error("invalid format: "+e);var t;return new L0({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Hc.prototype=L0.prototype;function L0(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}L0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function cB(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var Qf;function uB(e,t){var r=qf(e,t);if(!r)return Qf=void 0,e.toPrecision(t);var n=r[0],i=r[1],o=i-(Qf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,c=n.length;return o===c?n:o>c?n+new Array(o-c+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+qf(e,Math.max(0,t+o-1))[0]}function R2(e,t){var r=qf(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const $2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:aB,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>R2(e*100,t),r:R2,s:uB,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function z2(e){return e}var F2=Array.prototype.map,B2=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function dB(e){var t=e.grouping===void 0||e.thousands===void 0?z2:oB(F2.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?z2:sB(F2.call(e.numerals,String)),c=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",f=e.nan===void 0?"NaN":e.nan+"";function h(p,v){p=Hc(p);var b=p.fill,N=p.align,w=p.sign,k=p.symbol,S=p.zero,E=p.width,C=p.comma,A=p.precision,_=p.trim,O=p.type;O==="n"?(C=!0,O="g"):$2[O]||(A===void 0&&(A=12),_=!0,O="g"),(S||b==="0"&&N==="=")&&(S=!0,b="0",N="=");var I=(v&&v.prefix!==void 0?v.prefix:"")+(k==="$"?r:k==="#"&&/[boxX]/.test(O)?"0"+O.toLowerCase():""),B=(k==="$"?n:/[%p]/.test(O)?c:"")+(v&&v.suffix!==void 0?v.suffix:""),F=$2[O],R=/[defgprs%]/.test(O);A=A===void 0?6:/[gprs]/.test(O)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function Q(U){var ge=I,ue=B,pe,se,ae;if(O==="c")ue=F(U)+ue,U="";else{U=+U;var Z=U<0||1/U<0;if(U=isNaN(U)?f:F(Math.abs(U),A),_&&(U=cB(U)),Z&&+U==0&&w!=="+"&&(Z=!1),ge=(Z?w==="("?w:u:w==="-"||w==="("?"":w)+ge,ue=(O==="s"&&!isNaN(U)&&Qf!==void 0?B2[8+Qf/3]:"")+ue+(Z&&w==="("?")":""),R){for(pe=-1,se=U.length;++peae||ae>57){ue=(ae===46?i+U.slice(pe+1):U.slice(pe))+ue,U=U.slice(0,pe);break}}}C&&!S&&(U=t(U,1/0));var te=ge.length+U.length+ue.length,ie=te>1)+ge+U+ue+ie.slice(te);break;default:U=ie+ge+U+ue;break}return o(U)}return Q.toString=function(){return p+""},Q}function m(p,v){var b=Math.max(-8,Math.min(8,Math.floor(Vs(v)/3)))*3,N=Math.pow(10,-b),w=h((p=Hc(p),p.type="f",p),{suffix:B2[8+b/3]});return function(k){return w(N*k)}}return{format:h,formatPrefix:m}}var Yd,R0,FC;fB({thousands:",",grouping:[3],currency:["$",""]});function fB(e){return Yd=dB(e),R0=Yd.format,FC=Yd.formatPrefix,Yd}function hB(e){return Math.max(0,-Vs(Math.abs(e)))}function mB(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Vs(t)/3)))*3-Vs(Math.abs(e)))}function pB(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Vs(t)-Vs(e))+1}function BC(e,t,r,n){var i=ux(e,t,r),o;switch(n=Hc(n??",f"),n.type){case"s":{var c=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=mB(i,c))&&(n.precision=o),FC(n,c)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=pB(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=hB(i))&&(n.precision=o-(n.type==="%")*2);break}}return R0(n)}function Sa(e){var t=e.domain;return e.ticks=function(r){var n=t();return lx(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return BC(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,o=n.length-1,c=n[i],u=n[o],f,h,m=10;for(u0;){if(h=cx(c,u,r),h===f)return n[i]=c,n[o]=u,t(n);if(h>0)c=Math.floor(c/h)*h,u=Math.ceil(u/h)*h;else if(h<0)c=Math.ceil(c*h)/h,u=Math.floor(u*h)/h;else break;f=h}return e},e}function UC(){var e=D0();return e.copy=function(){return hu(e,UC())},cn.apply(e,arguments),Sa(e)}function WC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,Vf),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return WC(e).unknown(t)},e=arguments.length?Array.from(e,Vf):[0,1],Sa(r)}function HC(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],o=e[n],c;return oMath.pow(e,t)}function bB(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function H2(e){return(t,r)=>-e(-t,r)}function $0(e){const t=e(U2,W2),r=t.domain;let n=10,i,o;function c(){return i=bB(n),o=yB(n),r()[0]<0?(i=H2(i),o=H2(o),e(gB,vB)):e(U2,W2),t}return t.base=function(u){return arguments.length?(n=+u,c()):n},t.domain=function(u){return arguments.length?(r(u),c()):r()},t.ticks=u=>{const f=r();let h=f[0],m=f[f.length-1];const p=m0){for(;v<=b;++v)for(N=1;Nm)break;S.push(w)}}else for(;v<=b;++v)for(N=n-1;N>=1;--N)if(w=v>0?N/o(-v):N*o(v),!(wm)break;S.push(w)}S.length*2{if(u==null&&(u=10),f==null&&(f=n===10?"s":","),typeof f!="function"&&(!(n%1)&&(f=Hc(f)).precision==null&&(f.trim=!0),f=R0(f)),u===1/0)return f;const h=Math.max(1,n*u/t.ticks().length);return m=>{let p=m/o(Math.round(i(m)));return p*nr(HC(r(),{floor:u=>o(Math.floor(i(u))),ceil:u=>o(Math.ceil(i(u)))})),t}function KC(){const e=$0(Jh()).domain([1,10]);return e.copy=()=>hu(e,KC()).base(e.base()),cn.apply(e,arguments),e}function K2(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function G2(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function z0(e){var t=1,r=e(K2(t),G2(t));return r.constant=function(n){return arguments.length?e(K2(t=+n),G2(t)):t},Sa(r)}function GC(){var e=z0(Jh());return e.copy=function(){return hu(e,GC()).constant(e.constant())},cn.apply(e,arguments)}function V2(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function wB(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function kB(e){return e<0?-e*e:e*e}function F0(e){var t=e(gr,gr),r=1;function n(){return r===1?e(gr,gr):r===.5?e(wB,kB):e(V2(r),V2(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},Sa(t)}function B0(){var e=F0(Jh());return e.copy=function(){return hu(e,B0()).exponent(e.exponent())},cn.apply(e,arguments),e}function jB(){return B0.apply(null,arguments).exponent(.5)}function q2(e){return Math.sign(e)*e*e}function NB(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function VC(){var e=D0(),t=[0,1],r=!1,n;function i(o){var c=NB(e(o));return isNaN(c)?n:r?Math.round(c):c}return i.invert=function(o){return e.invert(q2(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,Vf)).map(q2)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(r=!!o,i):r},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return VC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},cn.apply(i,arguments),Sa(i)}function qC(){var e=[],t=[],r=[],n;function i(){var c=0,u=Math.max(1,t.length);for(r=new Array(u-1);++c0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[h-1],n[h]]},c.unknown=function(f){return arguments.length&&(o=f),c},c.thresholds=function(){return n.slice()},c.copy=function(){return QC().domain([e,t]).range(i).unknown(o)},cn.apply(Sa(c),arguments)}function YC(){var e=[.5],t=[0,1],r,n=1;function i(o){return o!=null&&o<=o?t[du(e,o,0,n)]:r}return i.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var c=t.indexOf(o);return[e[c-1],e[c]]},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return YC().domain(e).range(t).unknown(r)},cn.apply(i,arguments)}const Bg=new Date,Ug=new Date;function Tt(e,t,r,n){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const c=i(o),u=i.ceil(o);return o-c(t(o=new Date(+o),c==null?1:Math.floor(c)),o),i.range=(o,c,u)=>{const f=[];if(o=i.ceil(o),u=u==null?1:Math.floor(u),!(o0))return f;let h;do f.push(h=new Date(+o)),t(o,u),e(o);while(hTt(c=>{if(c>=c)for(;e(c),!o(c);)c.setTime(c-1)},(c,u)=>{if(c>=c)if(u<0)for(;++u<=0;)for(;t(c,-1),!o(c););else for(;--u>=0;)for(;t(c,1),!o(c););}),r&&(i.count=(o,c)=>(Bg.setTime(+o),Ug.setTime(+c),e(Bg),e(Ug),Math.floor(r(Bg,Ug))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?c=>n(c)%o===0:c=>i.count(0,c)%o===0):i)),i}const Yf=Tt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Yf.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Tt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Yf);Yf.range;const mi=1e3,rn=mi*60,pi=rn*60,wi=pi*24,U0=wi*7,Q2=wi*30,Wg=wi*365,eo=Tt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*mi)},(e,t)=>(t-e)/mi,e=>e.getUTCSeconds());eo.range;const W0=Tt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*mi)},(e,t)=>{e.setTime(+e+t*rn)},(e,t)=>(t-e)/rn,e=>e.getMinutes());W0.range;const H0=Tt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*rn)},(e,t)=>(t-e)/rn,e=>e.getUTCMinutes());H0.range;const K0=Tt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*mi-e.getMinutes()*rn)},(e,t)=>{e.setTime(+e+t*pi)},(e,t)=>(t-e)/pi,e=>e.getHours());K0.range;const G0=Tt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*pi)},(e,t)=>(t-e)/pi,e=>e.getUTCHours());G0.range;const mu=Tt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*rn)/wi,e=>e.getDate()-1);mu.range;const em=Tt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wi,e=>e.getUTCDate()-1);em.range;const ZC=Tt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wi,e=>Math.floor(e/wi));ZC.range;function Oo(e){return Tt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*rn)/U0)}const tm=Oo(0),Zf=Oo(1),SB=Oo(2),EB=Oo(3),qs=Oo(4),AB=Oo(5),CB=Oo(6);tm.range;Zf.range;SB.range;EB.range;qs.range;AB.range;CB.range;function _o(e){return Tt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/U0)}const rm=_o(0),Xf=_o(1),PB=_o(2),OB=_o(3),Qs=_o(4),_B=_o(5),MB=_o(6);rm.range;Xf.range;PB.range;OB.range;Qs.range;_B.range;MB.range;const V0=Tt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());V0.range;const q0=Tt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());q0.range;const ki=Tt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());ki.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Tt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});ki.range;const ji=Tt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ji.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Tt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ji.range;function XC(e,t,r,n,i,o){const c=[[eo,1,mi],[eo,5,5*mi],[eo,15,15*mi],[eo,30,30*mi],[o,1,rn],[o,5,5*rn],[o,15,15*rn],[o,30,30*rn],[i,1,pi],[i,3,3*pi],[i,6,6*pi],[i,12,12*pi],[n,1,wi],[n,2,2*wi],[r,1,U0],[t,1,Q2],[t,3,3*Q2],[e,1,Wg]];function u(h,m,p){const v=mk).right(c,v);if(b===c.length)return e.every(ux(h/Wg,m/Wg,p));if(b===0)return Yf.every(Math.max(ux(h,m,p),1));const[N,w]=c[v/c[b-1][2]53)return null;"w"in W||(W.w=1),"Z"in W?(Ie=Kg(fc(W.y,0,1)),be=Ie.getUTCDay(),Ie=be>4||be===0?Xf.ceil(Ie):Xf(Ie),Ie=em.offset(Ie,(W.V-1)*7),W.y=Ie.getUTCFullYear(),W.m=Ie.getUTCMonth(),W.d=Ie.getUTCDate()+(W.w+6)%7):(Ie=Hg(fc(W.y,0,1)),be=Ie.getDay(),Ie=be>4||be===0?Zf.ceil(Ie):Zf(Ie),Ie=mu.offset(Ie,(W.V-1)*7),W.y=Ie.getFullYear(),W.m=Ie.getMonth(),W.d=Ie.getDate()+(W.w+6)%7)}else("W"in W||"U"in W)&&("w"in W||(W.w="u"in W?W.u%7:"W"in W?1:0),be="Z"in W?Kg(fc(W.y,0,1)).getUTCDay():Hg(fc(W.y,0,1)).getDay(),W.m=0,W.d="W"in W?(W.w+6)%7+W.W*7-(be+5)%7:W.w+W.U*7-(be+6)%7);return"Z"in W?(W.H+=W.Z/100|0,W.M+=W.Z%100,Kg(W)):Hg(W)}}function B(re,ye,Oe,W){for(var ke=0,Ie=ye.length,be=Oe.length,We,Lt;ke=be)return-1;if(We=ye.charCodeAt(ke++),We===37){if(We=ye.charAt(ke++),Lt=_[We in Y2?ye.charAt(ke++):We],!Lt||(W=Lt(re,Oe,W))<0)return-1}else if(We!=Oe.charCodeAt(W++))return-1}return W}function F(re,ye,Oe){var W=h.exec(ye.slice(Oe));return W?(re.p=m.get(W[0].toLowerCase()),Oe+W[0].length):-1}function R(re,ye,Oe){var W=b.exec(ye.slice(Oe));return W?(re.w=N.get(W[0].toLowerCase()),Oe+W[0].length):-1}function Q(re,ye,Oe){var W=p.exec(ye.slice(Oe));return W?(re.w=v.get(W[0].toLowerCase()),Oe+W[0].length):-1}function U(re,ye,Oe){var W=S.exec(ye.slice(Oe));return W?(re.m=E.get(W[0].toLowerCase()),Oe+W[0].length):-1}function ge(re,ye,Oe){var W=w.exec(ye.slice(Oe));return W?(re.m=k.get(W[0].toLowerCase()),Oe+W[0].length):-1}function ue(re,ye,Oe){return B(re,t,ye,Oe)}function pe(re,ye,Oe){return B(re,r,ye,Oe)}function se(re,ye,Oe){return B(re,n,ye,Oe)}function ae(re){return c[re.getDay()]}function Z(re){return o[re.getDay()]}function te(re){return f[re.getMonth()]}function ie(re){return u[re.getMonth()]}function D(re){return i[+(re.getHours()>=12)]}function M(re){return 1+~~(re.getMonth()/3)}function q(re){return c[re.getUTCDay()]}function le(re){return o[re.getUTCDay()]}function oe(re){return f[re.getUTCMonth()]}function ee(re){return u[re.getUTCMonth()]}function ne(re){return i[+(re.getUTCHours()>=12)]}function he(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var ye=O(re+="",C);return ye.toString=function(){return re},ye},parse:function(re){var ye=I(re+="",!1);return ye.toString=function(){return re},ye},utcFormat:function(re){var ye=O(re+="",A);return ye.toString=function(){return re},ye},utcParse:function(re){var ye=I(re+="",!0);return ye.toString=function(){return re},ye}}}var Y2={"-":"",_:" ",0:"0"},Kt=/^\s*\d+/,$B=/^%/,zB=/[\\^$*+?|[\]().{}]/g;function Ze(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",o=i.length;return n+(o[t.toLowerCase(),r]))}function BB(e,t,r){var n=Kt.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function UB(e,t,r){var n=Kt.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function WB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function HB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function KB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Z2(e,t,r){var n=Kt.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function X2(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function GB(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function VB(e,t,r){var n=Kt.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function qB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function J2(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function QB(e,t,r){var n=Kt.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function eN(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function YB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function ZB(e,t,r){var n=Kt.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function XB(e,t,r){var n=Kt.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function JB(e,t,r){var n=Kt.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function eU(e,t,r){var n=$B.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function tU(e,t,r){var n=Kt.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function rU(e,t,r){var n=Kt.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function tN(e,t){return Ze(e.getDate(),t,2)}function nU(e,t){return Ze(e.getHours(),t,2)}function iU(e,t){return Ze(e.getHours()%12||12,t,2)}function aU(e,t){return Ze(1+mu.count(ki(e),e),t,3)}function JC(e,t){return Ze(e.getMilliseconds(),t,3)}function oU(e,t){return JC(e,t)+"000"}function sU(e,t){return Ze(e.getMonth()+1,t,2)}function lU(e,t){return Ze(e.getMinutes(),t,2)}function cU(e,t){return Ze(e.getSeconds(),t,2)}function uU(e){var t=e.getDay();return t===0?7:t}function dU(e,t){return Ze(tm.count(ki(e)-1,e),t,2)}function eP(e){var t=e.getDay();return t>=4||t===0?qs(e):qs.ceil(e)}function fU(e,t){return e=eP(e),Ze(qs.count(ki(e),e)+(ki(e).getDay()===4),t,2)}function hU(e){return e.getDay()}function mU(e,t){return Ze(Zf.count(ki(e)-1,e),t,2)}function pU(e,t){return Ze(e.getFullYear()%100,t,2)}function gU(e,t){return e=eP(e),Ze(e.getFullYear()%100,t,2)}function vU(e,t){return Ze(e.getFullYear()%1e4,t,4)}function xU(e,t){var r=e.getDay();return e=r>=4||r===0?qs(e):qs.ceil(e),Ze(e.getFullYear()%1e4,t,4)}function yU(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ze(t/60|0,"0",2)+Ze(t%60,"0",2)}function rN(e,t){return Ze(e.getUTCDate(),t,2)}function bU(e,t){return Ze(e.getUTCHours(),t,2)}function wU(e,t){return Ze(e.getUTCHours()%12||12,t,2)}function kU(e,t){return Ze(1+em.count(ji(e),e),t,3)}function tP(e,t){return Ze(e.getUTCMilliseconds(),t,3)}function jU(e,t){return tP(e,t)+"000"}function NU(e,t){return Ze(e.getUTCMonth()+1,t,2)}function SU(e,t){return Ze(e.getUTCMinutes(),t,2)}function EU(e,t){return Ze(e.getUTCSeconds(),t,2)}function AU(e){var t=e.getUTCDay();return t===0?7:t}function CU(e,t){return Ze(rm.count(ji(e)-1,e),t,2)}function rP(e){var t=e.getUTCDay();return t>=4||t===0?Qs(e):Qs.ceil(e)}function PU(e,t){return e=rP(e),Ze(Qs.count(ji(e),e)+(ji(e).getUTCDay()===4),t,2)}function OU(e){return e.getUTCDay()}function _U(e,t){return Ze(Xf.count(ji(e)-1,e),t,2)}function MU(e,t){return Ze(e.getUTCFullYear()%100,t,2)}function IU(e,t){return e=rP(e),Ze(e.getUTCFullYear()%100,t,2)}function TU(e,t){return Ze(e.getUTCFullYear()%1e4,t,4)}function DU(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Qs(e):Qs.ceil(e),Ze(e.getUTCFullYear()%1e4,t,4)}function LU(){return"+0000"}function nN(){return"%"}function iN(e){return+e}function aN(e){return Math.floor(+e/1e3)}var us,nP,iP;RU({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function RU(e){return us=RB(e),nP=us.format,us.parse,iP=us.utcFormat,us.utcParse,us}function $U(e){return new Date(e)}function zU(e){return e instanceof Date?+e:+new Date(+e)}function Q0(e,t,r,n,i,o,c,u,f,h){var m=D0(),p=m.invert,v=m.domain,b=h(".%L"),N=h(":%S"),w=h("%I:%M"),k=h("%I %p"),S=h("%a %d"),E=h("%b %d"),C=h("%B"),A=h("%Y");function _(O){return(f(O)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,o)=>A7(e,o/n))},r.copy=function(){return lP(t).domain(e)},Ai.apply(r,arguments)}function im(){var e=0,t=.5,r=1,n=1,i,o,c,u,f,h=gr,m,p=!1,v;function b(w){return isNaN(w=+w)?v:(w=.5+((w=+m(w))-o)*(n*w{if(e!=null){var n=e.scale,i=e.type;if(n==="auto")return i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof n=="string")return GU(n)?n:"point"}};function VU(e,t){for(var r=0,n=e.length,i=e[0]t)?r=o+1:n=o}return r}function mP(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var c;return(c=e(o))!==null&&c!==void 0?c:0}),i=e.range();if(!(r.length===0||i.length<2))return o=>{var c,u,f=VU(n,o);if(f<=0)return r[0];if(f>=r.length)return r[r.length-1];var h=(c=n[f-1])!==null&&c!==void 0?c:0,m=(u=n[f])!==null&&u!==void 0?u:0;return Math.abs(o-h)<=Math.abs(o-m)?r[f-1]:r[f]}}}function qU(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):mP(e,void 0)}function sN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Jf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Ci=(e,t)=>{var r=gP(e,t);return r??_t},Mt={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:px,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:ou},vP=(e,t)=>e.cartesianAxis.yAxis[t],Pi=(e,t)=>{var r=vP(e,t);return r??Mt},rW={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},J0=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??rW},yr=(e,t,r)=>{switch(t){case"xAxis":return Ci(e,r);case"yAxis":return Pi(e,r);case"zAxis":return J0(e,r);case"angleAxis":return j0(e,r);case"radiusAxis":return N0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},nW=(e,t,r)=>{switch(t){case"xAxis":return Ci(e,r);case"yAxis":return Pi(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},pu=(e,t,r)=>{switch(t){case"xAxis":return Ci(e,r);case"yAxis":return Pi(e,r);case"angleAxis":return j0(e,r);case"radiusAxis":return N0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},xP=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function yP(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var bP=e=>e.graphicalItems.cartesianItems,iW=Y([Wt,Yh],yP),wP=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),dl=Y([bP,yr,iW],wP,{memoizeOptions:{resultEqualityCheck:Xh}}),kP=Y([dl],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(A0)),jP=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),aW=Y([dl],jP),NP=e=>e.map(t=>t.data).filter(Boolean).flat(1),oW=Y([dl],e=>e.some(t=>!t.data)),SP=Y([dl],NP,{memoizeOptions:{resultEqualityCheck:Xh}}),EP=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,i=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(i,o+1)},ey=Y([SP,Kh],EP),sW=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:Ut(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(i=>({value:Ut(i,n)}))):e.map(n=>({value:n})),AP=(e,t,r,n,i,o)=>{var c=n.chartData,u=c===void 0?[]:c,f=n.dataStartIndex,h=n.dataEndIndex,m=sW(e,t,r);if(i&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var p=u.slice(f,h+1),v=p.map(b=>({value:Ut(b,t.dataKey)})).filter(b=>b.value!=null);return[...v,...m]}return m},gu=Y([ey,yr,dl,Kh,oW,SP],AP);function Es(e){if(Vn(e)||e instanceof Date){var t=Number(e);if(Ge(t))return t}}function cN(e){if(Array.isArray(e)){var t=[Es(e[0]),Es(e[1])];return Un(t)?t:void 0}var r=Es(e);if(r!=null)return[r,r]}function Yn(e){return e.map(Es).filter(Cr)}function lW(e,t){var r=Es(e),n=Es(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var cW=Y([gu],e=>e==null?void 0:e.map(t=>t.value).sort(lW));function CP(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function uW(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Gn(t))n=t;else if(Array.isArray(t)){var i=Yn(t);i.length>0&&(n=Math.max(...i))}return n==null?[]:Yn(r.flatMap(o=>{var c=Ut(e,o.dataKey),u,f;if(Array.isArray(c)){var h=pP(c,2);u=h[0],f=h[1]}else u=f=c;if(!(!Ge(u)||!Ge(f)))return[n-u,n+f]}))}var Dt=e=>{var t=Ht(e),r=cl(e);return pu(e,t,r)},Ys=Y([Dt],e=>e==null?void 0:e.dataKey),dW=Y([kP,Kh,Dt],MC),PP=(e,t,r,n)=>{var i={},o=t.reduce((c,u)=>{if(u.stackId==null)return c;var f=c[u.stackId];return f==null&&(f=[]),f.push(u),c[u.stackId]=f,c},i);return Object.fromEntries(Object.entries(o).map(c=>{var u=pP(c,2),f=u[0],h=u[1],m=n?[...h].reverse():h,p=m.map(E0);return[f,{stackedData:Pz(e,p,r),graphicalItems:m}]}))},OP=Y([dW,kP,Gh,SC],PP),_P=(e,t,r,n)=>{var i=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return Iz(e,i,o)},fW=Y([yr],e=>e.allowDataOverflow),ty=e=>{var t;if(e==null||!("domain"in e))return px;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Yn(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:px},MP=Y([yr],ty),IP=Y([MP,fW],mC),hW=Y([OP,En,Wt,IP],_P,{memoizeOptions:{resultEqualityCheck:Zh}}),ry=e=>e.errorBars,mW=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>CP(r,n)),eh=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],u,f;if(n.length>0&&n.forEach(h=>{var m,p=h.data!=null?[...h.data]:c,v=(m=i[h.id])===null||m===void 0?void 0:m.filter(b=>CP(o,b));p.forEach(b=>{var N,w=Ut(b,(N=r.dataKey)!==null&&N!==void 0?N:h.dataKey),k=uW(b,w,v);if(k.length>=2){var S=Math.min(...k),E=Math.max(...k);(u==null||Sf)&&(f=E)}var C=cN(w);C!=null&&(u=u==null?C[0]:Math.min(u,C[0]),f=f==null?C[1]:Math.max(f,C[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(h=>{var m=cN(Ut(h,r.dataKey));m!=null&&(u=u==null?m[0]:Math.min(u,m[0]),f=f==null?m[1]:Math.max(f,m[1]))}),Ge(u)&&Ge(f))return[u,f]},pW=Y([ey,yr,aW,ry,Wt,K9],TP,{memoizeOptions:{resultEqualityCheck:Zh}});function gW(e){var t=e.value;if(Vn(t)||t instanceof Date)return t}var vW=(e,t,r)=>{var n=e.map(gW).filter(i=>i!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&KE(n))?hC(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},DP=e=>e.referenceElements.dots,fl=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),xW=Y([DP,Wt,Yh],fl),LP=e=>e.referenceElements.areas,yW=Y([LP,Wt,Yh],fl),RP=e=>e.referenceElements.lines,bW=Y([RP,Wt,Yh],fl),$P=(e,t)=>{if(e!=null){var r=Yn(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},wW=Y(xW,Wt,$P),zP=(e,t)=>{if(e!=null){var r=Yn(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},kW=Y([yW,Wt],zP);function jW(e){var t;if(e.x!=null)return Yn([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Yn(r)}function NW(e){var t;if(e.y!=null)return Yn([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Yn(r)}var FP=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?jW(n):NW(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},SW=Y([bW,Wt],FP),EW=Y(wW,SW,kW,(e,t,r)=>eh(e,r,t)),BP=(e,t,r,n,i,o,c,u)=>{if(r!=null)return r;var f=c==="vertical"&&u==="xAxis"||c==="horizontal"&&u==="yAxis",h=f?eh(n,o,i):eh(o,i);return Z9(t,h,e.allowDataOverflow)},AW=Y([yr,MP,IP,hW,pW,EW,pt,Wt],BP,{memoizeOptions:{resultEqualityCheck:Zh}}),CW=[0,1],UP=(e,t,r,n,i,o,c)=>{if(!((e==null||r==null||r.length===0)&&c===void 0)){var u=e.dataKey,f=e.type,h=Zn(t,o);if(h&&u==null){var m;return hC(0,(m=r==null?void 0:r.length)!==null&&m!==void 0?m:0)}return f==="category"?vW(n,e,h):i==="expand"&&!h?CW:c}},ny=Y([yr,pt,ey,gu,Gh,Wt,AW],UP),hl=Y([yr,xP,b0],hP),WP=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var i=ty(t),o=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Un(e)){if(o)return x2(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return y2(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Un(e))return x2(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Un(e))return y2(e,t.tickCount,t.allowDecimals,"adaptive")}}},iy=Y([ny,pu,hl],WP),HP=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&Un(t)&&Array.isArray(r)&&r.length>0){var i,o,c=t[0],u=(i=r[0])!==null&&i!==void 0?i:0,f=t[1],h=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(c,u),Math.max(f,h)]}return t},PW=Y([yr,ny,iy,Wt],HP),OW=Y(gu,yr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Yn(e.map(p=>p.value))).sort((p,v)=>p-v),i=n[0],o=n[n.length-1];if(i==null||o==null)return 1/0;var c=o-i;if(c===0)return 1/0;for(var u=0;ui,(e,t,r,n,i)=>{if(!Ge(e))return 0;var o=t==="vertical"?n.height:n.width;if(i==="gap")return e*o/2;if(i==="no-gap"){var c=ja(r,e*o),u=e*o/2;return u-c-(u-c)/o*c}return 0}),_W=(e,t,r)=>{var n=Ci(e,t);return n==null||typeof n.padding!="string"?0:KP(e,"xAxis",t,r,n.padding)},MW=(e,t,r)=>{var n=Pi(e,t);return n==null||typeof n.padding!="string"?0:KP(e,"yAxis",t,r,n.padding)},IW=Y(Ci,_W,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var i=e.padding;return typeof i=="string"?{left:t,right:t}:{left:((r=i.left)!==null&&r!==void 0?r:0)+t,right:((n=i.right)!==null&&n!==void 0?n:0)+t}}),TW=Y(Pi,MW,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var i=e.padding;return typeof i=="string"?{top:t,bottom:t}:{top:((r=i.top)!==null&&r!==void 0?r:0)+t,bottom:((n=i.bottom)!==null&&n!==void 0?n:0)+t}}),GP=Y([tr,IW,zh,$h,(e,t,r)=>r],(e,t,r,n,i)=>{var o=n.padding;return i?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),VP=Y([tr,pt,TW,zh,$h,(e,t,r)=>r],(e,t,r,n,i,o)=>{var c=i.padding;return o?[n.height-c.bottom,c.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),vu=(e,t,r,n)=>{var i;switch(t){case"xAxis":return GP(e,r,n);case"yAxis":return VP(e,r,n);case"zAxis":return(i=J0(e,r))===null||i===void 0?void 0:i.range;case"angleAxis":return PC(e);case"radiusAxis":return OC(e,r);default:return}},qP=Y([yr,vu],Vh),DW=Y([hl,PW],p7),ay=Y([yr,hl,DW,qP],X0),QP=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var i=r.type,o=r.scale,c=Zn(e,n);if(c&&(i==="number"||o!=="auto"))return t.map(u=>u.value)}},oy=Y([pt,gu,pu,Wt],QP),am=Y([ay],C0);Y([ay],qU);Y([ay,cW],mP);Y([dl,ry,Wt],mW);function YP(e,t){return e.idt.id?1:0}var om=(e,t)=>t,sm=(e,t,r)=>r,LW=Y(Lh,om,sm,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(YP)),RW=Y(Rh,om,sm,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(YP)),ZP=(e,t)=>({width:e.width,height:t.height}),$W=(e,t)=>{var r=typeof t.width=="number"?t.width:ou;return{width:r,height:e.height}},zW=Y(tr,Ci,ZP),FW=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},BW=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},UW=Y(Ei,tr,LW,om,sm,(e,t,r,n,i)=>{var o={},c;return r.forEach(u=>{var f=ZP(t,u);c==null&&(c=FW(t,n,e));var h=n==="top"&&!i||n==="bottom"&&i;o[u.id]=c-Number(h)*f.height,c+=(h?-1:1)*f.height}),o}),WW=Y(Si,tr,RW,om,sm,(e,t,r,n,i)=>{var o={},c;return r.forEach(u=>{var f=$W(t,u);c==null&&(c=BW(t,n,e));var h=n==="left"&&!i||n==="right"&&i;o[u.id]=c-Number(h)*f.width,c+=(h?-1:1)*f.width}),o}),HW=(e,t)=>{var r=Ci(e,t);if(r!=null)return UW(e,r.orientation,r.mirror)},KW=Y([tr,Ci,HW,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),GW=(e,t)=>{var r=Pi(e,t);if(r!=null)return WW(e,r.orientation,r.mirror)},VW=Y([tr,Pi,GW,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),qW=Y(tr,Pi,(e,t)=>{var r=typeof t.width=="number"?t.width:ou;return{width:r,height:e.height}}),XP=(e,t,r,n)=>{if(r!=null){var i=r.allowDuplicatedCategory,o=r.type,c=r.dataKey,u=Zn(e,n),f=t.map(m=>m.value),h=f.filter(m=>m!=null);if(c&&u&&o==="category"&&i&&KE(h))return f}},sy=Y([pt,gu,yr,Wt],XP),uN=Y([pt,nW,hl,am,sy,oy,vu,iy,Wt],(e,t,r,n,i,o,c,u,f)=>{if(t!=null){var h=Zn(e,f);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:f,categoricalDomain:o,duplicateDomain:i,isCategorical:h,niceTicks:u,range:c,realScaleType:r,scale:n}}}),QW=(e,t,r,n,i,o,c,u,f)=>{if(!(t==null||n==null)){var h=Zn(e,f),m=t.type,p=t.ticks,v=t.tickCount,b=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,N=m==="category"&&n.bandwidth?n.bandwidth()/b:0;N=f==="angleAxis"&&o!=null&&o.length>=2?en(o[0]-o[1])*2*N:N;var w=p||i;return w?w.map((k,S)=>{var E=c?c.indexOf(k):k,C=n.map(E);return Ge(C)?{index:S,coordinate:C+N,value:k,offset:N}:null}).filter(Cr):h&&u?u.map((k,S)=>{var E=n.map(k);return Ge(E)?{coordinate:E+N,value:k,index:S,offset:N}:null}).filter(Cr):n.ticks?n.ticks(v).map((k,S)=>{var E=n.map(k);return Ge(E)?{coordinate:E+N,value:k,index:S,offset:N}:null}).filter(Cr):n.domain().map((k,S)=>{var E=n.map(k);return Ge(E)?{coordinate:E+N,value:c?c[k]:k,index:S,offset:N}:null}).filter(Cr)}},JP=Y([pt,pu,hl,am,iy,vu,sy,oy,Wt],QW),YW=(e,t,r,n,i,o,c)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var u=Zn(e,c),f=t.tickCount,h=0;return h=c==="angleAxis"&&(n==null?void 0:n.length)>=2?en(n[0]-n[1])*2*h:h,u&&o?o.map((m,p)=>{var v=r.map(m);return Ge(v)?{coordinate:v+h,value:m,index:p,offset:h}:null}).filter(Cr):r.ticks?r.ticks(f).map((m,p)=>{var v=r.map(m);return Ge(v)?{coordinate:v+h,value:m,index:p,offset:h}:null}).filter(Cr):r.domain().map((m,p)=>{var v=r.map(m);return Ge(v)?{coordinate:v+h,value:i?i[m]:m,index:p,offset:h}:null}).filter(Cr)}},e3=Y([pt,pu,am,vu,sy,oy,Wt],YW),t3=Y(yr,am,(e,t)=>{if(!(e==null||t==null))return Jf(Jf({},e),{},{scale:t})}),ZW=Y([yr,hl,ny,qP],X0),XW=Y([ZW],C0);Y((e,t,r)=>J0(e,r),XW,(e,t)=>{if(!(e==null||t==null))return Jf(Jf({},e),{},{scale:t})});var JW=Y([pt,Lh,Rh],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),eH=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};Y([eH],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,i=e[0];for(var o of e){var c=Math.abs(o.coordinate-t);ce.options.defaultTooltipEventType,n3=e=>e.options.validateTooltipEventTypes;function i3(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function xu(e,t){var r=r3(e),n=n3(e);return i3(t,r,n)}function tH(e){return Te(t=>xu(t,e))}var a3=(e,t)=>{var r,n=Number(t);if(!(Gn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},rH=e=>e.tooltip.settings,aa={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},nH={itemInteraction:{click:aa,hover:aa},axisInteraction:{click:aa,hover:aa},keyboardInteraction:aa,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},o3=ur({name:"tooltip",initialState:nH,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:ct()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).tooltipItemPayloads.indexOf(n);o>-1&&(e.tooltipItemPayloads[o]=i)},prepare:ct()},removeTooltipEntrySettings:{reducer(e,t){var r=tn(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:ct()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),un=o3.actions,iH=un.addTooltipEntrySettings,aH=un.replaceTooltipEntrySettings,oH=un.removeTooltipEntrySettings,sH=un.setTooltipSettingsState,lH=un.setActiveMouseOverItemIndex;un.mouseLeaveItem;var s3=un.mouseLeaveChart;un.setActiveClickItemIndex;var l3=un.setMouseOverAxisIndex,cH=un.setMouseClickAxisIndex,yc=un.setSyncInteraction,th=un.setKeyboardInteraction,uH=o3.reducer;function dN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zd(e){for(var t=1;t{if(t==null)return aa;var i=mH(e,t,r);if(i==null)return aa;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(pH(i)){if(o)return Zd(Zd({},i),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Zd(Zd({},aa),{},{coordinate:i.coordinate})};function gH(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function vH(e,t){var r=gH(e),n=t[0],i=t[1];if(r===void 0)return!1;var o=Math.min(n,i),c=Math.max(n,i);return r>=o&&r<=c}function xH(e,t,r){if(r==null||t==null)return!0;var n=Ut(e,t);return n==null||!Un(r)?!0:vH(n,r)}var kc=(e,t,r,n)=>{var i=e==null?void 0:e.index;if(i==null)return null;var o=Number(i);if(!Ge(o))return i;var c=0,u=1/0;t.length>0&&(u=t.length-1);var f=Math.max(c,Math.min(o,u)),h=t[f];return h==null||xH(h,r,n)?String(f):null},u3=(e,t,r,n,i,o,c)=>{if(o!=null){var u=c[0],f=u==null?void 0:u.getPosition(o);if(f!=null)return f;var h=i==null?void 0:i[Number(o)];if(h)switch(r){case"horizontal":return{x:h.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:h.coordinate}}}},d3=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(r==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(c=>{var u;return((u=c.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},f3=e=>e.options.tooltipPayloadSearcher,ml=e=>e.tooltip;function fN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hN(e){for(var t=1;te(t)}function mN(e){if(typeof e=="string")return e}function SH(e){if(!(e==null||typeof e!="object")){var t="name"in e?kH(e.name):void 0,r="unit"in e?jH(e.unit):void 0,n="dataKey"in e?NH(e.dataKey):void 0,i="payload"in e?e.payload:void 0,o="color"in e?mN(e.color):void 0,c="fill"in e?mN(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:i,color:o,fill:c}}}function EH(e,t){return e??t}var h3=(e,t,r,n,i,o,c)=>{if(!(t==null||o==null)){var u=r.chartData,f=r.computedData,h=r.dataStartIndex,m=r.dataEndIndex,p=[];return e.reduce((v,b)=>{var N,w=b.dataDefinedOnItem,k=b.settings,S=EH(w,u),E=Array.isArray(S)?$A(S,h,m):S,C=(N=k==null?void 0:k.dataKey)!==null&&N!==void 0?N:n,A=k==null?void 0:k.nameKey,_;if(n&&Array.isArray(E)&&!Array.isArray(E[0])&&c==="axis"?_=GE(E,n,i):_=o(E,t,f,A),Array.isArray(_))_.forEach(I=>{var B,F,R=SH(I),Q=R==null?void 0:R.name,U=R==null?void 0:R.dataKey,ge=R==null?void 0:R.payload,ue=hN(hN({},k),{},{name:Q,unit:R==null?void 0:R.unit,color:(B=R==null?void 0:R.color)!==null&&B!==void 0?B:k==null?void 0:k.color,fill:(F=R==null?void 0:R.fill)!==null&&F!==void 0?F:k==null?void 0:k.fill});v.push(lj({tooltipEntrySettings:ue,dataKey:U,payload:ge,value:Ut(ge,U),name:Q==null?void 0:String(Q)}))});else{var O;v.push(lj({tooltipEntrySettings:k,dataKey:C,payload:_,value:Ut(_,C),name:(O=Ut(_,A))!==null&&O!==void 0?O:k==null?void 0:k.name}))}return v},p)}},ly=Y([Dt,xP,b0],hP),AH=Y([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),CH=Y([Ht,cl],yP),Mo=Y([AH,Dt,CH],wP,{memoizeOptions:{resultEqualityCheck:Xh}}),PH=Y([Mo],e=>e.filter(A0)),m3=Y([Mo],NP,{memoizeOptions:{resultEqualityCheck:Xh}}),OH=Y([Mo],e=>e.some(t=>!t.data)),So=Y([m3,En],EP),_H=Y([PH,En,Dt],MC),cy=Y([So,Dt,Mo,En,OH,m3],AP),p3=Y([Dt],ty),MH=Y([Dt],e=>e.allowDataOverflow),g3=Y([p3,MH],mC),IH=Y([Mo],e=>e.filter(A0)),TH=Y([_H,IH,Gh,SC],PP),DH=Y([TH,En,Ht,g3],_P),LH=Y([Mo],jP),RH=Y([So,Dt,LH,ry,Ht,G9],TP,{memoizeOptions:{resultEqualityCheck:Zh}}),$H=Y([DP,Ht,cl],fl),zH=Y([$H,Ht],$P),FH=Y([LP,Ht,cl],fl),BH=Y([FH,Ht],zP),UH=Y([RP,Ht,cl],fl),WH=Y([UH,Ht],FP),HH=Y([zH,WH,BH],eh),KH=Y([Dt,p3,g3,DH,RH,HH,pt,Ht],BP),Zs=Y([Dt,pt,So,cy,Gh,Ht,KH],UP),GH=Y([Zs,Dt,ly],WP),VH=Y([Dt,Zs,GH,Ht],HP),v3=e=>{var t=Ht(e),r=cl(e),n=!1;return vu(e,t,r,n)},x3=Y([Dt,v3],Vh),qH=Y([Dt,ly,VH,x3],X0),y3=Y([qH],C0),QH=Y([pt,cy,Dt,Ht],XP),YH=Y([pt,cy,Dt,Ht],QP),ZH=(e,t,r,n,i,o,c,u)=>{if(t){var f=t.type,h=Zn(e,u);if(n){var m=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,p=f==="category"&&n.bandwidth?n.bandwidth()/m:0;return p=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?en(i[0]-i[1])*2*p:p,h&&c?c.map((v,b)=>{var N=n.map(v);return Ge(N)?{coordinate:N+p,value:v,index:b,offset:p}:null}).filter(Cr):n.domain().map((v,b)=>{var N=n.map(v);return Ge(N)?{coordinate:N+p,value:o?o[v]:v,index:b,offset:p}:null}).filter(Cr)}}},Oi=Y([pt,Dt,ly,y3,v3,QH,YH,Ht],ZH),uy=Y([r3,n3,rH],(e,t,r)=>i3(r.shared,e,t)),b3=e=>e.tooltip.settings.trigger,dy=e=>e.tooltip.settings.defaultIndex,yu=Y([ml,uy,b3,dy],c3),Kc=Y([yu,So,Ys,Zs],kc),w3=Y([Oi,Kc],a3),XH=Y([yu],e=>{if(e)return e.dataKey}),JH=Y([yu],e=>{if(e)return e.graphicalItemId}),k3=Y([ml,uy,b3,dy],d3),eK=Y([Si,Ei,pt,tr,Oi,dy,k3],u3),tK=Y([yu,eK],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),rK=Y([yu],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),nK=Y([k3,Kc,En,Ys,w3,f3,uy],h3),iK=Y([nK],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function pN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function gN(e){for(var t=1;tTe(Dt),cK=()=>{var e=lK(),t=Te(Oi),r=Te(y3);return _f(!e||!r?void 0:gN(gN({},e),{},{scale:r}),t)};function vN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ds(e){for(var t=1;t{var i=t.find(o=>o&&o.index===r);if(i){if(e==="horizontal")return{x:i.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:i.coordinate}}return{x:0,y:0}},mK=(e,t,r,n)=>{var i=t.find(h=>h&&h.index===r);if(i){if(e==="centric"){var o=i.coordinate,c=n.radius;return ds(ds(ds({},n),Xt(n.cx,n.cy,c,o)),{},{angle:o,radius:c})}var u=i.coordinate,f=n.angle;return ds(ds(ds({},n),Xt(n.cx,n.cy,u,f)),{},{angle:f,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function pK(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var j3=(e,t,r,n,i)=>{var o,c=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(c<=1||e==null)return 0;if(n==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(f=r[u-1])===null||f===void 0?void 0:f.coordinate:(h=r[c-1])===null||h===void 0?void 0:h.coordinate,N=(m=r[u])===null||m===void 0?void 0:m.coordinate,w=u>=c-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(v=r[u+1])===null||v===void 0?void 0:v.coordinate,k=void 0;if(!(b==null||N==null||w==null))if(en(N-b)!==en(w-N)){var S=[];if(en(w-N)===en(i[1]-i[0])){k=w;var E=N+i[1]-i[0];S[0]=Math.min(E,(E+b)/2),S[1]=Math.max(E,(E+b)/2)}else{k=b;var C=w+i[1]-i[0];S[0]=Math.min(N,(C+N)/2),S[1]=Math.max(N,(C+N)/2)}var A=[Math.min(N,(k+N)/2),Math.max(N,(k+N)/2)];if(e>A[0]&&e<=A[1]||e>=S[0]&&e<=S[1]){var _;return(_=r[u])===null||_===void 0?void 0:_.index}}else{var O=Math.min(b,w),I=Math.max(b,w);if(e>(O+N)/2&&e<=(I+N)/2){var B;return(B=r[u])===null||B===void 0?void 0:B.index}}}else if(t)for(var F=0;F(R.coordinate+U.coordinate)/2||F>0&&F(R.coordinate+U.coordinate)/2&&e<=(R.coordinate+Q.coordinate)/2)return R.index}}return-1},N3=()=>Te(b0),fy=(e,t)=>t,S3=(e,t,r)=>r,hy=(e,t,r,n)=>n,gK=Y(Oi,e=>Sh(e,t=>t.coordinate)),my=Y([ml,fy,S3,hy],c3),py=Y([my,So,Ys,Zs],kc),vK=(e,t,r)=>{if(t!=null){var n=ml(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},E3=Y([ml,fy,S3,hy],d3),rh=Y([Si,Ei,pt,tr,Oi,hy,E3],u3),xK=Y([my,rh],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),A3=Y([Oi,py],a3),yK=Y([E3,py,En,Ys,A3,f3,fy],h3),bK=Y([my,py],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),wK=(e,t,r,n,i,o,c)=>{if(!(!e||!r||!n||!i)&&pK(e,c)){var u=Tz(e,t),f=j3(u,o,i,r,n),h=hK(t,i,f,e);return{activeIndex:String(f),activeCoordinate:h}}},kK=(e,t,r,n,i,o,c)=>{if(!(!e||!n||!i||!o||!r)){var u=R9(e,r);if(u){var f=Dz(u,t),h=j3(f,c,o,n,i),m=mK(t,o,h,u);return{activeIndex:String(h),activeCoordinate:m}}}},jK=(e,t,r,n,i,o,c,u)=>{if(!(!e||!t||!n||!i||!o))return t==="horizontal"||t==="vertical"?wK(e,t,n,i,o,c,u):kK(e,t,r,n,i,o,c)},NK=Y(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),SK=Y(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(pr)),r=Array.from(new Set(t));return r.sort((n,i)=>n-i)},{memoizeOptions:{resultEqualityCheck:m7}});function xN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function yN(e){for(var t=1;tyN(yN({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),PK)},_K=new Set(Object.values(pr));function MK(e){return _K.has(e)}var C3=ur({name:"zIndex",initialState:OK,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:ct()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!MK(r)&&delete e.zIndexMap[r])},prepare:ct()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,i=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=i:e.zIndexMap[n].element=i:e.zIndexMap[n]={consumers:0,element:o?void 0:i,panoramaElement:o?i:void 0}},prepare:ct()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:ct()}}}),lm=C3.actions,IK=lm.registerZIndexPortal,Gg=lm.unregisterZIndexPortal,TK=lm.registerZIndexPortalElement,DK=lm.unregisterZIndexPortalElement,LK=C3.reducer;function _i(e){var t=e.zIndex,r=e.children,n=y8(),i=n&&t!==void 0&&t!==0,o=Mr(),c=x.useRef(void 0),u=x.useRef(new Set),f=Ct(),h=Te(p=>NK(p,t,o));if(x.useLayoutEffect(()=>{if(!i){var p=u.current;p.forEach(b=>{f(Gg({zIndex:b}))}),p.clear(),c.current=void 0;return}if(u.current.has(t)||(f(IK({zIndex:t})),u.current.add(t)),h){c.current=h;var v=u.current;v.forEach(b=>{b!==t&&(f(Gg({zIndex:b})),v.delete(b))})}},[f,t,i,h]),x.useLayoutEffect(()=>{var p=u.current;return()=>{p.forEach(v=>{f(Gg({zIndex:v}))}),p.clear()}},[f]),!i)return r;var m=h??c.current;return m?gh.createPortal(r,m):null}function gx(){return gx=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.useContext(P3),Vg={exports:{}},wN;function HK(){return wN||(wN=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(f,h,m){this.fn=f,this.context=h,this.once=m||!1}function o(f,h,m,p,v){if(typeof m!="function")throw new TypeError("The listener must be a function");var b=new i(m,p||f,v),N=r?r+h:h;return f._events[N]?f._events[N].fn?f._events[N]=[f._events[N],b]:f._events[N].push(b):(f._events[N]=b,f._eventsCount++),f}function c(f,h){--f._eventsCount===0?f._events=new n:delete f._events[h]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var h=[],m,p;if(this._eventsCount===0)return h;for(p in m=this._events)t.call(m,p)&&h.push(r?p.slice(1):p);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(m)):h},u.prototype.listeners=function(h){var m=r?r+h:h,p=this._events[m];if(!p)return[];if(p.fn)return[p.fn];for(var v=0,b=p.length,N=new Array(b);v{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Gn(r))return e[r]}},qK={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},O3=ur({name:"options",initialState:qK,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),QK=O3.reducer,YK=O3.actions.createEventEmitter;function ZK(e){return e.tooltip.syncInteraction}var XK={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},_3=ur({name:"chartData",initialState:XK,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,i=r.endIndex;n!=null&&(e.dataStartIndex=n),i!=null&&(e.dataEndIndex=i)}}}),gy=_3.actions,jN=gy.setChartData,JK=gy.setDataStartEndIndexes;gy.setComputedData;var eG=_3.reducer,tG=["x","y"];function NN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fs(e){for(var t=1;tf.rootProps.className);x.useEffect(()=>{if(e==null)return al;var f=(h,m,p)=>{if(t!==p&&e===h){if(m.payload.active===!1){r(yc({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var v;if(c&&m!==null&&m!==void 0&&(v=m.payload)!==null&&v!==void 0&&v.coordinate&&m.payload.sourceViewBox){var b=m.payload.coordinate,N=b.x,w=b.y,k=aG(b,tG),S=m.payload.sourceViewBox,E=S.x,C=S.y,A=S.width,_=S.height,O=fs(fs({},k),{},{x:c.x+(A?(N-E)/A:0)*c.width,y:c.y+(_?(w-C)/_:0)*c.height});r(fs(fs({},m),{},{payload:fs(fs({},m.payload),{},{coordinate:O})}))}else r(m);return}if(i!=null){var I;if(typeof n=="function"){var B={activeTooltipIndex:m.payload.index==null?void 0:Number(m.payload.index),isTooltipActive:m.payload.active,activeIndex:m.payload.index==null?void 0:Number(m.payload.index),activeLabel:m.payload.label,activeDataKey:m.payload.dataKey,activeCoordinate:m.payload.coordinate},F=n(i,B);I=i[F]}else n==="value"&&(I=i.find(ae=>String(ae.value)===m.payload.label));var R=m.payload.coordinate;if(R==null||c==null){r(yc({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(I==null){r(yc({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:m.payload.sourceViewBox,graphicalItemId:void 0}));return}var Q=R.x,U=R.y,ge=Math.min(Q,c.x+c.width),ue=Math.min(U,c.y+c.height),pe={x:o==="horizontal"?I.coordinate:ge,y:o==="horizontal"?ue:I.coordinate},se=yc({active:m.payload.active,coordinate:pe,dataKey:m.payload.dataKey,index:String(I.index),label:m.payload.label,sourceViewBox:m.payload.sourceViewBox,graphicalItemId:m.payload.graphicalItemId});r(se)}}};return Gc.on(vx,f),()=>{Gc.off(vx,f)}},[u,r,t,e,n,i,o,c])}function lG(){var e=Te(w0),t=Te(k0),r=Ct();x.useEffect(()=>{if(e==null)return al;var n=(i,o,c)=>{t!==c&&e===i&&r(JK(o))};return Gc.on(kN,n),()=>{Gc.off(kN,n)}},[r,t,e])}function cG(){var e=Ct();x.useEffect(()=>{e(YK())},[e]),sG(),lG()}function uG(e,t,r,n,i,o){var c=Te(N=>vK(N,e,t)),u=Te(JH),f=Te(k0),h=Te(w0),m=Te(EC),p=Te(ZK),v=(p==null?void 0:p.sourceViewBox)!=null,b=Fh();x.useEffect(()=>{if(!v&&h!=null&&f!=null){var N=yc({active:o,coordinate:r,dataKey:c,index:i,label:typeof n=="number"?String(n):n,sourceViewBox:b,graphicalItemId:u});Gc.emit(vx,h,N,f)}},[v,r,c,u,i,n,f,h,m,o,b])}function SN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function EN(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{I(sH({shared:E,trigger:C,axisId:O,active:i,defaultIndex:B}))},[I,E,C,O,i,B]);var F=Fh(),R=aC(),Q=tH(E),U=(t=Te(Oe=>bK(Oe,Q,C,B)))!==null&&t!==void 0?t:{},ge=U.activeIndex,ue=U.isActive,pe=Te(Oe=>yK(Oe,Q,C,B)),se=Te(Oe=>A3(Oe,Q,C,B)),ae=Te(Oe=>xK(Oe,Q,C,B)),Z=pe,te=WK(),ie=(r=i??ue)!==null&&r!==void 0?r:!1,D=b$([Z,ie]),M=mG(D,2),q=M[0],le=M[1],oe=Q==="axis"?se:void 0;uG(Q,C,ae,oe,ge,ie);var ee=_??te;if(ee==null||F==null||Q==null)return null;var ne=Z??CN;ie||(ne=CN),h&&ne.length&&(ne=W6(ne.filter(Oe=>Oe.value!=null&&(Oe.hide!==!0||n.includeHidden)),v,yG));var he=ne.length>0,re=EN(EN({},n),{},{payload:ne,label:oe,active:ie,activeIndex:ge,coordinate:ae,accessibilityLayer:R}),ye=x.createElement(_F,{allowEscapeViewBox:o,animationDuration:c,animationEasing:u,isAnimationActive:m,active:ie,coordinate:ae,hasPayload:he,offset:p,position:b,reverseDirection:N,useTranslate3d:w,viewBox:F,wrapperStyle:k,lastBoundingBox:q,innerRef:le,hasPortalFromProps:!!_},bG(f,re));return x.createElement(x.Fragment,null,gh.createPortal(ye,ee),ie&&x.createElement(UK,{cursor:S,tooltipEventType:Q,coordinate:ae,payload:ne,index:ge}))}function jG(e,t,r){return(t=NG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function NG(e){var t=SG(e,"string");return typeof t=="symbol"?t:t+""}function SG(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class EG{constructor(t){jG(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function PN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function AG(e){for(var t=1;t{try{var r=document.getElementById(_N);r||(r=document.createElement("span"),r.setAttribute("id",_N),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,MG,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},jc=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||uu.isSsr)return{width:0,height:0};if(!M3.enableCache)return MN(t,r);var n=IG(t,r),i=ON.get(n);if(i)return i;var o=MN(t,r);return ON.set(n,o),o},I3;function nh(e,t){return RG(e)||LG(e,t)||DG(e,t)||TG()}function TG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DG(e,t){if(e){if(typeof e=="string")return IN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?IN(e,t):void 0}}function IN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var i=[];Jt(t)||(r?i=t.toString().split(""):i=t.toString().split(D3));var o=i.map(u=>({word:u,width:jc(u,n).width})),c=r?0:jc(" ",n).width;return{wordsWithComputedWidth:o,spaceWidth:c}}catch{return null}};function R3(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function nV(e){return Jt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var $3=(e,t,r,n)=>e.reduce((i,o)=>{var c=o.word,u=o.width,f=i[i.length-1];if(f&&u!=null&&(t==null||n||f.width+u+re.reduce((t,r)=>t.width>r.width?t:r),iV="…",FN=(e,t,r,n,i,o,c,u)=>{var f=e.slice(0,t),h=L3({breakAll:r,style:n,children:f+iV});if(!h)return[!1,[]];var m=$3(h.wordsWithComputedWidth,o,c,u),p=m.length>i||z3(m).width>Number(o);return[p,m]},aV=(e,t,r,n,i)=>{var o=e.maxLines,c=e.children,u=e.style,f=e.breakAll,h=Pe(o),m=String(c),p=$3(t,n,r,i);if(!h||i)return p;var v=p.length>o||z3(p).width>Number(n);if(!v)return p;for(var b=0,N=m.length-1,w=0,k;b<=N&&w<=m.length-1;){var S=Math.floor((b+N)/2),E=S-1,C=FN(m,E,f,u,o,n,r,i),A=$N(C,2),_=A[0],O=A[1],I=FN(m,S,f,u,o,n,r,i),B=$N(I,1),F=B[0];if(!_&&!F&&(b=S+1),_&&F&&(N=S-1),!_&&F){k=O;break}w++}return k||p},BN=e=>{var t=Jt(e)?[]:e.toString().split(D3);return[{words:t,width:void 0}]},oV=e=>{var t=e.width,r=e.scaleToFit,n=e.children,i=e.style,o=e.breakAll,c=e.maxLines;if((t||r)&&!uu.isSsr){var u,f,h=L3({breakAll:o,children:n,style:i});if(h){var m=h.wordsWithComputedWidth,p=h.spaceWidth;u=m,f=p}else return BN(n);return aV({breakAll:o,children:n,maxLines:c,style:i},u,f,t,!!r)}return BN(n)},F3="#808080",sV={angle:0,breakAll:!1,capHeight:"0.71em",fill:F3,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},vy=x.forwardRef((e,t)=>{var r=ln(e,sV),n=r.x,i=r.y,o=r.lineHeight,c=r.capHeight,u=r.fill,f=r.scaleToFit,h=r.textAnchor,m=r.verticalAnchor,p=RN(r,YG),v=x.useMemo(()=>oV({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:f,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,f,p.style,p.width]),b=p.dx,N=p.dy,w=p.angle,k=p.className,S=p.breakAll,E=RN(p,ZG);if(!Vn(n)||!Vn(i)||v.length===0)return null;var C=Number(n)+(Pe(b)?b:0),A=Number(i)+(Pe(N)?N:0);if(!Ge(C)||!Ge(A))return null;var _;switch(m){case"start":_=qg("calc(".concat(c,")"));break;case"middle":_=qg("calc(".concat((v.length-1)/2," * -").concat(o," + (").concat(c," / 2))"));break;default:_=qg("calc(".concat(v.length-1," * -").concat(o,")"));break}var O=[],I=v[0];if(f&&I!=null){var B=I.width,F=p.width;O.push("scale(".concat(Pe(F)&&Pe(B)?F/B:1,")"))}return w&&O.push("rotate(".concat(w,", ").concat(C,", ").concat(A,")")),O.length&&(E.transform=O.join(" ")),x.createElement("text",xx({},nn(E),{ref:t,x:C,y:A,className:it("recharts-text",k),textAnchor:h,fill:u.includes("url")?F3:u}),v.map((R,Q)=>{var U=R.words.join(S?"":" ");return x.createElement("tspan",{x:C,dy:Q===0?_:o,key:"".concat(U,"-").concat(Q)},U)}))});vy.displayName="Text";function UN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dn(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,i=n===void 0?0:n,o=e.parentViewBox,c=d0(t),u=c.x,f=c.y,h=c.height,m=c.upperWidth,p=c.lowerWidth,v=u,b=u+(m-p)/2,N=(v+b)/2,w=(m+p)/2,k=v+m/2,S=h>=0?1:-1,E=S*i,C=S>0?"end":"start",A=S>0?"start":"end",_=m>=0?1:-1,O=_*i,I=_>0?"end":"start",B=_>0?"start":"end",F=o;if(r==="top"){var R={x:v+m/2,y:f-E,horizontalAnchor:"middle",verticalAnchor:C};return F&&(R.height=Math.max(f-F.y,0),R.width=m),R}if(r==="bottom"){var Q={x:b+p/2,y:f+h+E,horizontalAnchor:"middle",verticalAnchor:A};return F&&(Q.height=Math.max(F.y+F.height-(f+h),0),Q.width=p),Q}if(r==="left"){var U={x:N-O,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"};return F&&(U.width=Math.max(U.x-F.x,0),U.height=h),U}if(r==="right"){var ge={x:N+w+O,y:f+h/2,horizontalAnchor:B,verticalAnchor:"middle"};return F&&(ge.width=Math.max(F.x+F.width-ge.x,0),ge.height=h),ge}var ue=F?{width:w,height:h}:{};return r==="insideLeft"?Dn({x:N+O,y:f+h/2,horizontalAnchor:B,verticalAnchor:"middle"},ue):r==="insideRight"?Dn({x:N+w-O,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"},ue):r==="insideTop"?Dn({x:v+m/2,y:f+E,horizontalAnchor:"middle",verticalAnchor:A},ue):r==="insideBottom"?Dn({x:b+p/2,y:f+h-E,horizontalAnchor:"middle",verticalAnchor:C},ue):r==="insideTopLeft"?Dn({x:v+O,y:f+E,horizontalAnchor:B,verticalAnchor:A},ue):r==="insideTopRight"?Dn({x:v+m-O,y:f+E,horizontalAnchor:I,verticalAnchor:A},ue):r==="insideBottomLeft"?Dn({x:b+O,y:f+h-E,horizontalAnchor:B,verticalAnchor:C},ue):r==="insideBottomRight"?Dn({x:b+p-O,y:f+h-E,horizontalAnchor:I,verticalAnchor:C},ue):r&&typeof r=="object"&&(Pe(r.x)||bo(r.x))&&(Pe(r.y)||bo(r.y))?Dn({x:u+ja(r.x,w),y:f+ja(r.y,h),horizontalAnchor:"end",verticalAnchor:"end"},ue):Dn({x:k,y:f+h/2,horizontalAnchor:"middle",verticalAnchor:"middle"},ue)},fV=["labelRef"],hV=["content"];function WN(e,t){if(e==null)return{};var r,n,i=mV(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,i=e.lowerWidth,o=e.width,c=e.height,u=e.children,f=x.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:i,width:o,height:c}),[t,r,n,i,o,c]);return x.createElement(B3.Provider,{value:f},u)},U3=()=>{var e=x.useContext(B3),t=Fh();return e||(t?d0(t):void 0)},yV=x.createContext(null),bV=()=>{var e=x.useContext(yV),t=Te(_C);return e||t},wV=e=>{var t=e.value,r=e.formatter,n=Jt(e.children)?t:e.children;return typeof r=="function"?r(n):n},xy=e=>e!=null&&typeof e=="function",kV=(e,t)=>{var r=en(t-e),n=Math.min(Math.abs(t-e),360);return r*n},jV=(e,t,r,n,i)=>{var o=e.offset,c=e.className,u=i.cx,f=i.cy,h=i.innerRadius,m=i.outerRadius,p=i.startAngle,v=i.endAngle,b=i.clockWise,N=(h+m)/2,w=kV(p,v),k=w>=0?1:-1,S,E;switch(t){case"insideStart":S=p+k*o,E=b;break;case"insideEnd":S=v-k*o,E=!b;break;case"end":S=v+k*o,E=b;break;default:throw new Error("Unsupported position ".concat(t))}E=w<=0?E:!E;var C=Xt(u,f,N,S),A=Xt(u,f,N,S+(E?1:-1)*359),_="M".concat(C.x,",").concat(C.y,` + A`).concat(N,",").concat(N,",0,1,").concat(E?0:1,`, + `).concat(A.x,",").concat(A.y),O=Jt(e.id)?Mc("recharts-radial-line-"):e.id;return x.createElement("text",fi({},n,{dominantBaseline:"central",className:it("recharts-radial-bar-label",c)}),x.createElement("defs",null,x.createElement("path",{id:O,d:_})),x.createElement("textPath",{xlinkHref:"#".concat(O)},r))},NV=(e,t,r)=>{var n=e.cx,i=e.cy,o=e.innerRadius,c=e.outerRadius,u=e.startAngle,f=e.endAngle,h=(u+f)/2;if(r==="outside"){var m=Xt(n,i,c+t,h),p=m.x,v=m.y;return{x:p,y:v,textAnchor:p>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"end"};var b=(o+c)/2,N=Xt(n,i,b,h),w=N.x,k=N.y;return{x:w,y:k,textAnchor:"middle",verticalAnchor:"middle"}},uf=e=>e!=null&&"cx"in e&&Pe(e.cx),SV={angle:0,offset:5,zIndex:pr.label,position:"middle",textBreakAll:!1};function EV(e){if(!uf(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,i=n*2;return{x:t-n,y:r-n,width:i,upperWidth:i,lowerWidth:i,height:i}}function ia(e){var t=ln(e,SV),r=t.viewBox,n=t.parentViewBox,i=t.position,o=t.value,c=t.children,u=t.content,f=t.className,h=f===void 0?"":f,m=t.textBreakAll,p=t.labelRef,v=bV(),b=U3(),N=i==="center"?b:v??b,w,k,S;r==null?w=N:uf(r)?w=r:w=d0(r);var E=EV(w);if(!w||Jt(o)&&Jt(c)&&!x.isValidElement(u)&&typeof u!="function")return null;var C=bc(bc({},t),{},{viewBox:w});if(x.isValidElement(u)){C.labelRef;var A=WN(C,fV);return x.cloneElement(u,A)}if(typeof u=="function"){C.content;var _=WN(C,hV);if(k=x.createElement(u,_),x.isValidElement(k))return k}else k=wV(t);var O=nn(t);if(uf(w)){if(i==="insideStart"||i==="insideEnd"||i==="end")return jV(t,i,k,O,w);S=NV(w,t.offset,t.position)}else{if(!E)return null;var I=dV({viewBox:E,position:i,offset:t.offset,parentViewBox:uf(n)?void 0:n});S=bc(bc({x:I.x,y:I.y,textAnchor:I.horizontalAnchor,verticalAnchor:I.verticalAnchor},I.width!==void 0?{width:I.width}:{}),I.height!==void 0?{height:I.height}:{})}return x.createElement(_i,{zIndex:t.zIndex},x.createElement(vy,fi({ref:p,className:it("recharts-label",h)},O,S,{textAnchor:R3(O.textAnchor)?O.textAnchor:S.textAnchor,breakAll:m}),k))}ia.displayName="Label";var AV=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?x.createElement(ia,fi({key:"label-implicit"},n)):Vn(e)?x.createElement(ia,fi({key:"label-implicit",value:e},n)):x.isValidElement(e)?e.type===ia?x.cloneElement(e,bc({key:"label-implicit"},n)):x.createElement(ia,fi({key:"label-implicit",content:e},n)):xy(e)?x.createElement(ia,fi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?x.createElement(ia,fi({},e,{key:"label-implicit"},n)):null};function CV(e){var t=e.label,r=e.labelRef,n=U3();return AV(t,n,r)||null}var PV=["valueAccessor"],OV=["dataKey","clockWise","id","textBreakAll","zIndex"];function ih(){return ih=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(nV(t))return t},W3=x.createContext(void 0),IV=W3.Provider,H3=x.createContext(void 0);H3.Provider;function TV(){return x.useContext(W3)}function DV(){return x.useContext(H3)}function df(e){var t=e.valueAccessor,r=t===void 0?MV:t,n=KN(e,PV),i=n.dataKey;n.clockWise;var o=n.id,c=n.textBreakAll,u=n.zIndex,f=KN(n,OV),h=TV(),m=DV(),p=h||m;return!p||!p.length?null:x.createElement(_i,{zIndex:u??pr.label},x.createElement(an,{className:"recharts-label-list"},p.map((v,b)=>{var N,w=Jt(i)?r(v,b):Ut(v.payload,i),k=Jt(o)?{}:{id:"".concat(o,"-").concat(b)};return x.createElement(ia,ih({key:"label-".concat(b)},nn(v),f,k,{fill:(N=n.fill)!==null&&N!==void 0?N:v.fill,parentViewBox:v.parentViewBox,value:w,textBreakAll:c,viewBox:v.viewBox,index:b,zIndex:0}))})))}df.displayName="LabelList";function LV(e){var t=e.label;return t?t===!0?x.createElement(df,{key:"labelList-implicit"}):x.isValidElement(t)||xy(t)?x.createElement(df,{key:"labelList-implicit",content:t}):typeof t=="object"?x.createElement(df,ih({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function yx(){return yx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,i=e.className,o=it("recharts-dot",i);return Pe(t)&&Pe(r)&&Pe(n)?x.createElement("circle",yx({},jn(e),t0(e),{className:o,cx:t,cy:r,r:n})):null},RV={radiusAxis:{},angleAxis:{}},G3=ur({name:"polarAxis",initialState:RV,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),cm=G3.actions;cm.addRadiusAxis;cm.removeRadiusAxis;cm.addAngleAxis;cm.removeAngleAxis;var $V=G3.reducer;function zV(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var V3=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function GN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function VN(e){for(var t=1;t{n||(i.current===null?r(iH(t)):i.current!==t&&r(aH({prev:i.current,next:t})),i.current=t)},[t,r,n]),x.useLayoutEffect(()=>()=>{i.current&&(r(oH(i.current)),i.current=null)},[r]),null}function QV(e){var t=e.legendPayload,r=Ct(),n=Mr(),i=x.useRef(null);return x.useLayoutEffect(()=>{n||(i.current===null?r(M8(t)):i.current!==t&&r(I8({prev:i.current,next:t})),i.current=t)},[r,n,t]),x.useLayoutEffect(()=>()=>{i.current&&(r(T8(i.current)),i.current=null)},[r]),null}function YV(e,t){return eq(e)||JV(e,t)||XV(e,t)||ZV()}function ZV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function XV(e,t){if(e){if(typeof e=="string")return qN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?qN(e,t):void 0}}function qN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var i of r)n.push({status:"removed",prev:i});for(var o=0;oe[Math.floor(o*r)]);return by(n,t)}function nq(e,t){var r=t.map((n,i)=>e[i]);return by(r,t)}function iq(e,t){for(var r=new Map,n=0;n{var b=r(p,v);if(b!=null){var N=n.get(b);if(N!==void 0)return i.add(b),N}}),c=[];for(var u of n){var f=YV(u,2),h=f[0],m=f[1];i.has(h)||c.push(m)}return by(o,t,c)}function bx(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===yy?rq(e,t):r===tq?nq(e,t):aq(e,t,r)}function Q3(e,t){var r=x.useRef(e),n=x.useRef(t.current),i=x.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,i.current=!1);var o=x.useCallback(function(c,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(u===0){i.current=!0;return}u===1&&(n.current=c),u>0&&i.current&&f&&(t.current=c)},[t]);return{startValue:n.current,syncStepValue:o}}function oq(e,t){return uq(e)||cq(e,t)||lq(e,t)||sq()}function sq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lq(e,t){if(e){if(typeof e=="string")return QN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?QN(e,t):void 0}}function QN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),u=x.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:i,handleAnimationStart:c,handleAnimationEnd:u}}function fq(e){var t,r=e.animationInput,n=e.animationIdPrefix,i=e.items,o=e.previousItemsRef,c=e.isAnimationActive,u=e.animationBegin,f=e.animationDuration,h=e.animationEasing,m=e.onAnimationStart,p=e.onAnimationEnd,v=e.animationInterpolateFn,b=e.animationMatchBy,N=e.shouldUpdatePreviousRef,w=e.children,k=e.layout,S=uC(r,n),E=Q3(S,o),C=(t=E.startValue)!==null&&t!==void 0?t:null,A=bx(C,i,b??yy);return x.createElement(cC,{animationId:S,begin:u,duration:f,isActive:c,easing:h,onAnimationEnd:p,onAnimationStart:m,key:S},_=>{var O=C==null,I=i==null?i:v(A,_,k),B=N?N(_):_>0;return E.syncStepValue(I,_,B),I==null?null:w(I,_,O)})}var Qg;function hq(e,t){return vq(e)||gq(e,t)||pq(e,t)||mq()}function mq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pq(e,t){if(e){if(typeof e=="string")return YN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?YN(e,t):void 0}}function YN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=x.useState(()=>Mc("uid-")),t=hq(e,1),r=t[0];return r},Y3=(Qg=hh.useId)!==null&&Qg!==void 0?Qg:xq;function yq(e,t){var r=Y3();return t||(e?"".concat(e,"-").concat(r):r)}var bq=x.createContext(void 0),wq=e=>{var t=e.id,r=e.type,n=e.children,i=yq("recharts-".concat(r),t);return x.createElement(bq.Provider,{value:i},n(i))},kq={cartesianItems:[],polarItems:[]},Z3=ur({name:"graphicalItems",initialState:kq,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:ct()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).cartesianItems.indexOf(n);o>-1&&(e.cartesianItems[o]=i)},prepare:ct()},removeCartesianGraphicalItem:{reducer(e,t){var r=tn(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:ct()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:ct()},removePolarGraphicalItem:{reducer(e,t){var r=tn(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:ct()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=tn(e).polarItems.indexOf(n);o>-1&&(e.polarItems[o]=i)},prepare:ct()}}}),pl=Z3.actions,jq=pl.addCartesianGraphicalItem,Nq=pl.replaceCartesianGraphicalItem,Sq=pl.removeCartesianGraphicalItem;pl.addPolarGraphicalItem;pl.removePolarGraphicalItem;pl.replacePolarGraphicalItem;var Eq=Z3.reducer,Aq=e=>{var t=Ct(),r=x.useRef(null);return x.useLayoutEffect(()=>{r.current===null?t(jq(e)):r.current!==e&&t(Nq({prev:r.current,next:e})),r.current=e},[t,e]),x.useLayoutEffect(()=>()=>{r.current&&(t(Sq(r.current)),r.current=null)},[t]),null},Cq=x.memo(Aq),Pq=["points"];function ZN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Yg(e){for(var t=1;t{var S,E,C=Yg(Yg(Yg({r:3},c),v),{},{index:k,cx:(S=w.x)!==null&&S!==void 0?S:void 0,cy:(E=w.y)!==null&&E!==void 0?E:void 0,dataKey:o,value:w.value,payload:w.payload,points:t});return x.createElement(Dq,{key:"dot-".concat(k),option:r,dotProps:C,className:i})}),N={};return u&&f!=null&&(N.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(f,")")),x.createElement(_i,{zIndex:m},x.createElement(an,ah({className:n},N),b))}function XN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function JN(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),Zq=Y([Yq,Si,Ei],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),wy=()=>Te(Zq),Xq=()=>Te(iK);function eS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Zg(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,i=e.activeDot,o=e.dataKey,c=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var u={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},f=Zg(Zg(Zg({},u),kh(i)),t0(i)),h;return x.isValidElement(i)?h=x.cloneElement(i,f):typeof i=="function"?h=i(f):h=x.createElement(K3,f),x.createElement(an,{className:"recharts-active-dot",clipPath:c},h)};function tS(e){var t=e.points,r=e.mainColor,n=e.activeDot,i=e.itemDataKey,o=e.clipPath,c=e.zIndex,u=c===void 0?pr.activeDot:c,f=Te(Kc),h=Xq();if(t==null||h==null)return null;var m=t.find(p=>h.includes(p.payload));return Jt(m)?null:x.createElement(_i,{zIndex:u},x.createElement(rQ,{point:m,childIndex:Number(f),mainColor:r,dataKey:i,activeDot:n,clipPath:o}))}var nQ=e=>{var t=e.chartData,r=Ct(),n=Mr();return x.useEffect(()=>n?()=>{}:(r(jN(t)),()=>{r(jN(void 0))}),[t,r,n]),null},rS={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},eO=ur({name:"brush",initialState:rS,reducers:{setBrushSettings(e,t){return t.payload==null?rS:t.payload}}});eO.actions.setBrushSettings;var iQ=eO.reducer;function aQ(e){return(e%180+180)%180}var oQ=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=aQ(i),c=o*Math.PI/180,u=Math.atan(n/r),f=c>u&&c{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=tn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=tn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=tn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),gl=tO.actions;gl.addDot;gl.removeDot;gl.addArea;gl.removeArea;gl.addLine;gl.removeLine;var lQ=tO.reducer;function cQ(e,t){return hQ(e)||fQ(e,t)||dQ(e,t)||uQ()}function uQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dQ(e,t){if(e){if(typeof e=="string")return nS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?nS(e,t):void 0}}function nS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=x.useState("".concat(Mc("recharts"),"-clip")),n=cQ(r,1),i=n[0],o=wy();if(o==null)return null;var c=o.x,u=o.y,f=o.width,h=o.height;return x.createElement(mQ.Provider,{value:i},x.createElement("defs",null,x.createElement("clipPath",{id:i},x.createElement("rect",{x:c,y:u,height:h,width:f}))),t)};function rO(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*i)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-i)<=0}function xQ(e,t){return rO(e,t+1)}function yQ(e,t,r,n,i){for(var o=(n||[]).slice(),c=t.start,u=t.end,f=0,h=1,m=c,p=function(){var N=n==null?void 0:n[f];if(N===void 0)return{v:rO(n,h)};var w=f,k,S=()=>(k===void 0&&(k=r(N,w)),k),E=N.coordinate,C=f===0||Vc(e,E,S,m,u);C||(f=0,m=c,h+=1),C&&(m=E+e*(S()/2+i),f+=h)},v;h<=o.length;)if(v=p(),v)return v.v;return[]}function bQ(e,t,r,n,i){var o=(n||[]).slice(),c=o.length;if(c===0)return[];for(var u=t.start,f=t.end,h=1;h<=c;h++){for(var m=(c-1)%h,p=u,v=!0,b=function(){var A=n[w];if(A==null)return 0;var _=w,O,I=()=>(O===void 0&&(O=r(A,_)),O),B=A.coordinate,F=w===m||Vc(e,B,I,p,f);if(!F)return v=!1,1;F&&(p=B+e*(I()/2+i))},N,w=m;w(w===void 0&&(w=r(b,v)),w);if(v===c-1){var S=e*(N.coordinate+e*k()/2-f);o[v]=N=sr(sr({},N),{},{tickCoord:S>0?N.coordinate-S*e:N.coordinate})}else o[v]=N=sr(sr({},N),{},{tickCoord:N.coordinate});if(N.tickCoord!=null){var E=Vc(e,N.tickCoord,k,u,f);E&&(f=N.tickCoord-e*(k()/2+i),o[v]=sr(sr({},N),{},{isShow:!0}))}},m=c-1;m>=0;m--)h(m);return o}function SQ(e,t,r,n,i,o){var c=(n||[]).slice(),u=c.length,f=t.start,h=t.end;if(o){var m=n[u-1];if(m!=null){var p=r(m,u-1),v=e*(m.coordinate+e*p/2-h);if(c[u-1]=m=sr(sr({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate}),m.tickCoord!=null){var b=Vc(e,m.tickCoord,()=>p,f,h);b&&(h=m.tickCoord-e*(p/2+i),c[u-1]=sr(sr({},m),{},{isShow:!0}))}}}for(var N=o?u-1:u,w=function(E){var C=c[E];if(C==null)return 1;var A=C,_,O=()=>(_===void 0&&(_=r(C,E)),_);if(E===0){var I=e*(A.coordinate-e*O()/2-f);c[E]=A=sr(sr({},A),{},{tickCoord:I<0?A.coordinate-I*e:A.coordinate})}else c[E]=A=sr(sr({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var B=Vc(e,A.tickCoord,O,f,h);B&&(f=A.tickCoord+e*(O()/2+i),c[E]=sr(sr({},A),{},{isShow:!0}))}},k=0;k{var I=typeof h=="function"?h(_.value,O):_.value;return N==="width"?gQ(jc(I,{fontSize:t,letterSpacing:r}),w,p):jc(I,{fontSize:t,letterSpacing:r})[N]},S=i[0],E=i[1],C=i.length>=2&&S!=null&&E!=null?en(E.coordinate-S.coordinate):1,A=vQ(o,C,N);return f==="equidistantPreserveStart"?yQ(C,A,k,i,c):f==="equidistantPreserveEnd"?bQ(C,A,k,i,c):(f==="preserveStart"||f==="preserveStartEnd"?b=SQ(C,A,k,i,c,f==="preserveStartEnd"):b=NQ(C,A,k,i,c),b.filter(_=>_.isShow))}var EQ=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,i=n,o=e.tickSize,c=o===void 0?0:o,u=e.tickMargin,f=u===void 0?0:u,h=0;if(t){Array.from(t).forEach(b=>{if(b){var N=b.getBoundingClientRect();N.width>h&&(h=N.width)}});var m=r?r.getBoundingClientRect().width:0,p=c+f,v=h+p+m+(r?i:0);return Math.round(v)}return 0},AQ={xAxis:{},yAxis:{}},nO=ur({name:"renderedTicks",initialState:AQ,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId,o=r.ticks;e[n][i]=o},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId;delete e[n][i]}}}),iO=nO.actions,CQ=iO.setRenderedTicks,PQ=iO.removeRenderedTicks,OQ=nO.reducer,_Q=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function aS(e,t){return DQ(e)||TQ(e,t)||IQ(e,t)||MQ()}function MQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function IQ(e,t){if(e){if(typeof e=="string")return oS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?oS(e,t):void 0}}function oS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return al;var o=t.map(c=>({value:c.value,coordinate:c.coordinate,offset:c.offset,index:c.index}));return i(CQ({ticks:o,axisId:n,axisType:r})),()=>{i(PQ({axisId:n,axisType:r}))}},[i,t,n,r]),null}var VQ=x.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,i=e.tick,o=e.tickLine,c=e.stroke,u=e.tickFormatter,f=e.unit,h=e.padding,m=e.tickTextProps,p=e.orientation,v=e.mirror,b=e.x,N=e.y,w=e.width,k=e.height,S=e.tickSize,E=e.tickMargin,C=e.fontSize,A=e.letterSpacing,_=e.getTicksConfig,O=e.events,I=e.axisType,B=e.axisId,F=ky(wt(wt({},_),{},{ticks:n}),C,A),R=jn(_),Q=kh(i),U=R3(R.textAnchor)?R.textAnchor:WQ(p,v),ge=HQ(p,v),ue={};typeof o=="object"&&(ue=o);var pe=wt(wt({},R),{},{fill:"none"},ue),se=F.map(te=>wt({entry:te},UQ(te,b,N,w,k,p,S,v,E))),ae=se.map(te=>{var ie=te.entry,D=te.line;return x.createElement(an,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(ie.value,"-").concat(ie.coordinate,"-").concat(ie.tickCoord)},o&&x.createElement("line",Eo({},pe,D,{className:it("recharts-cartesian-axis-tick-line",Po(o,"className"))})))}),Z=se.map((te,ie)=>{var D,M,q=te.entry,le=te.tick,oe=wt(wt(wt(wt({verticalAnchor:ge},R),{},{textAnchor:U,stroke:"none",fill:c},le),{},{index:ie,payload:q,visibleTicksCount:F.length,tickFormatter:u,padding:h},m),{},{angle:(D=(M=m==null?void 0:m.angle)!==null&&M!==void 0?M:R.angle)!==null&&D!==void 0?D:0}),ee=wt(wt({},oe),Q);return x.createElement(an,Eo({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(q.value,"-").concat(q.coordinate,"-").concat(q.tickCoord)},ZR(O,q,ie)),i&&x.createElement(KQ,{option:i,tickProps:ee,value:"".concat(typeof u=="function"?u(q.value,ie):q.value).concat(f||"")}))});return x.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(I,"-ticks")},x.createElement(GQ,{ticks:F,axisId:B,axisType:I}),Z.length>0&&x.createElement(_i,{zIndex:pr.label},x.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(I,"-tick-labels"),ref:t},Z)),ae.length>0&&x.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(I,"-tick-lines")},ae))}),qQ=x.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,i=e.height,o=e.className,c=e.hide,u=e.ticks,f=e.axisType,h=e.axisId,m=LQ(e,_Q),p=x.useState(""),v=aS(p,2),b=v[0],N=v[1],w=x.useState(""),k=aS(w,2),S=k[0],E=k[1],C=x.useRef(null);x.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var _;return EQ({ticks:C.current,label:(_=e.labelRef)===null||_===void 0?void 0:_.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var A=x.useCallback(_=>{if(_){var O=_.getElementsByClassName("recharts-cartesian-axis-tick-value");C.current=O;var I=O[0];if(I){var B=window.getComputedStyle(I),F=B.fontSize,R=B.letterSpacing;(F!==b||R!==S)&&(N(F),E(R))}}},[b,S]);return c||n!=null&&n<=0||i!=null&&i<=0?null:x.createElement(_i,{zIndex:e.zIndex},x.createElement(an,{className:it("recharts-cartesian-axis",o)},x.createElement(BQ,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:jn(e)}),x.createElement(VQ,{ref:A,axisType:f,events:m,fontSize:b,getTicksConfig:e,height:e.height,letterSpacing:S,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:h}),x.createElement(xV,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},x.createElement(CV,{label:e.label,labelRef:e.labelRef}),e.children)))}),jy=x.forwardRef((e,t)=>{var r=ln(e,xi);return x.createElement(qQ,Eo({},r,{ref:t}))});jy.displayName="CartesianAxis";var QQ=["x1","y1","x2","y2","key"],YQ=["offset"],ZQ=["xAxisId","yAxisId"],XQ=["xAxisId","yAxisId"];function lS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cr(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,i=e.y,o=e.width,c=e.height,u=e.ry;return x.createElement("rect",{x:n,y:i,ry:u,width:o,height:c,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function aO(e){var t=e.option,r=e.lineItemProps,n;if(x.isValidElement(t))n=x.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,o=r.x1,c=r.y1,u=r.x2,f=r.y2,h=r.key,m=oh(r,QQ),p=(i=jn(m))!==null&&i!==void 0?i:{};p.offset;var v=oh(p,YQ);n=x.createElement("line",to({},v,{x1:o,y1:c,x2:u,y2:f,fill:"none",key:h}))}return n}function iY(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,o=e.horizontalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var c=oh(e,ZQ),u=o.map((f,h)=>{var m=cr(cr({},c),{},{x1:t,y1:f,x2:t+r,y2:f,key:"line-".concat(h),index:h});return x.createElement(aO,{key:"line-".concat(h),option:i,lineItemProps:m})});return x.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function aY(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,o=e.verticalPoints;if(!i||!o||!o.length)return null;e.xAxisId,e.yAxisId;var c=oh(e,XQ),u=o.map((f,h)=>{var m=cr(cr({},c),{},{x1:f,y1:t,x2:f,y2:t+r,key:"line-".concat(h),index:h});return x.createElement(aO,{option:i,lineItemProps:m,key:"line-".concat(h)})});return x.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function oY(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,o=e.width,c=e.height,u=e.horizontalPoints,f=e.horizontal,h=f===void 0?!0:f;if(!h||!t||!t.length||u==null)return null;var m=u.map(v=>Math.round(v+i-i)).sort((v,b)=>v-b);i!==m[0]&&m.unshift(0);var p=m.map((v,b)=>{var N=m[b+1],w=N==null,k=w?i+c-v:N-v;if(k<=0)return null;var S=b%t.length;return x.createElement("rect",{key:"react-".concat(b),y:v,x:n,height:k,width:o,stroke:"none",fill:t[S],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function sY(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,o=e.x,c=e.y,u=e.width,f=e.height,h=e.verticalPoints;if(!r||!n||!n.length)return null;var m=h.map(v=>Math.round(v+o-o)).sort((v,b)=>v-b);o!==m[0]&&m.unshift(0);var p=m.map((v,b)=>{var N=m[b+1],w=N==null,k=w?o+u-v:N-v;if(k<=0)return null;var S=b%n.length;return x.createElement("rect",{key:"react-".concat(b),x:v,y:c,width:k,height:f,stroke:"none",fill:n[S],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var lY=(e,t)=>{var r=e.xAxis,n=e.width,i=e.height,o=e.offset;return zA(ky(cr(cr(cr({},xi),r),{},{ticks:FA(r),viewBox:{x:0,y:0,width:n,height:i}})),o.left,o.left+o.width,t)},cY=(e,t)=>{var r=e.yAxis,n=e.width,i=e.height,o=e.offset;return zA(ky(cr(cr(cr({},xi),r),{},{ticks:FA(r),viewBox:{x:0,y:0,width:n,height:i}})),o.top,o.top+o.height,t)},uY={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:pr.grid};function oO(e){var t=qA(),r=QA(),n=VA(),i=cr(cr({},ln(e,uY)),{},{x:Pe(e.x)?e.x:n.left,y:Pe(e.y)?e.y:n.top,width:Pe(e.width)?e.width:n.width,height:Pe(e.height)?e.height:n.height}),o=i.xAxisId,c=i.yAxisId,u=i.x,f=i.y,h=i.width,m=i.height,p=i.syncWithTicks,v=i.horizontalValues,b=i.verticalValues,N=Mr(),w=Te(F=>uN(F,"xAxis",o,N)),k=Te(F=>uN(F,"yAxis",c,N));if(!qn(h)||!qn(m)||!Pe(u)||!Pe(f))return null;var S=i.verticalCoordinatesGenerator||lY,E=i.horizontalCoordinatesGenerator||cY,C=i.horizontalPoints,A=i.verticalPoints;if((!C||!C.length)&&typeof E=="function"){var _=v&&v.length,O=E({yAxis:k?cr(cr({},k),{},{ticks:_?v:k.ticks}):void 0,width:t??h,height:r??m,offset:n},_?!0:p);Mf(Array.isArray(O),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof O,"]")),Array.isArray(O)&&(C=O)}if((!A||!A.length)&&typeof S=="function"){var I=b&&b.length,B=S({xAxis:w?cr(cr({},w),{},{ticks:I?b:w.ticks}):void 0,width:t??h,height:r??m,offset:n},I?!0:p);Mf(Array.isArray(B),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof B,"]")),Array.isArray(B)&&(A=B)}return x.createElement(_i,{zIndex:i.zIndex},x.createElement("g",{className:"recharts-cartesian-grid"},x.createElement(nY,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),x.createElement(oY,to({},i,{horizontalPoints:C})),x.createElement(sY,to({},i,{verticalPoints:A})),x.createElement(iY,to({},i,{offset:n,horizontalPoints:C,xAxis:w,yAxis:k})),x.createElement(aY,to({},i,{offset:n,verticalPoints:A,xAxis:w,yAxis:k}))))}oO.displayName="CartesianGrid";var dY={},sO=ur({name:"errorBars",initialState:dY,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]||(e[n]=[]),e[n].push(i)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(c=>c.dataKey===i.dataKey&&c.direction===i.direction?o:c))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==i.dataKey||o.direction!==i.direction))}}}),Ny=sO.actions;Ny.addErrorBar;Ny.replaceErrorBar;Ny.removeErrorBar;var fY=sO.reducer;function lO(e,t){var r,n,i=Te(h=>Ci(h,e)),o=Te(h=>Pi(h,t)),c=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:_t.allowDataOverflow,u=(n=o==null?void 0:o.allowDataOverflow)!==null&&n!==void 0?n:Mt.allowDataOverflow,f=c||u;return{needClip:f,needClipX:c,needClipY:u}}function hY(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,i=wy(),o=lO(t,r),c=o.needClipX,u=o.needClipY,f=o.needClip,h=Te(C=>GP(C,t,!1)),m=Te(C=>VP(C,r,!1));if(!f||!i)return null;var p=i.x,v=i.y,b=i.width,N=i.height,w=c&&h?Math.min(h[0],h[1]):p-b/2,k=u&&m?Math.min(m[0],m[1]):v-N/2,S=c&&h?Math.abs(h[1]-h[0]):b*2,E=u&&m?Math.abs(m[1]-m[0]):N*2;return x.createElement("clipPath",{id:"clipPath-".concat(n)},x.createElement("rect",{x:w,y:k,width:S,height:E}))}function mY(e){var t=kh(e),r=3,n=2;if(t!=null){var i=t.r,o=t.strokeWidth,c=Number(i),u=Number(o);return(Number.isNaN(c)||c<0)&&(c=r),(Number.isNaN(u)||u<0)&&(u=n),{r:c,strokeWidth:u}}return{r,strokeWidth:n}}function Sy(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:X3}function Ey(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:X3}var cO=(e,t,r)=>t3(e,"xAxis",Sy(e,t),r),uO=(e,t,r)=>e3(e,"xAxis",Sy(e,t),r),dO=(e,t,r)=>t3(e,"yAxis",Ey(e,t),r),fO=(e,t,r)=>e3(e,"yAxis",Ey(e,t),r),pY=Y([pt,cO,dO,uO,fO],(e,t,r,n,i)=>Zn(e,"xAxis")?_f(t,n,!1):_f(r,i,!1)),gY=(e,t)=>t,hO=Y([bP,gY],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),mO=e=>{var t=pt(e),r=Zn(t,"xAxis");return r?"yAxis":"xAxis"},vY=(e,t)=>{var r=mO(e);return r==="yAxis"?Ey(e,t):Sy(e,t)},xY=(e,t,r)=>OP(e,mO(e),vY(e,t),r),yY=Y([hO,xY],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,i=E0(e);if(!(n==null||i==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,c=o==null?void 0:o.find(u=>u.key===i);if(c!=null)return c.map(u=>[u[0],u[1]])}}}),bY=Y([pt,cO,dO,uO,fO,yY,H9,pY,hO,s7],(e,t,r,n,i,o,c,u,f,h)=>{var m=c.chartData,p=c.dataStartIndex,v=c.dataEndIndex;if(!(f==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var b=f.data,N;if(b&&b.length>0?N=b:N=m==null?void 0:m.slice(p,v+1),N!=null)return GY({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:p,areaSettings:f,stackedData:o,displayedData:N,chartBaseValue:h,bandSize:u})}}),wY=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],kY=["id","baseLine"];function Nc(){return Nc=Object.assign?Object.assign.bind():function(e){for(var t=1;tp.y||0));return Pe(i)?m=Math.max(i,m):i&&Array.isArray(i)&&i.length&&(m=Math.max(...i.map(p=>p.y||0),m)),Pe(m)?x.createElement("rect",{x:up.x||0));return Pe(i)?m=Math.max(i,m):i&&Array.isArray(i)&&i.length&&(m=Math.max(...i.map(p=>p.x||0),m)),Pe(m)?x.createElement("rect",{x:0,y:ue==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Xs(Xs({},r.next),{},{x:hi(r.prev.x,r.next.x,t),y:hi(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),gO={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:yy,animationInterpolateFn:TY,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:AY,xAxisId:0,yAxisId:0,zIndex:pr.area};function lh(e,t){return e&&e!=="none"?e:t}var DY=e=>{var t=e.dataKey,r=e.name,n=e.stroke,i=e.fill,o=e.legendType,c=e.hide;return[{inactive:c,dataKey:t,type:o,color:lh(n,i),value:BA(r,t),payload:e}]},LY=x.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,i=e.strokeWidth,o=e.fill,c=e.name,u=e.hide,f=e.unit,h=e.tooltipType,m=e.id,p={dataDefinedOnItem:r,getPosition:al,settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:void 0,name:BA(c,t),hide:u,type:h,color:lh(n,o),unit:f,graphicalItemId:m}};return x.createElement(qV,{tooltipEntrySettings:p})});function RY(e){var t=e.clipPathId,r=e.points,n=e.props,i=n.needClip,o=n.dot,c=n.dataKey,u=jn(n);return x.createElement(Rq,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:c,baseProps:u,needClip:i,clipPathId:t})}function $Y(e){var t=e.showLabels,r=e.children,n=e.points,i=n.map(o=>{var c,u,f={x:(c=o.x)!==null&&c!==void 0?c:0,y:(u=o.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Xs(Xs({},f),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:f,fill:void 0})});return x.createElement(IV,{value:t?i:void 0},r)}function zY(e){var t=e.points,r=e.baseLine,n=e.needClip,i=e.clipPathId,o=e.props,c=e.animationElapsedTime,u=e.isAnimating,f=e.isEntrance,h=o.layout,m=o.type,p=o.stroke,v=o.connectNulls,b=o.isRange,N=o.shape,w=o.id,k=pO(o,CY),S=nn(k),E=Xs(Xs({},S),{},{id:w,points:t,connectNulls:v,type:m,baseLine:r,layout:h,stroke:p,isRange:b,animationElapsedTime:c,isAnimating:u,isEntrance:f});return x.createElement(x.Fragment,null,(t==null?void 0:t.length)>1&&x.createElement(an,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},x.createElement(VV,{option:N,DefaultShape:gO.shape,shapeProps:E})),x.createElement(RY,{points:t,props:k,clipPathId:i}))}function FY(e,t,r){if(Pe(e)){var n=Pe(t)?t:void 0;return hi(n,e,r)}if(Jt(e)||Gn(e)){var i=Pe(t)?t:void 0;return hi(i,0,r)}return e}function BY(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=e.previousPointsRef,o=e.previousBaselineRef,c=n.points,u=n.baseLine,f=n.isAnimationActive,h=n.animationBegin,m=n.animationDuration,p=n.animationEasing,v=n.animationMatchBy,b=n.animationInterpolateFn,N=x.useMemo(()=>({points:c,baseLine:u}),[c,u]),w=Q3(N,o),k=f0(),S=dq(n.onAnimationStart,n.onAnimationEnd),E=S.isAnimating,C=S.handleAnimationStart,A=S.handleAnimationEnd,_=w.startValue;if(k==null)return null;var O;return Array.isArray(u)&&Array.isArray(_)?O=bx(_,u,v):Array.isArray(u)?O=bx(null,u,v):O=null,x.createElement(fq,{animationInput:N,animationIdPrefix:"recharts-area-",items:c,previousItemsRef:i,isAnimationActive:f,animationBegin:h,animationDuration:m,animationEasing:p,onAnimationStart:C,onAnimationEnd:A,animationInterpolateFn:b,animationMatchBy:v,layout:k},(I,B,F)=>{var R;return B===1?R=u:Array.isArray(u)?R=b(O,B,k):R=F?u:FY(u,_,B),w.syncStepValue(R,B),x.createElement($Y,{showLabels:!E,points:c},n.children,x.createElement(zY,{points:I,baseLine:R,needClip:t,clipPathId:r,props:n,animationElapsedTime:B,isAnimating:E||B<1,isEntrance:F}),x.createElement(LV,{label:n.label}))})}function UY(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=x.useRef(null),o=x.useRef();return x.createElement(BY,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:o})}class WY extends x.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,i=t.points,o=t.className,c=t.top,u=t.left,f=t.needClip,h=t.xAxisId,m=t.yAxisId,p=t.width,v=t.height,b=t.id,N=t.baseLine,w=t.zIndex;if(r)return null;var k=it("recharts-area",o),S=b,E=mY(n),C=E.r,A=E.strokeWidth,_=V3(n),O=C*2+A,I=f?"url(#clipPath-".concat(_?"":"dots-").concat(S,")"):void 0;return x.createElement(_i,{zIndex:w},x.createElement(an,{className:k},f&&x.createElement("defs",null,x.createElement(hY,{clipPathId:S,xAxisId:h,yAxisId:m}),!_&&x.createElement("clipPath",{id:"clipPath-dots-".concat(S)},x.createElement("rect",{x:u-O/2,y:c-O/2,width:p+O,height:v+O}))),x.createElement(UY,{needClip:f,clipPathId:S,props:this.props})),x.createElement(tS,{points:i,mainColor:lh(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(N)&&x.createElement(tS,{points:N,mainColor:lh(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}function HY(e){var t,r=e.activeDot,n=e.animationBegin,i=e.animationDuration,o=e.animationEasing,c=e.connectNulls,u=e.dot,f=e.fill,h=e.fillOpacity,m=e.hide,p=e.isAnimationActive,v=e.legendType,b=e.stroke,N=e.xAxisId,w=e.yAxisId,k=pO(e,PY),S=ol(),E=N3(),C=lO(N,w),A=C.needClip,_=Mr(),O=(t=Te(pe=>bY(pe,e.id,_)))!==null&&t!==void 0?t:{},I=O.points,B=O.isRange,F=O.baseLine,R=wy();if(S!=="horizontal"&&S!=="vertical"||R==null||E!=="AreaChart"&&E!=="ComposedChart")return null;var Q=R.height,U=R.width,ge=R.x,ue=R.y;return!I||!I.length?null:x.createElement(WY,sh({},k,{activeDot:r,animationBegin:n,animationDuration:i,animationEasing:o,baseLine:F,connectNulls:c,dot:u,fill:f,fillOpacity:h,height:Q,hide:m,layout:S,isAnimationActive:p,isRange:B,legendType:v,needClip:A,points:I,stroke:b,width:U,left:ge,top:ue,xAxisId:N,yAxisId:w}))}var KY=(e,t,r,n,i)=>{var o=r??t;if(Pe(o))return o;var c=e==="horizontal"?i:n,u=c.scale.domain();if(c.type==="number"){var f=Math.max(u[0],u[1]),h=Math.min(u[0],u[1]);return o==="dataMin"?h:o==="dataMax"||f<0?f:Math.max(Math.min(u[0],u[1]),0)}return o==="dataMin"?u[0]:o==="dataMax"?u[1]:u[0]};function GY(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,i=t.dataKey,o=e.stackedData,c=e.layout,u=e.chartBaseValue,f=e.xAxis,h=e.yAxis,m=e.displayedData,p=e.dataStartIndex,v=e.xAxisTicks,b=e.yAxisTicks,N=e.bandSize,w=o&&o.length,k=KY(c,u,n,f,h),S=c==="horizontal",E=!1,C=m.map((_,O)=>{var I,B,F,R;if(w)R=o[p+O];else{var Q=Ut(_,i);Array.isArray(Q)?(R=Q,E=!0):R=[k,Q]}var U=(I=(B=R)===null||B===void 0?void 0:B[1])!==null&&I!==void 0?I:null,ge=U==null||w&&!r&&Ut(_,i)==null;if(S){var ue;return{x:aj({axis:f,ticks:v,bandSize:N,entry:_,index:O}),y:ge?null:(ue=h.scale.map(U))!==null&&ue!==void 0?ue:null,value:R,payload:_}}return{x:ge?null:(F=f.scale.map(U))!==null&&F!==void 0?F:null,y:aj({axis:h,ticks:b,bandSize:N,entry:_,index:O}),value:R,payload:_}}),A;return w||E?A=C.map(_=>{var O,I=Array.isArray(_.value)?_.value[0]:null;if(S){var B;return{x:_.x,y:I!=null&&_.y!=null&&(B=h.scale.map(I))!==null&&B!==void 0?B:null,payload:_.payload}}return{x:I!=null&&(O=f.scale.map(I))!==null&&O!==void 0?O:null,y:_.y,payload:_.payload}}):A=S?h.scale.map(k):f.scale.map(k),{points:C,baseLine:A??0,isRange:E}}function VY(e){var t=ln(e,gO),r=Mr();return x.createElement(wq,{id:t.id,type:"area"},n=>x.createElement(x.Fragment,null,x.createElement(QV,{legendPayload:DY(t)}),x.createElement(LY,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),x.createElement(Cq,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Oz(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),x.createElement(HY,sh({},t,{id:n}))))}var vO=x.memo(VY,Hh);vO.displayName="Area";var qY=["domain","range"],QY=["domain","range"];function dS(e,t){if(e==null)return{};var r,n,i=YY(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(c!=null)return mS(mS({},o),{},{type:c})},[o,c]);return x.useLayoutEffect(()=>{u!=null&&(r.current===null?t(Uq(u)):r.current!==u&&t(Wq({prev:r.current,next:u})),r.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{r.current&&(t(Hq(r.current)),r.current=null)},[t]),null}var aZ=e=>{var t=e.xAxisId,r=e.className,n=Te(WA),i=Mr(),o="xAxis",c=Te(v=>JP(v,o,t,i)),u=Te(v=>zW(v,t)),f=Te(v=>KW(v,t)),h=Te(v=>gP(v,t));if(u==null||f==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var m=kx(e,XY);h.id,h.scale;var p=kx(h,JY);return x.createElement(jy,wx({},m,p,{x:f.x,y:f.y,width:u.width,height:u.height,className:it("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:c,axisType:o,axisId:t}))},oZ={allowDataOverflow:_t.allowDataOverflow,allowDecimals:_t.allowDecimals,allowDuplicatedCategory:_t.allowDuplicatedCategory,angle:_t.angle,axisLine:xi.axisLine,height:_t.height,hide:!1,includeHidden:_t.includeHidden,interval:_t.interval,label:!1,minTickGap:_t.minTickGap,mirror:_t.mirror,orientation:_t.orientation,padding:_t.padding,reversed:_t.reversed,scale:_t.scale,tick:_t.tick,tickCount:_t.tickCount,tickLine:xi.tickLine,tickSize:xi.tickSize,type:_t.type,niceTicks:_t.niceTicks,xAxisId:0},sZ=e=>{var t=ln(e,oZ);return x.createElement(x.Fragment,null,x.createElement(iZ,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),x.createElement(aZ,t))},yO=x.memo(sZ,xO);yO.displayName="XAxis";var lZ=["type"],cZ=["dangerouslySetInnerHTML","ticks","scale"],uZ=["id","scale"];function jx(){return jx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(c!=null)return gS(gS({},o),{},{type:c})},[c,o]);return x.useLayoutEffect(()=>{u!=null&&(r.current===null?t(Kq(u)):r.current!==u&&t(Gq({prev:r.current,next:u})),r.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{r.current&&(t(Vq(r.current)),r.current=null)},[t]),null}function gZ(e){var t=e.yAxisId,r=e.className,n=e.width,i=e.label,o=x.useRef(null),c=x.useRef(null),u=Te(WA),f=Mr(),h=Ct(),m="yAxis",p=Te(S=>qW(S,t)),v=Te(S=>VW(S,t)),b=Te(S=>JP(S,m,t,f)),N=Te(S=>vP(S,t));if(x.useLayoutEffect(()=>{if(!(n!=="auto"||!p||xy(i)||x.isValidElement(i)||N==null)){var S=o.current;if(S){var E=S.getCalculatedWidth();Math.round(p.width)!==Math.round(E)&&h(qq({id:t,width:E}))}}},[b,p,h,i,t,n,N]),p==null||v==null||N==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var w=Nx(e,cZ);N.id,N.scale;var k=Nx(N,uZ);return x.createElement(jy,jx({},w,k,{ref:o,labelRef:c,x:v.x,y:v.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:p.width,height:p.height,className:it("recharts-".concat(m," ").concat(m),r),viewBox:u,ticks:b,axisType:m,axisId:t}))}var vZ={allowDataOverflow:Mt.allowDataOverflow,allowDecimals:Mt.allowDecimals,allowDuplicatedCategory:Mt.allowDuplicatedCategory,angle:Mt.angle,axisLine:xi.axisLine,hide:!1,includeHidden:Mt.includeHidden,interval:Mt.interval,label:!1,minTickGap:Mt.minTickGap,mirror:Mt.mirror,orientation:Mt.orientation,padding:Mt.padding,reversed:Mt.reversed,scale:Mt.scale,tick:Mt.tick,tickCount:Mt.tickCount,tickLine:xi.tickLine,tickSize:xi.tickSize,type:Mt.type,niceTicks:Mt.niceTicks,width:Mt.width,yAxisId:0},xZ=e=>{var t=ln(e,vZ);return x.createElement(x.Fragment,null,x.createElement(pZ,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),x.createElement(gZ,t))},bO=x.memo(xZ,xO);bO.displayName="YAxis";var yZ=(e,t)=>t,Ay=Y([yZ,pt,_C,Ht,x3,Oi,gK,tr],jK);function bZ(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Cy(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(bZ(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var c=(u,f)=>({relativeX:Math.round((u-t.left)/r),relativeY:Math.round((f-t.top)/n)});return"touches"in e?Array.from(e.touches).map(u=>c(u.clientX,u.clientY)):c(e.clientX,e.clientY)}var wO=Wr("mouseClick"),kO=au();kO.startListening({actionCreator:wO,effect:(e,t)=>{var r=e.payload,n=Ay(t.getState(),Cy(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(cH({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var Sx=Wr("mouseMove"),jO=au(),hs=null,Wa=null,Xg=null;jO.startListening({actionCreator:Sx,effect:(e,t)=>{var r=e.payload,n=t.getState(),i=n.eventSettings,o=i.throttleDelay,c=i.throttledEvents,u=c==="all"||(c==null?void 0:c.includes("mousemove"));hs!==null&&(cancelAnimationFrame(hs),hs=null),Wa!==null&&(typeof o!="number"||!u)&&(clearTimeout(Wa),Wa=null),Xg=Cy(r);var f=()=>{var h=t.getState(),m=xu(h,h.tooltip.settings.shared);if(!Xg){hs=null,Wa=null;return}if(m==="axis"){var p=Ay(h,Xg);(p==null?void 0:p.activeIndex)!=null?t.dispatch(l3({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(s3())}hs=null,Wa=null};if(!u){f();return}o==="raf"?hs=requestAnimationFrame(f):typeof o=="number"&&Wa===null&&(Wa=setTimeout(f,o))}});function wZ(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var vS={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},NO=ur({name:"rootProps",initialState:vS,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:vS.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),kZ=NO.reducer,jZ=NO.actions.updateOptions,NZ=null,SZ={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},SO=ur({name:"polarOptions",initialState:NZ,reducers:SZ});SO.actions.updatePolarOptions;var EZ=SO.reducer,EO=Wr("keyDown"),AO=Wr("focus"),CO=Wr("blur"),um=au(),ms=null,Ha=null,Jd=null;um.startListening({actionCreator:EO,effect:(e,t)=>{Jd=e.payload,ms!==null&&(cancelAnimationFrame(ms),ms=null);var r=t.getState(),n=r.eventSettings,i=n.throttleDelay,o=n.throttledEvents,c=o==="all"||o.includes("keydown");Ha!==null&&(typeof i!="number"||!c)&&(clearTimeout(Ha),Ha=null);var u=()=>{try{var f=t.getState(),h=f.rootProps.accessibilityLayer!==!1;if(!h)return;var m=f.tooltip.keyboardInteraction,p=Jd;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var v=kc(m,So(f),Ys(f),Zs(f)),b=v==null?-1:Number(v),N=!Number.isFinite(b)||b<0,w=Oi(f),k=So(f),S=xu(f,f.tooltip.settings.shared);if(p==="Enter"){if(N)return;var E=rh(f,S,"hover",String(m.index));t.dispatch(th({active:!m.active,activeIndex:m.index,activeCoordinate:E}));return}var C=JW(f),A=C==="left-to-right"?1:-1,_=p==="ArrowRight"?1:-1,O;if(N){var I=Ys(f),B=Zs(f),F=_*A,R=pe=>({active:!1,index:String(pe),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(O=-1,F>0){for(var Q=0;Q=0;U--)if(kc(R(U),k,I,B)!=null){O=U;break}if(O<0)return}else{O=b+_*A;var ge=(w==null?void 0:w.length)||k.length;if(ge===0||O>=ge||O<0)return}var ue=rh(f,S,"hover",String(O));t.dispatch(th({active:!0,activeIndex:O.toString(),activeCoordinate:ue}))}finally{ms=null,Ha=null}};if(!c){u();return}i==="raf"?ms=requestAnimationFrame(u):typeof i=="number"&&Ha===null&&(u(),Jd=null,Ha=setTimeout(()=>{Jd?u():(Ha=null,ms=null)},i))}});um.startListening({actionCreator:AO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var o="0",c=xu(r,r.tooltip.settings.shared),u=rh(r,c,"hover",String(o));t.dispatch(th({active:!0,activeIndex:o,activeCoordinate:u}))}}}});um.startListening({actionCreator:CO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;i.active&&t.dispatch(th({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function PO(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var Zr=Wr("externalEvent"),OO=au(),ef=new Map,pc=new Map,Jg=new Map;OO.startListening({actionCreator:Zr,effect:(e,t)=>{var r=e.payload,n=r.handler,i=r.reactEvent;if(n!=null){var o=i.type,c=PO(i);Jg.set(o,{handler:n,reactEvent:c});var u=ef.get(o);u!==void 0&&(cancelAnimationFrame(u),ef.delete(o));var f=t.getState(),h=f.eventSettings,m=h.throttleDelay,p=h.throttledEvents,v=p,b=v==="all"||(v==null?void 0:v.includes(o)),N=pc.get(o);N!==void 0&&(typeof m!="number"||!b)&&(clearTimeout(N),pc.delete(o));var w=()=>{var E=Jg.get(o);try{if(!E)return;var C=E.handler,A=E.reactEvent,_=t.getState(),O={activeCoordinate:tK(_),activeDataKey:XH(_),activeIndex:Kc(_),activeLabel:w3(_),activeTooltipIndex:Kc(_),isTooltipActive:rK(_)};C&&C(O,A)}finally{ef.delete(o),pc.delete(o),Jg.delete(o)}};if(!b){w();return}if(m==="raf"){var k=requestAnimationFrame(w);ef.set(o,k)}else if(typeof m=="number"){if(!pc.has(o)){w();var S=setTimeout(w,m);pc.set(o,S)}}else w()}}});var AZ=Y([ml],e=>e.tooltipItemPayloads),CZ=Y([AZ,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var i=n.getPosition;if(i!=null)return i(t)}}}),_O=Wr("touchMove"),MO=au(),Ka=null,ea=null,xS=null,gc=null;MO.startListening({actionCreator:_O,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){gc=PO(r);var n=t.getState(),i=n.eventSettings,o=i.throttleDelay,c=i.throttledEvents,u=c==="all"||c.includes("touchmove");Ka!==null&&(cancelAnimationFrame(Ka),Ka=null),ea!==null&&(typeof o!="number"||!u)&&(clearTimeout(ea),ea=null),xS=Array.from(r.touches).map(h=>Cy({clientX:h.clientX,clientY:h.clientY,currentTarget:r.currentTarget}));var f=()=>{if(gc!=null){var h=t.getState(),m=xu(h,h.tooltip.settings.shared);if(m==="axis"){var p,v=(p=xS)===null||p===void 0?void 0:p[0];if(v==null){Ka=null,ea=null;return}var b=Ay(h,v);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(l3({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(m==="item"){var N,w=gc.touches[0];if(document.elementFromPoint==null||w==null)return;var k=document.elementFromPoint(w.clientX,w.clientY);if(!k||!k.getAttribute)return;var S=k.getAttribute(Rz),E=(N=k.getAttribute($z))!==null&&N!==void 0?N:void 0,C=Mo(h).find(O=>O.id===E);if(S==null||C==null||E==null)return;var A=C.dataKey,_=CZ(h,S,E);t.dispatch(lH({activeDataKey:A,activeIndex:S,activeCoordinate:_,activeGraphicalItemId:E}))}Ka=null,ea=null}};if(!u){f();return}o==="raf"?Ka=requestAnimationFrame(f):typeof o=="number"&&ea===null&&(f(),gc=null,ea=setTimeout(()=>{gc?f():(ea=null,Ka=null)},o))}}});var IO={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},TO=ur({name:"eventSettings",initialState:IO,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),PZ=TO.actions.setEventSettings,OZ=TO.reducer,_Z=uA({brush:iQ,cartesianAxis:Qq,chartData:eG,errorBars:fY,eventSettings:OZ,graphicalItems:Eq,layout:wz,legend:D8,options:QK,polarAxis:$V,polarOptions:EZ,referenceElements:lQ,renderedTicks:OQ,rootProps:kZ,tooltip:uH,zIndex:LK}),MZ=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return G$({reducer:_Z,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([kO.middleware,jO.middleware,um.middleware,OO.middleware,MO.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(SA({type:"raf"}))},devTools:{serialize:{replacer:wZ},name:"recharts-".concat(r)}})};function IZ(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,i=Mr(),o=x.useRef(null);if(i)return r;o.current==null&&(o.current=MZ(t,n));var c=n0;return x.createElement(Z8,{context:c,store:o.current},r)}function TZ(e){var t=e.layout,r=e.margin,n=Ct(),i=Mr();return x.useEffect(()=>{i||(n(xz(t)),n(vz(r)))},[n,i,t,r]),null}var DZ=x.memo(TZ,Hh);function LZ(e){var t=Ct();return x.useEffect(()=>{t(jZ(e))},[t,e]),null}var RZ=e=>{var t=Ct();return x.useEffect(()=>{t(PZ(e))},[t,e]),null},$Z=x.memo(RZ,Hh);function yS(e){var t=e.zIndex,r=e.isPanorama,n=x.useRef(null),i=Ct();return x.useLayoutEffect(()=>(n.current&&i(TK({zIndex:t,element:n.current,isPanorama:r})),()=>{i(DK({zIndex:t,isPanorama:r}))}),[i,t,r]),x.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function bS(e){var t=e.children,r=e.isPanorama,n=Te(SK);if(!n||n.length===0)return t;var i=n.filter(c=>c<0),o=n.filter(c=>c>0);return x.createElement(x.Fragment,null,i.map(c=>x.createElement(yS,{key:c,zIndex:c,isPanorama:r})),t,o.map(c=>x.createElement(yS,{key:c,zIndex:c,isPanorama:r})))}var zZ=["children"];function FZ(e,t){if(e==null)return{};var r,n,i=BZ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=qA(),n=QA(),i=aC();if(!qn(r)||!qn(n))return null;var o=e.children,c=e.otherAttributes,u=e.title,f=e.desc,h,m;return c!=null&&(typeof c.tabIndex=="number"?h=c.tabIndex:h=i?0:void 0,typeof c.role=="string"?m=c.role:m=i?"application":void 0),x.createElement(CE,ch({},c,{title:u,desc:f,role:m,tabIndex:h,width:r,height:n,style:UZ,ref:t}),o)}),HZ=e=>{var t=e.children,r=Te(zh);if(!r)return null;var n=r.width,i=r.height,o=r.y,c=r.x;return x.createElement(CE,{width:n,height:i,x:c,y:o},t)},wS=x.forwardRef((e,t)=>{var r=e.children,n=FZ(e,zZ),i=Mr();return i?x.createElement(HZ,null,x.createElement(bS,{isPanorama:!0},r)):x.createElement(WZ,ch({ref:t},n),x.createElement(bS,{isPanorama:!1},r))});function KZ(e,t){return QZ(e)||qZ(e,t)||VZ(e,t)||GZ()}function GZ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VZ(e,t){if(e){if(typeof e=="string")return kS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?kS(e,t):void 0}}function kS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var c=n.getBoundingClientRect(),u=c.width/n.offsetWidth;Ge(u)&&u!==o&&e(bz(u))}},[n,e,o]),i}function jS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZZ(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(cG(),null);function dh(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var oX=x.forwardRef((e,t)=>{var r,n,i=x.useRef(null),o=x.useState({containerWidth:dh((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:dh((n=e.style)===null||n===void 0?void 0:n.height)}),c=uh(o,2),u=c[0],f=c[1],h=x.useCallback((p,v)=>{f(b=>{var N=Math.round(p),w=Math.round(v);return b.containerWidth===N&&b.containerHeight===w?b:{containerWidth:N,containerHeight:w}})},[]),m=x.useCallback(p=>{if(typeof t=="function"&&t(p),i.current!=null&&(i.current.disconnect(),i.current=null),p!=null&&typeof ResizeObserver<"u"){var v=p.getBoundingClientRect(),b=v.width,N=v.height;h(b,N);var w=S=>{var E=S[0];if(E!=null){var C=E.contentRect,A=C.width,_=C.height;h(A,_)}},k=new ResizeObserver(w);k.observe(p),i.current=k}},[t,h]);return x.useEffect(()=>()=>{var p=i.current;p!=null&&p.disconnect()},[h]),x.createElement(x.Fragment,null,x.createElement(su,{width:u.containerWidth,height:u.containerHeight}),x.createElement("div",ba({ref:m},e)))}),sX=x.forwardRef((e,t)=>{var r=e.width,n=e.height,i=x.useState({containerWidth:dh(r),containerHeight:dh(n)}),o=uh(i,2),c=o[0],u=o[1],f=x.useCallback((m,p)=>{u(v=>{var b=Math.round(m),N=Math.round(p);return v.containerWidth===b&&v.containerHeight===N?v:{containerWidth:b,containerHeight:N}})},[]),h=x.useCallback(m=>{if(typeof t=="function"&&t(m),m!=null){var p=m.getBoundingClientRect(),v=p.width,b=p.height;f(v,b)}},[t,f]);return x.createElement(x.Fragment,null,x.createElement(su,{width:c.containerWidth,height:c.containerHeight}),x.createElement("div",ba({ref:h},e)))}),lX=x.forwardRef((e,t)=>{var r=e.width,n=e.height;return x.createElement(x.Fragment,null,x.createElement(su,{width:r,height:n}),x.createElement("div",ba({ref:t},e)))}),cX=x.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?x.createElement(sX,ba({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?x.createElement(lX,ba({},e,{width:r,height:n,ref:t})):x.createElement(x.Fragment,null,x.createElement(su,{width:r,height:n}),x.createElement("div",ba({ref:t},e)))});function uX(e){return e?oX:cX}var dX=x.forwardRef((e,t)=>{var r=e.children,n=e.className,i=e.height,o=e.onClick,c=e.onContextMenu,u=e.onDoubleClick,f=e.onMouseDown,h=e.onMouseEnter,m=e.onMouseLeave,p=e.onMouseMove,v=e.onMouseUp,b=e.onTouchEnd,N=e.onTouchMove,w=e.onTouchStart,k=e.style,S=e.width,E=e.responsive,C=e.dispatchTouchEvents,A=C===void 0?!0:C,_=x.useRef(null),O=Ct(),I=x.useState(null),B=uh(I,2),F=B[0],R=B[1],Q=x.useState(null),U=uh(Q,2),ge=U[0],ue=U[1],pe=YZ(),se=u0(),ae=(se==null?void 0:se.width)>0?se.width:S,Z=(se==null?void 0:se.height)>0?se.height:i,te=x.useCallback(be=>{pe(be),typeof t=="function"&&t(be),R(be),ue(be),be!=null&&(_.current=be)},[pe,t,R,ue]),ie=x.useCallback(be=>{O(wO(be)),O(Zr({handler:o,reactEvent:be}))},[O,o]),D=x.useCallback(be=>{O(Sx(be)),O(Zr({handler:h,reactEvent:be}))},[O,h]),M=x.useCallback(be=>{O(s3()),O(Zr({handler:m,reactEvent:be}))},[O,m]),q=x.useCallback(be=>{O(Sx(be)),O(Zr({handler:p,reactEvent:be}))},[O,p]),le=x.useCallback(()=>{O(AO())},[O]),oe=x.useCallback(()=>{O(CO())},[O]),ee=x.useCallback(be=>{O(EO(be.key))},[O]),ne=x.useCallback(be=>{O(Zr({handler:c,reactEvent:be}))},[O,c]),he=x.useCallback(be=>{O(Zr({handler:u,reactEvent:be}))},[O,u]),re=x.useCallback(be=>{O(Zr({handler:f,reactEvent:be}))},[O,f]),ye=x.useCallback(be=>{O(Zr({handler:v,reactEvent:be}))},[O,v]),Oe=x.useCallback(be=>{O(Zr({handler:w,reactEvent:be}))},[O,w]),W=x.useCallback(be=>{A&&O(_O(be)),O(Zr({handler:N,reactEvent:be}))},[O,A,N]),ke=x.useCallback(be=>{O(Zr({handler:b,reactEvent:be}))},[O,b]),Ie=uX(E);return x.createElement(P3.Provider,{value:F},x.createElement(SR.Provider,{value:ge},x.createElement(Ie,{width:ae??(k==null?void 0:k.width),height:Z??(k==null?void 0:k.height),className:it("recharts-wrapper",n),style:ZZ({position:"relative",cursor:"default",width:ae,height:Z},k),onClick:ie,onContextMenu:ne,onDoubleClick:he,onFocus:le,onBlur:oe,onKeyDown:ee,onMouseDown:re,onMouseEnter:D,onMouseLeave:M,onMouseMove:q,onMouseUp:ye,onTouchEnd:ke,onTouchMove:W,onTouchStart:Oe,ref:te},x.createElement(aX,null),r)))}),fX=["width","height","responsive","children","className","style","compact","title","desc"];function hX(e,t){if(e==null)return{};var r,n,i=mX(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,i=e.responsive,o=e.children,c=e.className,u=e.style,f=e.compact,h=e.title,m=e.desc,p=hX(e,fX),v=jn(p);return f?x.createElement(x.Fragment,null,x.createElement(su,{width:r,height:n}),x.createElement(wS,{otherAttributes:v,title:h,desc:m},o)):x.createElement(dX,{className:c,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},x.createElement(wS,{otherAttributes:v,title:h,desc:m,ref:t},x.createElement(pQ,null,o)))});function Ex(){return Ex=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(kX,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:jX,tooltipPayloadSearcher:VK,categoricalChartProps:e,ref:t}));const SX="rgba(130,130,150,0.14)",ES="rgba(130,130,150,0.85)";function EX(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function DO(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function AX({active:e,payload:t,unit:r}){return!e||!(t!=null&&t.length)?null:s.jsx("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:s.jsx("div",{className:"space-y-1",children:t.map(n=>s.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[s.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:n.color}}),s.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:n.name}),s.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:DO(n.value,r)})]},n.dataKey))})})}function LO({data:e,series:t,unit:r="%",yMode:n="percent",height:i=176}){const o=e.reduce((u,f)=>t.reduce((h,m)=>Math.max(h,Number(f[m.key])||0),u),0),c=n==="percent"?Math.min(100,Math.max(25,Math.ceil(o*1.2/25)*25)):Math.max(EX(o*1.15),10);return s.jsx("div",{style:{height:i},className:"w-full",children:s.jsx(v8,{width:"100%",height:"100%",children:s.jsxs(NX,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[s.jsx("defs",{children:t.map(u=>s.jsxs("linearGradient",{id:`grad-${u.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:u.color,stopOpacity:.22}),s.jsx("stop",{offset:"100%",stopColor:u.color,stopOpacity:0})]},u.key))}),s.jsx(oO,{vertical:!1,stroke:SX}),s.jsx(yO,{dataKey:"t",hide:!0}),s.jsx(bO,{domain:[0,c],ticks:[0,c/2,c],tickFormatter:u=>DO(u,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:ES}}),s.jsx(kG,{content:s.jsx(AX,{unit:r}),cursor:{stroke:ES,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(u=>s.jsx(vO,{type:"monotone",dataKey:u.key,name:u.label,stroke:u.color,strokeWidth:2,fill:`url(#grad-${u.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},u.key))]})})})}const CX=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function RO(){var c,u,f,h;const{sys:e,hist:t}=mR(),r=!!(e!=null&&e.gpu&&e.gpu.busy_percent!=null&&e.gpu.gtt_used!=null&&e.gpu.gtt_total!=null),n=CX.filter(m=>m.key!=="gpu"||r),i={cpu:(c=e==null?void 0:e.cpu)==null?void 0:c.percent,ram:(u=e==null?void 0:e.ram)==null?void 0:u.percent,gpu:r?e.gpu.busy_percent:null,disk:(f=e==null?void 0:e.disk)==null?void 0:f.percent},o={cpu:(h=e==null?void 0:e.cpu)!=null&&h.cores?`${e.cpu.cores} Cores`:"",ram:e?`${Jr(e.ram.used)}/${Jr(e.ram.total)} GB`:"",gpu:r?`${Jr(e.gpu.gtt_used)}/${Jr(e.gpu.gtt_total)} GB`:"",disk:e!=null&&e.disk?`${Jr(e.disk.used)}/${Jr(e.disk.total)} GB`:""};return s.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[s.jsx(yi,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),s.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:n.map(m=>s.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:m.color}}),s.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:m.label}),s.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(i[m.key]??0),"%"]}),o[m.key]&&s.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:o[m.key]})]},m.key))}),s.jsx(LO,{data:t,series:n,unit:"%",yMode:"percent",height:176})]}):s.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(e==null?void 0:e.temp)&&(e.temp.cpu||e.temp.gpu)&&s.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[e.temp.cpu!=null&&s.jsxs("span",{children:["CPU Temp: ",e.temp.cpu," °C"]}),e.temp.gpu!=null&&s.jsxs("span",{children:["GPU Temp: ",e.temp.gpu," °C"]})]})]})}const AS=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function $O(){const{data:e}=mE(3e3),t=cR(),r=t[t.length-1],n=r?Math.round(r.prompt+r.completion):0;return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[s.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(mh,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Durchsatz"}),s.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e&&s.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[s.jsx("span",{className:"font-space text-3xl font-bold tracking-tight text-foreground tabular-nums",children:n.toLocaleString("de-DE")}),s.jsx("span",{className:"text-xs text-muted-foreground",children:"tok/s aktuell"})]}),e&&s.jsxs("div",{className:"mt-0.5 space-y-0.5 font-mono text-[11px] text-muted-foreground/70",children:[s.jsxs("div",{children:[e.total_tokens.toLocaleString("de-DE")," Tokens gesamt · ",s.jsxs("span",{className:"text-emerald-400/90",children:[e.saved_eur.toLocaleString("de-DE",{minimumFractionDigits:2})," € gespart"]})]}),s.jsxs("div",{className:"text-muted-foreground/55",children:["Input ",e.prompt_tokens.toLocaleString("de-DE")," · Output ",e.completion_tokens.toLocaleString("de-DE")]})]})]}),s.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1.5 pt-1",children:AS.map(i=>s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),s.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:i.label}),s.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((r==null?void 0:r[i.key])??0)})]},i.key))})]}),e?s.jsx(LO,{data:t,series:AS,unit:" tok/s",yMode:"auto",height:150}):s.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),s.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}function PX(){const{data:e}=wh(3e4),{data:t}=Ni(),r=((e==null?void 0:e.os)||0)+((e==null?void 0:e.engine)||0)+((e==null?void 0:e.swap)||0)+((e==null?void 0:e.models)||0),n=()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}})),i=(t==null?void 0:t.models)??[],o=(t==null?void 0:t.running)??[],c=i.find(m=>m.role==="hermes"),u=i.find(m=>m.role==="coder-lite")||i.find(m=>m.role==="coder"),f=m=>m?o.includes(m):!1,h=m=>{var p;return((p=m==null?void 0:m.split("/").pop())==null?void 0:p.replace(/\.gguf$/i,""))||"—"};return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Basisstation"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Geht's der Box gut, gibt's Updates, was läuft gerade."})]}),s.jsx(fR,{frame:"box"}),s.jsxs("button",{onClick:n,className:J("w-full flex items-center gap-3 rounded-2xl border p-4 text-left transition-all cursor-pointer",r>0?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10":"border-border/60 bg-card/45 hover:border-primary/40"),children:[r>0?s.jsx(UM,{className:"h-6 w-6 shrink-0 text-amber-400"}):s.jsx(It,{className:"h-6 w-6 shrink-0 text-emerald-400"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:J("text-sm font-semibold",r>0?"text-amber-400":"text-foreground"),children:r>0?`${r} Update${r===1?"":"s"} verfügbar`:"Alles aktuell"}),s.jsx("div",{className:"text-xs text-muted-foreground",children:r>0?"Antippen, um zu sehen, was genau aktualisiert wird.":"Keine ausstehenden Updates."})]}),r>0&&s.jsxs("span",{className:"shrink-0 flex items-center gap-1 text-xs font-semibold text-amber-400",children:["Ansehen ",s.jsx(Kn,{className:"h-4 w-4"})]})]}),s.jsxs("div",{children:[s.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:"Was gerade läuft"}),s.jsx("div",{className:"rounded-2xl border border-border/60 overflow-hidden",children:[{icon:yi,label:"Lucys Hirn",model:c==null?void 0:c.name,warm:f(c==null?void 0:c.name)},{icon:Fs,label:"Coder (Vibe-Coding)",model:u==null?void 0:u.name,warm:f(u==null?void 0:u.name)}].map(m=>s.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-border/40 last:border-0",children:[s.jsx("span",{className:J("h-2 w-2 shrink-0 rounded-full",m.warm?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40")}),s.jsx(m.icon,{className:"h-4 w-4 text-muted-foreground shrink-0"}),s.jsx("span",{className:"text-sm text-foreground w-40 shrink-0",children:m.label}),s.jsx("span",{className:"text-xs text-muted-foreground flex-1 truncate font-mono",children:h(m.model)}),s.jsx("span",{className:J("text-xs shrink-0",m.warm?"text-emerald-400":"text-muted-foreground"),children:m.model?m.warm?"warm":"bereit":"nicht gesetzt"})]},m.label))})]}),s.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[s.jsx(RO,{}),s.jsx($O,{})]})]})}const OX=e=>!!ft(e).protected;function _X({role:e,roleRec:t,models:r,onAssign:n,onClose:i}){var f,h;const o=t&&t.role===e?t:null,c={};o==null||o.models.forEach(m=>{c[m.name]=m});const u=o?o.models.map(m=>r.find(p=>p.name===m.name)).filter(Boolean):r;return s.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":`${ft(e).label} konfigurieren`,children:s.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[s.jsx(mo,{role:e})," festlegen"]}),s.jsx("button",{onClick:i,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Wähle ein Modell für ",s.jsx("strong",{className:"text-foreground",children:ft(e).label}),s.jsx("span",{className:"block text-[10px] text-muted-foreground/70 mt-0.5",children:ft(e).desc})]}),(o==null?void 0:o.recommended)&&s.jsxs("button",{onClick:()=>n(o.recommended),title:(f=c[o.recommended])==null?void 0:f.reason,className:"shrink-0 h-7 px-3 text-[11px] font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg cursor-pointer flex items-center gap-1",children:[s.jsx(wa,{className:"h-3 w-3"})," Auto: ",(h=o.recommended.split("/").pop())==null?void 0:h.replace(/\.gguf$/i,"")]})]}),s.jsxs("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:[OX(e)?s.jsx("div",{className:"w-full px-3 py-2 rounded-lg text-[11px] text-muted-foreground border border-border/30 bg-background/20 flex items-center gap-1.5",children:"🔒 Diese Rolle ist lebenswichtig und kann nicht leer bleiben — wähle stattdessen ein anderes Modell."}):s.jsx("button",{onClick:()=>n(""),className:"w-full text-left px-3 py-2 rounded-lg text-xs hover:bg-accent text-red-400 font-semibold cursor-pointer border border-red-500/20 bg-red-500/5 flex items-center justify-between",children:s.jsx("span",{children:"Zuweisung entfernen"})}),u.map(m=>{var w;const p=c[m.name],v=m.role===e,b=!!(p!=null&&p.recommended),N=!!p&&!p.suitable;return s.jsxs("button",{onClick:()=>n(m.name),className:J("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border",b?"border-primary/50 bg-primary/10":v?"text-primary font-bold bg-primary/5 border-primary/30":N?"border-border/20 bg-background/10 opacity-60":"text-foreground bg-background/20 border-border/30"),children:[s.jsxs("div",{className:"flex flex-col text-left min-w-0",children:[s.jsxs("span",{className:"truncate max-w-[260px] font-semibold flex items-center gap-1.5",children:[(w=m.name.split("/").pop())==null?void 0:w.replace(/\.gguf$/i,""),b&&s.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-primary bg-primary/15 px-1.5 py-0.5 rounded",children:"Empfohlen"})]}),s.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:p?`${p.params_b}B · ${m.quant} · ${p.reason}`:`${lr(m.size_bytes)} · ${m.quant}`})]}),v&&s.jsx(It,{className:"h-4 w-4 shrink-0 text-primary"})]},m.name)})]})]})})}const MX=["fast","heavy","heavy_chars"],IX=["coder_lite","coder","coding_escalate_chars"];function TX(){const e=_r(),{data:t,isLoading:r}=wL(),[n,i]=x.useState(null),[o,c]=x.useState(!1),[u,f]=x.useState(""),[h,m]=x.useState(0);if(x.useEffect(()=>{t!=null&&t.policy&&!n&&i({...t.policy})},[t,n]),r||!t||!n)return s.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 text-xs text-muted-foreground",children:"Lade Routing-Policy…"});const p=S=>t.fields.find(E=>E.key===S),v=Object.keys(n).some(S=>n[S]!==t.policy[S]),b=(S,E)=>{i(C=>C&&{...C,[S]:E}),f("")},N=S=>b(S,t.defaults[S]);async function w(){if(!n)return;const S={};for(const E of Object.keys(n))n[E]!==t.policy[E]&&(S[E]=n[E]);if(Object.keys(S).length!==0){c(!0),f("");try{const{policy:E}=await mL(S);i({...E}),e.invalidateQueries({queryKey:$e.routingPolicy}),e.invalidateQueries({queryKey:$e.routing}),m(Date.now()),setTimeout(()=>m(0),2e3)}catch(E){f(E.message||String(E))}finally{c(!1)}}}function k({k:S}){const E=p(S),C=n[S],A=n[S]===t.defaults[S];return s.jsxs("div",{className:"space-y-1",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("label",{className:"text-[10px] font-semibold text-muted-foreground",children:E.label}),!A&&s.jsxs("button",{onClick:()=>N(S),className:"flex items-center gap-0.5 text-[9px] text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",title:`Auf Default zurücksetzen (${String(t.defaults[S])||"leer"})`,children:[s.jsx($x,{className:"h-2.5 w-2.5"})," Default"]})]}),E.type==="bool"?s.jsxs("button",{onClick:()=>b(S,!C),className:J("flex h-8 w-full items-center justify-between rounded-lg border px-3 text-[11px] font-semibold transition-all cursor-pointer",C?"border-emerald-500/40 bg-emerald-500/10 text-emerald-300":"border-border/40 bg-background/40 text-muted-foreground"),children:[s.jsx("span",{children:C?"An":"Aus"}),s.jsx("span",{className:J("h-3.5 w-3.5 rounded-full transition-colors",C?"bg-emerald-400":"bg-muted-foreground/40")})]}):E.type==="int"?s.jsx("input",{type:"number",value:C,min:E.min,max:E.max,"aria-label":E.label,onChange:_=>b(S,Number(_.target.value)),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"}):s.jsx("input",{type:"text",value:C,"aria-label":E.label,spellCheck:!1,placeholder:S==="coder_lite"?"(leer = aus)":"",onChange:_=>b(S,_.target.value),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"})]})}return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-4",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(kI,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Lane-Routing & Policy"}),s.jsx("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-300 border border-emerald-500/20",children:"hot-reload"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[u&&s.jsx("span",{className:"text-[10px] text-red-400 max-w-[280px] truncate",title:u,children:u}),h>0&&s.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-emerald-400",children:[s.jsx(It,{className:"h-3.5 w-3.5"})," gespeichert"]}),s.jsxs("button",{onClick:w,disabled:!v||o,className:J("h-8 px-4 rounded-lg text-[10px] font-bold uppercase tracking-wide transition-all flex items-center gap-1.5",v&&!o?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer shadow-md shadow-primary/10":"bg-background/40 text-muted-foreground/50 border border-border/40 cursor-not-allowed"),children:[o?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):null,"Speichern"]})]})]}),s.jsxs("p",{className:"text-[10px] text-muted-foreground/70 leading-relaxed -mt-1",children:["Welches echte Modell hinter den virtuellen Lanes ",s.jsx("code",{className:"text-cyan-300",children:"chat"})," und"," ",s.jsx("code",{className:"text-cyan-300",children:"coding"})," steckt. Änderungen greifen sofort (kein Neustart). Die Keyword-Heuristiken bleiben im Code."]}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[s.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[s.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[s.jsx(uI,{className:"h-4 w-4 text-teal-400"}),s.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"chat"}),s.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(= auto)"})]}),MX.map(S=>s.jsx(k,{k:S},S))]}),s.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[s.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[s.jsx(GM,{className:"h-4 w-4 text-indigo-400"}),s.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"coding"}),s.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(agentisch → immer Coder)"})]}),IX.map(S=>s.jsx(k,{k:S},S))]})]}),s.jsx("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4",children:s.jsx("div",{className:"max-w-xs",children:s.jsx(k,{k:"fast_no_think"})})})]})}function DX(){var ge,ue,pe;const e=_r(),{data:t}=Ni(4e3),{data:r}=Vx(),{data:n}=Co(),{data:i}=pE(),{showAlert:o,dialogElement:c}=sn(),[u,f]=x.useState(!1),[h,m]=x.useState(!1),p=(t==null?void 0:t.models)??[],v=(t==null?void 0:t.running)??[],b=(ge=r==null?void 0:r.groups)==null?void 0:ge.brains,N=(b==null?void 0:b.members)??[],w=se=>p.find(ae=>ae.name===se),k=se=>{var ae;return((ae=se.split("/").pop())==null?void 0:ae.replace(/\.gguf$/i,""))||se},S=N.map(w).filter(Boolean),E=1024**3,C=i==null?void 0:i.budget,A=S.reduce((se,ae)=>se+(ae.size_bytes||0),0)/E,_=((ue=n==null?void 0:n.gpu)==null?void 0:ue.gtt_total)||((pe=n==null?void 0:n.gpu)==null?void 0:pe.vram_total)||0,O=(C==null?void 0:C.gtt_gb)||(_?_/E:0),I=(C==null?void 0:C.warm_projected_gb)??A,B=O>0?Math.min(100,I/O*100):0,F=p.filter(se=>!N.includes(se.name)&&!se.incomplete);async function R(se){m(!0);try{await uE("brains",se,(b==null?void 0:b.swap)??!1,(b==null?void 0:b.persist)??!0),e.invalidateQueries({queryKey:$e.groups}),e.invalidateQueries({queryKey:$e.models}),e.invalidateQueries({queryKey:$e.hermesBrain})}catch(ae){o("Fehler",`Immer-bereit-Set konnte nicht geändert werden: ${(ae==null?void 0:ae.message)||ae}`)}finally{m(!1)}}function Q(se){const ae=w(se);if(ae&&ft(ae.role).protected){o("Geschützt",`„${ft(ae.role).label}" ist lebenswichtig und bleibt immer bereit.`);return}R(N.filter(Z=>Z!==se))}function U(se){f(!1),R([...N,se])}return b?s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-4",children:[s.jsx(CS,{}),s.jsxs("div",{className:"space-y-1.5",children:[S.length===0&&s.jsx("div",{className:"text-xs text-muted-foreground",children:"Noch keine Modelle im Set."}),S.map(se=>{const ae=v.includes(se.name),Z=ft(se.role).protected;return s.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[s.jsx("span",{className:J("h-2 w-2 shrink-0 rounded-full ring-2 ring-black/40",ae?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40"),title:ae?"Gerade warm (bereit)":"Reserviert — lädt bei Bedarf sofort"}),se.role&&s.jsx(mo,{role:se.role,dense:!0,className:"shrink-0"}),s.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",title:se.name,children:k(se.name)}),s.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:lr(se.size_bytes)})]}),Z?s.jsx("span",{className:"shrink-0 text-[10px] font-semibold text-muted-foreground",title:"Lebenswichtig — bleibt immer im Set.",children:"🔒"}):s.jsx("button",{onClick:()=>Q(se.name),disabled:h,className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:bg-red-500/5 hover:text-red-400 cursor-pointer disabled:opacity-50",title:"Aus dem Immer-bereit-Set nehmen (lädt dann nur noch bei Bedarf)",children:s.jsx(Or,{className:"h-3.5 w-3.5"})})]},se.name)})]}),s.jsxs("button",{onClick:()=>f(!0),disabled:h||F.length===0,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border/50 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground transition-colors hover:border-primary/40 hover:text-primary cursor-pointer disabled:opacity-50",children:[s.jsx(mf,{className:"h-3.5 w-3.5"})," Modell dauerhaft bereithalten"]}),s.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",title:"Modellgewichte + KV-Cache, berechnet aus den echten Architektur-Daten jedes Modells (Layer × KV-Köpfe × Kontext) und seiner KV-Quantisierung. So viel legt llama.cpp beim Laden wirklich für den eingestellten Kontext an — kein Aufschlag mehr.",children:[s.jsx(ga,{className:"h-3.5 w-3.5"})," Reserviert fürs Set"]}),s.jsxs("span",{className:"font-mono font-bold text-foreground",children:[I.toFixed(1),O>0?` / ${O.toFixed(0)}`:""," GB"]})]}),s.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:s.jsx("div",{className:J("h-full rounded-full transition-all duration-500",B>=85?"bg-red-500":B>=65?"bg-amber-500":"bg-teal-500"),style:{width:`${B}%`}})}),C&&!C.fits&&s.jsxs("p",{className:"mt-2 flex items-start gap-1.5 text-[11px] text-amber-400",children:[s.jsx(vr,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),s.jsxs("span",{children:["Zusammen mit dem größten Gelegenheits-Modell (~",C.largest_ondemand_gb," GB) wird der Speicher knapp. Das Set bleibt dabei immer geladen — wird es wirklich eng, schlägt das Laden des großen Modells fehl (es wartet dann, statt das Set zu verdrängen)."]})]}),C&&C.fits&&s.jsxs("p",{className:"mt-2 flex items-center gap-1.5 text-[11px] text-emerald-400",children:[s.jsx(It,{className:"h-3.5 w-3.5 shrink-0"})," Passt auch neben dem größten Gelegenheits-Modell — nichts wird verdrängt."]})]}),u&&s.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",role:"dialog","aria-modal":"true","aria-label":"Modell zum Immer-bereit-Set hinzufügen",children:s.jsxs("div",{className:"w-full max-w-md space-y-3 rounded-2xl border border-border/80 bg-card p-6 shadow-2xl animate-in fade-in zoom-in-95 duration-200",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[s.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:"Dauerhaft bereithalten"}),s.jsx("button",{onClick:()=>f(!1),className:"rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground cursor-pointer",children:s.jsx(Or,{className:"h-4 w-4"})})]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Wähle ein Modell, das ohne Ladezeit bereitstehen soll:"}),s.jsx("div",{className:"max-h-60 space-y-1.5 overflow-y-auto pr-1",children:F.map(se=>s.jsxs("button",{onClick:()=>U(se.name),className:"flex w-full items-center justify-between gap-2 rounded-lg border border-border/30 bg-background/20 px-3 py-2.5 text-left transition-colors hover:bg-accent cursor-pointer",children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[se.role&&s.jsx(mo,{role:se.role,dense:!0,className:"shrink-0"}),s.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",children:k(se.name)})]}),s.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:lr(se.size_bytes)})]},se.name))})]})}),c]}):s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[s.jsx(CS,{}),s.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"Es gibt noch kein Immer-bereit-Set. Es entsteht automatisch, sobald Lucys Hirn zugewiesen ist."}),c]})}function CS(){return s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(wa,{className:"h-4.5 w-4.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h2",{className:"text-sm font-bold uppercase tracking-wide text-foreground",children:"Immer-bereit-Set"}),s.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Diese Modelle hält Lucy immer bereit — sie antworten ohne Ladezeit."})]})]})}function LX(){var Ie,be,We,Lt;const e=_r(),{data:t,isLoading:r,error:n}=Ni(4e3),{data:i}=wh(4e3),{data:o}=pE(),{data:c}=Co(),{data:u}=Vx(),{showAlert:f,showConfirm:h,showPrompt:m,dialogElement:p}=sn(),v=Hx(),b=K=>!!ft(K).protected,N=(t==null?void 0:t.models)??[],w=(t==null?void 0:t.running)??[],k=n?String(n):"",S=()=>{e.invalidateQueries({queryKey:$e.models}),e.invalidateQueries({queryKey:$e.routing})},E=(Ie=u==null?void 0:u.groups)==null?void 0:Ie.brains,C=(E==null?void 0:E.members)??[],A=K=>C.includes(K),_=C.some(K=>w.includes(K));async function O(K){if(!E){f("Keine brains-Gruppe","Es existiert noch keine Ko-Residenz-Gruppe „brains“ in der Engine-Konfiguration. Lege sie erst über die Gruppen-Verwaltung an.");return}const _e=C.includes(K)?C.filter(Xe=>Xe!==K):[...C,K];try{await uE("brains",_e,E.swap??!1,E.persist??!0),e.invalidateQueries({queryKey:$e.groups}),S()}catch(Xe){f("Fehler",`Ko-Residenz konnte nicht geändert werden: ${Xe.message||Xe}`)}}const[I,B]=x.useState(null),[F,R]=x.useState(null),[Q,U]=x.useState(null),[ge,ue]=x.useState("grid"),[pe,se]=x.useState("all"),ae=N.filter(K=>pe==="in_use"?!!K.role||w.includes(K.name):!0);async function Z(K){try{await xe(`/api/models/${encodeURIComponent(K)}/load`,{method:"POST"}),S()}catch(Ae){f("Fehler",`Fehler beim Laden des Modells: ${Ae.message}`)}}async function te(K){if(E&&_&&!A(K)){const Ae=C.filter(_e=>w.includes(_e)).map(_e=>_e.split("/").pop()).join(", ");h("Verdrängt das Hirn?",`„${K.split("/").pop()}“ ist nicht in der Ko-Residenz-Gruppe „brains“. Beim Laden wirft es das aktuell warme Hirn (${Ae}) raus — Lucy verliert Hirn bzw. Augen. -Trotzdem exklusiv laden? Tipp: Mit dem 🧠-Schalter machst du das Modell dauerhaft ko-resident, dann bleiben beide warm.`,()=>Z(K));return}Z(K)}async function ie(K){const Ae=S.find(_e=>_e.name===K);if(Ae&&b(Ae.role)){f("Geschützt",`„${ft(Ae.role).label}" ist lebenswichtig für Lucy und bleibt geladen. Zum Entladen erst im Experten-Modus die Rolle einem anderen Modell geben.`);return}try{await xe(`/api/models/${encodeURIComponent(K)}/unload`,{method:"POST"}),N()}catch(_e){f("Fehler",`Fehler beim Entladen des Modells: ${_e.message}`)}}async function D(){try{await xe("/api/models/unload",{method:"POST"}),N()}catch(K){f("Fehler",`Fehler beim Entladen aller Modelle: ${K.message}`)}}async function M(K,Ae){try{const _e=await xe(`/api/models/${encodeURIComponent(Ae)}/role`,{method:"POST",body:JSON.stringify({role:K||null})});N(),_e!=null&&_e.warning&&f("Hirn gesetzt — Hinweis",_e.warning)}catch(_e){f("Fehler",`Fehler beim Zuweisen der Rolle: ${_e.message||_e}`)}}function q(K){B(K),R(null),xe(`/api/roles/${encodeURIComponent(K)}/recommend`).then(Ae=>R(Ae)).catch(()=>{})}async function le(K,Ae){let _e=null;try{_e=await xe(`/api/models/${encodeURIComponent(K)}/ctx/auto`)}catch{}const Xe=_e?`Optimal für dein Setup: ${(_e.ctx/1024).toFixed(0)}k (${_e.ctx}) — GTT ${_e.gtt_gb} GB − reserviert ${_e.reserved_gb} GB (${_e.mode}) → ${_e.budget_gb} GB frei. »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";m("Kontextlänge anpassen",Xe,String(Ae||32768),async tt=>{if(tt)try{await xe(`/api/models/${encodeURIComponent(K)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(tt,10)})}),N()}catch(dr){f("Fehler",`Fehler beim Setzen des Kontexts: ${dr.message||dr}`)}},void 0,_e?{autoValue:String(_e.ctx),autoLabel:`Auto (${(_e.ctx/1024).toFixed(0)}k)`}:void 0)}async function oe(K){const Ae=S.find(_e=>_e.name===K);if(Ae&&b(Ae.role)){f("Geschützt",`„${ft(Ae.role).label}" ist lebenswichtig für Lucy und kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}h("Modell löschen?",`Modell '${K}' und alle zugehörigen GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await xe(`/api/models/${encodeURIComponent(K)}`,{method:"DELETE"}),N()}catch(_e){f("Fehler",`Fehler beim Löschen: ${_e.message||_e}`)}})}async function ee(K,Ae,_e,Xe){try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:K,role:Ae,quant:_e,jinja:Xe})}),f("Herunterladen gestartet",`Download für '${K}' gestartet! Der Fortschritt wird oben angezeigt.`)}catch(tt){f("Fehler",`Fehler beim Starten des Upgrades: ${tt.message||tt}`)}}async function ne(K){const Ae=o==null?void 0:o.budget,_e=Ae&&!Ae.fits?` +Trotzdem exklusiv laden? Tipp: Mit dem 🧠-Schalter machst du das Modell dauerhaft ko-resident, dann bleiben beide warm.`,()=>Z(K));return}Z(K)}async function ie(K){const Ae=N.find(_e=>_e.name===K);if(Ae&&b(Ae.role)){f("Geschützt",`„${ft(Ae.role).label}" ist lebenswichtig für Lucy und bleibt geladen. Zum Entladen erst im Experten-Modus die Rolle einem anderen Modell geben.`);return}try{await xe(`/api/models/${encodeURIComponent(K)}/unload`,{method:"POST"}),S()}catch(_e){f("Fehler",`Fehler beim Entladen des Modells: ${_e.message}`)}}async function D(){try{await xe("/api/models/unload",{method:"POST"}),S()}catch(K){f("Fehler",`Fehler beim Entladen aller Modelle: ${K.message}`)}}async function M(K,Ae){try{const _e=await xe(`/api/models/${encodeURIComponent(Ae)}/role`,{method:"POST",body:JSON.stringify({role:K||null})});S(),_e!=null&&_e.warning&&f("Hirn gesetzt — Hinweis",_e.warning)}catch(_e){f("Fehler",`Fehler beim Zuweisen der Rolle: ${_e.message||_e}`)}}function q(K){B(K),R(null),xe(`/api/roles/${encodeURIComponent(K)}/recommend`).then(Ae=>R(Ae)).catch(()=>{})}async function le(K,Ae){let _e=null;try{_e=await xe(`/api/models/${encodeURIComponent(K)}/ctx/auto`)}catch{}const Xe=_e?`Optimal für dein Setup: ${(_e.ctx/1024).toFixed(0)}k (${_e.ctx}) — GTT ${_e.gtt_gb} GB − reserviert ${_e.reserved_gb} GB (${_e.mode}) → ${_e.budget_gb} GB frei. »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";m("Kontextlänge anpassen",Xe,String(Ae||32768),async tt=>{if(tt)try{await xe(`/api/models/${encodeURIComponent(K)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(tt,10)})}),S()}catch(dr){f("Fehler",`Fehler beim Setzen des Kontexts: ${dr.message||dr}`)}},void 0,_e?{autoValue:String(_e.ctx),autoLabel:`Auto (${(_e.ctx/1024).toFixed(0)}k)`}:void 0)}async function oe(K){const Ae=N.find(_e=>_e.name===K);if(Ae&&b(Ae.role)){f("Geschützt",`„${ft(Ae.role).label}" ist lebenswichtig für Lucy und kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}h("Modell löschen?",`Modell '${K}' und alle zugehörigen GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await xe(`/api/models/${encodeURIComponent(K)}`,{method:"DELETE"}),S()}catch(_e){f("Fehler",`Fehler beim Löschen: ${_e.message||_e}`)}})}async function ee(K,Ae,_e,Xe){try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:K,role:Ae,quant:_e,jinja:Xe})}),f("Herunterladen gestartet",`Download für '${K}' gestartet! Der Fortschritt wird oben angezeigt.`)}catch(tt){f("Fehler",`Fehler beim Starten des Upgrades: ${tt.message||tt}`)}}async function ne(K){const Ae=o==null?void 0:o.budget,_e=Ae&&!Ae.fits?` -⚠ Speicher-Warnung: Dieses Brain (~${Ae.brain_gb} GB) bleibt immer resident (persistent). Zusammen mit dem größten on-demand-Modell (~${Ae.largest_ondemand_gb} GB) sprengt das das Budget (${Ae.gtt_gb} GB) → beim Laden von heavy/coder droht ein Überlauf. Erwäge ein kleineres Brain oder weniger Kontext.`:"";h("Agent-Hirn aktualisieren?",`Neues Hermes-Modell '${K.split("/").pop()}' herunterladen und als Agent-Hirn (Rolle hermes) setzen? Hermes nutzt danach automatisch das neue Modell.${_e}`,async()=>{try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:K,role:"hermes",quant:"Q4_K_M",jinja:!0})}),f("Download gestartet","Das neue Agent-Hirn wird geladen. Fortschritt oben."),N()}catch(Xe){f("Fehler",`Update fehlgeschlagen: ${Xe.message||Xe}`)}})}if(r)return s.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Initialisiere HUD Cockpit…"});if(k)return s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",k,")."]});const he=S.filter(K=>w.includes(K.name)),re=he.reduce((K,Ae)=>K+(Ae.size_bytes||0),0),ye=((be=c==null?void 0:c.gpu)==null?void 0:be.gtt_total)||((We=c==null?void 0:c.gpu)==null?void 0:We.vram_total)||0,Oe=((Dt=c==null?void 0:c.gpu)==null?void 0:Dt.gtt_used)||0,W=16*1024**3,ke=ye>2*1024**3?ye:re>W?re*1.2:W;return s.jsxs("div",{className:"space-y-8",children:[s.jsx("style",{children:` +⚠ Speicher-Warnung: Dieses Brain (~${Ae.brain_gb} GB) bleibt immer resident (persistent). Zusammen mit dem größten on-demand-Modell (~${Ae.largest_ondemand_gb} GB) sprengt das das Budget (${Ae.gtt_gb} GB) → beim Laden von heavy/coder droht ein Überlauf. Erwäge ein kleineres Brain oder weniger Kontext.`:"";h("Agent-Hirn aktualisieren?",`Neues Hermes-Modell '${K.split("/").pop()}' herunterladen und als Agent-Hirn (Rolle hermes) setzen? Hermes nutzt danach automatisch das neue Modell.${_e}`,async()=>{try{await xe("/api/models/install",{method:"POST",body:JSON.stringify({repo:K,role:"hermes",quant:"Q4_K_M",jinja:!0})}),f("Download gestartet","Das neue Agent-Hirn wird geladen. Fortschritt oben."),S()}catch(Xe){f("Fehler",`Update fehlgeschlagen: ${Xe.message||Xe}`)}})}if(r)return s.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Initialisiere HUD Cockpit…"});if(k)return s.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",k,")."]});const he=N.filter(K=>w.includes(K.name)),re=he.reduce((K,Ae)=>K+(Ae.size_bytes||0),0),ye=((be=c==null?void 0:c.gpu)==null?void 0:be.gtt_total)||((We=c==null?void 0:c.gpu)==null?void 0:We.vram_total)||0,Oe=((Lt=c==null?void 0:c.gpu)==null?void 0:Lt.gtt_used)||0,W=16*1024**3,ke=ye>2*1024**3?ye:re>W?re*1.2:W;return s.jsxs("div",{className:"space-y-8",children:[s.jsx("style",{children:` @keyframes flow-dash { to { stroke-dashoffset: -20; @@ -762,14 +762,14 @@ Trotzdem exklusiv laden? Tipp: Mit dem 🧠-Schalter machst du das Modell dauerh stroke-dasharray: 4 6; animation: flow-dash 1s linear infinite; } - `}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[s.jsxs("div",{className:"flex justify-between items-center",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(ga,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"VRAM / Memory Belegung"})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:["Speicher-Pool: ",lr(re)," Gewichte",Oe>0?` · ${lr(Oe)} real belegt (inkl. KV)`:""," / ",lr(ke)]}),v&&w.length>0&&s.jsx("button",{onClick:D,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase transition-all cursor-pointer",children:"Alle entladen"})]})]}),s.jsx("div",{className:"h-7 w-full rounded-xl bg-background/50 border border-border/40 overflow-hidden flex p-0.5 relative group",children:he.length===0?s.jsx("div",{className:"w-full h-full flex items-center justify-center text-[10px] text-muted-foreground/60 italic font-mono select-none",children:"VRAM Leer — Auto-Swap lädt Modelle bei Anfrage"}):he.map((K,Ae)=>{var tt;const _e=(K.size_bytes||0)/ke*100,Xe=["from-teal-500 to-emerald-500","from-indigo-500 to-blue-500","from-purple-500 to-pink-500","from-cyan-500 to-sky-500"][Ae%4];return s.jsxs("div",{style:{width:`${_e}%`},className:J("h-full rounded bg-gradient-to-r flex items-center justify-between px-2.5 transition-all text-white/95 shrink-0 shadow-inner select-none",Xe),title:`${K.name} (${lr(K.size_bytes)})`,children:[s.jsxs("span",{className:"text-[9px] font-bold truncate max-w-[120px] font-space tracking-wide",children:[K.role?`[${ft(K.role).short}] `:"",(tt=K.name.split("/").pop())==null?void 0:tt.replace(".gguf","")]}),s.jsx("span",{className:"text-[8px] font-mono opacity-80",children:lr(K.size_bytes)})]},K.name)})})]}),s.jsx(TX,{}),v&&s.jsx(IX,{}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[s.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground px-1",children:v?"Gateway Steckplatz-Belegung (Slot-Zuweisung)":"Wer macht was bei Lucy — zum Ändern antippen"}),s.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:AL.map(K=>{var Xe;const Ae=S.find(tt=>tt.role===K),_e=Ae?w.includes(Ae.name):!1;return s.jsxs("div",{onClick:()=>q(K),className:J("rounded-xl border p-3 flex flex-col justify-between gap-2.5 transition-all cursor-pointer select-none text-left bg-background/25 hover:border-primary/45 hover:bg-background/40 group min-h-[90px]",_e?"border-emerald-500/40 shadow-sm shadow-emerald-500/5":Ae?"border-primary/20 bg-primary/5":"border-border/30 border-dashed opacity-75"),children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(mo,{role:K}),_e&&s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),s.jsx("div",{className:"text-[10px] font-mono font-medium truncate text-foreground/90 pr-1 font-space",title:Ae==null?void 0:Ae.name,children:Ae?(Xe=Ae.name.split("/").pop())==null?void 0:Xe.replace(/\.gguf$/i,""):"nicht zugewiesen"}),s.jsx("div",{className:"text-[8px] text-primary/70 group-hover:text-primary font-bold uppercase tracking-wider transition-colors font-space",children:"Ändern ➔"})]},K)})})]}),(o==null?void 0:o.current)&&s.jsxs("div",{className:"rounded-2xl border border-indigo-500/30 bg-indigo-500/5 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[s.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Hn,{className:"h-4.5 w-4.5 text-indigo-400"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Hirn (Hermes)"}),o.current.version!=null&&s.jsxs("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-indigo-500/15 text-indigo-300 border border-indigo-500/25",children:["v",o.current.version]})]}),s.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"agent"}})),className:"h-7 px-3 rounded-lg border border-indigo-500/30 bg-indigo-500/5 text-indigo-300 text-[9px] font-bold uppercase hover:bg-indigo-500/15 transition-all cursor-pointer",title:"Hirn-Wechsel passiert jetzt zentral im Hermes-Tab",children:"Im Hermes-Tab wechseln →"})]}),s.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-background/30 border border-border/30 p-3.5",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:o.current.name,children:o.current.name.split("/").pop()}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[s.jsx("span",{children:o.current.params_b?`${o.current.params_b}B`:"—"}),s.jsx("span",{children:"•"}),s.jsx("span",{children:o.current.quant||"GGUF"}),s.jsx("span",{children:"•"}),s.jsx("span",{children:lr(o.current.size_bytes||0)})]})]}),o.update_available&&o.recommended?s.jsxs("button",{onClick:()=>ne(o.recommended.repo),className:J("h-8 px-3 shrink-0 flex items-center justify-center gap-1.5 rounded-lg text-[10px] font-bold uppercase transition-all cursor-pointer shadow-md",o.budget&&!o.budget.fits?"bg-red-500 text-white hover:bg-red-400 shadow-red-500/10":"bg-amber-500 text-black hover:bg-amber-400 shadow-amber-500/10"),children:[s.jsx(Bs,{className:"h-3.5 w-3.5"})," Aktualisieren"]}):s.jsxs("span",{className:"h-8 px-3 shrink-0 flex items-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/15 rounded-lg select-none",children:[s.jsx(Mt,{className:"h-4 w-4"})," Neueste Generation"]})]}),o.update_available&&o.recommended&&s.jsxs("div",{className:"text-[10px] text-amber-400/90 flex items-center gap-1.5",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),"Neuere Generation verfügbar: ",s.jsx("span",{className:"font-mono font-bold",children:o.recommended.name.replace(/-GGUF$/i,"")}),"(v",o.recommended.version,", ",o.recommended.params_b,"B) — von NousResearch."]}),o.budget&&s.jsxs("div",{className:J("text-[10px] flex items-start gap-1.5 leading-relaxed",o.budget.fits?"text-muted-foreground/80":"text-red-400 font-semibold"),children:[s.jsx(ga,{className:"h-3 w-3 shrink-0 mt-0.5"}),s.jsxs("span",{children:["Always-On-Brain ~",o.budget.brain_gb," GB + größtes on-demand (~",o.budget.largest_ondemand_gb," GB) = ",(o.budget.brain_gb+o.budget.largest_ondemand_gb).toFixed(1)," / ",o.budget.gtt_gb," GB",o.budget.fits?" · passt gleichzeitig ✓":" · passt NICHT gleichzeitig ⚠ — heavy/coder würden das Brain verdrängen. Kleineres Brain oder weniger Kontext."]})]})]}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-1",children:[s.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:["Installierte Modell-Bibliothek (",ae.length," von ",S.length,")"]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[s.jsx("button",{onClick:()=>se("all"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="all"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Vorhanden"}),s.jsx("button",{onClick:()=>se("in_use"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="in_use"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"In Benutzung"})]}),s.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[s.jsx("button",{onClick:()=>ue("grid"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="grid"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Grid"}),s.jsx("button",{onClick:()=>ue("list"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="list"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"List"})]})]})]}),ge==="grid"?s.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:ae.length===0?s.jsx("div",{className:"col-span-full text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):ae.map(K=>{const Ae=w.includes(K.name),_e=i==null?void 0:i.model_list.find(tt=>tt.role===K.role),Xe=pf(K.name);return s.jsxs("div",{className:J("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-4 transition-all duration-300 hover:border-primary/40 group relative overflow-hidden",Ae?"border-primary/45 shadow-primary/5":K.role?"border-primary/30 bg-primary/5 shadow-inner":"border-border/60"),children:[s.jsxs("div",{className:"space-y-3",children:[s.jsx("div",{className:"flex items-start justify-between gap-3",children:s.jsxs("div",{className:"flex gap-2.5 min-w-0",children:[s.jsx("div",{className:J("w-7 h-7 rounded-lg border flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",Xe.color),title:Xe.name,children:Xe.initial}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("h3",{className:"text-xs font-bold tracking-tight text-foreground line-clamp-2 break-all font-mono",title:K.name,children:K.name.split("/").pop()}),s.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[s.jsx("span",{className:"text-[9px] font-mono text-muted-foreground bg-background/40 px-1.5 py-0.5 rounded border border-border/30",children:K.quant||"GGUF"}),Ae&&s.jsxs("span",{className:"flex items-center gap-1 text-[9px] font-semibold text-emerald-400 uppercase tracking-wider",children:[s.jsx(hh,{className:"h-3 w-3 animate-pulse"})," Warm"]}),K.role&&s.jsx(mo,{role:K.role,dense:!0}),b(K.role)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-background/40 border border-border/40 text-[9px] font-semibold text-muted-foreground",title:"Lebenswichtig für Lucy — geschützt vor Löschen/Entladen.",children:"🔒 geschützt"}),v&&A(K.name)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-fuchsia-500/10 border border-fuchsia-500/30 text-[9px] font-mono text-fuchsia-300 font-bold uppercase",title:"Ko-resident in der brains-Gruppe — bleibt mit dem Hirn gemeinsam warm, verdrängt es nicht.",children:"🧠 Ko-resident"}),v&&K.prompt_cache&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[9px] font-mono text-cyan-400 font-bold uppercase",title:"Prompt Caching aktiv",children:"PC"}),v&&(K.spec_active?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[9px] font-mono text-emerald-400 font-bold uppercase",title:`Speculative Decoding aktiv (Draft: ${K.spec_draft_model})`,children:"SPEC"}):K.spec_draft_model?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:`Draft gesetzt (${K.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel. Über 'Spec' neu konfigurieren.`,children:"SPEC?"}):null),v&&K.parallel_slots>1&&s.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[9px] font-mono text-violet-400 font-bold uppercase",title:`${K.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",K.parallel_slots]}),K.incomplete&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:"GGUF-Datei fehlt — Modell kann nicht geladen werden",children:"⚠ Datei fehlt"})]})]})]})}),s.jsx("div",{className:"border-t border-border/30 pt-3 flex flex-wrap gap-1",children:s.jsx(Pv,{caps:K.capabilities})})]}),s.jsxs("div",{className:"space-y-3 pt-1",children:[s.jsxs("div",{className:"grid grid-cols-2 gap-2 text-[10px] font-mono text-muted-foreground",children:[s.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[s.jsx(ga,{className:"h-3.5 w-3.5 text-primary/80"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Größe"}),s.jsx("div",{className:"text-foreground font-semibold",children:lr(K.size_bytes)})]})]}),s.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[s.jsx(f5,{className:"h-3.5 w-3.5 text-primary/80"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Kontext"}),s.jsx("div",{className:"text-foreground font-semibold",children:Cv(K.ctx)})]})]})]}),_e&&s.jsxs("div",{className:"p-3 bg-amber-500/5 border border-amber-500/30 rounded-xl space-y-2 flex flex-col justify-between shrink-0",children:[s.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping"}),s.jsxs("span",{children:["Upgrade verfügbar: ",_e.repo.split("/").pop()]})]}),s.jsxs("button",{onClick:()=>ee(_e.repo,K.role,K.quant||"Q4_K_M",K.capabilities.tools!=="no"),className:"h-7 w-full flex items-center justify-center gap-1 rounded-lg bg-amber-500 text-black text-[10px] font-bold hover:bg-amber-400 transition-colors cursor-pointer",children:[s.jsx(Bs,{className:"h-3 w-3"})," Smart-Swap starten"]})]}),s.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/20 pt-3 mt-auto",children:[(()=>{const tt=b(K.role),dr=Ae&&tt,Mi=K.incomplete&&!Ae||dr;return s.jsx("button",{onClick:()=>Ae?ie(K.name):te(K.name),disabled:Mi,title:dr?`„${ft(K.role).label}" bleibt geladen (geschützt).`:void 0,className:J("flex-1 h-7 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center justify-center gap-1",Mi?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Ae?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:dr?"🔒 geladen":Ae?"Entladen":"Laden"})})(),v&&s.jsx("button",{onClick:()=>le(K.name,K.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),v&&E&&s.jsx("button",{onClick:()=>O(K.name),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer",A(K.name)?"border-fuchsia-500/40 bg-fuchsia-500/10 text-fuchsia-300 hover:bg-fuchsia-500/20":"border-border/40 text-muted-foreground hover:bg-accent"),title:A(K.name)?"Ko-resident (brains): bleibt mit dem Hirn gemeinsam warm. Klick = aus der Gruppe nehmen.":"Zur brains-Gruppe hinzufügen — lädt dann ko-resident neben dem Hirn, statt es zu verdrängen.",children:"🧠"}),v&&s.jsxs("button",{onClick:()=>U(K),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer flex items-center gap-1",K.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":K.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[s.jsx(wa,{className:"h-3 w-3"})," Spec"]}),s.jsx("button",{onClick:()=>oe(K.name),disabled:b(K.role),className:J("h-7 w-7 rounded-lg border border-border/40 flex items-center justify-center transition-colors",b(K.role)?"text-muted-foreground/40 cursor-not-allowed":"text-muted-foreground hover:text-red-400 hover:bg-red-500/5 cursor-pointer"),"aria-label":"Modell löschen",title:b(K.role)?`„${ft(K.role).label}" ist geschützt und kann nicht gelöscht werden.`:"Modell löschen",children:s.jsx(Us,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]})]},K.name)})}):s.jsx("div",{className:"space-y-2",children:ae.length===0?s.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):ae.map(K=>{const Ae=w.includes(K.name),_e=pf(K.name);return s.jsxs("div",{className:J("rounded-xl border bg-card/45 backdrop-blur-md p-3.5 shadow-lg shadow-black/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-primary/40 transition-all",Ae?"border-primary/45":K.role?"border-primary/30 bg-primary/5":"border-border/60"),children:[s.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s.jsx("div",{className:J("w-8 h-8 rounded-lg border border-border/40 flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",_e.color),title:_e.name,children:_e.initial}),s.jsxs("div",{className:"min-w-0 text-left",children:[s.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[s.jsx("h4",{className:"text-xs font-bold text-foreground truncate max-w-[250px] sm:max-w-[400px] break-all font-mono",title:K.name,children:K.name.split("/").pop()}),K.role&&s.jsx(mo,{role:K.role,dense:!0,className:"shrink-0"}),b(K.role)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-background/40 border border-border/40 text-[8px] font-semibold text-muted-foreground shrink-0",title:"Lebenswichtig für Lucy — geschützt vor Löschen/Entladen.",children:"🔒 geschützt"}),v&&A(K.name)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-fuchsia-500/10 border border-fuchsia-500/30 text-[8px] font-mono text-fuchsia-300 font-bold uppercase shrink-0",title:"Ko-resident in der brains-Gruppe — bleibt mit dem Hirn gemeinsam warm.",children:"🧠 Ko-resident"}),v&&K.prompt_cache&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[8px] font-mono text-cyan-400 font-bold uppercase shrink-0",title:"Prompt Caching aktiv",children:"PC"}),v&&(K.spec_active?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[8px] font-mono text-emerald-400 font-bold uppercase shrink-0",title:`Speculative Decoding aktiv (Draft: ${K.spec_draft_model})`,children:"SPEC"}):K.spec_draft_model?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:`Draft gesetzt (${K.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel.`,children:"SPEC?"}):null),v&&K.parallel_slots>1&&s.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[8px] font-mono text-violet-400 font-bold uppercase shrink-0",title:`${K.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",K.parallel_slots]}),K.incomplete&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:"GGUF-Datei fehlt",children:"⚠ Datei fehlt"}),Ae&&s.jsxs("span",{className:"flex items-center gap-0.5 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider shrink-0",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]})]}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[s.jsxs("span",{children:["Größe: ",lr(K.size_bytes)]}),s.jsx("span",{children:"•"}),s.jsxs("span",{children:["Kontext: ",Cv(K.ctx)]}),s.jsx("span",{children:"•"}),s.jsx("span",{className:"font-mono text-[9px]",children:K.quant||"GGUF"})]})]})]}),s.jsxs("div",{className:"flex items-center gap-3 shrink-0 self-end sm:self-auto",children:[s.jsx("div",{className:"hidden lg:flex flex-wrap gap-1",children:s.jsx(Pv,{caps:K.capabilities})}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[(()=>{const Xe=b(K.role),tt=Ae&&Xe,dr=K.incomplete&&!Ae||tt;return s.jsx("button",{onClick:()=>Ae?ie(K.name):te(K.name),disabled:dr,title:tt?`„${ft(K.role).label}" bleibt geladen (geschützt).`:void 0,className:J("h-7 px-3 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center gap-1",dr?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Ae?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:tt?"🔒 geladen":Ae?"Entladen":"Laden"})})(),v&&s.jsx("button",{onClick:()=>le(K.name,K.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-all cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),v&&E&&s.jsx("button",{onClick:()=>O(K.name),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer",A(K.name)?"border-fuchsia-500/40 bg-fuchsia-500/10 text-fuchsia-300 hover:bg-fuchsia-500/20":"border-border/40 text-muted-foreground hover:bg-accent"),title:A(K.name)?"Ko-resident (brains): bleibt mit dem Hirn gemeinsam warm. Klick = aus der Gruppe nehmen.":"Zur brains-Gruppe hinzufügen — lädt dann ko-resident neben dem Hirn, statt es zu verdrängen.",children:"🧠"}),v&&s.jsxs("button",{onClick:()=>U(K),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-all cursor-pointer flex items-center gap-1",K.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":K.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[s.jsx(wa,{className:"h-3 w-3"})," Spec"]}),s.jsx("button",{onClick:()=>oe(K.name),disabled:b(K.role),className:J("h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 transition-all",b(K.role)?"text-muted-foreground/40 cursor-not-allowed":"text-muted-foreground hover:text-red-400 hover:bg-red-500/5 cursor-pointer"),"aria-label":"Modell löschen",title:b(K.role)?`„${ft(K.role).label}" ist geschützt und kann nicht gelöscht werden.`:"Modell löschen",children:s.jsx(Us,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]})]},K.name)})})]}),I&&s.jsx(OX,{role:I,roleRec:F,models:S,onAssign:K=>{M(I,K),B(null)},onClose:()=>B(null)}),Q&&s.jsx(pE,{model:Q,onClose:()=>U(null),onChanged:N}),p]})}function ev({icon:e,title:t,sub:r,onClick:n}){return s.jsxs("button",{onClick:n,className:"w-full flex items-center gap-4 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 text-left transition-all hover:border-primary/40 cursor-pointer",children:[s.jsx(e,{className:"h-6 w-6 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-sm text-foreground",children:t}),s.jsx("div",{className:"text-xs text-muted-foreground",children:r})]}),s.jsx(Kn,{className:"h-5 w-5 text-muted-foreground shrink-0"})]})}function LX(){const[e,t]=x.useState(null);return e?s.jsxs("div",{className:"space-y-4",children:[s.jsxs("button",{onClick:()=>t(null),className:"flex items-center gap-1.5 text-xs font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[s.jsx(e5,{className:"h-4 w-4"})," Maschinenraum"]}),e==="modelle"?s.jsx(DX,{}):s.jsx(xE,{})]}):s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Maschinenraum"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Nur nötig, wenn du wirklich was ändern willst."})]}),s.jsx(oE,{})]}),s.jsx(ev,{icon:yi,title:"Modelle",sub:"Hirne, Coder, Immer-bereit-Set, Bibliothek",onClick:()=>t("modelle")}),s.jsx(ev,{icon:p5,title:"Wartung und Logs",sub:"Updates, Backup, Dienste, Logs, Zugangsdaten",onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}}))}),s.jsx(ev,{icon:Hn,title:"Hermes und Verdrahtung",sub:"Agent, Gehirn-Modell, PC-Verbindung",onClick:()=>t("hermes")})]})}const RX=[{id:"start",label:"Start",icon:hh},{id:"vibe",label:"Vibe-Coding",icon:Fs},{id:"konstitution",label:"Konstitution",icon:TM},{id:"maschinenraum",label:"Maschinenraum",icon:tu}];function $X(){const[e,t]=x.useState("start"),[r,n]=x.useState(!1),[i,o]=x.useState("maintenance"),{data:c}=Kx();x.useEffect(()=>{const f=h=>{var m;o(((m=h.detail)==null?void 0:m.tab)||"maintenance"),n(!0)};return window.addEventListener("open-system-drawer",f),()=>window.removeEventListener("open-system-drawer",f)},[]);const u=c&&c.engine_reachable&&(c.brain?c.brain.ready:!0);return s.jsxs("div",{className:"flex h-full relative",children:[s.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:s.jsx("div",{className:"absolute inset-0 opacity-30 animate-aurora bg-gradient-to-tr from-teal-500/15 via-indigo-500/10 to-purple-500/15 blur-[130px]"})}),s.jsx(yE,{open:r,onClose:()=>n(!1),defaultTab:i}),s.jsxs("aside",{className:"flex w-56 shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md",children:[s.jsxs("div",{className:"flex items-center gap-2 px-5 py-4 border-b border-border/40",children:[s.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20"}),s.jsxs("div",{className:"leading-tight",children:[s.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),s.jsx("div",{className:"text-[10px] text-muted-foreground",children:"3 · Prototyp"})]})]}),s.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4",children:RX.map(f=>s.jsxs("button",{onClick:()=>t(f.id),className:J("flex w-full items-center gap-3 rounded-md px-3 py-2 text-sm transition-all cursor-pointer",e===f.id?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[s.jsx(f.icon,{className:"h-4.5 w-4.5 shrink-0"})," ",f.label]},f.id))}),s.jsxs("div",{className:"px-3 py-3 border-t border-border/40 space-y-2",children:[s.jsxs("div",{className:"flex items-center gap-2 px-2 text-xs text-muted-foreground",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full",u?"bg-emerald-500 animate-pulse":"bg-amber-500")}),u?"Box läuft":"prüfen"]}),s.jsxs("a",{href:"#dashboard",className:"flex items-center gap-1.5 rounded-md px-2 py-1.5 text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:[s.jsx(e5,{className:"h-3.5 w-3.5"})," zurück zu MC2"]})]})]}),s.jsxs("main",{className:"flex-1 min-w-0 overflow-y-auto p-6 scrollbar-thin",children:[e==="start"&&s.jsx(CX,{}),e==="vibe"&&s.jsx(gE,{}),e==="konstitution"&&s.jsx(vE,{}),e==="maschinenraum"&&s.jsx(LX,{})]})]})}const zX={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},FX={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function ps({icon:e,title:t,value:r,unit:n,tone:i="muted",hint:o,onClick:c}){return s.jsxs("button",{onClick:c,className:J("group relative flex flex-col items-start rounded-2xl border border-border/60 bg-card/45 p-5 text-left shadow-lg shadow-black/15 backdrop-blur-md transition-all duration-200 cursor-pointer hover:bg-card/70 hover:shadow-xl",FX[i]),children:[s.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[s.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:s.jsx(e,{className:"h-5 w-5"})}),s.jsx("span",{className:J("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",zX[i]),title:o})]}),s.jsxs("div",{className:"flex items-baseline gap-1.5",children:[s.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:r}),n&&s.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:n})]}),s.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[s.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:t}),s.jsx(Kn,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),o&&s.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:o})]})}function BX(){var c;const{data:e=[]}=cE(150,6e4),[t,r]=x.useState(!1),n=e.find(u=>u.source==="chef-gutachter");if(!n)return null;const i=new Date(n.ts*1e3).toLocaleString("de-DE",{weekday:"long",day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}),o=(c=n.text.split(` -`).find(u=>u.trim().startsWith("VERDIKT:")))==null?void 0:c.replace(/^\s*VERDIKT:\s*/,"");return s.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.05] p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("button",{onClick:()=>r(u=>!u),className:"flex w-full items-center gap-3 text-left cursor-pointer",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-violet-500/30 bg-background/30 text-violet-300",children:s.jsx(d5,{className:"h-4.5 w-4.5"})}),s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsx("span",{className:"block text-sm font-bold text-foreground",children:"Morgenlage"}),s.jsx("span",{className:"block truncate text-xs text-muted-foreground",children:o||n.subject||"Nächtliches Gutachten über die autonome Arbeit"})]}),s.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",children:i}),t?s.jsx(tl,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):s.jsx(Kn,{className:"h-4 w-4 shrink-0 text-muted-foreground"})]}),t&&s.jsxs("div",{className:"mt-3 border-t border-violet-500/15 pt-3",children:[n.subject&&s.jsx("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-violet-300/80",children:n.subject}),s.jsx("p",{className:"whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:n.text})]})]})}const AN={"":"einmalig",daily:"täglich",weekdays:"werktags",weekly:"wöchentlich"};function UX(){const{data:e=[],isLoading:t}=vL(),r=Hr(),{showAlert:n,showConfirm:i,dialogElement:o}=Nn(),[c,u]=x.useState(!1),[f,h]=x.useState(""),[m,p]=x.useState(""),[v,b]=x.useState(""),[S,w]=x.useState(!1),k=()=>r.invalidateQueries({queryKey:Fe.reminders});async function N(){if(!(!f.trim()||!m)){w(!0);try{await xe("/api/reminders",{method:"POST",body:JSON.stringify({text:f,when:m,repeat:v})}),h(""),p(""),b(""),u(!1),k()}catch(A){n("Anlegen fehlgeschlagen",String((A==null?void 0:A.message)||A))}finally{w(!1)}}}function E(A,_){i("Erinnerung löschen?",`„${_}" wird entfernt.`,async()=>{try{await xe(`/api/reminders/${A}`,{method:"DELETE"}),k()}catch(O){n("Fehler",String((O==null?void 0:O.message)||O))}})}const C=[...e].sort((A,_)=>A.next_ts-_.next_ts);return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[s.jsxs("span",{className:"flex items-center gap-2 text-sm font-bold text-foreground",children:[s.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-amber-300",children:s.jsx(JN,{className:"h-4 w-4"})}),"Anstehendes"]}),s.jsxs("button",{onClick:()=>u(A=>!A),className:"flex h-8 items-center gap-1 rounded-lg border border-border/60 bg-background/30 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[c?s.jsx(Br,{className:"h-3.5 w-3.5"}):s.jsx(hf,{className:"h-3.5 w-3.5"})," ",c?"Abbrechen":"Neu"]})]}),c&&s.jsxs("div",{className:"mb-3 space-y-2 rounded-xl border border-border/50 bg-background/30 p-3",children:[s.jsx("input",{value:f,onChange:A=>h(A.target.value),placeholder:"Woran soll Lucy erinnern?","aria-label":"Erinnerungstext",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 px-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("input",{type:"datetime-local",value:m,onChange:A=>p(A.target.value),"aria-label":"Zeitpunkt",className:"h-9 rounded-lg border border-border/60 bg-card/45 px-2 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50 [color-scheme:dark]"}),s.jsx("select",{value:v,onChange:A=>b(A.target.value),"aria-label":"Wiederholung",className:"h-9 cursor-pointer rounded-lg border border-border/60 bg-card/45 px-2 text-xs font-semibold text-foreground outline-none",children:Object.entries(AN).map(([A,_])=>s.jsx("option",{value:A,className:"bg-popover",children:_},A))}),s.jsxs("button",{onClick:N,disabled:S||!f.trim()||!m,className:"ml-auto flex h-9 items-center gap-1.5 rounded-lg bg-primary px-3 text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50",children:[S?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(hf,{className:"h-3.5 w-3.5"})," Anlegen"]})]})]}),t?s.jsx("p",{className:"text-xs text-muted-foreground",children:"Wird geladen …"}):C.length===0?s.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine Erinnerungen. Lucy sagt dir hier (und per Stimme) Bescheid, wenn etwas ansteht."}):s.jsxs("div",{className:"space-y-1.5",children:[C.slice(0,6).map(A=>{const _=A.next_ts*1e3E(A.id,A.text),"aria-label":"Erinnerung löschen",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-red-500/5 hover:text-red-400 group-hover:opacity-100 cursor-pointer",children:s.jsx(Us,{className:"h-3.5 w-3.5"})})]},A.id)}),C.length>6&&s.jsxs("p",{className:"text-[10px] text-muted-foreground/60",children:["+",C.length-6," weitere"]})]}),o]})}const Js=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],ro=e=>e==null?"–":`${(e/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function WX(e){const t=Math.max(0,Date.now()/1e3-e);return t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:`vor ${Math.round(t/3600)} h`}function Ax(e){return Js.reduce((t,r)=>t+(e[r.key]??0),0)}function HX(e){let t=null;for(const r of Js){const n=e[r.key];n!=null&&(t==null||n>t.ms)&&(t={label:r.label,color:r.color,ms:n})}return t}function KX({t:e,scale:t}){const r=Js.map(n=>`${n.label} ${ro(e[n.key])}`).join(" · ")+(e.mem0_ms!=null?` (davon Mem0 ${ro(e.mem0_ms)})`:"");return s.jsxs("div",{className:"flex items-center gap-2.5",children:[s.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:WX(e.ts)}),s.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:r,children:[s.jsx("div",{className:"absolute inset-0 flex",children:Js.map(n=>{const i=e[n.key];return!i||i<=0?null:s.jsx("div",{style:{width:`${i/t*100}%`,background:n.color},className:"h-full first:rounded-l-sm"},n.key)})}),e.error&&s.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),s.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:e.error?"–":ro(Ax(e))})]})}function GX(){const{data:e}=xL(12),t=e??[],r=Math.max(1,...t.map(o=>Ax(o))),n=t[0],i=n?HX(n):null;return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[s.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(o5,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),s.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),n?s.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[s.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${n.error?"text-rose-400":"text-foreground"}`,children:n.error?"Fehler":ro(Ax(n))}),s.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!n.error&&i&&s.jsxs(s.Fragment,{children:[" · Täter: ",s.jsx("span",{style:{color:i.color},className:"font-semibold",children:i.label})," ",ro(i.ms)]})]})]}):s.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),n&&!n.error&&s.jsxs("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:[Js.filter(o=>n[o.key]!=null).map(o=>`${o.label} ${ro(n[o.key])}`).join(" · "),n.mem0_ms!=null&&s.jsxs("span",{className:"text-muted-foreground/50",children:[" · davon Mem0 ",ro(n.mem0_ms)]})]})]}),s.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Js.map(o=>s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:o.color}}),s.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:o.label})]},o.key))})]}),t.length>0?s.jsx("div",{className:"space-y-1.5",children:t.map(o=>s.jsx(KX,{t:o,scale:r},o.id))}):s.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),s.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Mem0-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const dh=e=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:e}}));function VX({onNavigate:e}){var ge,ue,pe,se;const{data:t}=Si(4e3),{data:r}=uE(4e3),{data:n}=wh(8e3),{data:i}=Ev(),{data:o}=Vx(),{data:c}=hE(),{data:u}=lE(2e4),f=kE(),{showAlert:h,dialogElement:m}=Nn(),p=Hr(),[v,b]=x.useState({});async function S(ae,Z){b(te=>({...te,[ae]:!0}));try{if(Z.kind==="loadModel")await xe(`/api/models/${encodeURIComponent(Z.model)}/load`,{method:"POST"});else{const te=await xe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:Z.service})});te.ok||h("Reparatur nicht ganz geklappt",(te.err||"Unbekannter Fehler")+(Z.needsSudo?` + `}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[s.jsxs("div",{className:"flex justify-between items-center",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(ga,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"VRAM / Memory Belegung"})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:["Speicher-Pool: ",lr(re)," Gewichte",Oe>0?` · ${lr(Oe)} real belegt (inkl. KV)`:""," / ",lr(ke)]}),v&&w.length>0&&s.jsx("button",{onClick:D,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase transition-all cursor-pointer",children:"Alle entladen"})]})]}),s.jsx("div",{className:"h-7 w-full rounded-xl bg-background/50 border border-border/40 overflow-hidden flex p-0.5 relative group",children:he.length===0?s.jsx("div",{className:"w-full h-full flex items-center justify-center text-[10px] text-muted-foreground/60 italic font-mono select-none",children:"VRAM Leer — Auto-Swap lädt Modelle bei Anfrage"}):he.map((K,Ae)=>{var tt;const _e=(K.size_bytes||0)/ke*100,Xe=["from-teal-500 to-emerald-500","from-indigo-500 to-blue-500","from-purple-500 to-pink-500","from-cyan-500 to-sky-500"][Ae%4];return s.jsxs("div",{style:{width:`${_e}%`},className:J("h-full rounded bg-gradient-to-r flex items-center justify-between px-2.5 transition-all text-white/95 shrink-0 shadow-inner select-none",Xe),title:`${K.name} (${lr(K.size_bytes)})`,children:[s.jsxs("span",{className:"text-[9px] font-bold truncate max-w-[120px] font-space tracking-wide",children:[K.role?`[${ft(K.role).short}] `:"",(tt=K.name.split("/").pop())==null?void 0:tt.replace(".gguf","")]}),s.jsx("span",{className:"text-[8px] font-mono opacity-80",children:lr(K.size_bytes)})]},K.name)})})]}),s.jsx(DX,{}),v&&s.jsx(TX,{}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[s.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground px-1",children:v?"Gateway Steckplatz-Belegung (Slot-Zuweisung)":"Wer macht was bei Lucy — zum Ändern antippen"}),s.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:CL.map(K=>{var Xe;const Ae=N.find(tt=>tt.role===K),_e=Ae?w.includes(Ae.name):!1;return s.jsxs("div",{onClick:()=>q(K),className:J("rounded-xl border p-3 flex flex-col justify-between gap-2.5 transition-all cursor-pointer select-none text-left bg-background/25 hover:border-primary/45 hover:bg-background/40 group min-h-[90px]",_e?"border-emerald-500/40 shadow-sm shadow-emerald-500/5":Ae?"border-primary/20 bg-primary/5":"border-border/30 border-dashed opacity-75"),children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(mo,{role:K}),_e&&s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),s.jsx("div",{className:"text-[10px] font-mono font-medium truncate text-foreground/90 pr-1 font-space",title:Ae==null?void 0:Ae.name,children:Ae?(Xe=Ae.name.split("/").pop())==null?void 0:Xe.replace(/\.gguf$/i,""):"nicht zugewiesen"}),s.jsx("div",{className:"text-[8px] text-primary/70 group-hover:text-primary font-bold uppercase tracking-wider transition-colors font-space",children:"Ändern ➔"})]},K)})})]}),(o==null?void 0:o.current)&&s.jsxs("div",{className:"rounded-2xl border border-indigo-500/30 bg-indigo-500/5 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[s.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Hn,{className:"h-4.5 w-4.5 text-indigo-400"}),s.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Hirn (Hermes)"}),o.current.version!=null&&s.jsxs("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-indigo-500/15 text-indigo-300 border border-indigo-500/25",children:["v",o.current.version]})]}),s.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"agent"}})),className:"h-7 px-3 rounded-lg border border-indigo-500/30 bg-indigo-500/5 text-indigo-300 text-[9px] font-bold uppercase hover:bg-indigo-500/15 transition-all cursor-pointer",title:"Hirn-Wechsel passiert jetzt zentral im Hermes-Tab",children:"Im Hermes-Tab wechseln →"})]}),s.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-background/30 border border-border/30 p-3.5",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:o.current.name,children:o.current.name.split("/").pop()}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[s.jsx("span",{children:o.current.params_b?`${o.current.params_b}B`:"—"}),s.jsx("span",{children:"•"}),s.jsx("span",{children:o.current.quant||"GGUF"}),s.jsx("span",{children:"•"}),s.jsx("span",{children:lr(o.current.size_bytes||0)})]})]}),o.update_available&&o.recommended?s.jsxs("button",{onClick:()=>ne(o.recommended.repo),className:J("h-8 px-3 shrink-0 flex items-center justify-center gap-1.5 rounded-lg text-[10px] font-bold uppercase transition-all cursor-pointer shadow-md",o.budget&&!o.budget.fits?"bg-red-500 text-white hover:bg-red-400 shadow-red-500/10":"bg-amber-500 text-black hover:bg-amber-400 shadow-amber-500/10"),children:[s.jsx(Bs,{className:"h-3.5 w-3.5"})," Aktualisieren"]}):s.jsxs("span",{className:"h-8 px-3 shrink-0 flex items-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/15 rounded-lg select-none",children:[s.jsx(It,{className:"h-4 w-4"})," Neueste Generation"]})]}),o.update_available&&o.recommended&&s.jsxs("div",{className:"text-[10px] text-amber-400/90 flex items-center gap-1.5",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),"Neuere Generation verfügbar: ",s.jsx("span",{className:"font-mono font-bold",children:o.recommended.name.replace(/-GGUF$/i,"")}),"(v",o.recommended.version,", ",o.recommended.params_b,"B) — von NousResearch."]}),o.budget&&s.jsxs("div",{className:J("text-[10px] flex items-start gap-1.5 leading-relaxed",o.budget.fits?"text-muted-foreground/80":"text-red-400 font-semibold"),children:[s.jsx(ga,{className:"h-3 w-3 shrink-0 mt-0.5"}),s.jsxs("span",{children:["Always-On-Brain ~",o.budget.brain_gb," GB + größtes on-demand (~",o.budget.largest_ondemand_gb," GB) = ",(o.budget.brain_gb+o.budget.largest_ondemand_gb).toFixed(1)," / ",o.budget.gtt_gb," GB",o.budget.fits?" · passt gleichzeitig ✓":" · passt NICHT gleichzeitig ⚠ — heavy/coder würden das Brain verdrängen. Kleineres Brain oder weniger Kontext."]})]})]}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-1",children:[s.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:["Installierte Modell-Bibliothek (",ae.length," von ",N.length,")"]}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[s.jsx("button",{onClick:()=>se("all"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="all"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Vorhanden"}),s.jsx("button",{onClick:()=>se("in_use"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="in_use"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"In Benutzung"})]}),s.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[s.jsx("button",{onClick:()=>ue("grid"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="grid"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Grid"}),s.jsx("button",{onClick:()=>ue("list"),className:J("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="list"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"List"})]})]})]}),ge==="grid"?s.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:ae.length===0?s.jsx("div",{className:"col-span-full text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):ae.map(K=>{const Ae=w.includes(K.name),_e=i==null?void 0:i.model_list.find(tt=>tt.role===K.role),Xe=gf(K.name);return s.jsxs("div",{className:J("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-4 transition-all duration-300 hover:border-primary/40 group relative overflow-hidden",Ae?"border-primary/45 shadow-primary/5":K.role?"border-primary/30 bg-primary/5 shadow-inner":"border-border/60"),children:[s.jsxs("div",{className:"space-y-3",children:[s.jsx("div",{className:"flex items-start justify-between gap-3",children:s.jsxs("div",{className:"flex gap-2.5 min-w-0",children:[s.jsx("div",{className:J("w-7 h-7 rounded-lg border flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",Xe.color),title:Xe.name,children:Xe.initial}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("h3",{className:"text-xs font-bold tracking-tight text-foreground line-clamp-2 break-all font-mono",title:K.name,children:K.name.split("/").pop()}),s.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[s.jsx("span",{className:"text-[9px] font-mono text-muted-foreground bg-background/40 px-1.5 py-0.5 rounded border border-border/30",children:K.quant||"GGUF"}),Ae&&s.jsxs("span",{className:"flex items-center gap-1 text-[9px] font-semibold text-emerald-400 uppercase tracking-wider",children:[s.jsx(mh,{className:"h-3 w-3 animate-pulse"})," Warm"]}),K.role&&s.jsx(mo,{role:K.role,dense:!0}),b(K.role)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-background/40 border border-border/40 text-[9px] font-semibold text-muted-foreground",title:"Lebenswichtig für Lucy — geschützt vor Löschen/Entladen.",children:"🔒 geschützt"}),v&&A(K.name)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-fuchsia-500/10 border border-fuchsia-500/30 text-[9px] font-mono text-fuchsia-300 font-bold uppercase",title:"Ko-resident in der brains-Gruppe — bleibt mit dem Hirn gemeinsam warm, verdrängt es nicht.",children:"🧠 Ko-resident"}),v&&K.prompt_cache&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[9px] font-mono text-cyan-400 font-bold uppercase",title:"Prompt Caching aktiv",children:"PC"}),v&&(K.spec_active?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[9px] font-mono text-emerald-400 font-bold uppercase",title:`Speculative Decoding aktiv (Draft: ${K.spec_draft_model})`,children:"SPEC"}):K.spec_draft_model?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:`Draft gesetzt (${K.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel. Über 'Spec' neu konfigurieren.`,children:"SPEC?"}):null),v&&K.parallel_slots>1&&s.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[9px] font-mono text-violet-400 font-bold uppercase",title:`${K.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",K.parallel_slots]}),K.incomplete&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:"GGUF-Datei fehlt — Modell kann nicht geladen werden",children:"⚠ Datei fehlt"})]})]})]})}),s.jsx("div",{className:"border-t border-border/30 pt-3 flex flex-wrap gap-1",children:s.jsx(Pv,{caps:K.capabilities})})]}),s.jsxs("div",{className:"space-y-3 pt-1",children:[s.jsxs("div",{className:"grid grid-cols-2 gap-2 text-[10px] font-mono text-muted-foreground",children:[s.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[s.jsx(ga,{className:"h-3.5 w-3.5 text-primary/80"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Größe"}),s.jsx("div",{className:"text-foreground font-semibold",children:lr(K.size_bytes)})]})]}),s.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[s.jsx(m5,{className:"h-3.5 w-3.5 text-primary/80"}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Kontext"}),s.jsx("div",{className:"text-foreground font-semibold",children:Cv(K.ctx)})]})]})]}),_e&&s.jsxs("div",{className:"p-3 bg-amber-500/5 border border-amber-500/30 rounded-xl space-y-2 flex flex-col justify-between shrink-0",children:[s.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping"}),s.jsxs("span",{children:["Upgrade verfügbar: ",_e.repo.split("/").pop()]})]}),s.jsxs("button",{onClick:()=>ee(_e.repo,K.role,K.quant||"Q4_K_M",K.capabilities.tools!=="no"),className:"h-7 w-full flex items-center justify-center gap-1 rounded-lg bg-amber-500 text-black text-[10px] font-bold hover:bg-amber-400 transition-colors cursor-pointer",children:[s.jsx(Bs,{className:"h-3 w-3"})," Smart-Swap starten"]})]}),s.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/20 pt-3 mt-auto",children:[(()=>{const tt=b(K.role),dr=Ae&&tt,Mi=K.incomplete&&!Ae||dr;return s.jsx("button",{onClick:()=>Ae?ie(K.name):te(K.name),disabled:Mi,title:dr?`„${ft(K.role).label}" bleibt geladen (geschützt).`:void 0,className:J("flex-1 h-7 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center justify-center gap-1",Mi?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Ae?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:dr?"🔒 geladen":Ae?"Entladen":"Laden"})})(),v&&s.jsx("button",{onClick:()=>le(K.name,K.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),v&&E&&s.jsx("button",{onClick:()=>O(K.name),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer",A(K.name)?"border-fuchsia-500/40 bg-fuchsia-500/10 text-fuchsia-300 hover:bg-fuchsia-500/20":"border-border/40 text-muted-foreground hover:bg-accent"),title:A(K.name)?"Ko-resident (brains): bleibt mit dem Hirn gemeinsam warm. Klick = aus der Gruppe nehmen.":"Zur brains-Gruppe hinzufügen — lädt dann ko-resident neben dem Hirn, statt es zu verdrängen.",children:"🧠"}),v&&s.jsxs("button",{onClick:()=>U(K),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer flex items-center gap-1",K.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":K.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[s.jsx(wa,{className:"h-3 w-3"})," Spec"]}),s.jsx("button",{onClick:()=>oe(K.name),disabled:b(K.role),className:J("h-7 w-7 rounded-lg border border-border/40 flex items-center justify-center transition-colors",b(K.role)?"text-muted-foreground/40 cursor-not-allowed":"text-muted-foreground hover:text-red-400 hover:bg-red-500/5 cursor-pointer"),"aria-label":"Modell löschen",title:b(K.role)?`„${ft(K.role).label}" ist geschützt und kann nicht gelöscht werden.`:"Modell löschen",children:s.jsx(Us,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]})]},K.name)})}):s.jsx("div",{className:"space-y-2",children:ae.length===0?s.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):ae.map(K=>{const Ae=w.includes(K.name),_e=gf(K.name);return s.jsxs("div",{className:J("rounded-xl border bg-card/45 backdrop-blur-md p-3.5 shadow-lg shadow-black/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-primary/40 transition-all",Ae?"border-primary/45":K.role?"border-primary/30 bg-primary/5":"border-border/60"),children:[s.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s.jsx("div",{className:J("w-8 h-8 rounded-lg border border-border/40 flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",_e.color),title:_e.name,children:_e.initial}),s.jsxs("div",{className:"min-w-0 text-left",children:[s.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[s.jsx("h4",{className:"text-xs font-bold text-foreground truncate max-w-[250px] sm:max-w-[400px] break-all font-mono",title:K.name,children:K.name.split("/").pop()}),K.role&&s.jsx(mo,{role:K.role,dense:!0,className:"shrink-0"}),b(K.role)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-background/40 border border-border/40 text-[8px] font-semibold text-muted-foreground shrink-0",title:"Lebenswichtig für Lucy — geschützt vor Löschen/Entladen.",children:"🔒 geschützt"}),v&&A(K.name)&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-fuchsia-500/10 border border-fuchsia-500/30 text-[8px] font-mono text-fuchsia-300 font-bold uppercase shrink-0",title:"Ko-resident in der brains-Gruppe — bleibt mit dem Hirn gemeinsam warm.",children:"🧠 Ko-resident"}),v&&K.prompt_cache&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[8px] font-mono text-cyan-400 font-bold uppercase shrink-0",title:"Prompt Caching aktiv",children:"PC"}),v&&(K.spec_active?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[8px] font-mono text-emerald-400 font-bold uppercase shrink-0",title:`Speculative Decoding aktiv (Draft: ${K.spec_draft_model})`,children:"SPEC"}):K.spec_draft_model?s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:`Draft gesetzt (${K.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel.`,children:"SPEC?"}):null),v&&K.parallel_slots>1&&s.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[8px] font-mono text-violet-400 font-bold uppercase shrink-0",title:`${K.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",K.parallel_slots]}),K.incomplete&&s.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:"GGUF-Datei fehlt",children:"⚠ Datei fehlt"}),Ae&&s.jsxs("span",{className:"flex items-center gap-0.5 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider shrink-0",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]})]}),s.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[s.jsxs("span",{children:["Größe: ",lr(K.size_bytes)]}),s.jsx("span",{children:"•"}),s.jsxs("span",{children:["Kontext: ",Cv(K.ctx)]}),s.jsx("span",{children:"•"}),s.jsx("span",{className:"font-mono text-[9px]",children:K.quant||"GGUF"})]})]})]}),s.jsxs("div",{className:"flex items-center gap-3 shrink-0 self-end sm:self-auto",children:[s.jsx("div",{className:"hidden lg:flex flex-wrap gap-1",children:s.jsx(Pv,{caps:K.capabilities})}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[(()=>{const Xe=b(K.role),tt=Ae&&Xe,dr=K.incomplete&&!Ae||tt;return s.jsx("button",{onClick:()=>Ae?ie(K.name):te(K.name),disabled:dr,title:tt?`„${ft(K.role).label}" bleibt geladen (geschützt).`:void 0,className:J("h-7 px-3 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center gap-1",dr?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Ae?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:tt?"🔒 geladen":Ae?"Entladen":"Laden"})})(),v&&s.jsx("button",{onClick:()=>le(K.name,K.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-all cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),v&&E&&s.jsx("button",{onClick:()=>O(K.name),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer",A(K.name)?"border-fuchsia-500/40 bg-fuchsia-500/10 text-fuchsia-300 hover:bg-fuchsia-500/20":"border-border/40 text-muted-foreground hover:bg-accent"),title:A(K.name)?"Ko-resident (brains): bleibt mit dem Hirn gemeinsam warm. Klick = aus der Gruppe nehmen.":"Zur brains-Gruppe hinzufügen — lädt dann ko-resident neben dem Hirn, statt es zu verdrängen.",children:"🧠"}),v&&s.jsxs("button",{onClick:()=>U(K),className:J("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-all cursor-pointer flex items-center gap-1",K.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":K.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[s.jsx(wa,{className:"h-3 w-3"})," Spec"]}),s.jsx("button",{onClick:()=>oe(K.name),disabled:b(K.role),className:J("h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 transition-all",b(K.role)?"text-muted-foreground/40 cursor-not-allowed":"text-muted-foreground hover:text-red-400 hover:bg-red-500/5 cursor-pointer"),"aria-label":"Modell löschen",title:b(K.role)?`„${ft(K.role).label}" ist geschützt und kann nicht gelöscht werden.`:"Modell löschen",children:s.jsx(Us,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]})]},K.name)})})]}),I&&s.jsx(_X,{role:I,roleRec:F,models:N,onAssign:K=>{M(I,K),B(null)},onClose:()=>B(null)}),Q&&s.jsx(xE,{model:Q,onClose:()=>U(null),onChanged:S}),p]})}function ev({icon:e,title:t,sub:r,onClick:n}){return s.jsxs("button",{onClick:n,className:"w-full flex items-center gap-4 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 text-left transition-all hover:border-primary/40 cursor-pointer",children:[s.jsx(e,{className:"h-6 w-6 text-muted-foreground shrink-0"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-sm text-foreground",children:t}),s.jsx("div",{className:"text-xs text-muted-foreground",children:r})]}),s.jsx(Kn,{className:"h-5 w-5 text-muted-foreground shrink-0"})]})}function RX(){const[e,t]=x.useState(null);return e?s.jsxs("div",{className:"space-y-4",children:[s.jsxs("button",{onClick:()=>t(null),className:"flex items-center gap-1.5 text-xs font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[s.jsx(t5,{className:"h-4 w-4"})," Maschinenraum"]}),e==="modelle"?s.jsx(LX,{}):s.jsx(wE,{})]}):s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Maschinenraum"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Nur nötig, wenn du wirklich was ändern willst."})]}),s.jsx(cE,{})]}),s.jsx(ev,{icon:yi,title:"Modelle",sub:"Hirne, Coder, Immer-bereit-Set, Bibliothek",onClick:()=>t("modelle")}),s.jsx(ev,{icon:x5,title:"Wartung und Logs",sub:"Updates, Backup, Dienste, Logs, Zugangsdaten",onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}}))}),s.jsx(ev,{icon:Hn,title:"Hermes und Verdrahtung",sub:"Agent, Gehirn-Modell, PC-Verbindung",onClick:()=>t("hermes")})]})}const $X=[{id:"start",label:"Start",icon:mh},{id:"vibe",label:"Vibe-Coding",icon:Fs},{id:"konstitution",label:"Konstitution",icon:LM},{id:"maschinenraum",label:"Maschinenraum",icon:ru}];function zX(){const[e,t]=x.useState("start"),[r,n]=x.useState(!1),[i,o]=x.useState("maintenance"),{data:c}=Gx();x.useEffect(()=>{const f=h=>{var m;o(((m=h.detail)==null?void 0:m.tab)||"maintenance"),n(!0)};return window.addEventListener("open-system-drawer",f),()=>window.removeEventListener("open-system-drawer",f)},[]);const u=c&&c.engine_reachable&&(c.brain?c.brain.ready:!0);return s.jsxs("div",{className:"flex h-full relative",children:[s.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:s.jsx("div",{className:"absolute inset-0 opacity-30 animate-aurora bg-gradient-to-tr from-teal-500/15 via-indigo-500/10 to-purple-500/15 blur-[130px]"})}),s.jsx(kE,{open:r,onClose:()=>n(!1),defaultTab:i}),s.jsxs("aside",{className:"flex w-56 shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md",children:[s.jsxs("div",{className:"flex items-center gap-2 px-5 py-4 border-b border-border/40",children:[s.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20"}),s.jsxs("div",{className:"leading-tight",children:[s.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),s.jsx("div",{className:"text-[10px] text-muted-foreground",children:"3 · Prototyp"})]})]}),s.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4",children:$X.map(f=>s.jsxs("button",{onClick:()=>t(f.id),className:J("flex w-full items-center gap-3 rounded-md px-3 py-2 text-sm transition-all cursor-pointer",e===f.id?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[s.jsx(f.icon,{className:"h-4.5 w-4.5 shrink-0"})," ",f.label]},f.id))}),s.jsxs("div",{className:"px-3 py-3 border-t border-border/40 space-y-2",children:[s.jsxs("div",{className:"flex items-center gap-2 px-2 text-xs text-muted-foreground",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full",u?"bg-emerald-500 animate-pulse":"bg-amber-500")}),u?"Box läuft":"prüfen"]}),s.jsxs("a",{href:"#dashboard",className:"flex items-center gap-1.5 rounded-md px-2 py-1.5 text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:[s.jsx(t5,{className:"h-3.5 w-3.5"})," zurück zu MC2"]})]})]}),s.jsxs("main",{className:"flex-1 min-w-0 overflow-y-auto p-6 scrollbar-thin",children:[e==="start"&&s.jsx(PX,{}),e==="vibe"&&s.jsx(yE,{}),e==="konstitution"&&s.jsx(bE,{}),e==="maschinenraum"&&s.jsx(RX,{})]})]})}const FX={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},BX={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function ps({icon:e,title:t,value:r,unit:n,tone:i="muted",hint:o,onClick:c}){return s.jsxs("button",{onClick:c,className:J("group relative flex flex-col items-start rounded-2xl border border-border/60 bg-card/45 p-5 text-left shadow-lg shadow-black/15 backdrop-blur-md transition-all duration-200 cursor-pointer hover:bg-card/70 hover:shadow-xl",BX[i]),children:[s.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[s.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:s.jsx(e,{className:"h-5 w-5"})}),s.jsx("span",{className:J("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",FX[i]),title:o})]}),s.jsxs("div",{className:"flex items-baseline gap-1.5",children:[s.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:r}),n&&s.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:n})]}),s.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[s.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:t}),s.jsx(Kn,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),o&&s.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:o})]})}function UX(){var c;const{data:e=[]}=fE(150,6e4),[t,r]=x.useState(!1),n=e.find(u=>u.source==="chef-gutachter");if(!n)return null;const i=new Date(n.ts*1e3).toLocaleString("de-DE",{weekday:"long",day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}),o=(c=n.text.split(` +`).find(u=>u.trim().startsWith("VERDIKT:")))==null?void 0:c.replace(/^\s*VERDIKT:\s*/,"");return s.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.05] p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("button",{onClick:()=>r(u=>!u),className:"flex w-full items-center gap-3 text-left cursor-pointer",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-violet-500/30 bg-background/30 text-violet-300",children:s.jsx(h5,{className:"h-4.5 w-4.5"})}),s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsx("span",{className:"block text-sm font-bold text-foreground",children:"Morgenlage"}),s.jsx("span",{className:"block truncate text-xs text-muted-foreground",children:o||n.subject||"Nächtliches Gutachten über die autonome Arbeit"})]}),s.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",children:i}),t?s.jsx(tl,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):s.jsx(Kn,{className:"h-4 w-4 shrink-0 text-muted-foreground"})]}),t&&s.jsxs("div",{className:"mt-3 border-t border-violet-500/15 pt-3",children:[n.subject&&s.jsx("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-violet-300/80",children:n.subject}),s.jsx("p",{className:"whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:n.text})]})]})}const PS={"":"einmalig",daily:"täglich",weekdays:"werktags",weekly:"wöchentlich"};function WX(){const{data:e=[],isLoading:t}=xL(),r=_r(),{showAlert:n,showConfirm:i,dialogElement:o}=sn(),[c,u]=x.useState(!1),[f,h]=x.useState(""),[m,p]=x.useState(""),[v,b]=x.useState(""),[N,w]=x.useState(!1),k=()=>r.invalidateQueries({queryKey:$e.reminders});async function S(){if(!(!f.trim()||!m)){w(!0);try{await xe("/api/reminders",{method:"POST",body:JSON.stringify({text:f,when:m,repeat:v})}),h(""),p(""),b(""),u(!1),k()}catch(A){n("Anlegen fehlgeschlagen",String((A==null?void 0:A.message)||A))}finally{w(!1)}}}function E(A,_){i("Erinnerung löschen?",`„${_}" wird entfernt.`,async()=>{try{await xe(`/api/reminders/${A}`,{method:"DELETE"}),k()}catch(O){n("Fehler",String((O==null?void 0:O.message)||O))}})}const C=[...e].sort((A,_)=>A.next_ts-_.next_ts);return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[s.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[s.jsxs("span",{className:"flex items-center gap-2 text-sm font-bold text-foreground",children:[s.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-amber-300",children:s.jsx(e5,{className:"h-4 w-4"})}),"Anstehendes"]}),s.jsxs("button",{onClick:()=>u(A=>!A),className:"flex h-8 items-center gap-1 rounded-lg border border-border/60 bg-background/30 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[c?s.jsx(Or,{className:"h-3.5 w-3.5"}):s.jsx(mf,{className:"h-3.5 w-3.5"})," ",c?"Abbrechen":"Neu"]})]}),c&&s.jsxs("div",{className:"mb-3 space-y-2 rounded-xl border border-border/50 bg-background/30 p-3",children:[s.jsx("input",{value:f,onChange:A=>h(A.target.value),placeholder:"Woran soll Lucy erinnern?","aria-label":"Erinnerungstext",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 px-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("input",{type:"datetime-local",value:m,onChange:A=>p(A.target.value),"aria-label":"Zeitpunkt",className:"h-9 rounded-lg border border-border/60 bg-card/45 px-2 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50 [color-scheme:dark]"}),s.jsx("select",{value:v,onChange:A=>b(A.target.value),"aria-label":"Wiederholung",className:"h-9 cursor-pointer rounded-lg border border-border/60 bg-card/45 px-2 text-xs font-semibold text-foreground outline-none",children:Object.entries(PS).map(([A,_])=>s.jsx("option",{value:A,className:"bg-popover",children:_},A))}),s.jsxs("button",{onClick:S,disabled:N||!f.trim()||!m,className:"ml-auto flex h-9 items-center gap-1.5 rounded-lg bg-primary px-3 text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50",children:[N?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(mf,{className:"h-3.5 w-3.5"})," Anlegen"]})]})]}),t?s.jsx("p",{className:"text-xs text-muted-foreground",children:"Wird geladen …"}):C.length===0?s.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine Erinnerungen. Lucy sagt dir hier (und per Stimme) Bescheid, wenn etwas ansteht."}):s.jsxs("div",{className:"space-y-1.5",children:[C.slice(0,6).map(A=>{const _=A.next_ts*1e3E(A.id,A.text),"aria-label":"Erinnerung löschen",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-red-500/5 hover:text-red-400 group-hover:opacity-100 cursor-pointer",children:s.jsx(Us,{className:"h-3.5 w-3.5"})})]},A.id)}),C.length>6&&s.jsxs("p",{className:"text-[10px] text-muted-foreground/60",children:["+",C.length-6," weitere"]})]}),o]})}const Js=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],ro=e=>e==null?"–":`${(e/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function HX(e){const t=Math.max(0,Date.now()/1e3-e);return t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:`vor ${Math.round(t/3600)} h`}function Ax(e){return Js.reduce((t,r)=>t+(e[r.key]??0),0)}function KX(e){let t=null;for(const r of Js){const n=e[r.key];n!=null&&(t==null||n>t.ms)&&(t={label:r.label,color:r.color,ms:n})}return t}function GX({t:e,scale:t}){const r=Js.map(n=>`${n.label} ${ro(e[n.key])}`).join(" · ")+(e.mem0_ms!=null?` (davon Mem0 ${ro(e.mem0_ms)})`:"");return s.jsxs("div",{className:"flex items-center gap-2.5",children:[s.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:HX(e.ts)}),s.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:r,children:[s.jsx("div",{className:"absolute inset-0 flex",children:Js.map(n=>{const i=e[n.key];return!i||i<=0?null:s.jsx("div",{style:{width:`${i/t*100}%`,background:n.color},className:"h-full first:rounded-l-sm"},n.key)})}),e.error&&s.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),s.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:e.error?"–":ro(Ax(e))})]})}function VX(){const{data:e}=yL(12),t=e??[],r=Math.max(1,...t.map(o=>Ax(o))),n=t[0],i=n?KX(n):null;return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[s.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(s5,{className:"h-4.5 w-4.5 text-primary"}),s.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),s.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),n?s.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[s.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${n.error?"text-rose-400":"text-foreground"}`,children:n.error?"Fehler":ro(Ax(n))}),s.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!n.error&&i&&s.jsxs(s.Fragment,{children:[" · Täter: ",s.jsx("span",{style:{color:i.color},className:"font-semibold",children:i.label})," ",ro(i.ms)]})]})]}):s.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),n&&!n.error&&s.jsxs("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:[Js.filter(o=>n[o.key]!=null).map(o=>`${o.label} ${ro(n[o.key])}`).join(" · "),n.mem0_ms!=null&&s.jsxs("span",{className:"text-muted-foreground/50",children:[" · davon Mem0 ",ro(n.mem0_ms)]})]})]}),s.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Js.map(o=>s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:o.color}}),s.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:o.label})]},o.key))})]}),t.length>0?s.jsx("div",{className:"space-y-1.5",children:t.map(o=>s.jsx(GX,{t:o,scale:r},o.id))}):s.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),s.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Mem0-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const fh=e=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:e}}));function qX({onNavigate:e}){var ge,ue,pe,se;const{data:t}=Ni(4e3),{data:r}=hE(4e3),{data:n}=wh(8e3),{data:i}=Ev(),{data:o}=qx(),{data:c}=gE(),{data:u}=dE(2e4),f=SE(),{showAlert:h,dialogElement:m}=sn(),p=_r(),[v,b]=x.useState({});async function N(ae,Z){b(te=>({...te,[ae]:!0}));try{if(Z.kind==="loadModel")await xe(`/api/models/${encodeURIComponent(Z.model)}/load`,{method:"POST"});else{const te=await xe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:Z.service})});te.ok||h("Reparatur nicht ganz geklappt",(te.err||"Unbekannter Fehler")+(Z.needsSudo?` -Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}p.invalidateQueries({queryKey:Fe.health}),p.invalidateQueries({queryKey:Fe.services}),p.invalidateQueries({queryKey:Fe.models})}catch(te){h("Reparatur fehlgeschlagen",String((te==null?void 0:te.message)||te))}finally{b(te=>({...te,[ae]:!1}))}}const w=((ge=t==null?void 0:t.running)==null?void 0:ge.length)??0,k=(r==null?void 0:r.services.filter(ae=>ae.ok).length)??0,N=(r==null?void 0:r.services.length)??0,E=N-k,C=(i==null?void 0:i.length)??0,A=(n?(n.os>0?1:0)+(n.engine>0?1:0)+(n.swap>0?1:0)+(n.models>0?1:0):0)+(((ue=n==null?void 0:n.components)==null?void 0:ue.filter(ae=>ae.update===!0).length)??0),_=(c==null?void 0:c.gateway.ok)&&(c==null?void 0:c.memory.ok),O=u!=null&&u.available?u.open_count:0,I=(pe=t==null?void 0:t.models)==null?void 0:pe.find(ae=>ae.role==="hermes"),B=I!=null&&I.name?(se=I.name.split("/").pop())==null?void 0:se.replace(/\.gguf$/i,""):"",F=i?i.filter(ae=>["auto","agent","hermes"].includes(ae.source)).length:0,R=r==null?void 0:r.services.filter(ae=>!ae.ok).map(ae=>ae.name).join(", "),Q=n?[n.os>0&&"OS",n.engine>0&&"Engine",n.swap>0&&"Swap",n.models>0&&"Modelle"].filter(Boolean):[],U=Q.length>0?Q.join(" + "):"";return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Cockpit"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),s.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[s.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[s.jsx(qX,{verdict:f.verdict,memory:f.memory,warns:f.warns}),s.jsx(BX,{}),s.jsxs("section",{children:[s.jsx(ef,{children:"Leistung"}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[s.jsx(TO,{}),s.jsx(DO,{})]}),s.jsx("div",{className:"mt-4",children:s.jsx(GX,{})})]}),s.jsxs("section",{children:[s.jsx(ef,{children:"Bereiche"}),s.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[s.jsx(ps,{icon:eu,title:"Auftragsbuch",value:u!=null&&u.available?O:"—",unit:O===1?"Vorschlag":"Vorschläge",tone:u?O>0?"warn":"ok":"loading",hint:O>0?`${O} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>e("auftraege")}),s.jsx(ps,{icon:ff,title:"Modelle",value:w,unit:"warm",tone:w>0?"ok":"muted",hint:B?`Hirn: ${B}`:"Kein Hermes-Modell geladen",onClick:()=>e("models")}),s.jsx(ps,{icon:Sa,title:"Gedächtnis",value:i?C:"…",unit:"Notizen",tone:i?"ok":"loading",hint:i?`${C} Fakten (${F} auto gelernt)`:"Gedächtnis-Pool laden...",onClick:()=>e("memory")}),s.jsx(ps,{icon:ph,title:"Dienste",value:r?`${k}/${N}`:"…",unit:"laufen",tone:r?E>0?"warn":"ok":"loading",hint:R?`Ausfall: ${R}`:"Alle Dienste online",onClick:()=>dh("maintenance")}),s.jsx(ps,{icon:$x,title:"Updates",value:n?A>0?A:"0":"…",unit:A>0?"bereit":"aktuell",tone:n?A>0?"warn":"ok":"loading",hint:A>0?`Verfügbar: ${U}`:"Alles auf dem neuesten Stand",onClick:()=>dh("maintenance")}),s.jsx(ps,{icon:Pc,title:"Verbinden",value:"Zed",unit:_?"· bereit":"",tone:c?_?"ok":"warn":"loading",hint:o!=null&&o.pc_executor_reachable?"IDE & PC online (:7777)":"IDE-Kopplung (PC offline)",onClick:()=>e("connect")})]})]})]}),s.jsxs("div",{className:"space-y-6",children:[s.jsx(QX,{problems:f.problems,pendingCount:A,openAuftraege:O,busy:v,onRepair:S,onNavigate:e}),s.jsxs("section",{children:[s.jsx(ef,{children:"Anstehendes"}),s.jsx(UX,{})]}),s.jsxs("section",{children:[s.jsx(ef,{children:"Werkzeuge & Diagnose"}),s.jsx(YX,{agent:o,svcErrors:E,onNavigate:e})]})]})]}),m]})}function ef({children:e}){return s.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:e})}function qX({verdict:e,memory:t,warns:r}){const n=r.length?`${r[0].label}: ${r[0].detail}${r.length>1?` (+${r.length-1} weitere)`:""}`:t.status==="full"?t.text:"Nichts Schlimmes — nur ein Hinweis.",i={loading:{ring:"border-border/60 bg-card/45",icon:Ut,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:Lx,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:vr,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:n},problem:{ring:"border-red-500/50 bg-red-500/5",icon:vr,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:"Ein wichtiger Dienst hakt."}}[e],o=i.icon,c={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[t.status],u={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[t.status];return s.jsxs("div",{className:J("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",i.ring),children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:s.jsx(o,{className:J("h-6 w-6",i.iconCls)})}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:i.title}),s.jsx("p",{className:"text-xs text-muted-foreground",children:i.sub})]})]}),s.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[s.jsx(ga,{className:"h-3.5 w-3.5"})," Speicher"]}),s.jsx("span",{className:J("font-mono font-bold",c),children:t.status==="unknown"?"—":`${t.usedGb.toFixed(0)} / ${t.totalGb.toFixed(0)} GB`})]}),s.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:s.jsx("div",{className:J("h-full rounded-full transition-all duration-500",u),style:{width:`${t.pct}%`}})})]})]})}function QX({problems:e,pendingCount:t,openAuftraege:r,busy:n,onRepair:i,onNavigate:o}){const c=t>0,u=r>0,f=e.length===0&&!c&&!u;return s.jsx("div",{className:"h-full flex flex-col justify-between",children:f?s.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[s.jsx(Mt,{className:"h-5 w-5 shrink-0 text-emerald-400"}),s.jsxs("div",{children:[s.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):s.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[e.map(h=>s.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:s.jsx(h.icon,{className:"h-4.5 w-4.5"})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("p",{className:"text-sm font-bold text-foreground",children:h.label}),s.jsx("p",{className:"truncate text-xs text-muted-foreground",children:h.detail})]})]}),h.repair&&s.jsxs("button",{onClick:()=>h.repair&&i(h.id,h.repair),disabled:!!n[h.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[n[h.id]?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(tu,{className:"h-3.5 w-3.5"}),h.repair.label]})]},h.id)),u&&s.jsxs("button",{onClick:()=>o("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:s.jsx(eu,{className:"h-4.5 w-4.5"})}),s.jsxs("div",{children:[s.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Vorschl",r===1?"ag":"äge"," im Auftragsbuch"]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),s.jsx(Kn,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),c&&s.jsxs("button",{onClick:()=>dh("maintenance"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:s.jsx($x,{className:"h-4.5 w-4.5"})}),s.jsxs("div",{children:[s.jsxs("p",{className:"text-sm font-bold text-foreground",children:[t," Update",t===1?"":"s"," bereit"]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),s.jsx(Kn,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function YX({agent:e,svcErrors:t,onNavigate:r}){const n=[{label:"Hermes Agent",status:e?e.gateway_reachable?"Bereit":"Offline":"…",tone:e?e.gateway_reachable?"ok":"alert":"loading",action:()=>r("agent")},{label:"Direkte Box-Shell (SSH)",status:e?e.box_console_reachable?"Bereit":"Offline":"…",tone:e?e.box_console_reachable?"ok":"warn":"loading",action:()=>r("konsole")},{label:"Systemlogs & Diagnose",status:t>0?`${t} Fehler`:"Keine Fehler",tone:t>0?"alert":"ok",action:()=>dh("logs")},{label:"Interaktives Terminal",status:"Öffnen",tone:"muted",action:()=>r("terminal")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>r("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>r("chronik")}];return s.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:s.jsx("div",{className:"divide-y divide-border/20",children:n.map((i,o)=>{const c={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[i.tone];return s.jsxs("button",{onClick:i.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[s.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:i.label}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:J("text-[10px] font-semibold font-mono",i.tone==="ok"?"text-emerald-400":i.tone==="warn"?"text-amber-400":i.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:i.status}),s.jsx("span",{className:J("h-1.5 w-1.5 rounded-full",c)})]})]},o)})})})}const ZX={wartung:"Werkstatt",orchestrator:"Orchestrator",doku:"Doku",feature:"Feature"},XX={laeuft:{label:"wird eingespielt …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},rollback:{label:"Rollback läuft …",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10",spin:!0},eingespielt:{label:"eingespielt ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"},fehlgeschlagen:{label:"fehlgeschlagen",cls:"text-red-300 border-red-500/40 bg-red-500/10"},zurueckgerollt:{label:"zurückgerollt",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},kritisch:{label:"KRITISCH — Box prüfen",cls:"text-red-200 border-red-500/60 bg-red-500/20"},abgelehnt:{label:"abgelehnt",cls:"text-muted-foreground border-border/60 bg-background/30"}};function LO(e){return e?new Date(e*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function JX(){const{data:e,isLoading:t,refetch:r,isFetching:n}=lE(),i=Hr(),{showAlert:o,showConfirm:c,dialogElement:u}=Nn(),[f,h]=x.useState({}),m=()=>i.invalidateQueries({queryKey:Fe.auftragsbuch});async function p(w,k,N,E){h(C=>({...C,[w]:!0}));try{await xe(k,{method:"POST",body:JSON.stringify(N)}),E&&o("Erledigt",E),m()}catch(C){o("Das hat nicht geklappt",String((C==null?void 0:C.message)||C))}finally{h(C=>({...C,[w]:!1}))}}const v=(e==null?void 0:e.items)??[],b=(e==null?void 0:e.skill_kandidaten)??[],S=v.length===0&&b.length===0;return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Auftragsbuch"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Was die Box gebaut oder sich ausgedacht hat — du entscheidest. Annehmen spielt es mit Fangnetz ein (Health-Check, automatischer Rollback)."})]}),s.jsxs("button",{onClick:()=>r(),className:"flex h-9 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-3 text-xs font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[s.jsx(ho,{className:J("h-3.5 w-3.5",n&&"animate-spin")})," Aktualisieren"]})]}),e&&!e.available&&s.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Das Auftragsbuch lebt auf der Box (liest die Gitea-Branches dort). Im lokalen Dev-Modus ist hier nichts zu sehen."}),t&&s.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[s.jsx(Ut,{className:"h-4 w-4 animate-spin"})," Vorschläge werden geladen …"]}),(e==null?void 0:e.available)&&S&&s.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-5",children:[s.jsx(Mt,{className:"h-5 w-5 shrink-0 text-emerald-400"}),s.jsxs("div",{children:[s.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu entscheiden"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine offenen Vorschläge. Werkstatt, Orchestrator und Traum melden sich hier, sobald es etwas gibt."})]})]}),v.length>0&&s.jsxs("section",{className:"space-y-3",children:[s.jsxs(CN,{icon:YM,children:["Fertige Patches (",v.length,")"]}),v.map(w=>s.jsx(tJ,{item:w,busy:f,onAct:p,showConfirm:c},w.branch))]}),b.length>0&&s.jsxs("section",{className:"space-y-3",children:[s.jsxs(CN,{icon:va,children:["Skill-Kandidaten aus dem Traum (",b.length,")"]}),b.map(w=>s.jsx(rJ,{k:w,busy:f,onAct:p,showConfirm:c},w.file))]}),u]})}function CN({icon:e,children:t}){return s.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(e,{className:"h-3.5 w-3.5"})," ",t]})}function eJ({item:e}){const t=e.status;if(!t)return null;const r=XX[t.state];return r?s.jsxs("span",{className:J("flex items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",r.cls),title:t.detail,children:[r.spin&&s.jsx(Ut,{className:"h-3 w-3 animate-spin"}),r.label]}):null}function tJ({item:e,busy:t,onAct:r,showConfirm:n}){var b,S,w;const[i,o]=x.useState(!1),[c,u]=x.useState(null),[f,h]=x.useState(!1),m=((b=e.status)==null?void 0:b.state)==="laeuft"||((S=e.status)==null?void 0:S.state)==="rollback",p=((w=e.status)==null?void 0:w.state)==="eingespielt";async function v(){const k=!i;if(o(k),k&&c===null){h(!0);try{const N=await xe(`/api/auftragsbuch/diff?branch=${encodeURIComponent(e.branch)}`);u(N.diff+(N.truncated?` -… (gekürzt)`:""))}catch(N){u(`(Diff nicht ladbar: ${(N==null?void 0:N.message)||N})`)}finally{h(!1)}}}return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("span",{className:"rounded-md border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-primary",children:ZX[e.kind]??e.kind}),s.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",title:e.branch,children:e.branch}),s.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[s.jsx(mh,{className:"h-3 w-3"}),LO(e.ts)]}),s.jsx(eJ,{item:e})]}),s.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:e.subject||"(ohne Titel)"}),e.body&&s.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-muted-foreground line-clamp-6",children:e.body})]}),!m&&!p&&s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsxs("button",{disabled:!!t[e.branch],onClick:()=>n("Vorschlag annehmen?",`'${e.branch}' wird auf main gemergt und live eingespielt. Die Zentrale startet dabei kurz neu. Geht der Health-Check danach rot, rollt die Box automatisch zurück.${e.frontend_ohne_build?` +Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}p.invalidateQueries({queryKey:$e.health}),p.invalidateQueries({queryKey:$e.services}),p.invalidateQueries({queryKey:$e.models})}catch(te){h("Reparatur fehlgeschlagen",String((te==null?void 0:te.message)||te))}finally{b(te=>({...te,[ae]:!1}))}}const w=((ge=t==null?void 0:t.running)==null?void 0:ge.length)??0,k=(r==null?void 0:r.services.filter(ae=>ae.ok).length)??0,S=(r==null?void 0:r.services.length)??0,E=S-k,C=(i==null?void 0:i.length)??0,A=(n?(n.os>0?1:0)+(n.engine>0?1:0)+(n.swap>0?1:0)+(n.models>0?1:0):0)+(((ue=n==null?void 0:n.components)==null?void 0:ue.filter(ae=>ae.update===!0).length)??0),_=(c==null?void 0:c.gateway.ok)&&(c==null?void 0:c.memory.ok),O=u!=null&&u.available?u.open_count:0,I=(pe=t==null?void 0:t.models)==null?void 0:pe.find(ae=>ae.role==="hermes"),B=I!=null&&I.name?(se=I.name.split("/").pop())==null?void 0:se.replace(/\.gguf$/i,""):"",F=i?i.filter(ae=>["auto","agent","hermes"].includes(ae.source)).length:0,R=r==null?void 0:r.services.filter(ae=>!ae.ok).map(ae=>ae.name).join(", "),Q=n?[n.os>0&&"OS",n.engine>0&&"Engine",n.swap>0&&"Swap",n.models>0&&"Modelle"].filter(Boolean):[],U=Q.length>0?Q.join(" + "):"";return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Cockpit"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),s.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[s.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[s.jsx(QX,{verdict:f.verdict,memory:f.memory,warns:f.warns}),s.jsx(UX,{}),s.jsxs("section",{children:[s.jsx(tf,{children:"Leistung"}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[s.jsx(RO,{}),s.jsx($O,{})]}),s.jsx("div",{className:"mt-4",children:s.jsx(VX,{})})]}),s.jsxs("section",{children:[s.jsx(tf,{children:"Bereiche"}),s.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[s.jsx(ps,{icon:tu,title:"Auftragsbuch",value:u!=null&&u.available?O:"—",unit:O===1?"Vorschlag":"Vorschläge",tone:u?O>0?"warn":"ok":"loading",hint:O>0?`${O} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>e("auftraege")}),s.jsx(ps,{icon:hf,title:"Modelle",value:w,unit:"warm",tone:w>0?"ok":"muted",hint:B?`Hirn: ${B}`:"Kein Hermes-Modell geladen",onClick:()=>e("models")}),s.jsx(ps,{icon:Na,title:"Gedächtnis",value:i?C:"…",unit:"Notizen",tone:i?"ok":"loading",hint:i?`${C} Fakten (${F} auto gelernt)`:"Gedächtnis-Pool laden...",onClick:()=>e("memory")}),s.jsx(ps,{icon:ph,title:"Dienste",value:r?`${k}/${S}`:"…",unit:"laufen",tone:r?E>0?"warn":"ok":"loading",hint:R?`Ausfall: ${R}`:"Alle Dienste online",onClick:()=>fh("maintenance")}),s.jsx(ps,{icon:zx,title:"Updates",value:n?A>0?A:"0":"…",unit:A>0?"bereit":"aktuell",tone:n?A>0?"warn":"ok":"loading",hint:A>0?`Verfügbar: ${U}`:"Alles auf dem neuesten Stand",onClick:()=>fh("maintenance")}),s.jsx(ps,{icon:Pc,title:"Verbinden",value:"Zed",unit:_?"· bereit":"",tone:c?_?"ok":"warn":"loading",hint:o!=null&&o.pc_executor_reachable?"IDE & PC online (:7777)":"IDE-Kopplung (PC offline)",onClick:()=>e("connect")})]})]})]}),s.jsxs("div",{className:"space-y-6",children:[s.jsx(YX,{problems:f.problems,pendingCount:A,openAuftraege:O,busy:v,onRepair:N,onNavigate:e}),s.jsxs("section",{children:[s.jsx(tf,{children:"Anstehendes"}),s.jsx(WX,{})]}),s.jsxs("section",{children:[s.jsx(tf,{children:"Werkzeuge & Diagnose"}),s.jsx(ZX,{agent:o,svcErrors:E,onNavigate:e})]})]})]}),m]})}function tf({children:e}){return s.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:e})}function QX({verdict:e,memory:t,warns:r}){const n=r.length?`${r[0].label}: ${r[0].detail}${r.length>1?` (+${r.length-1} weitere)`:""}`:t.status==="full"?t.text:"Nichts Schlimmes — nur ein Hinweis.",i={loading:{ring:"border-border/60 bg-card/45",icon:kt,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:Rx,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:vr,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:n},problem:{ring:"border-red-500/50 bg-red-500/5",icon:vr,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:"Ein wichtiger Dienst hakt."}}[e],o=i.icon,c={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[t.status],u={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[t.status];return s.jsxs("div",{className:J("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",i.ring),children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:s.jsx(o,{className:J("h-6 w-6",i.iconCls)})}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:i.title}),s.jsx("p",{className:"text-xs text-muted-foreground",children:i.sub})]})]}),s.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[s.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[s.jsx(ga,{className:"h-3.5 w-3.5"})," Speicher"]}),s.jsx("span",{className:J("font-mono font-bold",c),children:t.status==="unknown"?"—":`${t.usedGb.toFixed(0)} / ${t.totalGb.toFixed(0)} GB`})]}),s.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:s.jsx("div",{className:J("h-full rounded-full transition-all duration-500",u),style:{width:`${t.pct}%`}})})]})]})}function YX({problems:e,pendingCount:t,openAuftraege:r,busy:n,onRepair:i,onNavigate:o}){const c=t>0,u=r>0,f=e.length===0&&!c&&!u;return s.jsx("div",{className:"h-full flex flex-col justify-between",children:f?s.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[s.jsx(It,{className:"h-5 w-5 shrink-0 text-emerald-400"}),s.jsxs("div",{children:[s.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):s.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[e.map(h=>s.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:s.jsx(h.icon,{className:"h-4.5 w-4.5"})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("p",{className:"text-sm font-bold text-foreground",children:h.label}),s.jsx("p",{className:"truncate text-xs text-muted-foreground",children:h.detail})]})]}),h.repair&&s.jsxs("button",{onClick:()=>h.repair&&i(h.id,h.repair),disabled:!!n[h.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[n[h.id]?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(ru,{className:"h-3.5 w-3.5"}),h.repair.label]})]},h.id)),u&&s.jsxs("button",{onClick:()=>o("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:s.jsx(tu,{className:"h-4.5 w-4.5"})}),s.jsxs("div",{children:[s.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Vorschl",r===1?"ag":"äge"," im Auftragsbuch"]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),s.jsx(Kn,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),c&&s.jsxs("button",{onClick:()=>fh("maintenance"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:s.jsx(zx,{className:"h-4.5 w-4.5"})}),s.jsxs("div",{children:[s.jsxs("p",{className:"text-sm font-bold text-foreground",children:[t," Update",t===1?"":"s"," bereit"]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),s.jsx(Kn,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function ZX({agent:e,svcErrors:t,onNavigate:r}){const n=[{label:"Hermes Agent",status:e?e.gateway_reachable?"Bereit":"Offline":"…",tone:e?e.gateway_reachable?"ok":"alert":"loading",action:()=>r("agent")},{label:"Direkte Box-Shell (SSH)",status:e?e.box_console_reachable?"Bereit":"Offline":"…",tone:e?e.box_console_reachable?"ok":"warn":"loading",action:()=>r("konsole")},{label:"Systemlogs & Diagnose",status:t>0?`${t} Fehler`:"Keine Fehler",tone:t>0?"alert":"ok",action:()=>fh("logs")},{label:"Interaktives Terminal",status:"Öffnen",tone:"muted",action:()=>r("terminal")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>r("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>r("chronik")}];return s.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:s.jsx("div",{className:"divide-y divide-border/20",children:n.map((i,o)=>{const c={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[i.tone];return s.jsxs("button",{onClick:i.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[s.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:i.label}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:J("text-[10px] font-semibold font-mono",i.tone==="ok"?"text-emerald-400":i.tone==="warn"?"text-amber-400":i.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:i.status}),s.jsx("span",{className:J("h-1.5 w-1.5 rounded-full",c)})]})]},o)})})})}const XX={wartung:"Werkstatt",orchestrator:"Orchestrator",doku:"Doku",feature:"Feature"},JX={laeuft:{label:"wird eingespielt …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},rollback:{label:"Rollback läuft …",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10",spin:!0},eingespielt:{label:"eingespielt ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"},fehlgeschlagen:{label:"fehlgeschlagen",cls:"text-red-300 border-red-500/40 bg-red-500/10"},zurueckgerollt:{label:"zurückgerollt",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},kritisch:{label:"KRITISCH — Box prüfen",cls:"text-red-200 border-red-500/60 bg-red-500/20"},abgelehnt:{label:"abgelehnt",cls:"text-muted-foreground border-border/60 bg-background/30"}};function Py(e){return e?new Date(e*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function eJ(){const{data:e,isLoading:t,refetch:r,isFetching:n}=dE(),i=_r(),{showAlert:o,showConfirm:c,dialogElement:u}=sn(),[f,h]=x.useState({}),m=()=>i.invalidateQueries({queryKey:$e.auftragsbuch});async function p(w,k,S,E){h(C=>({...C,[w]:!0}));try{await xe(k,{method:"POST",body:JSON.stringify(S)}),E&&o("Erledigt",E),m()}catch(C){o("Das hat nicht geklappt",String((C==null?void 0:C.message)||C))}finally{h(C=>({...C,[w]:!1}))}}const v=(e==null?void 0:e.items)??[],b=(e==null?void 0:e.skill_kandidaten)??[],N=v.length===0&&b.length===0;return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Auftragsbuch"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Was die Box gebaut oder sich ausgedacht hat — du entscheidest. Annehmen spielt es mit Fangnetz ein (Health-Check, automatischer Rollback)."})]}),s.jsxs("button",{onClick:()=>r(),className:"flex h-9 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-3 text-xs font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[s.jsx(ho,{className:J("h-3.5 w-3.5",n&&"animate-spin")})," Aktualisieren"]})]}),e&&!e.available&&s.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Das Auftragsbuch lebt auf der Box (liest die Gitea-Branches dort). Im lokalen Dev-Modus ist hier nichts zu sehen."}),t&&s.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[s.jsx(kt,{className:"h-4 w-4 animate-spin"})," Vorschläge werden geladen …"]}),(e==null?void 0:e.available)&&N&&s.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-5",children:[s.jsx(It,{className:"h-5 w-5 shrink-0 text-emerald-400"}),s.jsxs("div",{children:[s.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu entscheiden"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine offenen Vorschläge. Werkstatt, Orchestrator und Traum melden sich hier, sobald es etwas gibt."})]})]}),s.jsx(rJ,{}),v.length>0&&s.jsxs("section",{className:"space-y-3",children:[s.jsxs(Cx,{icon:XM,children:["Fertige Patches (",v.length,")"]}),v.map(w=>s.jsx(iJ,{item:w,busy:f,onAct:p,showConfirm:c},w.branch))]}),b.length>0&&s.jsxs("section",{className:"space-y-3",children:[s.jsxs(Cx,{icon:va,children:["Skill-Kandidaten aus dem Traum (",b.length,")"]}),b.map(w=>s.jsx(aJ,{k:w,busy:f,onAct:p,showConfirm:c},w.file))]}),u]})}function Cx({icon:e,children:t}){return s.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(e,{className:"h-3.5 w-3.5"})," ",t]})}const tJ={triage:{label:"wird ausgearbeitet …",cls:"text-violet-300 border-violet-500/40 bg-violet-500/10",spin:!0},todo:{label:"wartet",cls:"text-muted-foreground border-border/60 bg-background/30"},scheduled:{label:"geplant",cls:"text-muted-foreground border-border/60 bg-background/30"},ready:{label:"wartet",cls:"text-muted-foreground border-border/60 bg-background/30"},running:{label:"in Arbeit …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},review:{label:"im Review",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},blocked:{label:"hängt — braucht dich",cls:"text-red-300 border-red-500/40 bg-red-500/10"},done:{label:"fertig ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"}};function rJ(){const{data:e,isLoading:t}=pL(),r=_r(),{showAlert:n,dialogElement:i}=sn(),[o,c]=x.useState(""),[u,f]=x.useState(!1),[h,m]=x.useState({}),p=(e==null?void 0:e.items)??[],v=()=>r.invalidateQueries({queryKey:$e.ideen});async function b(){const w=o.trim();if(!(w.length<3||u)){f(!0);try{const k=w.length>160?w.slice(0,157)+"…":w;await xe("/api/ideen",{method:"POST",body:JSON.stringify({titel:k,notiz:w.length>160?w:""})}),c(""),v()}catch(k){n("Das hat nicht geklappt",String((k==null?void 0:k.message)||k))}finally{f(!1)}}}async function N(w){m(k=>({...k,[w]:!0}));try{await xe("/api/ideen/archivieren",{method:"POST",body:JSON.stringify({id:w})}),v()}catch(k){n("Das hat nicht geklappt",String((k==null?void 0:k.message)||k))}finally{m(k=>({...k,[w]:!1}))}}return e&&!e.available?null:s.jsxs("section",{className:"space-y-3",children:[s.jsxs(Cx,{icon:d5,children:["Ideen-Queue",e?` — ${e.offen} offen`:""]}),s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{value:o,onChange:w=>c(w.target.value),onKeyDown:w=>{w.key==="Enter"&&b()},placeholder:"Neue Idee — einfach hinschreiben, die Box macht den Rest",className:"h-9 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"}),s.jsxs("button",{onClick:b,disabled:u||o.trim().length<3,className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-primary/40 bg-primary/10 px-3 text-[11px] font-bold uppercase tracking-wide text-primary transition-all hover:bg-primary/20 cursor-pointer disabled:opacity-50",children:[u?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(v5,{className:"h-3.5 w-3.5"})," In die Queue"]})]}),s.jsx("p",{className:"text-[11px] text-muted-foreground",children:'Eine Queue, alle Türen: hier, per Telegram oder im Gespräch mit Lucy. Die Box arbeitet Ideen selbst aus und baut — Code-Ergebnisse erscheinen als Karte unter „Fertige Patches", nichts davon geht ohne deinen Klick live. Nur reine Doku-Bagatellen zieht die Box nachts selbst ein (mit Fangnetz und Meldung).'}),t&&s.jsxs("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"})," Queue wird geladen …"]}),(e==null?void 0:e.fehler)&&s.jsx("p",{className:"text-xs text-amber-300",children:"Queue gerade nicht lesbar — neuer Versuch läuft."}),p.length>0&&s.jsx("ul",{className:"space-y-1.5",children:p.map(w=>{const k=tJ[w.status]??{label:w.status,cls:"text-muted-foreground border-border/60 bg-background/30"};return s.jsxs("li",{className:"flex items-center gap-2 rounded-xl border border-border/40 bg-background/30 px-3 py-2",children:[s.jsxs("span",{className:J("flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",k.cls),children:[k.spin&&s.jsx(kt,{className:"h-3 w-3 animate-spin"}),k.label]}),s.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-foreground",title:w.body||w.titel,children:w.titel}),s.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/70",children:[s.jsx(eu,{className:"h-3 w-3"}),Py(w.erstellt)]}),(w.status==="done"||w.status==="blocked")&&s.jsx("button",{disabled:!!h[w.id],onClick:()=>N(w.id),title:"Aus der Liste räumen (wandert ins Kanban-Archiv)",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:h[w.id]?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Or,{className:"h-3.5 w-3.5"})})]},w.id)})}),(e==null?void 0:e.available)&&!t&&p.length===0&&s.jsx("p",{className:"text-xs text-muted-foreground/70",children:"Queue ist leer — wirf der Box eine Idee zu."})]}),i]})}function nJ({item:e}){const t=e.status;if(!t)return null;const r=JX[t.state];return r?s.jsxs("span",{className:J("flex items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",r.cls),title:t.detail,children:[r.spin&&s.jsx(kt,{className:"h-3 w-3 animate-spin"}),r.label]}):null}function iJ({item:e,busy:t,onAct:r,showConfirm:n}){var b,N,w;const[i,o]=x.useState(!1),[c,u]=x.useState(null),[f,h]=x.useState(!1),m=((b=e.status)==null?void 0:b.state)==="laeuft"||((N=e.status)==null?void 0:N.state)==="rollback",p=((w=e.status)==null?void 0:w.state)==="eingespielt";async function v(){const k=!i;if(o(k),k&&c===null){h(!0);try{const S=await xe(`/api/auftragsbuch/diff?branch=${encodeURIComponent(e.branch)}`);u(S.diff+(S.truncated?` +… (gekürzt)`:""))}catch(S){u(`(Diff nicht ladbar: ${(S==null?void 0:S.message)||S})`)}finally{h(!1)}}}return s.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("span",{className:"rounded-md border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-primary",children:XX[e.kind]??e.kind}),s.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",title:e.branch,children:e.branch}),s.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[s.jsx(eu,{className:"h-3 w-3"}),Py(e.ts)]}),s.jsx(nJ,{item:e})]}),s.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:e.subject||"(ohne Titel)"}),e.body&&s.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-muted-foreground line-clamp-6",children:e.body})]}),!m&&!p&&s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsxs("button",{disabled:!!t[e.branch],onClick:()=>n("Vorschlag annehmen?",`'${e.branch}' wird auf main gemergt und live eingespielt. Die Zentrale startet dabei kurz neu. Geht der Health-Check danach rot, rollt die Box automatisch zurück.${e.frontend_ohne_build?` -Achtung: Enthält Frontend-Quelltext ohne gebautes Bundle — die Oberfläche bleibt alt, bis am PC gebaut wird.`:""}`,()=>r(e.branch,"/api/auftragsbuch/annehmen",{branch:e.branch})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[t[e.branch]?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Mt,{className:"h-3.5 w-3.5"})," Annehmen"]}),s.jsxs("button",{disabled:!!t["ab:"+e.branch],onClick:()=>n("Vorschlag ablehnen?",`Der Branch '${e.branch}' wird auf Gitea gelöscht. Die Arbeit bleibt in der Historie, aber die Karte verschwindet.`,()=>r("ab:"+e.branch,"/api/auftragsbuch/ablehnen",{branch:e.branch})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[t["ab:"+e.branch]?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Br,{className:"h-3.5 w-3.5"})," Ablehnen"]})]})]}),e.status&&(m||!p)&&e.status.detail&&s.jsx("p",{className:"text-[11px] text-muted-foreground",children:e.status.detail}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground",children:[s.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:[e.ahead," Commit",e.ahead===1?"":"s"]}),e.shortstat&&s.jsx("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:e.shortstat.trim()}),e.behind>0&&s.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"main ist seit diesem Vorschlag weitergelaufen",children:[s.jsx(vr,{className:"h-3 w-3"})," ",e.behind," hinter main"]}),e.frontend_ohne_build&&s.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Die Box kann kein Frontend bauen (kein Node) — nach dem Annehmen bleibt die Oberfläche alt, bis am PC gebaut wird.",children:[s.jsx(vr,{className:"h-3 w-3"})," Frontend ohne Build"]})]}),s.jsxs("div",{children:[s.jsxs("button",{onClick:v,className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[i?s.jsx(tl,{className:"h-3.5 w-3.5"}):s.jsx(Kn,{className:"h-3.5 w-3.5"}),s.jsx(qM,{className:"h-3.5 w-3.5"})," ",e.files.length," Datei",e.files.length===1?"":"en"," — Änderungen ansehen"]}),i&&s.jsxs("div",{className:"mt-2 space-y-2",children:[s.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.files.map(k=>s.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:[s.jsx("b",{className:J(k.status.startsWith("A")&&"text-emerald-400",k.status.startsWith("D")&&"text-red-400",k.status.startsWith("M")&&"text-sky-400"),children:k.status})," ",k.path]},k.path)),e.files_truncated&&s.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"…"})]}),s.jsx("div",{className:"max-h-96 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3",children:f?s.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Diff wird geladen …"}):s.jsx("pre",{className:"text-[10px] leading-relaxed text-foreground/80 whitespace-pre",children:(c??"").split(` -`).map((k,N)=>s.jsx("span",{className:J("block",k.startsWith("+")&&!k.startsWith("+++")&&"text-emerald-300/90 bg-emerald-500/5",k.startsWith("-")&&!k.startsWith("---")&&"text-red-300/90 bg-red-500/5",(k.startsWith("@@")||k.startsWith("diff "))&&"text-sky-300/90"),children:k||" "},N))})})]})]})]})}function rJ({k:e,busy:t,onAct:r,showConfirm:n}){const[i,o]=x.useState(!1);return s.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.04] p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("span",{className:"rounded-md border border-violet-500/30 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-violet-300",children:"Traum-Idee"}),s.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",children:e.file}),s.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[s.jsx(mh,{className:"h-3 w-3"}),LO(e.mtime)]})]}),s.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:e.title})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsxs("button",{disabled:!!t["sk:"+e.file],onClick:()=>n("Werkstatt beauftragen?",`Der Kandidat '${e.title}' geht als Auftrag an die Werkstatt (Orchestrator, propose-only). Das Ergebnis erscheint später als neuer Patch-Vorschlag hier im Auftragsbuch — nichts geht ungefragt live.`,()=>r("sk:"+e.file,"/api/auftragsbuch/skill/annehmen",{file:e.file},"Die Werkstatt arbeitet. Das Ergebnis taucht als neuer Vorschlag im Auftragsbuch auf (das kann einige Minuten dauern).")),className:"flex h-9 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[t["sk:"+e.file]?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(JM,{className:"h-3.5 w-3.5"})," Beauftragen"]}),s.jsxs("button",{disabled:!!t["skab:"+e.file],onClick:()=>n("Kandidat verwerfen?",`'${e.title}' wandert ins Archiv des Wissens-Vaults (verworfen/). Der Traum schlägt ihn nicht erneut vor.`,()=>r("skab:"+e.file,"/api/auftragsbuch/skill/ablehnen",{file:e.file})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[t["skab:"+e.file]?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Br,{className:"h-3.5 w-3.5"})," Verwerfen"]})]})]}),s.jsxs("button",{onClick:()=>o(c=>!c),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[i?s.jsx(tl,{className:"h-3.5 w-3.5"}):s.jsx(Kn,{className:"h-3.5 w-3.5"}),s.jsx(eu,{className:"h-3.5 w-3.5"})," Vorschlag lesen"]}),i&&s.jsx("pre",{className:"max-h-72 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3 text-[11px] leading-relaxed text-foreground/85 whitespace-pre-wrap",children:e.preview})]})}const nJ={sentry:{icon:Lx,label:"Health-Wächter",cls:"text-red-300 bg-red-500/10 border-red-500/25"},alarm:{icon:$x,label:"Alarm",cls:"text-red-200 bg-red-500/15 border-red-500/40"},notify:{icon:IM,label:"Meldung",cls:"text-sky-300 bg-sky-500/10 border-sky-500/25"},"chef-gutachter":{icon:d5,label:"Morgenlage",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"},radar:{icon:gI,label:"Radar",cls:"text-teal-300 bg-teal-500/10 border-teal-500/25"},auftragsbuch:{icon:eu,label:"Auftragsbuch",cls:"text-primary bg-primary/10 border-primary/25"},zeitmaschine:{icon:Rx,label:"Zeitmaschine",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},reminder:{icon:JN,label:"Erinnerung",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},traum:{icon:va,label:"Traum",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"}},iJ={icon:lI,label:"Box",cls:"text-muted-foreground bg-background/40 border-border/50"};function aJ(e){return new Date(e*1e3).toLocaleDateString("de-DE",{weekday:"long",day:"2-digit",month:"long"})}function oJ(){const{data:e=[],isLoading:t}=cE(),[r,n]=x.useState(!0),i=x.useMemo(()=>{const o=[];for(const c of e){const u=aJ(c.ts),f=o[o.length-1];f&&f.day===u?f.items.push(c):o.push({day:u,items:[c]})}return o},[e]);return s.jsxs("div",{className:"space-y-7",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Chronik"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Was deine Box von allein getan und gemeldet hat — und die Zeitmaschine, falls du zu einem früheren Stand zurück willst."})]}),s.jsx(sJ,{}),s.jsxs("section",{className:"space-y-4",children:[s.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(s5,{className:"h-3.5 w-3.5"})," Verlauf"]}),t&&s.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[s.jsx(Ut,{className:"h-4 w-4 animate-spin"})," Chronik wird geladen …"]}),!t&&e.length===0&&s.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}),i.map(({day:o,items:c})=>s.jsxs("div",{children:[s.jsx("p",{className:"mb-2 text-xs font-bold text-foreground/70",children:o}),s.jsxs("div",{className:"space-y-2 border-l-2 border-border/40 pl-4",children:[(r?c.slice(0,8):c).map(u=>{const f=nJ[u.source]??iJ,h=f.icon;return s.jsxs("div",{className:"relative rounded-xl border border-border/50 bg-card/40 p-3 backdrop-blur-sm",children:[s.jsx("span",{className:"absolute -left-[23px] top-4 h-2.5 w-2.5 rounded-full bg-border ring-4 ring-background/60"}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("span",{className:J("flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-bold",f.cls),children:[s.jsx(h,{className:"h-3 w-3"})," ",f.label]}),u.subject&&s.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:u.subject}),s.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:new Date(u.ts*1e3).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"})})]}),s.jsx("p",{className:"mt-1.5 whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:u.text})]},u.id)}),r&&c.length>8&&s.jsxs("button",{onClick:()=>n(!1),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:[c.length-8," weitere anzeigen"]})]})]},o))]})]})}function sJ(){const{data:e}=gL(),t=Hr(),{showAlert:r,showConfirm:n,dialogElement:i}=Nn(),[o,c]=x.useState(null),[u,f]=x.useState(!1),[h,m]=x.useState(!1),p=(e==null?void 0:e.backups)??[],v=h?p:p.slice(0,4);function b(k){const N=k.snapshot.match(/^(\d{4})-?(\d{2})-?(\d{2})[T_-](\d{2})[-:]?(\d{2})/);return N?`${N[3]}.${N[2]}.${N[1]}, ${N[4]}:${N[5]} Uhr`:k.snapshot}async function S(k){c(k.file);try{await xe("/api/zeitmaschine/restore",{method:"POST",body:JSON.stringify({file:k.file})}),r("Zeitmaschine läuft","Die Wiederherstellung wurde gestartet. Die Dienste starten gleich neu — die Zentrale ist kurz weg und meldet sich von selbst zurück. Vorher wurde automatisch ein Sicherheits-Backup des jetzigen Zustands gemacht.")}catch(N){r("Start fehlgeschlagen",String((N==null?void 0:N.message)||N))}finally{c(null)}}async function w(){f(!0);try{const k=await xe("/api/system/backup",{method:"POST"});k.ok?r("Gesichert",`Snapshot ${k.snapshot} wurde angelegt.`):r("Backup fehlgeschlagen",k.error||"Unbekannter Fehler"),t.invalidateQueries({queryKey:Fe.zeitmaschine})}catch(k){r("Backup fehlgeschlagen",String((k==null?void 0:k.message)||k))}finally{f(!1)}}return s.jsxs("section",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(Tw,{className:"h-3.5 w-3.5"})," Zeitmaschine — gesicherte Stände"]}),s.jsxs("button",{onClick:w,disabled:u||!(e!=null&&e.available),className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer disabled:opacity-50",children:[u?s.jsx(Ut,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Tw,{className:"h-3.5 w-3.5"})," Jetzt sichern"]})]}),e&&!e.available&&s.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Die Snapshots liegen auf der Box — im lokalen Dev-Modus nicht verfügbar."}),(e==null?void 0:e.available)&&p.length===0&&s.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-5 text-center text-xs text-muted-foreground",children:'Noch keine Snapshots. Das nächtliche Backup (03:30) legt sie automatisch an — oder „Jetzt sichern".'}),v.length>0&&s.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:v.map((k,N)=>s.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border/50 bg-card/40 p-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("p",{className:"text-xs font-semibold text-foreground",children:[b(k)," ",N===0&&s.jsx("span",{className:"ml-1 rounded bg-emerald-500/10 px-1.5 py-0.5 text-[9px] font-bold text-emerald-300",children:"neuester"})]}),s.jsxs("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",title:k.file,children:[k.size_mb.toLocaleString("de-DE")," MB · ",k.file]})]}),s.jsxs("button",{disabled:o!==null,onClick:()=>n("Wirklich zu diesem Stand zurück?",`Die Box wird auf den Snapshot vom ${b(k)} zurückgesetzt (Gedächtnis, Hermes-Config, Modell-Router). Der JETZIGE Zustand wird vorher automatisch gesichert — der Schritt ist also umkehrbar. Die Dienste starten neu, die Zentrale ist kurz weg.`,()=>S(k)),className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 text-[10px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[o===k.file?s.jsx(Ut,{className:"h-3 w-3 animate-spin"}):s.jsx(Rx,{className:"h-3 w-3"})," Zurück"]})]},k.file))}),p.length>4&&!h&&s.jsxs("button",{onClick:()=>m(!0),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:["Alle ",p.length," Snapshots anzeigen"]}),i]})}const lJ={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function cJ(){const{data:e,isLoading:t}=pL(),[r,n]=x.useState(null),[i,o]=x.useState(null),[c,u]=x.useState(!1),[f,h]=x.useState(""),m=x.useMemo(()=>(e==null?void 0:e.files)??[],[e]),p=x.useMemo(()=>{const w=new Map;for(const k of m)w.set(k.name.toLowerCase(),k.path);return w},[m]),v=x.useMemo(()=>{if(!f.trim())return m;const w=f.toLowerCase();return m.filter(k=>k.title.toLowerCase().includes(w)||k.path.toLowerCase().includes(w))},[m,f]),b=x.useMemo(()=>{const w=[];for(const k of v){const N=w.find(E=>E.dir===k.dir);N?N.files.push(k):w.push({dir:k.dir,files:[k]})}return w.sort((k,N)=>k.dir===""?-1:N.dir===""?1:k.dir.localeCompare(N.dir))},[v]);x.useEffect(()=>{if(!r&&m.length){const w=m.find(k=>k.path.toLowerCase()==="index.md");n((w==null?void 0:w.path)??m[0].path)}},[m,r]),x.useEffect(()=>{r&&(u(!0),xe(`/api/wissen/datei?pfad=${encodeURIComponent(r)}`).then(o).catch(()=>o({path:r,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>u(!1)))},[r]);const S=w=>{const k=p.get(w.toLowerCase());k&&n(k)};return s.jsxs("div",{className:"space-y-5",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Wissen"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),e&&!e.available&&s.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),t&&s.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[s.jsx(Ut,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(e==null?void 0:e.available)&&m.length===0&&s.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),m.length>0&&s.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[s.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[s.jsxs("div",{className:"relative",children:[s.jsx("input",{value:f,onChange:w=>h(w.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),s.jsx(rl,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),s.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:b.map(({dir:w,files:k})=>s.jsxs("div",{children:[s.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(a5,{className:"h-3 w-3"})," ",lJ[w]??w]}),s.jsx("div",{className:"space-y-0.5",children:k.map(N=>s.jsxs("button",{onClick:()=>n(N.path),className:J("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",r===N.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[s.jsx(i5,{className:"h-3.5 w-3.5 shrink-0"}),s.jsx("span",{className:"truncate",title:N.title,children:N.name}),N.neu&&s.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[s.jsx(va,{className:"h-2.5 w-2.5"}),"neu"]})]},N.path))})]},w||"__root"))})]}),s.jsx("div",{className:"min-w-0 flex-1 rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:c?s.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[s.jsx(Ut,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):i?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[s.jsx(c5,{className:"h-3.5 w-3.5"})," ",i.path]}),i.mtime>0&&s.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(i.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),s.jsx(uJ,{text:i.content,onWikiLink:S,known:p})]}):null})]})]})}function uJ({text:e,onWikiLink:t,known:r}){const n=e.split(` +Achtung: Enthält Frontend-Quelltext ohne gebautes Bundle — die Oberfläche bleibt alt, bis am PC gebaut wird.`:""}`,()=>r(e.branch,"/api/auftragsbuch/annehmen",{branch:e.branch})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[t[e.branch]?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(It,{className:"h-3.5 w-3.5"})," Annehmen"]}),s.jsxs("button",{disabled:!!t["ab:"+e.branch],onClick:()=>n("Vorschlag ablehnen?",`Der Branch '${e.branch}' wird auf Gitea gelöscht. Die Arbeit bleibt in der Historie, aber die Karte verschwindet.`,()=>r("ab:"+e.branch,"/api/auftragsbuch/ablehnen",{branch:e.branch})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[t["ab:"+e.branch]?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Or,{className:"h-3.5 w-3.5"})," Ablehnen"]})]})]}),e.status&&(m||!p)&&e.status.detail&&s.jsx("p",{className:"text-[11px] text-muted-foreground",children:e.status.detail}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground",children:[s.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:[e.ahead," Commit",e.ahead===1?"":"s"]}),e.shortstat&&s.jsx("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:e.shortstat.trim()}),e.behind>0&&s.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"main ist seit diesem Vorschlag weitergelaufen",children:[s.jsx(vr,{className:"h-3 w-3"})," ",e.behind," hinter main"]}),e.frontend_ohne_build&&s.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Die Box kann kein Frontend bauen (kein Node) — nach dem Annehmen bleibt die Oberfläche alt, bis am PC gebaut wird.",children:[s.jsx(vr,{className:"h-3 w-3"})," Frontend ohne Build"]})]}),s.jsxs("div",{children:[s.jsxs("button",{onClick:v,className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[i?s.jsx(tl,{className:"h-3.5 w-3.5"}):s.jsx(Kn,{className:"h-3.5 w-3.5"}),s.jsx(YM,{className:"h-3.5 w-3.5"})," ",e.files.length," Datei",e.files.length===1?"":"en"," — Änderungen ansehen"]}),i&&s.jsxs("div",{className:"mt-2 space-y-2",children:[s.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.files.map(k=>s.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:[s.jsx("b",{className:J(k.status.startsWith("A")&&"text-emerald-400",k.status.startsWith("D")&&"text-red-400",k.status.startsWith("M")&&"text-sky-400"),children:k.status})," ",k.path]},k.path)),e.files_truncated&&s.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"…"})]}),s.jsx("div",{className:"max-h-96 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3",children:f?s.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Diff wird geladen …"}):s.jsx("pre",{className:"text-[10px] leading-relaxed text-foreground/80 whitespace-pre",children:(c??"").split(` +`).map((k,S)=>s.jsx("span",{className:J("block",k.startsWith("+")&&!k.startsWith("+++")&&"text-emerald-300/90 bg-emerald-500/5",k.startsWith("-")&&!k.startsWith("---")&&"text-red-300/90 bg-red-500/5",(k.startsWith("@@")||k.startsWith("diff "))&&"text-sky-300/90"),children:k||" "},S))})})]})]})]})}function aJ({k:e,busy:t,onAct:r,showConfirm:n}){const[i,o]=x.useState(!1);return s.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.04] p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("span",{className:"rounded-md border border-violet-500/30 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-violet-300",children:"Traum-Idee"}),s.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",children:e.file}),s.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[s.jsx(eu,{className:"h-3 w-3"}),Py(e.mtime)]})]}),s.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:e.title})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsxs("button",{disabled:!!t["sk:"+e.file],onClick:()=>n("Werkstatt beauftragen?",`Der Kandidat '${e.title}' geht als Auftrag an die Werkstatt (Orchestrator, propose-only). Das Ergebnis erscheint später als neuer Patch-Vorschlag hier im Auftragsbuch — nichts geht ungefragt live.`,()=>r("sk:"+e.file,"/api/auftragsbuch/skill/annehmen",{file:e.file},"Die Werkstatt arbeitet. Das Ergebnis taucht als neuer Vorschlag im Auftragsbuch auf (das kann einige Minuten dauern).")),className:"flex h-9 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[t["sk:"+e.file]?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(tI,{className:"h-3.5 w-3.5"})," Beauftragen"]}),s.jsxs("button",{disabled:!!t["skab:"+e.file],onClick:()=>n("Kandidat verwerfen?",`'${e.title}' wandert ins Archiv des Wissens-Vaults (verworfen/). Der Traum schlägt ihn nicht erneut vor.`,()=>r("skab:"+e.file,"/api/auftragsbuch/skill/ablehnen",{file:e.file})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[t["skab:"+e.file]?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Or,{className:"h-3.5 w-3.5"})," Verwerfen"]})]})]}),s.jsxs("button",{onClick:()=>o(c=>!c),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[i?s.jsx(tl,{className:"h-3.5 w-3.5"}):s.jsx(Kn,{className:"h-3.5 w-3.5"}),s.jsx(tu,{className:"h-3.5 w-3.5"})," Vorschlag lesen"]}),i&&s.jsx("pre",{className:"max-h-72 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3 text-[11px] leading-relaxed text-foreground/85 whitespace-pre-wrap",children:e.preview})]})}const oJ={sentry:{icon:Rx,label:"Health-Wächter",cls:"text-red-300 bg-red-500/10 border-red-500/25"},alarm:{icon:zx,label:"Alarm",cls:"text-red-200 bg-red-500/15 border-red-500/40"},notify:{icon:DM,label:"Meldung",cls:"text-sky-300 bg-sky-500/10 border-sky-500/25"},"chef-gutachter":{icon:h5,label:"Morgenlage",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"},radar:{icon:vI,label:"Radar",cls:"text-teal-300 bg-teal-500/10 border-teal-500/25"},auftragsbuch:{icon:tu,label:"Auftragsbuch",cls:"text-primary bg-primary/10 border-primary/25"},zeitmaschine:{icon:$x,label:"Zeitmaschine",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},reminder:{icon:e5,label:"Erinnerung",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},traum:{icon:va,label:"Traum",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"}},sJ={icon:cI,label:"Box",cls:"text-muted-foreground bg-background/40 border-border/50"};function lJ(e){return new Date(e*1e3).toLocaleDateString("de-DE",{weekday:"long",day:"2-digit",month:"long"})}function cJ(){const{data:e=[],isLoading:t}=fE(),[r,n]=x.useState(!0),i=x.useMemo(()=>{const o=[];for(const c of e){const u=lJ(c.ts),f=o[o.length-1];f&&f.day===u?f.items.push(c):o.push({day:u,items:[c]})}return o},[e]);return s.jsxs("div",{className:"space-y-7",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Chronik"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Was deine Box von allein getan und gemeldet hat — und die Zeitmaschine, falls du zu einem früheren Stand zurück willst."})]}),s.jsx(uJ,{}),s.jsxs("section",{className:"space-y-4",children:[s.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(l5,{className:"h-3.5 w-3.5"})," Verlauf"]}),t&&s.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[s.jsx(kt,{className:"h-4 w-4 animate-spin"})," Chronik wird geladen …"]}),!t&&e.length===0&&s.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}),i.map(({day:o,items:c})=>s.jsxs("div",{children:[s.jsx("p",{className:"mb-2 text-xs font-bold text-foreground/70",children:o}),s.jsxs("div",{className:"space-y-2 border-l-2 border-border/40 pl-4",children:[(r?c.slice(0,8):c).map(u=>{const f=oJ[u.source]??sJ,h=f.icon;return s.jsxs("div",{className:"relative rounded-xl border border-border/50 bg-card/40 p-3 backdrop-blur-sm",children:[s.jsx("span",{className:"absolute -left-[23px] top-4 h-2.5 w-2.5 rounded-full bg-border ring-4 ring-background/60"}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("span",{className:J("flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-bold",f.cls),children:[s.jsx(h,{className:"h-3 w-3"})," ",f.label]}),u.subject&&s.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:u.subject}),s.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:new Date(u.ts*1e3).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"})})]}),s.jsx("p",{className:"mt-1.5 whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:u.text})]},u.id)}),r&&c.length>8&&s.jsxs("button",{onClick:()=>n(!1),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:[c.length-8," weitere anzeigen"]})]})]},o))]})]})}function uJ(){const{data:e}=vL(),t=_r(),{showAlert:r,showConfirm:n,dialogElement:i}=sn(),[o,c]=x.useState(null),[u,f]=x.useState(!1),[h,m]=x.useState(!1),p=(e==null?void 0:e.backups)??[],v=h?p:p.slice(0,4);function b(k){const S=k.snapshot.match(/^(\d{4})-?(\d{2})-?(\d{2})[T_-](\d{2})[-:]?(\d{2})/);return S?`${S[3]}.${S[2]}.${S[1]}, ${S[4]}:${S[5]} Uhr`:k.snapshot}async function N(k){c(k.file);try{await xe("/api/zeitmaschine/restore",{method:"POST",body:JSON.stringify({file:k.file})}),r("Zeitmaschine läuft","Die Wiederherstellung wurde gestartet. Die Dienste starten gleich neu — die Zentrale ist kurz weg und meldet sich von selbst zurück. Vorher wurde automatisch ein Sicherheits-Backup des jetzigen Zustands gemacht.")}catch(S){r("Start fehlgeschlagen",String((S==null?void 0:S.message)||S))}finally{c(null)}}async function w(){f(!0);try{const k=await xe("/api/system/backup",{method:"POST"});k.ok?r("Gesichert",`Snapshot ${k.snapshot} wurde angelegt.`):r("Backup fehlgeschlagen",k.error||"Unbekannter Fehler"),t.invalidateQueries({queryKey:$e.zeitmaschine})}catch(k){r("Backup fehlgeschlagen",String((k==null?void 0:k.message)||k))}finally{f(!1)}}return s.jsxs("section",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(Lw,{className:"h-3.5 w-3.5"})," Zeitmaschine — gesicherte Stände"]}),s.jsxs("button",{onClick:w,disabled:u||!(e!=null&&e.available),className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer disabled:opacity-50",children:[u?s.jsx(kt,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(Lw,{className:"h-3.5 w-3.5"})," Jetzt sichern"]})]}),e&&!e.available&&s.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Die Snapshots liegen auf der Box — im lokalen Dev-Modus nicht verfügbar."}),(e==null?void 0:e.available)&&p.length===0&&s.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-5 text-center text-xs text-muted-foreground",children:'Noch keine Snapshots. Das nächtliche Backup (03:30) legt sie automatisch an — oder „Jetzt sichern".'}),v.length>0&&s.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:v.map((k,S)=>s.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border/50 bg-card/40 p-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("p",{className:"text-xs font-semibold text-foreground",children:[b(k)," ",S===0&&s.jsx("span",{className:"ml-1 rounded bg-emerald-500/10 px-1.5 py-0.5 text-[9px] font-bold text-emerald-300",children:"neuester"})]}),s.jsxs("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",title:k.file,children:[k.size_mb.toLocaleString("de-DE")," MB · ",k.file]})]}),s.jsxs("button",{disabled:o!==null,onClick:()=>n("Wirklich zu diesem Stand zurück?",`Die Box wird auf den Snapshot vom ${b(k)} zurückgesetzt (Gedächtnis, Hermes-Config, Modell-Router). Der JETZIGE Zustand wird vorher automatisch gesichert — der Schritt ist also umkehrbar. Die Dienste starten neu, die Zentrale ist kurz weg.`,()=>N(k)),className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 text-[10px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[o===k.file?s.jsx(kt,{className:"h-3 w-3 animate-spin"}):s.jsx($x,{className:"h-3 w-3"})," Zurück"]})]},k.file))}),p.length>4&&!h&&s.jsxs("button",{onClick:()=>m(!0),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:["Alle ",p.length," Snapshots anzeigen"]}),i]})}const dJ={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function fJ(){const{data:e,isLoading:t}=gL(),[r,n]=x.useState(null),[i,o]=x.useState(null),[c,u]=x.useState(!1),[f,h]=x.useState(""),m=x.useMemo(()=>(e==null?void 0:e.files)??[],[e]),p=x.useMemo(()=>{const w=new Map;for(const k of m)w.set(k.name.toLowerCase(),k.path);return w},[m]),v=x.useMemo(()=>{if(!f.trim())return m;const w=f.toLowerCase();return m.filter(k=>k.title.toLowerCase().includes(w)||k.path.toLowerCase().includes(w))},[m,f]),b=x.useMemo(()=>{const w=[];for(const k of v){const S=w.find(E=>E.dir===k.dir);S?S.files.push(k):w.push({dir:k.dir,files:[k]})}return w.sort((k,S)=>k.dir===""?-1:S.dir===""?1:k.dir.localeCompare(S.dir))},[v]);x.useEffect(()=>{if(!r&&m.length){const w=m.find(k=>k.path.toLowerCase()==="index.md");n((w==null?void 0:w.path)??m[0].path)}},[m,r]),x.useEffect(()=>{r&&(u(!0),xe(`/api/wissen/datei?pfad=${encodeURIComponent(r)}`).then(o).catch(()=>o({path:r,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>u(!1)))},[r]);const N=w=>{const k=p.get(w.toLowerCase());k&&n(k)};return s.jsxs("div",{className:"space-y-5",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Wissen"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),e&&!e.available&&s.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),t&&s.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[s.jsx(kt,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(e==null?void 0:e.available)&&m.length===0&&s.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),m.length>0&&s.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[s.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[s.jsxs("div",{className:"relative",children:[s.jsx("input",{value:f,onChange:w=>h(w.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),s.jsx(rl,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),s.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:b.map(({dir:w,files:k})=>s.jsxs("div",{children:[s.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[s.jsx(o5,{className:"h-3 w-3"})," ",dJ[w]??w]}),s.jsx("div",{className:"space-y-0.5",children:k.map(S=>s.jsxs("button",{onClick:()=>n(S.path),className:J("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",r===S.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[s.jsx(a5,{className:"h-3.5 w-3.5 shrink-0"}),s.jsx("span",{className:"truncate",title:S.title,children:S.name}),S.neu&&s.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[s.jsx(va,{className:"h-2.5 w-2.5"}),"neu"]})]},S.path))})]},w||"__root"))})]}),s.jsx("div",{className:"min-w-0 flex-1 rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:c?s.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[s.jsx(kt,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):i?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[s.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[s.jsx(u5,{className:"h-3.5 w-3.5"})," ",i.path]}),i.mtime>0&&s.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(i.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),s.jsx(hJ,{text:i.content,onWikiLink:N,known:p})]}):null})]})]})}function hJ({text:e,onWikiLink:t,known:r}){const n=e.split(` `),i=[];let o=[],c=null;const u=f=>{o.length&&(i.push(s.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:o},f)),o=[])};return n.forEach((f,h)=>{const m=`l${h}`;if(c!==null){f.trimEnd()==="```"?(i.push(s.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:c.join(` -`)},m)),c=null):c.push(f);return}if(f.trimStart().startsWith("```")){u(m),c=[];return}const p=f.trimEnd();if(!p.trim()){u(m);return}const v=p.match(/^(#{1,4})\s+(.*)$/);if(v){u(m);const S=v[1].length,w=S===1?"text-lg font-bold mt-1 mb-3":S===2?"text-base font-bold mt-4 mb-2":"text-sm font-bold mt-3 mb-1.5";i.push(s.jsx("p",{className:J(w,"font-space text-foreground"),children:tv(v[2],t,r,m)},m));return}const b=p.match(/^\s*[-*•]\s+(.*)$/);if(b){o.push(s.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:tv(b[1],t,r,m)},m));return}u(m),i.push(s.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:tv(p,t,r,m)},m))}),u("end"),c!==null&&i.push(s.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:c.join(` -`)},"code-end")),s.jsx("div",{className:"max-w-3xl",children:i})}function tv(e,t,r,n){return e.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((o,c)=>{const u=`${n}-${c}`,f=o.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(f){const h=f[1].trim(),m=(f[2]??f[1]).trim();return r.has(h.toLowerCase())?s.jsx("button",{onClick:()=>t(h),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:m},u):s.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:m},u)}return o.startsWith("**")&&o.endsWith("**")?s.jsx("b",{className:"font-semibold text-foreground",children:o.slice(2,-2)},u):o.startsWith("*")&&o.endsWith("*")&&o.length>2?s.jsx("i",{children:o.slice(1,-1)},u):o.startsWith("`")&&o.endsWith("`")?s.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:o.slice(1,-1)},u):s.jsx("span",{children:o},u)})}function dJ(){var S,w,k,N,E;cR();const[e,t]=x.useState(()=>{const C=window.location.hash.slice(1);return gs.some(A=>A.id===C)?C:"dashboard"}),r=x.useCallback(C=>{window.location.hash.slice(1)===C?t(C):window.location.hash=C},[]),[n,i]=x.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[o,c]=x.useState(!1),[u,f]=x.useState("maintenance"),[h,m]=x.useState(()=>window.location.hash==="#mc3"),{data:p}=Kx(),{data:v}=Co(2e4);x.useEffect(()=>{document.documentElement.classList.add("dark")},[]),x.useEffect(()=>{const C=A=>{var O;f(((O=A.detail)==null?void 0:O.tab)||"maintenance"),c(!0)};return window.addEventListener("open-system-drawer",C),()=>window.removeEventListener("open-system-drawer",C)},[]),x.useEffect(()=>{const C=A=>{var O;const _=(O=A.detail)==null?void 0:O.view;_&&r(_)};return window.addEventListener("mc-navigate",C),()=>window.removeEventListener("mc-navigate",C)},[r]),x.useEffect(()=>{const C=()=>{m(window.location.hash==="#mc3");const A=window.location.hash.slice(1);gs.some(_=>_.id===A)&&t(A)};return window.addEventListener("hashchange",C),()=>window.removeEventListener("hashchange",C)},[]);const b=gs.find(C=>C.id===e);return h?s.jsx($X,{}):s.jsxs("div",{className:"flex h-full relative",children:[s.jsxs("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:[s.jsx("div",{className:"absolute inset-0 opacity-35 animate-aurora bg-gradient-to-tr from-teal-500/20 via-indigo-500/15 to-purple-500/20 blur-[130px]"}),s.jsx("div",{className:"absolute top-[-10%] left-[-10%] h-[50%] w-[50%] rounded-full bg-teal-500/15 blur-[160px]"}),s.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] h-[50%] w-[50%] rounded-full bg-purple-500/15 blur-[160px]"}),s.jsx("div",{className:"absolute top-[30%] right-[20%] h-[40%] w-[40%] rounded-full bg-indigo-500/10 blur-[140px]"})]}),s.jsx(ID,{onNavigate:r}),s.jsx(yE,{open:o,onClose:()=>c(!1),defaultTab:u}),s.jsxs("aside",{className:J("flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",n?"w-16":"w-60"),children:[s.jsxs("div",{className:J("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[s.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[s.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&s.jsxs("div",{className:"leading-tight",children:[s.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),s.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),s.jsx("button",{onClick:()=>{i(C=>{const A=!C;return localStorage.setItem("mc_sidebar_collapsed",A.toString()),A})},className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":n?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:n?"Maximieren":"Minimieren",children:n?s.jsx(Kn,{className:"h-4 w-4","aria-hidden":"true"}):s.jsx(zM,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let C=null;return gs.map(A=>{const _=A.group!==C;return C=A.group,s.jsxs("div",{className:"space-y-1",children:[_&&(n?C!==gs[0].group&&s.jsx("div",{className:"my-3 border-t border-border/30"}):s.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:A.group})),s.jsxs("a",{href:`#${A.id}`,"aria-current":e===A.id?"page":void 0,className:J("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",e===A.id?"bg-primary/15 text-primary shadow-sm shadow-primary/5":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?A.label:void 0,"aria-label":n?A.label:void 0,children:[s.jsx(A.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!n&&s.jsx("span",{className:"truncate",children:A.label})]})]},A.id)})})()}),s.jsx("div",{className:J("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?s.jsx("div",{className:"flex justify-center",children:s.jsx("span",{className:J("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",p?p.engine_reachable?p.brain&&!p.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500":"bg-red-500"),title:p?p.engine_reachable?p.brain&&!p.brain.ready?`Hirn offline (${p.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):s.jsxs("div",{className:"space-y-2 text-left",children:[p?s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full animate-pulse",p.engine_reachable?"bg-emerald-500":"bg-amber-500")}),s.jsxs("span",{className:"truncate",children:["Engine ",p.engine_reachable?"online":"offline"]})]}),p.brain&&!p.brain.ready&&s.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${p.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[s.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),s.jsxs("span",{className:"truncate",children:["Hirn offline",p.brain.model?` (${p.brain.model})`:""]})]})]}):s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",s.jsx("span",{className:"truncate",children:"Backend offline"})]}),(v==null?void 0:v.versions)&&s.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[s.jsxs("div",{className:"truncate",title:v.versions.mc2?`${v.versions.mc2.branch}-${v.versions.mc2.hash}${v.versions.mc2.dirty?"*":""} (${v.versions.mc2.date})`:"nicht gefunden",children:[s.jsx("strong",{children:"MC2:"})," ",v.versions.mc2?`${v.versions.mc2.hash}${v.versions.mc2.dirty?"*":""}`:"—"]}),s.jsxs("div",{className:"truncate",title:((S=v.versions.engine)==null?void 0:S.type)==="git"?`${v.versions.engine.branch}-${v.versions.engine.hash}${v.versions.engine.dirty?"*":""} (${v.versions.engine.date})`:((w=v.versions.engine)==null?void 0:w.version_text)||"unbekannt",children:[s.jsx("strong",{children:"Engine:"})," ",((k=v.versions.engine)==null?void 0:k.type)==="git"?`${v.versions.engine.hash}${v.versions.engine.dirty?"*":""}`:((E=(N=v.versions.engine)==null?void 0:N.version_text)==null?void 0:E.split(" ").pop())||"—"]}),s.jsxs("div",{className:"truncate",title:v.versions.hermes_agent?`${v.versions.hermes_agent.branch}-${v.versions.hermes_agent.hash}${v.versions.hermes_agent.dirty?"*":""} (${v.versions.hermes_agent.date})`:"nicht gefunden",children:[s.jsx("strong",{children:"Hermes Agent:"})," ",v.versions.hermes_agent?`${v.versions.hermes_agent.hash}${v.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]}),s.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[s.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-6 bg-card/20 backdrop-blur-sm",children:[s.jsx("div",{className:"text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:b.hint}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(oE,{}),s.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),s.jsxs("button",{onClick:()=>{const C=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(C)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[s.jsx(KM,{className:"h-3.5 w-3.5"}),s.jsx("span",{children:"Suchen"}),s.jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:"⌘K"})]})]})]}),s.jsxs("main",{className:"flex-1 overflow-y-auto p-6 scrollbar-thin",children:[e==="dashboard"&&s.jsx(VX,{onNavigate:C=>r(C)}),e==="auftraege"&&s.jsx(JX,{}),e==="models"&&s.jsx(BL,{}),e==="connect"&&s.jsx(gE,{}),e==="memory"&&s.jsx(vE,{}),e==="wissen"&&s.jsx(cJ,{}),e==="chronik"&&s.jsx(oJ,{}),e==="agent"&&s.jsx(xE,{}),e==="konsole"&&s.jsx(VL,{}),e==="guide"&&s.jsx(QL,{}),!["dashboard","auftraege","models","connect","memory","wissen","chronik","agent","konsole","guide"].includes(e)&&s.jsx(YL,{title:b.label,hint:b.hint})]})]})]})}class fJ extends Ox.Component{constructor(){super(...arguments);ns(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}componentDidCatch(r,n){console.error("Unbehandelter UI-Fehler:",r,n.componentStack)}render(){return this.state.error?s.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:s.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[s.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),s.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),s.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const hJ=new gM({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});H4.createRoot(document.getElementById("root")).render(s.jsx(Ox.StrictMode,{children:s.jsx(fJ,{children:s.jsx(vM,{client:hJ,children:s.jsx(dJ,{})})})}));export{Ox as R,I2 as a,X7 as b,Wc as c,j2 as d,ho as e,Px as g,Kf as i,s as j,S2 as m,P0 as o,x as r}; +`)},m)),c=null):c.push(f);return}if(f.trimStart().startsWith("```")){u(m),c=[];return}const p=f.trimEnd();if(!p.trim()){u(m);return}const v=p.match(/^(#{1,4})\s+(.*)$/);if(v){u(m);const N=v[1].length,w=N===1?"text-lg font-bold mt-1 mb-3":N===2?"text-base font-bold mt-4 mb-2":"text-sm font-bold mt-3 mb-1.5";i.push(s.jsx("p",{className:J(w,"font-space text-foreground"),children:tv(v[2],t,r,m)},m));return}const b=p.match(/^\s*[-*•]\s+(.*)$/);if(b){o.push(s.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:tv(b[1],t,r,m)},m));return}u(m),i.push(s.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:tv(p,t,r,m)},m))}),u("end"),c!==null&&i.push(s.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:c.join(` +`)},"code-end")),s.jsx("div",{className:"max-w-3xl",children:i})}function tv(e,t,r,n){return e.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((o,c)=>{const u=`${n}-${c}`,f=o.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(f){const h=f[1].trim(),m=(f[2]??f[1]).trim();return r.has(h.toLowerCase())?s.jsx("button",{onClick:()=>t(h),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:m},u):s.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:m},u)}return o.startsWith("**")&&o.endsWith("**")?s.jsx("b",{className:"font-semibold text-foreground",children:o.slice(2,-2)},u):o.startsWith("*")&&o.endsWith("*")&&o.length>2?s.jsx("i",{children:o.slice(1,-1)},u):o.startsWith("`")&&o.endsWith("`")?s.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:o.slice(1,-1)},u):s.jsx("span",{children:o},u)})}function mJ(){var N,w,k,S,E;uR();const[e,t]=x.useState(()=>{const C=window.location.hash.slice(1);return gs.some(A=>A.id===C)?C:"dashboard"}),r=x.useCallback(C=>{window.location.hash.slice(1)===C?t(C):window.location.hash=C},[]),[n,i]=x.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[o,c]=x.useState(!1),[u,f]=x.useState("maintenance"),[h,m]=x.useState(()=>window.location.hash==="#mc3"),{data:p}=Gx(),{data:v}=Co(2e4);x.useEffect(()=>{document.documentElement.classList.add("dark")},[]),x.useEffect(()=>{const C=A=>{var O;f(((O=A.detail)==null?void 0:O.tab)||"maintenance"),c(!0)};return window.addEventListener("open-system-drawer",C),()=>window.removeEventListener("open-system-drawer",C)},[]),x.useEffect(()=>{const C=A=>{var O;const _=(O=A.detail)==null?void 0:O.view;_&&r(_)};return window.addEventListener("mc-navigate",C),()=>window.removeEventListener("mc-navigate",C)},[r]),x.useEffect(()=>{const C=()=>{m(window.location.hash==="#mc3");const A=window.location.hash.slice(1);gs.some(_=>_.id===A)&&t(A)};return window.addEventListener("hashchange",C),()=>window.removeEventListener("hashchange",C)},[]);const b=gs.find(C=>C.id===e);return h?s.jsx(zX,{}):s.jsxs("div",{className:"flex h-full relative",children:[s.jsxs("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:[s.jsx("div",{className:"absolute inset-0 opacity-35 animate-aurora bg-gradient-to-tr from-teal-500/20 via-indigo-500/15 to-purple-500/20 blur-[130px]"}),s.jsx("div",{className:"absolute top-[-10%] left-[-10%] h-[50%] w-[50%] rounded-full bg-teal-500/15 blur-[160px]"}),s.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] h-[50%] w-[50%] rounded-full bg-purple-500/15 blur-[160px]"}),s.jsx("div",{className:"absolute top-[30%] right-[20%] h-[40%] w-[40%] rounded-full bg-indigo-500/10 blur-[140px]"})]}),s.jsx(ID,{onNavigate:r}),s.jsx(kE,{open:o,onClose:()=>c(!1),defaultTab:u}),s.jsxs("aside",{className:J("flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",n?"w-16":"w-60"),children:[s.jsxs("div",{className:J("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[s.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[s.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&s.jsxs("div",{className:"leading-tight",children:[s.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),s.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),s.jsx("button",{onClick:()=>{i(C=>{const A=!C;return localStorage.setItem("mc_sidebar_collapsed",A.toString()),A})},className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":n?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:n?"Maximieren":"Minimieren",children:n?s.jsx(Kn,{className:"h-4 w-4","aria-hidden":"true"}):s.jsx(BM,{className:"h-4 w-4","aria-hidden":"true"})})]}),s.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let C=null;return gs.map(A=>{const _=A.group!==C;return C=A.group,s.jsxs("div",{className:"space-y-1",children:[_&&(n?C!==gs[0].group&&s.jsx("div",{className:"my-3 border-t border-border/30"}):s.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:A.group})),s.jsxs("a",{href:`#${A.id}`,"aria-current":e===A.id?"page":void 0,className:J("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",e===A.id?"bg-primary/15 text-primary shadow-sm shadow-primary/5":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?A.label:void 0,"aria-label":n?A.label:void 0,children:[s.jsx(A.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!n&&s.jsx("span",{className:"truncate",children:A.label})]})]},A.id)})})()}),s.jsx("div",{className:J("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?s.jsx("div",{className:"flex justify-center",children:s.jsx("span",{className:J("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",p?p.engine_reachable?p.brain&&!p.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500":"bg-red-500"),title:p?p.engine_reachable?p.brain&&!p.brain.ready?`Hirn offline (${p.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):s.jsxs("div",{className:"space-y-2 text-left",children:[p?s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx("span",{className:J("h-2 w-2 rounded-full animate-pulse",p.engine_reachable?"bg-emerald-500":"bg-amber-500")}),s.jsxs("span",{className:"truncate",children:["Engine ",p.engine_reachable?"online":"offline"]})]}),p.brain&&!p.brain.ready&&s.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${p.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[s.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),s.jsxs("span",{className:"truncate",children:["Hirn offline",p.brain.model?` (${p.brain.model})`:""]})]})]}):s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",s.jsx("span",{className:"truncate",children:"Backend offline"})]}),(v==null?void 0:v.versions)&&s.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[s.jsxs("div",{className:"truncate",title:v.versions.mc2?`${v.versions.mc2.branch}-${v.versions.mc2.hash}${v.versions.mc2.dirty?"*":""} (${v.versions.mc2.date})`:"nicht gefunden",children:[s.jsx("strong",{children:"MC2:"})," ",v.versions.mc2?`${v.versions.mc2.hash}${v.versions.mc2.dirty?"*":""}`:"—"]}),s.jsxs("div",{className:"truncate",title:((N=v.versions.engine)==null?void 0:N.type)==="git"?`${v.versions.engine.branch}-${v.versions.engine.hash}${v.versions.engine.dirty?"*":""} (${v.versions.engine.date})`:((w=v.versions.engine)==null?void 0:w.version_text)||"unbekannt",children:[s.jsx("strong",{children:"Engine:"})," ",((k=v.versions.engine)==null?void 0:k.type)==="git"?`${v.versions.engine.hash}${v.versions.engine.dirty?"*":""}`:((E=(S=v.versions.engine)==null?void 0:S.version_text)==null?void 0:E.split(" ").pop())||"—"]}),s.jsxs("div",{className:"truncate",title:v.versions.hermes_agent?`${v.versions.hermes_agent.branch}-${v.versions.hermes_agent.hash}${v.versions.hermes_agent.dirty?"*":""} (${v.versions.hermes_agent.date})`:"nicht gefunden",children:[s.jsx("strong",{children:"Hermes Agent:"})," ",v.versions.hermes_agent?`${v.versions.hermes_agent.hash}${v.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]}),s.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[s.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-6 bg-card/20 backdrop-blur-sm",children:[s.jsx("div",{className:"text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:b.hint}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(cE,{}),s.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),s.jsxs("button",{onClick:()=>{const C=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(C)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[s.jsx(VM,{className:"h-3.5 w-3.5"}),s.jsx("span",{children:"Suchen"}),s.jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:"⌘K"})]})]})]}),s.jsxs("main",{className:"flex-1 overflow-y-auto p-6 scrollbar-thin",children:[e==="dashboard"&&s.jsx(qX,{onNavigate:C=>r(C)}),e==="auftraege"&&s.jsx(eJ,{}),e==="models"&&s.jsx(UL,{}),e==="connect"&&s.jsx(yE,{}),e==="memory"&&s.jsx(bE,{}),e==="wissen"&&s.jsx(fJ,{}),e==="chronik"&&s.jsx(cJ,{}),e==="agent"&&s.jsx(wE,{}),e==="konsole"&&s.jsx(qL,{}),e==="guide"&&s.jsx(YL,{}),!["dashboard","auftraege","models","connect","memory","wissen","chronik","agent","konsole","guide"].includes(e)&&s.jsx(ZL,{title:b.label,hint:b.hint})]})]})]})}class pJ extends _x.Component{constructor(){super(...arguments);ns(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}componentDidCatch(r,n){console.error("Unbehandelter UI-Fehler:",r,n.componentStack)}render(){return this.state.error?s.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:s.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[s.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),s.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),s.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const gJ=new xM({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});G_.createRoot(document.getElementById("root")).render(s.jsx(_x.StrictMode,{children:s.jsx(pJ,{children:s.jsx(yM,{client:gJ,children:s.jsx(mJ,{})})})}));export{_x as R,D2 as a,J7 as b,Wc as c,S2 as d,ho as e,Ox as g,Gf as i,s as j,E2 as m,O0 as o,x as r}; diff --git a/frontend/dist/index.html b/frontend/dist/index.html index bf9d862..86518d2 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -1,16 +1,16 @@ - - - - - - - - - Mission Control 2.0 - + + + + + + + + + Mission Control 2.0 + - - -
- - + + +
+ + diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts index 28e7668..2af3501 100644 --- a/frontend/src/lib/api.ts +++ b/frontend/src/lib/api.ts @@ -475,6 +475,24 @@ export interface AuftragsbuchResp { open_count: number } +// ── Ideen-Queue (natives Hermes-Kanban) ────────────────────────────────────── +export interface IdeenItem { + id: string + titel: string + body: string + status: string // triage | todo | ready | running | blocked | review | done + assignee: string | null + erstellt: number | null + fertig: number | null + von: string | null +} +export interface IdeenResp { + available: boolean + items: IdeenItem[] + offen: number + fehler?: string +} + // ── Chronik (Timeline aus dem Melde-Briefkasten) ───────────────────────────── export interface ChronikItem { id: number diff --git a/frontend/src/lib/queries.ts b/frontend/src/lib/queries.ts index e9c6ca5..bec00c6 100644 --- a/frontend/src/lib/queries.ts +++ b/frontend/src/lib/queries.ts @@ -15,6 +15,7 @@ import { type GroupsResp, type HermesBrainResp, type Health, + type IdeenResp, type Job, type Memory, type MemoryGraph, @@ -53,6 +54,7 @@ export const qk = { memoryGraph: ["memory-graph"] as const, voiceTrace: ["voice-trace"] as const, auftragsbuch: ["auftragsbuch"] as const, + ideen: ["ideen"] as const, chronik: ["chronik"] as const, wissen: ["wissen"] as const, zeitmaschine: ["zeitmaschine"] as const, @@ -68,6 +70,14 @@ export const useAuftragsbuch = (refetchInterval = 8_000) => refetchInterval, }) +// Ideen-Queue (natives Hermes-Kanban): das Backend cached ~15 s, öfter pollen lohnt nicht. +export const useIdeen = (refetchInterval = 20_000) => + useQuery({ + queryKey: qk.ideen, + queryFn: () => api("/api/ideen"), + refetchInterval, + }) + export const useChronik = (limit = 150, refetchInterval = 15_000) => useQuery({ queryKey: qk.chronik, diff --git a/frontend/src/views/AuftragsbuchView.tsx b/frontend/src/views/AuftragsbuchView.tsx index 7e019a7..eb96fd0 100644 --- a/frontend/src/views/AuftragsbuchView.tsx +++ b/frontend/src/views/AuftragsbuchView.tsx @@ -1,10 +1,10 @@ import { useState } from "react" import { Inbox, Check, X, GitBranch, FileDiff, Loader2, AlertTriangle, Sparkles, - ChevronDown, ChevronRight, Clock, Hammer, RefreshCw, + ChevronDown, ChevronRight, Clock, Hammer, RefreshCw, Lightbulb, Send, } from "lucide-react" -import { api, type AuftragItem, type SkillKandidat } from "@/lib/api" -import { useAuftragsbuch, useQueryClient, qk } from "@/lib/queries" +import { api, type AuftragItem, type IdeenItem, type SkillKandidat } from "@/lib/api" +import { useAuftragsbuch, useIdeen, useQueryClient, qk } from "@/lib/queries" import { useDialog } from "@/lib/useDialog" import { cn } from "@/lib/utils" @@ -98,6 +98,8 @@ export function AuftragsbuchView() { )} + + {items.length > 0 && (
Fertige Patches ({items.length}) @@ -129,6 +131,134 @@ function SectionLabel({ icon: Icon, children }: { icon: any; children: React.Rea ) } +// ── Ideen-Queue (natives Hermes-Kanban) ────────────────────────────────────── +// Eine Queue, drei Türen (Zentrale/Telegram/Lucy). Idee rein → die Box arbeitet sie +// selbst aus (Specifier) und baut (Werkstatt-Profil) → Code kommt als Karte zurück. + +const IDEEN_STATE: Record = { + triage: { label: "wird ausgearbeitet …", cls: "text-violet-300 border-violet-500/40 bg-violet-500/10", spin: true }, + todo: { label: "wartet", cls: "text-muted-foreground border-border/60 bg-background/30" }, + scheduled: { label: "geplant", cls: "text-muted-foreground border-border/60 bg-background/30" }, + ready: { label: "wartet", cls: "text-muted-foreground border-border/60 bg-background/30" }, + running: { label: "in Arbeit …", cls: "text-sky-300 border-sky-500/40 bg-sky-500/10", spin: true }, + review: { label: "im Review", cls: "text-amber-300 border-amber-500/40 bg-amber-500/10" }, + blocked: { label: "hängt — braucht dich", cls: "text-red-300 border-red-500/40 bg-red-500/10" }, + done: { label: "fertig ✓", cls: "text-emerald-300 border-emerald-500/40 bg-emerald-500/10" }, +} + +function IdeenSection() { + const { data, isLoading } = useIdeen() + const qc = useQueryClient() + const { showAlert, dialogElement } = useDialog() + const [text, setText] = useState("") + const [sending, setSending] = useState(false) + const [busy, setBusy] = useState>({}) + + const items = data?.items ?? [] + const reload = () => qc.invalidateQueries({ queryKey: qk.ideen }) + + async function submit() { + const t = text.trim() + if (t.length < 3 || sending) return + setSending(true) + try { + // Lange Eingaben: Kurzfassung als Titel, alles als Notiz — der Specifier der Box + // macht daraus ohnehin einen sauberen Auftrag. + const titel = t.length > 160 ? t.slice(0, 157) + "…" : t + await api("/api/ideen", { method: "POST", body: JSON.stringify({ titel, notiz: t.length > 160 ? t : "" }) }) + setText("") + reload() + } catch (e: any) { + showAlert("Das hat nicht geklappt", String(e?.message || e)) + } finally { + setSending(false) + } + } + + async function archive(id: string) { + setBusy((b) => ({ ...b, [id]: true })) + try { + await api("/api/ideen/archivieren", { method: "POST", body: JSON.stringify({ id }) }) + reload() + } catch (e: any) { + showAlert("Das hat nicht geklappt", String(e?.message || e)) + } finally { + setBusy((b) => ({ ...b, [id]: false })) + } + } + + // Windows-Dev / Queue nicht verfügbar → Sektion still weglassen (wie der Rest der Seite). + if (data && !data.available) return null + + return ( +
+ + Ideen-Queue{data ? ` — ${data.offen} offen` : ""} + +
+
+ setText(e.target.value)} + onKeyDown={(e) => { if (e.key === "Enter") submit() }} + placeholder="Neue Idee — einfach hinschreiben, die Box macht den Rest" + className="h-9 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none" + /> + +
+

+ Eine Queue, alle Türen: hier, per Telegram oder im Gespräch mit Lucy. Die Box arbeitet Ideen selbst + aus und baut — Code-Ergebnisse erscheinen als Karte unter „Fertige Patches", nichts davon geht ohne + deinen Klick live. Nur reine Doku-Bagatellen zieht die Box nachts selbst ein (mit Fangnetz und Meldung). +

+ + {isLoading && ( +

Queue wird geladen …

+ )} + {data?.fehler && ( +

Queue gerade nicht lesbar — neuer Versuch läuft.

+ )} + + {items.length > 0 && ( +
    + {items.map((it: IdeenItem) => { + const ui = IDEEN_STATE[it.status] ?? { label: it.status, cls: "text-muted-foreground border-border/60 bg-background/30" } + return ( +
  • + + {ui.spin && } + {ui.label} + + {it.titel} + {fmtWhen(it.erstellt)} + {(it.status === "done" || it.status === "blocked") && ( + + )} +
  • + ) + })} +
+ )} + {data?.available && !isLoading && items.length === 0 && ( +

Queue ist leer — wirf der Box eine Idee zu.

+ )} +
+ {dialogElement} +
+ ) +} + function StateBadge({ item }: { item: AuftragItem }) { const st = item.status if (!st) return null diff --git a/mcp/mcp_voice.py b/mcp/mcp_voice.py index 54e7289..415a1ee 100644 --- a/mcp/mcp_voice.py +++ b/mcp/mcp_voice.py @@ -96,5 +96,25 @@ def box_status() -> str: return "\n".join(lines) +@mcp.tool() +def idee_notieren(titel: str, notiz: str = "") -> str: + """Legt eine Idee/einen Auftrag des Commanders in die Ideen-Queue der Box. Nutzen, sobald + der Commander eine Idee für später äußert ('wäre cool wenn …', 'bau mal irgendwann …', + 'die Box soll …') — NICHT nur versprechen. Die Box arbeitet die Idee selbst aus und baut; + das Ergebnis erscheint als Karte im Auftragsbuch, dort entscheidet der Commander. + titel = kurze deutsche Überschrift; notiz = seine Worte plus nötiger Kontext.""" + try: + r = _post("/api/ideen", {"titel": titel, "notiz": notiz}) + except httpx.HTTPStatusError as e: + try: + detail = e.response.json().get("detail", "") + except Exception: + detail = e.response.text[:200] + return f"Fehlgeschlagen: {detail}" + except Exception as exc: + return f"Queue nicht erreichbar ({exc})." + return f"Idee ist in der Queue ({r.get('id', '?')}). Die Box arbeitet sie von allein ab." + + if __name__ == "__main__": mcp.run()