diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 00e74315..8257bcb0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,13 +1,13 @@ { - "name": "claude-pilot", + "name": "pilot-shell", "build": { "dockerfile": "Dockerfile" }, "runArgs": [ "--name", - "claude-pilot" + "pilot-shell" ], - "workspaceFolder": "/workspaces/claude-pilot", + "workspaceFolder": "/workspaces/pilot-shell", "customizations": { "vscode": { "extensions": [ @@ -87,7 +87,7 @@ /* https://github.com/jungaretti/features/tree/main/src/ripgrep */ "ghcr.io/jungaretti/features/ripgrep:1": {} }, - "postCreateCommand": "curl -fsSL https://raw.githubusercontent.com/maxritter/claude-pilot/main/install.sh | bash", + "postCreateCommand": "curl -fsSL https://raw.githubusercontent.com/maxritter/pilot-shell/main/install.sh | bash", "remoteUser": "root", "containerUser": "root" } diff --git a/.gitattributes b/.gitattributes index b6d249bb..a74ce44c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ launcher/** filter=git-crypt diff=git-crypt +launcher/**/__init__.py !filter !diff docs/site/api/** filter=git-crypt diff=git-crypt .gitattributes !filter !diff diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 755610e3..3f4599f8 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -8,6 +8,12 @@ set -eo pipefail +# --- Skip in worktrees (spec workflow commits are squash-merged later) --- +if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] && \ + [ "$(git rev-parse --git-dir)" != ".git" ]; then + exit 0 +fi + # --- 1. Python unit tests --- LAUNCHER_CHANGED=$(git diff --cached --name-only -- 'launcher/' 'pilot/hooks/' | head -1) INSTALLER_CHANGED=$(git diff --cached --name-only -- 'installer/' | head -1) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index f63e369e..5bec0310 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -33,6 +33,6 @@ Paste any error messages or logs here ## Checklist -- [ ] I am using the latest version of Claude Pilot +- [ ] I am using the latest version of Pilot Shell - [ ] I have searched existing issues to avoid duplicates - [ ] I can reproduce this consistently with the steps above diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index cfb47d15..dcd4890f 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: Feature Requests - url: https://claude-pilot.com/#pricing + url: https://pilot-shell.com/#pricing about: Feature requests are available on the Team plan. Visit our pricing page for details. diff --git a/CHANGELOG.md b/CHANGELOG.md index 89ac2c4b..ce5c4049 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable changes to Claude Pilot will be documented in this file. +All notable changes to Pilot Shell will be documented in this file. ## [6.11.0] - 2026-02-24 @@ -434,7 +434,7 @@ All notable changes to Claude Pilot will be documented in this file. - Rebuild console assets with latest changes - Address code review findings - Stale session cleanup, context hook, install docs, and CI pipeline -- Continue reworking towards Claude Pilot Console +- Continue reworking towards Pilot Shell Console ### Features @@ -543,13 +543,13 @@ All notable changes to Claude Pilot will be documented in this file. ### BREAKING CHANGES -- Major workflow changes for Claude Pilot v6.0 -- Project renamed from Claude CodePro to Claude Pilot +- Major workflow changes for Pilot Shell v6.0 +- Project renamed from Claude CodePro to Pilot Shell ### Features - Add multi-pass plan verification and installer auto-version -- Renamed Project to Claude Pilot +- Renamed Project to Pilot Shell ### Bug Fixes diff --git a/LICENSE b/LICENSE index 25e2079a..428072f0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -CLAUDE PILOT SOFTWARE LICENSE AGREEMENT +PILOT SHELL SOFTWARE LICENSE AGREEMENT Copyright (C) 2026 Max Ritter (@maxritter). All rights reserved. @@ -13,9 +13,9 @@ OF THIS LICENSE AGREEMENT. IF YOU DO NOT AGREE, DO NOT USE THE SOFTWARE. 1. DEFINITIONS "Licensor" means Max Ritter (@maxritter), the sole copyright holder and -developer of Claude Pilot. +developer of Pilot Shell. -"Software" means Claude Pilot in its entirety, including but not limited to all +"Software" means Pilot Shell in its entirety, including but not limited to all source code, object code, compiled binaries, scripts, configuration files, rules, skills, commands, hooks, plugins, documentation, assets, user interface components, and any updates, patches, or modifications provided by the Licensor. @@ -31,7 +31,7 @@ to the Cython-compiled launcher binary. this Agreement. "Subscription" means an active, paid license purchased from the Licensor through -the official channels at https://claude-pilot.com, or a valid trial +the official channels at https://pilot-shell.com, or a valid trial period that has not expired. "Output" means any code, artifacts, configurations, files, extensions, or other @@ -166,7 +166,7 @@ beyond those expressly stated in Section 2 of this Agreement. (a) USE OF THE SOFTWARE BEYOND THE TRIAL PERIOD REQUIRES AN ACTIVE SUBSCRIPTION. Subscription terms, pricing, and payment terms are as - published at https://claude-pilot.com and may be updated by the + published at https://pilot-shell.com and may be updated by the Licensor from time to time. (b) FAILURE TO MAINTAIN an active Subscription terminates Your rights under @@ -266,12 +266,12 @@ CLAIM. (h) NOTICES. All notices required or permitted under this Agreement shall be directed to the Licensor through the official channels published at - https://claude-pilot.com. + https://pilot-shell.com. ================================================================================ -For licensing inquiries: https://claude-pilot.com -For bug reports (Trial & Solo): https://github.com/maxritter/claude-pilot/issues +For licensing inquiries: https://pilot-shell.com +For bug reports (Trial & Solo): https://github.com/maxritter/pilot-shell/issues For priority support & feature requests (Team): mail@maxritter.net ================================================================================ diff --git a/README.md b/README.md index ac53b272..e0e9406b 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,27 @@
-Claude Pilot +Pilot Shell -### Claude Code is powerful. Pilot makes it reliable. +### Claude Code is powerful. Pilot Shell makes it reliable. Start a task, grab a coffee, come back to production-grade code.
**Tests enforced. Context preserved. Quality automated.** -[![Stars](https://img.shields.io/github/stars/maxritter/claude-pilot?style=flat&color=F59E0B)](https://github.com/maxritter/claude-pilot/stargazers) -[![Star History](https://img.shields.io/badge/Star_History-chart-8B5CF6)](https://star-history.com/#maxritter/claude-pilot&Date) -[![Downloads](https://img.shields.io/github/downloads/maxritter/claude-pilot/total?color=3B82F6)](https://github.com/maxritter/claude-pilot/releases) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-10B981.svg)](https://github.com/maxritter/claude-pilot/pulls) +[![Stars](https://img.shields.io/github/stars/maxritter/pilot-shell?style=flat&color=F59E0B)](https://github.com/maxritter/pilot-shell/stargazers) +[![Star History](https://img.shields.io/badge/Star_History-chart-8B5CF6)](https://star-history.com/#maxritter/pilot-shell&Date) +[![Downloads](https://img.shields.io/github/downloads/maxritter/pilot-shell/total?color=3B82F6)](https://github.com/maxritter/pilot-shell/releases) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-10B981.svg)](https://github.com/maxritter/pilot-shell/pulls) -โญ [Star this repo](https://github.com/maxritter/claude-pilot) ยท ๐ŸŒ [Website](https://claude-pilot.com) ยท ๐Ÿ”” [Follow for updates](https://www.linkedin.com/in/rittermax/) ยท ๐Ÿ“‹ [Changelog](https://pilot.openchangelog.com/) ยท ๐Ÿ“„ [License](LICENSE) +โญ [Star this repo](https://github.com/maxritter/pilot-shell) ยท ๐ŸŒ [Website](https://pilot-shell.com) ยท ๐Ÿ”” [Follow for updates](https://www.linkedin.com/in/rittermax/) ยท ๐Ÿ“‹ [Changelog](https://pilot.openchangelog.com/) ยท ๐Ÿ“„ [License](LICENSE)
```bash -curl -fsSL https://raw.githubusercontent.com/maxritter/claude-pilot/main/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/maxritter/pilot-shell/main/install.sh | bash ``` **Works on macOS, Linux, and Windows (WSL2).** -
- -Claude Pilot Demo -
--- @@ -36,7 +32,7 @@ I'm a senior IT freelancer from Germany. My clients hire me to ship production-q Claude Code writes code fast. But without structure, it skips tests, loses context, and produces inconsistent results โ€” especially on complex, established codebases where there are real conventions to follow and real regressions to catch. I tried other frameworks โ€” they burned tokens on bloated prompts without adding real value. Some added process without enforcement. Others were prompt templates that Claude ignored when context got tight. None made Claude reliably produce production-grade code. -So I built Pilot. Instead of adding process on top, it bakes quality into every interaction. Linting, formatting, and type checking run as enforced hooks on every edit. TDD is mandatory, not suggested. Context is monitored and preserved across sessions. Every piece of work goes through verification before it's marked done. +So I built Pilot Shell. Instead of adding process on top, it bakes quality into every interaction. Linting, formatting, and type checking run as enforced hooks on every edit. TDD is mandatory, not suggested. Context is monitored and preserved across sessions. Every piece of work goes through verification before it's marked done. --- @@ -47,10 +43,10 @@ A full-stack project โ€” created from scratch with a single prompt, then extende
- Watch the Claude Pilot Demo + Watch the Pilot Shell Demo -**[Watch the full demo on YouTube](https://youtu.be/S7faAK931NU)** ยท **[Browse the demo repository](https://github.com/maxritter/claude-pilot-demo)** +**[Watch the full demo on YouTube](https://youtu.be/S7faAK931NU)** ยท **[Browse the demo repository](https://github.com/maxritter/pilot-shell-demo)**
@@ -60,12 +56,12 @@ Each `/spec` prompt one-shotted a complete feature โ€” plan, TDD implementation, ## Before & After -| Without Pilot | With Pilot | +| Without Pilot Shell | With Pilot Shell | | --------------------------- | --------------------------------------------------------------- | | Writes code, skips tests | TDD enforced โ€” RED, GREEN, REFACTOR on every feature | | No quality checks | Hooks auto-lint, format, type-check on every file edit | | Context degrades mid-task | Hooks preserve and restore state across compaction cycles | -| Every session starts fresh | Persistent memory across sessions via Pilot Console | +| Every session starts fresh | Persistent memory across sessions via Pilot Shell Console | | Hope it works | Verifier sub-agents perform code review before marking complete | | No codebase knowledge | Production-tested rules loaded into every session | | Generic suggestions | Coding standards activated conditionally by file type | @@ -79,7 +75,7 @@ Each `/spec` prompt one-shotted a complete feature โ€” plan, TDD implementation, There are other AI coding frameworks out there. I tried them. They add complexity โ€” dozens of agents, elaborate scaffolding, thousands of lines of instruction files โ€” but the output doesn't improve proportionally. More machinery burns more tokens, increases latency, and creates more failure modes. Complexity is not a feature. -**Pilot optimizes for output quality, not system complexity.** The rules are minimal and focused. There's no big learning curve, no project scaffolding to set up, no state files to manage. You install it in any existing project โ€” no matter how complex โ€” run `pilot`, then `/sync` to learn your codebase, and the quality guardrails are just there โ€” hooks, TDD, type checking, formatting โ€” enforced automatically on every edit, in every session. +**Pilot Shell optimizes for output quality, not system complexity.** The rules are minimal and focused. There's no big learning curve, no project scaffolding to set up, no state files to manage. You install it in any existing project โ€” no matter how complex โ€” run `pilot`, then `/sync` to learn your codebase, and the quality guardrails are just there โ€” hooks, TDD, type checking, formatting โ€” enforced automatically on every edit, in every session. This isn't a vibe coding tool. It's built for developers who ship to production and need code that actually works. Every rule in the system comes from daily professional use: real bugs caught, real regressions prevented, real sessions where the AI cut corners and the hooks stopped it. The rules are continuously refined based on what measurably improves output. @@ -97,10 +93,10 @@ The system stays fast because it stays simple. Quick mode is direct execution wi ### Installation -**Works with any existing project.** Pilot doesn't scaffold or restructure your code โ€” it installs alongside your project and adapts to your conventions. `cd` into your project folder, then run: +**Works with any existing project.** Pilot Shell doesn't scaffold or restructure your code โ€” it installs alongside your project and adapts to your conventions. `cd` into your project folder, then run: ```bash -curl -fsSL https://raw.githubusercontent.com/maxritter/claude-pilot/main/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/maxritter/pilot-shell/main/install.sh | bash ``` **Choose your environment:** @@ -108,7 +104,7 @@ curl -fsSL https://raw.githubusercontent.com/maxritter/claude-pilot/main/install - **Local Installation** โ€” Install directly on your system using Homebrew. Works on macOS, Linux, and Windows (WSL2). - **Dev Container** โ€” Pre-configured, isolated environment with all tools ready. No system conflicts and works on any OS. -After installation, run `pilot` or `ccp` in your project folder to start Claude Pilot. +After installation, run `pilot` or `ccp` in your project folder to start Pilot Shell.
What the installer does @@ -128,19 +124,19 @@ After installation, run `pilot` or `ccp` in your project folder to start Claude ### Installing a Specific Version -If the current version has issues, you can install a specific stable version (see [releases](https://github.com/maxritter/claude-pilot/releases)): +If the current version has issues, you can install a specific stable version (see [releases](https://github.com/maxritter/pilot-shell/releases)): ```bash export VERSION=6.11.0 -curl -fsSL https://raw.githubusercontent.com/maxritter/claude-pilot/main/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/maxritter/pilot-shell/main/install.sh | bash ``` ### Uninstalling -To completely remove Claude Pilot: +To completely remove Pilot Shell: ```bash -curl -fsSL https://raw.githubusercontent.com/maxritter/claude-pilot/main/uninstall.sh | bash +curl -fsSL https://raw.githubusercontent.com/maxritter/pilot-shell/main/uninstall.sh | bash ``` This removes the Pilot binary, plugin files, managed commands/rules, settings and shell aliases. @@ -151,7 +147,7 @@ This removes the Pilot binary, plugin files, managed commands/rules, settings an ### /sync โ€” Sync Rules & Standards -Run `/sync` to learn your existing codebase and sync rules with it. Explores your project structure, builds a semantic search index, discovers your conventions and undocumented patterns, updates project documentation, and creates new custom skills. This is how Pilot adapts to your project โ€” not the other way around. Run it once initially, then anytime again: +Run `/sync` to learn your existing codebase and sync rules with it. Explores your project structure, builds a semantic search index, discovers your conventions and undocumented patterns, updates project documentation, and creates new custom skills. This is how Pilot Shell adapts to your project โ€” not the other way around. Run it once initially, then anytime again: ```bash pilot @@ -237,7 +233,7 @@ Discuss โ†’ Plan โ†’ Approve โ†’ Implement โ†’ Verify โ†’ Done ### Smart Model Routing -Pilot uses the right model for each phase โ€” Opus where reasoning quality matters most, Sonnet where speed and cost matter: +Pilot Shell uses the right model for each phase โ€” Opus where reasoning quality matters most, Sonnet where speed and cost matter: | Phase | Default | Why | | --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -246,9 +242,9 @@ Pilot uses the right model for each phase โ€” Opus where reasoning quality matte | **Implementation** | Sonnet | With a solid plan, writing code is straightforward. Sonnet is fast, cost-effective, and produces high-quality code when guided by a clear spec. | | **Code Verification** | Opus | Independent code review against the plan requires the same reasoning depth as planning โ€” catching subtle bugs, logic errors, and spec deviations. | -**The insight:** Implementation is the easy part when the plan is good and verification is thorough. Pilot invests reasoning power where it has the highest impact โ€” planning and verification โ€” and uses fast execution where a clear spec makes quality predictable. +**The insight:** Implementation is the easy part when the plan is good and verification is thorough. Pilot Shell invests reasoning power where it has the highest impact โ€” planning and verification โ€” and uses fast execution where a clear spec makes quality predictable. -**Configurable:** All model assignments are configurable per-component via the Pilot Console (`localhost:41777/#/settings`). Choose between Sonnet 4.6 and Opus 4.6 for the main session, each command, and sub-agents. A global "Extended Context (1M)" toggle enables the 1M token context window across all models simultaneously. **Note:** 1M context models require a Max (20x) or Enterprise subscription โ€” not available to all users. +**Configurable:** All model assignments are configurable per-component via the Pilot Shell Console settings. Choose between Sonnet 4.6 and Opus 4.6 for the main session, each command, and sub-agents. A global "Extended Context (1M)" toggle enables the 1M token context window across all models simultaneously. **Note:** 1M context models require a Max (20x) or Enterprise subscription โ€” not available to all users. ### Quick Mode @@ -284,18 +280,18 @@ pilot ### Pilot CLI -The `pilot` binary (`~/.pilot/bin/pilot`) manages sessions, worktrees, licensing, and context. Run `pilot` or `ccp` with no arguments to start Claude with Pilot enhancements. +The `pilot` binary (`~/.pilot/bin/pilot`) manages sessions, worktrees, licensing, and context. Run `pilot` or `ccp` with no arguments to start Claude with Pilot Shell enhancements.
Session & Context | Command | Purpose | | ------------------------------------- | -------------------------------------------------------------------- | -| `pilot` | Start Claude with Pilot enhancements, auto-update, and license check | +| `pilot` | Start Claude with Pilot Shell enhancements, auto-update, and license check | | `pilot run [args...]` | Same as above, with optional flags (e.g., `--skip-update-check`) | | `pilot check-context --json` | Get current context usage percentage | | `pilot register-plan ` | Associate a plan file with the current session | -| `pilot sessions [--json]` | Show count of active Pilot sessions | +| `pilot sessions [--json]` | Show count of active Pilot Shell sessions |
@@ -327,7 +323,7 @@ The `pilot` binary (`~/.pilot/bin/pilot`) manages sessions, worktrees, licensing
-All commands support `--json` for structured output. Multiple Pilot sessions can run in parallel on the same project โ€” each session tracks its own worktree and context state independently. +All commands support `--json` for structured output. Multiple Pilot Shell sessions can run in parallel on the same project โ€” each session tracks its own worktree and context state independently. ### Rules, Commands & Skills @@ -339,7 +335,7 @@ Create your own in your project's `.claude/` folder: | **Commands** | On demand via `/command` | Specific workflows or multi-step tasks | | **Skills** | On demand, created via `/learn` | Reusable knowledge from past sessions | -Claude Pilot automatically installs best-practice rules, commands, and coding standards. Standards rules use `paths` frontmatter to activate only when you're working with matching file types (e.g., Python standards load only when editing `.py` files). Custom skills are created by `/learn` when it detects non-obvious discoveries, workarounds, or reusable workflows โ€” and can be shared across your team via `/vault`. +Pilot Shell automatically installs best-practice rules, commands, and coding standards. Standards rules use `paths` frontmatter to activate only when you're working with matching file types (e.g., Python standards load only when editing `.py` files). Custom skills are created by `/learn` when it detects non-obvious discoveries, workarounds, or reusable workflows โ€” and can be shared across your team via `/vault`. ### Custom MCP Servers @@ -357,7 +353,7 @@ Add your own MCP servers in `.mcp.json`. Run `/sync` after adding servers to gen | Hook | Type | What it does | | ------------------------- | -------- | ---------------------------------------------------------------------- | -| Memory loader | Blocking | Loads persistent context from Pilot Console memory | +| Memory loader | Blocking | Loads persistent context from Pilot Shell Console memory | | `post_compact_restore.py` | Blocking | After auto-compaction: re-injects active plan, task state, and context | | Session tracker | Async | Initializes user message tracking for the session | @@ -382,7 +378,7 @@ After **every single file edit**, these hooks fire: | Hook | Type | What it does | | ---------------- | -------- | -------------------------------------------------------------------------------------------------------- | -| `pre_compact.py` | Blocking | Captures Pilot state (active plan, task list, key context) to persistent memory before compaction fires. | +| `pre_compact.py` | Blocking | Captures Pilot Shell state (active plan, task list, key context) to persistent memory before compaction fires. | #### Stop (when Claude tries to finish) @@ -395,18 +391,18 @@ After **every single file edit**, these hooks fire: | Hook | Type | What it does | | ---------------- | -------- | -------------------------------------------------------------------------------------------------------- | -| `session_end.py` | Blocking | Stops the worker daemon when no other Pilot sessions are active. Sends real-time dashboard notification. | +| `session_end.py` | Blocking | Stops the worker daemon when no other Pilot Shell sessions are active. Sends real-time dashboard notification. | ### Context Preservation -Pilot preserves context automatically across compaction boundaries: +Pilot Shell preserves context automatically across compaction boundaries: -- `pre_compact.py` captures Pilot state (active plan, tasks, key context) to persistent memory -- `post_compact_restore.py` re-injects Pilot context after compaction โ€” agent continues seamlessly -- Multiple Pilot sessions can run in parallel on the same project without interference +- `pre_compact.py` captures Pilot Shell state (active plan, tasks, key context) to persistent memory +- `post_compact_restore.py` re-injects Pilot Shell context after compaction โ€” agent continues seamlessly +- Multiple Pilot Shell sessions can run in parallel on the same project without interference - Status line shows live context usage, memory status, active plan, and license info -**Effective context display:** Claude Code reserves ~16.5% of the context window as a compaction buffer, triggering auto-compaction at ~83.5% raw usage. Pilot rescales this to an **effective 0โ€“100% range** so the status bar fills naturally to 100% right before compaction fires. A `โ–“` buffer indicator at the end of the bar shows the reserved zone. The context monitor warns at ~80% effective (informational) and ~90%+ effective (caution) โ€” no confusing raw percentages. +**Effective context display:** Claude Code reserves ~16.5% of the context window as a compaction buffer, triggering auto-compaction at ~83.5% raw usage. Pilot Shell rescales this to an **effective 0โ€“100% range** so the status bar fills naturally to 100% right before compaction fires. A `โ–“` buffer indicator at the end of the bar shows the reserved zone. The context monitor warns at ~80% effective (informational) and ~90%+ effective (caution) โ€” no confusing raw percentages. ### Built-in Rules & Standards @@ -483,9 +479,9 @@ Real-time diagnostics and go-to-definition, auto-installed and configured: All configured via `.lsp.json` with stdio transport. -### Claude Pilot Console +### Pilot Shell Console -A local web dashboard at `localhost:41777` for monitoring and managing your Pilot sessions. +A local web dashboard at `localhost:41777` for monitoring and managing your Pilot Shell sessions. | View | What it shows | | ------------------ | ---------------------------------------------------------------------------------------- | @@ -507,7 +503,7 @@ A local web dashboard at `localhost:41777` for monitoring and managing your Pilo > "I stopped reviewing every line Claude writes. The hooks catch formatting and type errors automatically, TDD catches logic errors, and the spec verifier catches everything else. I review the plan, approve it, and the output is production-grade." -> "Other frameworks I tried added so much overhead that half my tokens went to the system itself. Pilot is lean โ€” quick mode has zero scaffolding, and even /spec only adds structure where it matters. More of my context goes to actual work." +> "Other frameworks I tried added so much overhead that half my tokens went to the system itself. Pilot Shell is lean โ€” quick mode has zero scaffolding, and even /spec only adds structure where it matters. More of my context goes to actual work." > "The persistent memory changed everything. I can pick up a project after a week and Claude already knows my architecture decisions, the bugs we fixed, and why we chose certain patterns. No more re-explaining the same context every session." @@ -515,84 +511,84 @@ A local web dashboard at `localhost:41777` for monitoring and managing your Pilo ## License -Claude Pilot is source-available under a commercial license. See the [LICENSE](LICENSE) file for full terms. +Pilot Shell is source-available under a commercial license. See the [LICENSE](LICENSE) file for full terms. | Tier | Seats | Includes | | :------- | :---- | :--------------------------------------------------------------------------- | | **Solo** | 1 | All features, continuous updates, bug reports via [GitHub Issues][gh-issues] | | **Team** | Multi | Solo + multiple seats, priority email support, feature requests | -[gh-issues]: https://github.com/maxritter/claude-pilot/issues +[gh-issues]: https://github.com/maxritter/pilot-shell/issues -Details and licensing at [claude-pilot.com](https://claude-pilot.com). +Details and licensing at [pilot-shell.com](https://pilot-shell.com). --- ## FAQ
-Does Pilot send my code or data to external services? +Does Pilot Shell send my code or data to external services? -**No code, files, prompts, project data, or personal information ever leaves your machine through Pilot.** All development tools โ€” vector search (Vexor), persistent memory (Pilot Console), session state, and quality hooks โ€” run entirely locally. +**No code, files, prompts, project data, or personal information ever leaves your machine through Pilot Shell.** All development tools โ€” vector search (Vexor), persistent memory (Pilot Shell Console), session state, and quality hooks โ€” run entirely locally. -Pilot makes external calls **only for licensing**. Here is the complete list: +Pilot Shell makes external calls **only for licensing**. Here is the complete list: | When | Where | What is sent | | --------------------------------- | ------------------ | ---------------------------------- | | License validation (once per 24h) | `api.polar.sh` | License key, organization ID | | License activation (once) | `api.polar.sh` | License key, machine fingerprint | -| Trial start (once) | `claude-pilot.com` | Hashed hardware fingerprint | +| Trial start (once) | `pilot-shell.com` | Hashed hardware fingerprint | -That's it โ€” three calls total, each sent at most once (validation re-checks daily). No OS, no architecture, no Python version, no locale, no analytics, no heartbeats. The validation result is cached locally, and Pilot works fully offline for up to 7 days between checks. Beyond these licensing calls, the only external communication is between Claude Code and Anthropic's API โ€” using your own subscription or API key. +That's it โ€” three calls total, each sent at most once (validation re-checks daily). No OS, no architecture, no Python version, no locale, no analytics, no heartbeats. The validation result is cached locally, and Pilot Shell works fully offline for up to 7 days between checks. Beyond these licensing calls, the only external communication is between Claude Code and Anthropic's API โ€” using your own subscription or API key.
-Is Pilot enterprise-compliant for data privacy? +Is Pilot Shell enterprise-compliant for data privacy? -Yes. Your source code, project files, and development context never leave your machine through Pilot. The only external calls are license validation (daily, license key only) and one-time activation/trial start (machine fingerprint only). No OS info, no version strings, no analytics, no telemetry. Enterprises using Claude Code with their own API key or Anthropic Enterprise subscription can add Pilot without changing their data compliance posture. +Yes. Your source code, project files, and development context never leave your machine through Pilot Shell. The only external calls are license validation (daily, license key only) and one-time activation/trial start (machine fingerprint only). No OS info, no version strings, no analytics, no telemetry. Enterprises using Claude Code with their own API key or Anthropic Enterprise subscription can add Pilot Shell without changing their data compliance posture.
-What are the licenses of Pilot's dependencies? +What are the licenses of Pilot Shell's dependencies? -All external tools and dependencies that Pilot installs and uses are open source with permissive licenses (MIT, Apache 2.0, BSD). This includes ruff, basedpyright, Prettier, ESLint, gofmt, uv, Vexor, playwright-cli, and all MCP servers. No copyleft or restrictive-licensed dependencies are introduced into your environment. +All external tools and dependencies that Pilot Shell installs and uses are open source with permissive licenses (MIT, Apache 2.0, BSD). This includes ruff, basedpyright, Prettier, ESLint, gofmt, uv, Vexor, playwright-cli, and all MCP servers. No copyleft or restrictive-licensed dependencies are introduced into your environment.
Do I need a separate Anthropic subscription? -Yes. Pilot enhances Claude Code โ€” it doesn't replace it. You need an active Claude subscription โ€” [Max 5x or 20x](https://claude.com/pricing) for solo developers, or [Team Premium](https://claude.com/pricing) for teams and companies. Using the Anthropic API directly is also possible but may lead to much higher costs. Pilot adds quality automation on top of whatever Claude Code access you already have. +Yes. Pilot Shell enhances Claude Code โ€” it doesn't replace it. You need an active Claude subscription โ€” [Max 5x or 20x](https://claude.com/pricing) for solo developers, or [Team Premium](https://claude.com/pricing) for teams and companies. Using the Anthropic API directly is also possible but may lead to much higher costs. Pilot Shell adds quality automation on top of whatever Claude Code access you already have.
-Does Pilot work with existing projects? +Does Pilot Shell work with existing projects? -Yes โ€” that's the primary use case. Pilot doesn't scaffold or restructure your code. You install it, run `/sync`, and it explores your codebase to discover your tech stack, conventions, and patterns. From there, every session has full context about your project. The more complex and established your codebase, the more value Pilot adds โ€” quality hooks catch regressions, persistent memory preserves decisions across sessions, and `/spec` plans features against your real architecture. +Yes โ€” that's the primary use case. Pilot Shell doesn't scaffold or restructure your code. You install it, run `/sync`, and it explores your codebase to discover your tech stack, conventions, and patterns. From there, every session has full context about your project. The more complex and established your codebase, the more value Pilot Shell adds โ€” quality hooks catch regressions, persistent memory preserves decisions across sessions, and `/spec` plans features against your real architecture.
-Does Pilot work with any programming language? +Does Pilot Shell work with any programming language? -Pilot's quality hooks (auto-formatting, linting, type checking) currently support Python, TypeScript/JavaScript, and Go out of the box. TDD enforcement, spec-driven development, persistent memory, context preservation hooks, and all rules and standards work with any language that Claude Code supports. You can add custom hooks for additional languages. +Pilot Shell's quality hooks (auto-formatting, linting, type checking) currently support Python, TypeScript/JavaScript, and Go out of the box. TDD enforcement, spec-driven development, persistent memory, context preservation hooks, and all rules and standards work with any language that Claude Code supports. You can add custom hooks for additional languages.
-Can I use Pilot on multiple projects? +Can I use Pilot Shell on multiple projects? -Yes. Pilot installs once and works across all your projects. Each project can have its own `.claude/` rules, custom skills, and MCP servers. Run `/sync` in each project to generate project-specific documentation and standards. +Yes. Pilot Shell installs once and works across all your projects. Each project can have its own `.claude/` rules, custom skills, and MCP servers. Run `/sync` in each project to generate project-specific documentation and standards.
Can I add my own rules, commands, and skills? -Yes. Create your own in your project's `.claude/` folder โ€” rules, commands, and skills are all plain markdown files. Your project-level assets are loaded alongside Pilot's built-in defaults and take precedence when they overlap. `/sync` auto-discovers your codebase patterns and generates project-specific rules for you. `/learn` extracts reusable knowledge from sessions into custom skills. Hooks can be extended for additional languages. Use `/vault` to share your custom assets across your team. +Yes. Create your own in your project's `.claude/` folder โ€” rules, commands, and skills are all plain markdown files. Your project-level assets are loaded alongside Pilot Shell's built-in defaults and take precedence when they overlap. `/sync` auto-discovers your codebase patterns and generates project-specific rules for you. `/learn` extracts reusable knowledge from sessions into custom skills. Hooks can be extended for additional languages. Use `/vault` to share your custom assets across your team.
@@ -606,14 +602,14 @@ See the full changelog at [pilot.openchangelog.com](https://pilot.openchangelog. ## Contributing -**Pull Requests** โ€” New features, improvements, and bug fixes are welcome. You can improve Pilot with Pilot โ€” a self-improving loop where your contributions make the tool that makes contributions better. +**Pull Requests** โ€” New features, improvements, and bug fixes are welcome. You can improve Pilot Shell with Pilot Shell โ€” a self-improving loop where your contributions make the tool that makes contributions better. -**Bug Reports** โ€” Found a bug? [Open an issue](https://github.com/maxritter/claude-pilot/issues) on GitHub. +**Bug Reports** โ€” Found a bug? [Open an issue](https://github.com/maxritter/pilot-shell/issues) on GitHub. ---
-**Claude Code is powerful. Pilot makes it reliable.** +**Claude Code is powerful. Pilot Shell makes it reliable.**
diff --git a/cliff.toml b/cliff.toml index d6f5b367..d28d6f04 100644 --- a/cliff.toml +++ b/cliff.toml @@ -1,4 +1,4 @@ -# git-cliff configuration for Claude Pilot +# git-cliff configuration for Pilot Shell # https://git-cliff.org/docs/configuration [changelog] @@ -6,7 +6,7 @@ header = """ # Changelog -All notable changes to Claude Pilot will be documented in this file. +All notable changes to Pilot Shell will be documented in this file. """ # Body template - Keep a Changelog format diff --git a/console/package.json b/console/package.json index 7c6aba0d..3fbcb183 100644 --- a/console/package.json +++ b/console/package.json @@ -1,7 +1,7 @@ { "name": "pilot-console", "version": "6.11.0", - "description": "Memory system for Claude Pilot - persistent context and observations", + "description": "Memory system for Pilot Shell - persistent context and observations", "type": "module", "private": true, "engines": { diff --git a/console/src/services/worker-service.ts b/console/src/services/worker-service.ts index 359ab619..6fb7c083 100644 --- a/console/src/services/worker-service.ts +++ b/console/src/services/worker-service.ts @@ -765,7 +765,7 @@ async function main() { logger.error("SYSTEM", "License verification failed"); exitWithStatus( "error", - "UNLICENSED: Using Claude Pilot without a valid license is not permitted. Subscribe at https://claude-pilot.com then run: pilot activate ", + "UNLICENSED: Using Pilot Shell without a valid license is not permitted. Subscribe at https://pilot-shell.com then run: pilot activate ", ); } diff --git a/console/src/services/worker/http/routes/utils/planFileReader.ts b/console/src/services/worker/http/routes/utils/planFileReader.ts index dd1a8a3c..966a7fa9 100644 --- a/console/src/services/worker/http/routes/utils/planFileReader.ts +++ b/console/src/services/worker/http/routes/utils/planFileReader.ts @@ -165,6 +165,35 @@ function getAllPlansDirs(projectRoot: string): string[] { return dirs; } +/** + * Deduplicate plans by name. When the same plan exists in both the main + * docs/plans/ dir and a .worktrees/ copy, keep the worktree version + * (that's where active work happens). For same-source duplicates, keep + * the most recently modified. + */ +export function deduplicatePlans(plans: PlanInfo[]): PlanInfo[] { + const byName = new Map(); + for (const plan of plans) { + const existing = byName.get(plan.name); + if (!existing) { + byName.set(plan.name, plan); + continue; + } + const planIsWorktree = plan.filePath.includes("/.worktrees/"); + const existingIsWorktree = existing.filePath.includes("/.worktrees/"); + if (planIsWorktree && !existingIsWorktree) { + byName.set(plan.name, plan); + } else if (!planIsWorktree && existingIsWorktree) { + } else if ( + new Date(plan.modifiedAt).getTime() > + new Date(existing.modifiedAt).getTime() + ) { + byName.set(plan.name, plan); + } + } + return Array.from(byName.values()); +} + export function getActivePlans(projectRoot: string): PlanInfo[] { const today = new Date(); today.setHours(0, 0, 0, 0); @@ -209,7 +238,7 @@ export function getActivePlans(projectRoot: string): PlanInfo[] { } } - return activePlans; + return deduplicatePlans(activePlans); } export function getAllPlans(projectRoot: string): PlanInfo[] { @@ -219,7 +248,7 @@ export function getAllPlans(projectRoot: string): PlanInfo[] { allPlans.push(...scanPlansDir(plansDir)); } - return allPlans + return deduplicatePlans(allPlans) .sort( (a, b) => new Date(b.modifiedAt).getTime() - new Date(a.modifiedAt).getTime(), @@ -234,7 +263,7 @@ export function getActiveSpecs(projectRoot: string): PlanInfo[] { allPlans.push(...scanPlansDir(plansDir)); } - return allPlans.sort( + return deduplicatePlans(allPlans).sort( (a, b) => new Date(b.modifiedAt).getTime() - new Date(a.modifiedAt).getTime(), ); @@ -251,12 +280,14 @@ export function getPlanStats(projectRoot: string): { completionTimeline: Array<{ date: string; count: number }>; recentlyVerified: Array<{ name: string; verifiedAt: string }>; } { - const allPlans: PlanInfo[] = []; + const rawPlans: PlanInfo[] = []; for (const plansDir of getAllPlansDirs(projectRoot)) { - allPlans.push(...scanPlansDir(plansDir)); + rawPlans.push(...scanPlansDir(plansDir)); } + const allPlans = deduplicatePlans(rawPlans); + if (allPlans.length === 0) { return { totalSpecs: 0, diff --git a/console/src/ui/viewer/App.tsx b/console/src/ui/viewer/App.tsx index 156c82ab..7eb4045a 100644 --- a/console/src/ui/viewer/App.tsx +++ b/console/src/ui/viewer/App.tsx @@ -105,7 +105,7 @@ export function App() {
@@ -117,7 +117,7 @@ export function App() { return (
diff --git a/console/src/ui/viewer/components/ActivationModal.tsx b/console/src/ui/viewer/components/ActivationModal.tsx index 3de57ea1..b0507f61 100644 --- a/console/src/ui/viewer/components/ActivationModal.tsx +++ b/console/src/ui/viewer/components/ActivationModal.tsx @@ -68,12 +68,12 @@ export function ActivationModal({ open, onClose, onActivated }: ActivationModalP

Don't have a key? Get one at{' '} - claude-pilot.com + pilot-shell.com

diff --git a/console/src/ui/viewer/components/Header.tsx b/console/src/ui/viewer/components/Header.tsx index 84d473f2..d1fa8468 100644 --- a/console/src/ui/viewer/components/Header.tsx +++ b/console/src/ui/viewer/components/Header.tsx @@ -35,7 +35,7 @@ export function Header({ Claude Pilot {queueDepth > 0 && ( @@ -44,11 +44,11 @@ export function Header({
)} - Claude Pilot + Pilot Shell
@@ -91,7 +91,7 @@ export function LicenseGate({ license, onActivated }: LicenseGateProps) {
or
Visit{' '} - claude-pilot.com + pilot-shell.com - {' '}to learn more about Claude Pilot. + {' '}to learn more about Pilot Shell.

diff --git a/console/src/ui/viewer/hooks/useTheme.ts b/console/src/ui/viewer/hooks/useTheme.ts index 98e2e283..9d4068f8 100644 --- a/console/src/ui/viewer/hooks/useTheme.ts +++ b/console/src/ui/viewer/hooks/useTheme.ts @@ -30,7 +30,7 @@ function resolveTheme(preference: ThemePreference): ResolvedTheme { } function getThemeName(theme: ResolvedTheme): string { - return theme === 'dark' ? 'claude-pilot' : 'claude-pilot-light'; + return theme === 'dark' ? 'pilot-shell' : 'pilot-shell-light'; } export function useTheme() { diff --git a/console/src/ui/viewer/index.html b/console/src/ui/viewer/index.html index 9700c94e..e68a930d 100644 --- a/console/src/ui/viewer/index.html +++ b/console/src/ui/viewer/index.html @@ -3,7 +3,7 @@ - Claude Pilot Console + Pilot Shell Console diff --git a/console/src/ui/viewer/layouts/DashboardLayout.tsx b/console/src/ui/viewer/layouts/DashboardLayout.tsx index c5164ba2..eb49a65e 100644 --- a/console/src/ui/viewer/layouts/DashboardLayout.tsx +++ b/console/src/ui/viewer/layouts/DashboardLayout.tsx @@ -1,14 +1,14 @@ -import React from 'react'; -import { Sidebar } from './Sidebar'; -import { Topbar } from './Topbar'; +import React from "react"; +import { Sidebar } from "./Sidebar"; +import { Topbar } from "./Topbar"; interface DashboardLayoutProps { children: React.ReactNode; currentPath: string; - workerStatus: 'online' | 'offline' | 'processing'; + workerStatus: "online" | "offline" | "processing"; version?: string; queueDepth?: number; - theme: 'light' | 'dark'; + theme: "light" | "dark"; onToggleTheme: () => void; onToggleLogs?: () => void; sidebarCollapsed: boolean; @@ -27,10 +27,10 @@ export function DashboardLayout({ sidebarCollapsed, onToggleSidebar, }: DashboardLayoutProps) { - const themeName = theme === 'dark' ? 'claude-pilot' : 'claude-pilot-light'; + const themeName = theme === "dark" ? "pilot-shell" : "pilot-shell-light"; return ( -
+
-
+
-
- {children} -
+
{children}
); diff --git a/console/src/ui/viewer/layouts/Sidebar/SidebarFooter.tsx b/console/src/ui/viewer/layouts/Sidebar/SidebarFooter.tsx index c3f93e21..a77cebb7 100644 --- a/console/src/ui/viewer/layouts/Sidebar/SidebarFooter.tsx +++ b/console/src/ui/viewer/layouts/Sidebar/SidebarFooter.tsx @@ -21,7 +21,7 @@ export function SidebarFooter({ workerStatus, version, queueDepth = 0, collapsed if (collapsed) { return (
- +
{versionLabel && (
- Claude Pilot {versionLabel} + Pilot Shell {versionLabel}
)}
diff --git a/console/src/ui/viewer/layouts/Sidebar/SidebarLogo.tsx b/console/src/ui/viewer/layouts/Sidebar/SidebarLogo.tsx index ad2956ba..ea17f762 100644 --- a/console/src/ui/viewer/layouts/Sidebar/SidebarLogo.tsx +++ b/console/src/ui/viewer/layouts/Sidebar/SidebarLogo.tsx @@ -1,7 +1,7 @@ export function SidebarLogo() { return ( - Claude Pilot Console + Pilot Shell Console ); } diff --git a/console/src/ui/viewer/layouts/Topbar/TopbarActions.tsx b/console/src/ui/viewer/layouts/Topbar/TopbarActions.tsx index a5e8f9b6..206835a5 100644 --- a/console/src/ui/viewer/layouts/Topbar/TopbarActions.tsx +++ b/console/src/ui/viewer/layouts/Topbar/TopbarActions.tsx @@ -63,7 +63,7 @@ export function TopbarActions({
© {new Date().getFullYear()}{' '} - Claude Pilot + Pilot Shell | @@ -48,7 +48,7 @@ export function Topbar({ theme, onToggleTheme, onToggleLogs }: TopbarProps) { <> | - Claude Pilot Console + Pilot Shell Console diff --git a/console/src/ui/viewer/views/Dashboard/index.tsx b/console/src/ui/viewer/views/Dashboard/index.tsx index c1bc8c44..475139fe 100644 --- a/console/src/ui/viewer/views/Dashboard/index.tsx +++ b/console/src/ui/viewer/views/Dashboard/index.tsx @@ -33,7 +33,7 @@ export function DashboardView() {

{selectedProject ? `Filtered by: ${selectedProject}` - : "Overview of your Pilot Console"} + : "Overview of your Pilot Shell Console"}

diff --git a/console/src/ui/viewer/views/Settings/index.tsx b/console/src/ui/viewer/views/Settings/index.tsx index 4dcca666..eeb14fb3 100644 --- a/console/src/ui/viewer/views/Settings/index.tsx +++ b/console/src/ui/viewer/views/Settings/index.tsx @@ -107,7 +107,7 @@ export function SettingsView() {

Settings

- Model selection for Claude Pilot. Restart Pilot after saving. + Model selection for Pilot Shell. Restart Pilot after saving.

diff --git a/console/src/ui/viewer/views/Spec/SpecContent.tsx b/console/src/ui/viewer/views/Spec/SpecContent.tsx index 37652d53..c4f10132 100644 --- a/console/src/ui/viewer/views/Spec/SpecContent.tsx +++ b/console/src/ui/viewer/views/Spec/SpecContent.tsx @@ -1,5 +1,5 @@ -import Markdown from 'react-markdown'; -import remarkGfm from 'remark-gfm'; +import Markdown from "react-markdown"; +import remarkGfm from "remark-gfm"; interface SpecContentProps { content: string; @@ -11,22 +11,36 @@ export function SpecContent({ content }: SpecContentProps) { ( -

- {children} -

- ), + h3: ({ children }) => { + const text = String(children ?? ""); + const taskMatch = text.match(/Task\s+(\d+)/); + const id = taskMatch ? `task-${taskMatch[1]}` : undefined; + return ( +

+ {children} +

+ ); + }, h4: ({ children }) => ( -

{children}

+

+ {children} +

), p: ({ children }) => ( -

{children}

+

+ {children} +

), ul: ({ children }) => (
    {children}
), ol: ({ children }) => ( -
    {children}
+
    + {children} +
), li: ({ children }) => (
  • @@ -55,7 +69,9 @@ export function SpecContent({ content }: SpecContentProps) { ), strong: ({ children }) => ( - {children} + + {children} + ), table: ({ children }) => (
    @@ -66,10 +82,14 @@ export function SpecContent({ content }: SpecContentProps) { {children} ), th: ({ children }) => ( - {children} + + {children} + ), td: ({ children }) => ( - {children} + + {children} + ), blockquote: ({ children }) => (
    diff --git a/console/src/ui/viewer/views/Spec/SpecHeaderCard.tsx b/console/src/ui/viewer/views/Spec/SpecHeaderCard.tsx index 40142e57..6c7aa8da 100644 --- a/console/src/ui/viewer/views/Spec/SpecHeaderCard.tsx +++ b/console/src/ui/viewer/views/Spec/SpecHeaderCard.tsx @@ -35,9 +35,11 @@ const statusConfig = { export function SpecHeaderCard({ parsed, spec, + onTaskClick, }: { parsed: ParsedPlan; spec: SpecMeta; + onTaskClick?: (taskNumber: number) => void; }) { const config = statusConfig[spec.status]; const completedCount = parsed.tasks.filter((t) => t.completed).length; @@ -80,9 +82,12 @@ export function SpecHeaderCard({ {parsed.tasks.map((task) => (
    onTaskClick?.(task.number)} >
    (null); const [isDeleting, setIsDeleting] = useState(false); + const headerCardRef = useRef(null); + const [showBackToTasks, setShowBackToTasks] = useState(false); + + const handleTaskClick = useCallback((taskNumber: number) => { + const el = document.getElementById(`task-${taskNumber}`); + if (el) el.scrollIntoView({ behavior: "smooth", block: "start" }); + }, []); + + const scrollBackToTasks = useCallback(() => { + headerCardRef.current?.scrollIntoView({ + behavior: "smooth", + block: "start", + }); + }, []); + + useEffect(() => { + const mainEl = document.querySelector("main"); + if (!mainEl) return; + const onScroll = () => { + if (!headerCardRef.current) return; + const rect = headerCardRef.current.getBoundingClientRect(); + const mainTop = mainEl.getBoundingClientRect().top; + setShowBackToTasks(rect.bottom < mainTop); + }; + mainEl.addEventListener("scroll", onScroll, { passive: true }); + return () => mainEl.removeEventListener("scroll", onScroll); + }, []); + const projectParam = selectedProject ? `?project=${encodeURIComponent(selectedProject)}` : ""; @@ -204,7 +232,7 @@ export function SpecView() { /spec {" "} - in Claude Pilot to start a spec-driven development workflow. + in Pilot Shell to start a spec-driven development workflow.

    @@ -333,7 +361,13 @@ export function SpecView() { ) : parsed && currentSpec ? ( <> - +
    + +
    {parsed.implementationSection && ( @@ -346,6 +380,15 @@ export function SpecView() { )} + {showBackToTasks && ( + + )} ) : null}
    diff --git a/console/tests/context/cross-session-isolation.test.ts b/console/tests/context/cross-session-isolation.test.ts index 9548bb9f..09c2113c 100644 --- a/console/tests/context/cross-session-isolation.test.ts +++ b/console/tests/context/cross-session-isolation.test.ts @@ -74,7 +74,7 @@ function insertSummary( describe("Cross-session memory isolation (integration)", () => { let store: SessionStore; - const PROJECT = "claude-pilot"; + const PROJECT = "pilot-shell"; const config = makeConfig(); beforeEach(() => { diff --git a/console/tests/ui/activation-modal.test.ts b/console/tests/ui/activation-modal.test.ts index 79c22458..88d51966 100644 --- a/console/tests/ui/activation-modal.test.ts +++ b/console/tests/ui/activation-modal.test.ts @@ -48,6 +48,6 @@ describe("ActivationModal", () => { it("should include link to purchase page", () => { const html = renderModal(); - expect(html).toContain("claude-pilot.com"); + expect(html).toContain("pilot-shell.com"); }); }); diff --git a/console/tests/ui/license-gate.test.ts b/console/tests/ui/license-gate.test.ts index 7fb968d9..69472285 100644 --- a/console/tests/ui/license-gate.test.ts +++ b/console/tests/ui/license-gate.test.ts @@ -53,14 +53,14 @@ describe("LicenseGate", () => { it("should contain link to pricing page", () => { const html = renderGate(null); - expect(html).toContain("claude-pilot.com/#pricing"); + expect(html).toContain("pilot-shell.com/#pricing"); expect(html).toContain("Get a License"); }); it("should contain link to main site", () => { const html = renderGate(null); - expect(html).toContain("claude-pilot.com"); + expect(html).toContain("pilot-shell.com"); }); it("should render activate button as disabled by default (empty key)", () => { diff --git a/console/tests/ui/project-selector.test.ts b/console/tests/ui/project-selector.test.ts index 165d5013..583d9041 100644 --- a/console/tests/ui/project-selector.test.ts +++ b/console/tests/ui/project-selector.test.ts @@ -84,7 +84,7 @@ describe("Topbar no longer contains project selector", () => { ); expect(html).not.toContain(" { + it("should extract task number from h3 children", () => { + expect(specContentSource).toMatch(/Task\\s\+\(\\d\+\)/); + }); + + it("should generate id with task- prefix", () => { + expect(specContentSource).toContain("`task-${taskMatch[1]}`"); + }); + + it("should add scroll-mt class for scroll offset", () => { + expect(specContentSource).toContain("scroll-mt-"); + }); + + it("should render h3 with task anchor ID via renderToString", async () => { + const { SpecContent } = await import( + "../../src/ui/viewer/views/Spec/SpecContent" + ); + const markdown = "### Task 1: Setup database\n\nSome details here.\n\n### Task 2: Add API\n\nMore details."; + const html = renderToString( + React.createElement(SpecContent, { content: markdown }), + ); + expect(html).toContain('id="task-1"'); + expect(html).toContain('id="task-2"'); + expect(html).toContain("Setup database"); + expect(html).toContain("Add API"); + }); + + it("should not add id to non-task h3 headings", async () => { + const { SpecContent } = await import( + "../../src/ui/viewer/views/Spec/SpecContent" + ); + const markdown = "### Overview\n\nGeneral description."; + const html = renderToString( + React.createElement(SpecContent, { content: markdown }), + ); + expect(html).not.toMatch(/id="task-/); + expect(html).toContain("Overview"); + }); +}); + +describe("SpecHeaderCard: onTaskClick prop", () => { + it("should accept onTaskClick in props", () => { + expect(headerCardSource).toContain("onTaskClick"); + }); + + it("should declare onTaskClick as optional callback with taskNumber", () => { + expect(headerCardSource).toMatch( + /onTaskClick\?\s*:\s*\(taskNumber:\s*number\)\s*=>\s*void/, + ); + }); + + it("should call onTaskClick on task row click", () => { + expect(headerCardSource).toContain("onTaskClick?.(task.number)"); + }); + + it("should apply cursor-pointer to task rows", () => { + expect(headerCardSource).toContain("cursor-pointer"); + }); + + it("should apply hover styles to task rows", () => { + expect(headerCardSource).toContain("hover:bg-success/15"); + expect(headerCardSource).toContain("hover:bg-base-200"); + }); + + it("should render clickable task rows via renderToString", async () => { + const { SpecHeaderCard } = await import( + "../../src/ui/viewer/views/Spec/SpecHeaderCard" + ); + const html = renderToString( + React.createElement(SpecHeaderCard, { + parsed: { + title: "Test Plan", + goal: "Test goal", + tasks: [ + { number: 1, title: "First task", completed: true }, + { number: 2, title: "Second task", completed: false }, + ], + }, + spec: { + status: "PENDING" as const, + iterations: 0, + approved: true, + worktree: false, + specType: "Feature" as const, + filePath: "/tmp/test-plan.md", + modifiedAt: "2026-02-24T10:00:00Z", + }, + onTaskClick: () => {}, + }), + ); + expect(html).toContain("First task"); + expect(html).toContain("Second task"); + expect(html).toContain("cursor-pointer"); + }); +}); + +describe("SpecView: task navigation wiring", () => { + it("should define handleTaskClick callback", () => { + expect(indexSource).toContain("handleTaskClick"); + }); + + it("should scroll to task element by ID", () => { + expect(indexSource).toMatch(/getElementById\(`task-\$\{taskNumber\}`\)/); + }); + + it("should use smooth scrolling", () => { + expect(indexSource).toContain('behavior: "smooth"'); + }); + + it("should pass onTaskClick to SpecHeaderCard", () => { + expect(indexSource).toContain("onTaskClick={handleTaskClick}"); + }); + + it("should track headerCardRef for scroll-back", () => { + expect(indexSource).toContain("headerCardRef"); + expect(indexSource).toContain("ref={headerCardRef}"); + }); + + it("should compare against main element top for button visibility", () => { + expect(indexSource).toContain("mainEl.getBoundingClientRect().top"); + expect(indexSource).toContain("rect.bottom < mainTop"); + }); + + it("should render scroll-back button with arrow icon", () => { + expect(indexSource).toContain("showBackToTasks"); + expect(indexSource).toContain("scrollBackToTasks"); + expect(indexSource).toContain("lucide:arrow-up"); + expect(indexSource).toContain("Task List"); + }); +}); + +describe("DashboardLayout: scrollable main constraint", () => { + it("should use h-screen (not min-h-screen) to constrain viewport height", () => { + expect(layoutSource).toContain("h-screen"); + expect(layoutSource).not.toContain("min-h-screen"); + }); + + it("should add min-h-0 to flex column wrapper for flex shrinking", () => { + expect(layoutSource).toMatch(/flex-1 flex flex-col min-w-0 min-h-0/); + }); + + it("should add min-h-0 to main for flex shrinking", () => { + expect(layoutSource).toMatch(/overflow-y-auto min-h-0/); + }); +}); diff --git a/console/tests/worker/plan-deduplication.test.ts b/console/tests/worker/plan-deduplication.test.ts new file mode 100644 index 00000000..7f3d4735 --- /dev/null +++ b/console/tests/worker/plan-deduplication.test.ts @@ -0,0 +1,121 @@ +/** + * Tests for plan deduplication logic. + * + * When a spec uses a worktree, the same plan file exists in both + * docs/plans/ (main) and .worktrees//docs/plans/ (worktree copy). + * deduplicatePlans ensures each plan name appears only once, preferring + * the worktree version over the main copy. + */ +import { describe, it, expect } from "bun:test"; +import { deduplicatePlans } from "../../src/services/worker/http/routes/utils/planFileReader.js"; +import type { PlanInfo } from "../../src/services/worker/http/routes/utils/planFileReader.js"; + +function makePlan(overrides: Partial & { name: string; filePath: string }): PlanInfo { + return { + status: "PENDING", + completed: 0, + total: 3, + phase: "implement", + iterations: 0, + approved: true, + worktree: true, + specType: "Feature", + modifiedAt: "2026-02-24T10:00:00.000Z", + ...overrides, + }; +} + +describe("deduplicatePlans", () => { + it("should return empty array for empty input", () => { + expect(deduplicatePlans([])).toEqual([]); + }); + + it("should return plans unchanged when no duplicates", () => { + const plans = [ + makePlan({ name: "feature-a", filePath: "/proj/docs/plans/feature-a.md" }), + makePlan({ name: "feature-b", filePath: "/proj/docs/plans/feature-b.md" }), + ]; + expect(deduplicatePlans(plans)).toHaveLength(2); + }); + + it("should prefer worktree copy over main copy for same plan name", () => { + const mainCopy = makePlan({ + name: "rename-to-pilot-shell", + filePath: "/proj/docs/plans/2026-02-24-rename-to-pilot-shell.md", + modifiedAt: "2026-02-24T12:00:00.000Z", + }); + const worktreeCopy = makePlan({ + name: "rename-to-pilot-shell", + filePath: "/proj/.worktrees/spec-rename-b44c/docs/plans/2026-02-24-rename-to-pilot-shell.md", + modifiedAt: "2026-02-24T10:00:00.000Z", + }); + const result = deduplicatePlans([mainCopy, worktreeCopy]); + expect(result).toHaveLength(1); + expect(result[0].filePath).toContain(".worktrees/"); + }); + + it("should prefer worktree copy regardless of input order", () => { + const mainCopy = makePlan({ + name: "my-feature", + filePath: "/proj/docs/plans/2026-02-24-my-feature.md", + }); + const worktreeCopy = makePlan({ + name: "my-feature", + filePath: "/proj/.worktrees/spec-my-feature-abc123/docs/plans/2026-02-24-my-feature.md", + }); + const result1 = deduplicatePlans([worktreeCopy, mainCopy]); + expect(result1).toHaveLength(1); + expect(result1[0].filePath).toContain(".worktrees/"); + + const result2 = deduplicatePlans([mainCopy, worktreeCopy]); + expect(result2).toHaveLength(1); + expect(result2[0].filePath).toContain(".worktrees/"); + }); + + it("should keep newer copy when both are from main dirs", () => { + const older = makePlan({ + name: "same-name", + filePath: "/proj/docs/plans/2026-02-20-same-name.md", + modifiedAt: "2026-02-20T10:00:00.000Z", + }); + const newer = makePlan({ + name: "same-name", + filePath: "/proj/docs/plans/2026-02-24-same-name.md", + modifiedAt: "2026-02-24T10:00:00.000Z", + }); + const result = deduplicatePlans([older, newer]); + expect(result).toHaveLength(1); + expect(result[0].modifiedAt).toBe("2026-02-24T10:00:00.000Z"); + }); + + it("should keep newer copy when both are from worktree dirs", () => { + const older = makePlan({ + name: "wt-plan", + filePath: "/proj/.worktrees/slug-a/docs/plans/2026-02-20-wt-plan.md", + modifiedAt: "2026-02-20T10:00:00.000Z", + }); + const newer = makePlan({ + name: "wt-plan", + filePath: "/proj/.worktrees/slug-b/docs/plans/2026-02-24-wt-plan.md", + modifiedAt: "2026-02-24T10:00:00.000Z", + }); + const result = deduplicatePlans([older, newer]); + expect(result).toHaveLength(1); + expect(result[0].modifiedAt).toBe("2026-02-24T10:00:00.000Z"); + }); + + it("should deduplicate only matching names, keeping others intact", () => { + const plans = [ + makePlan({ name: "dup", filePath: "/proj/docs/plans/dup.md" }), + makePlan({ name: "dup", filePath: "/proj/.worktrees/s/docs/plans/dup.md" }), + makePlan({ name: "unique-a", filePath: "/proj/docs/plans/unique-a.md" }), + makePlan({ name: "unique-b", filePath: "/proj/.worktrees/s/docs/plans/unique-b.md" }), + ]; + const result = deduplicatePlans(plans); + expect(result).toHaveLength(3); + const names = result.map((p) => p.name).sort(); + expect(names).toEqual(["dup", "unique-a", "unique-b"]); + const dupResult = result.find((p) => p.name === "dup")!; + expect(dupResult.filePath).toContain(".worktrees/"); + }); +}); diff --git a/console/tests/worker/ui-endpoints.test.ts b/console/tests/worker/ui-endpoints.test.ts index 169ff1d8..ede41268 100644 --- a/console/tests/worker/ui-endpoints.test.ts +++ b/console/tests/worker/ui-endpoints.test.ts @@ -116,7 +116,7 @@ describe('UI Required Endpoints', () => { ]); }); - it('does NOT include /api/settings (removed in Pilot Console refactor)', () => { + it('does NOT include /api/settings (removed in Pilot Shell Console refactor)', () => { expect(USE_STATS_ENDPOINTS).not.toContain('/api/settings'); }); }); diff --git a/docs/img/demo.gif b/docs/img/demo.gif deleted file mode 100644 index 80ba3930..00000000 Binary files a/docs/img/demo.gif and /dev/null differ diff --git a/docs/img/logo.png b/docs/img/logo.png index 8ce060cd..db82cf71 100644 Binary files a/docs/img/logo.png and b/docs/img/logo.png differ diff --git a/docs/site/index.html b/docs/site/index.html index bd036d1a..6a668d6e 100644 --- a/docs/site/index.html +++ b/docs/site/index.html @@ -5,15 +5,15 @@ - Claude Pilot - Claude Code is powerful. Pilot makes it reliable. - + Pilot Shell - Claude Code is powerful. Pilot Shell makes it reliable. + @@ -21,7 +21,7 @@ - + @@ -41,40 +41,40 @@ - - + + - + - + - - + + - + - `.trim();r.setHeader("Content-Type","text/html"),r.send(n)});handleLogin=this.wrapHandler((e,r)=>{let{token:n}=e.body;if(!n){r.status(400).json({code:"MISSING_TOKEN",message:"Token is required"});return}let s=Nm();if(!s){r.status(500).json({code:"NOT_CONFIGURED",message:"Remote authentication is not configured"});return}if(n!==s){_.warn("SECURITY","Failed login attempt",{ip:e.ip||e.socket.remoteAddress}),r.status(401).json({code:"INVALID_TOKEN",message:"Invalid token"});return}let i=e.ip||e.socket.remoteAddress||"unknown",a=oM(i);r.cookie(R_(),a,{httpOnly:!0,secure:e.protocol==="https",sameSite:"lax",maxAge:1440*60*1e3,path:"/"}),_.info("SECURITY","User logged in",{ip:i}),r.json({code:"SUCCESS",message:"Login successful"})});handleLogout=this.wrapHandler((e,r)=>{let n=R_(),s=e.cookies?.[n];s&&cM(s),r.clearCookie(n,{httpOnly:!0,secure:e.protocol==="https",sameSite:"lax",path:"/"}),_.info("SECURITY","User logged out",{ip:e.ip||e.socket.remoteAddress}),r.json({code:"SUCCESS",message:"Logout successful"})});handleAuthStatus=this.wrapHandler((e,r)=>{let n=no();r.json({authRequired:n,authenticated:!n||!!e.auth})})};var es=require("fs"),ti=ne(require("path"),1);var Qf=require("fs");function un(t,e){let r=process.env.CLAUDE_PROJECT_ROOT||process.cwd();if(!e||!t)return r;let n=t.getSessionStore().getProjectRoot(e);return!n||!(0,Qf.existsSync)(n)||!(0,Qf.statSync)(n).isDirectory()?r:n}var V0=require("child_process");function PL(t){try{let e=(0,V0.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:t,encoding:"utf-8",timeout:2e3}).trim(),r=(0,V0.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",timeout:2e3}),n=0,s=0,i=0;for(let a of r.split(` -`)){if(!a)continue;let o=a[0]||" ",c=a[1]||" ";o==="?"&&c==="?"?i++:(o!==" "&&o!=="?"&&n++,c!==" "&&s++)}return{branch:e,staged:n,unstaged:s,untracked:i}}catch{return{branch:null,staged:0,unstaged:0,untracked:0}}}var Fr=require("fs"),Lo=ne(require("path"),1);re();function Xf(t,e,r,n){let s=t.match(/^Status:\s*(\w+)/m);if(!s)return null;let i=s[1],a=(t.match(/^- \[x\] Task \d+:/gm)||[]).length,o=(t.match(/^- \[ \] Task \d+:/gm)||[]).length,c=a+o,l=t.match(/^Approved:\s*(\w+)/m),u=l?l[1].toLowerCase()==="yes":!1,p=t.match(/^Iterations:\s*(\d+)/m),d=p?parseInt(p[1],10):0,m=t.match(/^Worktree:\s*(\w+)/m),f=m?m[1].toLowerCase()!=="no":!0,g=t.match(/^Type:\s*(\w+)/m)?.[1]==="Bugfix"?"Bugfix":"Feature",h;i==="PENDING"&&!u?h="plan":i==="PENDING"&&u?h="implement":h="verify";let v=e.replace(".md","");return v.match(/^\d{4}-\d{2}-\d{2}-/)&&(v=v.split("-").slice(3).join("-")),{name:v,status:i,completed:a,total:c,phase:h,iterations:d,approved:u,worktree:f,specType:g,filePath:r,modifiedAt:n.toISOString()}}function ede(t){let e=Lo.default.join(t,".worktrees");if(!(0,Fr.existsSync)(e))return[];let r=[];try{let n=(0,Fr.readdirSync)(e,{withFileTypes:!0});for(let s of n){if(!s.isDirectory())continue;let i=Lo.default.join(e,s.name,"docs","plans");(0,Fr.existsSync)(i)&&r.push(i)}}catch(n){_.error("HTTP","Failed to read worktrees directory",{worktreesDir:e},n)}return r}function G0(t){let e=[];try{let r=(0,Fr.readdirSync)(t).filter(n=>n.endsWith(".md")).sort().reverse();for(let n of r){let s=Lo.default.join(t,n),i=(0,Fr.statSync)(s),a=(0,Fr.readFileSync)(s,"utf-8"),o=Xf(a,n,s,i.mtime);o&&e.push(o)}}catch(r){_.error("HTTP","Failed to read plans from directory",{plansDir:t},r)}return e}function eh(t){let e=[],r=Lo.default.join(t,"docs","plans");return(0,Fr.existsSync)(r)&&e.push(r),e.push(...ede(t)),e}function IL(t){let e=new Date;e.setHours(0,0,0,0);let r=[];for(let n of eh(t))try{let s=(0,Fr.readdirSync)(n).filter(i=>i.endsWith(".md")).sort().reverse();for(let i of s){let a=Lo.default.join(n,i),o=(0,Fr.statSync)(a),c=new Date(o.mtime);if(c.setHours(0,0,0,0),c.getTime()!==e.getTime())continue;let l=(0,Fr.readFileSync)(a,"utf-8"),u=Xf(l,i,a,o.mtime);u&&u.status!=="VERIFIED"&&r.push(u)}}catch(s){_.error("HTTP","Failed to read active plans",{plansDir:n},s)}return r}function AL(t){let e=[];for(let r of eh(t))e.push(...G0(r));return e.sort((r,n)=>new Date(n.modifiedAt).getTime()-new Date(r.modifiedAt).getTime()).slice(0,10)}function Y0(t){let e=[];for(let r of eh(t))e.push(...G0(r));return e.sort((r,n)=>new Date(n.modifiedAt).getTime()-new Date(r.modifiedAt).getTime())}function NL(t){let e=[];for(let p of eh(t))e.push(...G0(p));if(e.length===0)return{totalSpecs:0,verified:0,inProgress:0,pending:0,avgIterations:0,totalTasksCompleted:0,totalTasks:0,completionTimeline:[],recentlyVerified:[]};let r=e.filter(p=>p.status==="VERIFIED"),n=e.filter(p=>p.status==="PENDING"&&p.approved||p.status==="COMPLETE"),s=e.filter(p=>p.status==="PENDING"&&!p.approved),i=r.reduce((p,d)=>p+d.iterations,0),a=e.reduce((p,d)=>p+d.completed,0),o=e.reduce((p,d)=>p+d.total,0),c=new Map;for(let p of r){let d=p.modifiedAt.slice(0,10);c.set(d,(c.get(d)||0)+1)}let l=Array.from(c.entries()).sort(([p],[d])=>p.localeCompare(d)).map(([p,d])=>({date:p,count:d})),u=r.sort((p,d)=>new Date(d.modifiedAt).getTime()-new Date(p.modifiedAt).getTime()).slice(0,5).map(p=>({name:p.name,verifiedAt:p.modifiedAt}));return{totalSpecs:e.length,verified:r.length,inProgress:n.length,pending:s.length,avgIterations:r.length>0?Math.round(i/r.length*10)/10:0,totalTasksCompleted:a,totalTasks:o,completionTimeline:l,recentlyVerified:u}}function jL(t,e){if(!e.endsWith(".md"))return!1;let r=ti.default.resolve(t),n=ti.default.join(r,"docs","plans");if(e.startsWith(n+ti.default.sep)||e.startsWith(n+"/"))return!0;let s=ti.default.join(r,".worktrees");return!!(e.startsWith(s)&&e.includes("/docs/plans/"))}var th=class t extends Pe{dbManager;sseBroadcaster;constructor(e,r){super(),this.dbManager=e??null,this.sseBroadcaster=r??null}static VALID_PLAN_STATUSES=new Set(["PENDING","COMPLETE","VERIFIED"]);isValidPlanStatus(e){return typeof e=="string"&&t.VALID_PLAN_STATUSES.has(e)}setupRoutes(e){e.get("/api/plan",this.handleGetActivePlan.bind(this)),e.get("/api/plans",this.handleGetAllPlans.bind(this)),e.get("/api/plans/active",this.handleGetActiveSpecs.bind(this)),e.get("/api/plan/content",this.handleGetPlanContent.bind(this)),e.delete("/api/plan",this.handleDeletePlan.bind(this)),e.get("/api/plans/stats",this.handleGetPlanStats.bind(this)),e.get("/api/git",this.handleGetGitInfo.bind(this)),e.post("/api/sessions/:sessionDbId/plan",this.handleAssociatePlan.bind(this)),e.post("/api/sessions/by-content-id/:contentSessionId/plan",this.handleAssociatePlanByContentId.bind(this)),e.get("/api/sessions/:sessionDbId/plan",this.handleGetSessionPlan.bind(this)),e.get("/api/sessions/by-content-id/:contentSessionId/plan",this.handleGetSessionPlanByContentId.bind(this)),e.delete("/api/sessions/:sessionDbId/plan",this.handleClearSessionPlan.bind(this)),e.put("/api/sessions/:sessionDbId/plan/status",this.handleUpdatePlanStatus.bind(this))}handleGetPlanStats=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json(NL(s))});handleGetActivePlan=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=IL(s);r.json({active:i.length>0,plans:i,plan:i[0]||null})});handleGetAllPlans=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json({plans:AL(s)})});handleGetGitInfo=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json(PL(s))});handleGetActiveSpecs=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json({specs:Y0(s)})});handleGetPlanContent=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=e.query.path;if(!i){let p=Y0(s);if(p.length===0){r.status(404).json({error:"No active specs found"});return}let d=p[0];try{let m=(0,es.readFileSync)(d.filePath,"utf-8");r.json({content:m,name:d.name,status:d.status,filePath:d.filePath})}catch{r.status(404).json({error:"Plan file not found"})}return}let a=ti.default.resolve(s,i);if(!jL(s,a)){r.status(403).json({error:"Access denied: path must be within docs/plans/ or .worktrees/*/docs/plans/"});return}if(!(0,es.existsSync)(a)){r.status(404).json({error:"Plan not found"});return}let o=(0,es.readFileSync)(a,"utf-8"),c=ti.default.basename(a),l=(0,es.statSync)(a),u=Xf(o,c,a,l.mtime);r.json({content:o,name:u?.name||c.replace(".md",""),status:u?.status||"UNKNOWN",filePath:a})});handleDeletePlan=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=e.query.path;if(!i){this.badRequest(r,"Missing path query parameter");return}let a=ti.default.resolve(s,i);if(!jL(s,a)){r.status(403).json({error:"Access denied: path must be within docs/plans/ or .worktrees/*/docs/plans/"});return}if(!(0,es.existsSync)(a)){this.notFound(r,"Plan not found");return}(0,es.unlinkSync)(a),r.json({success:!0})});handleAssociatePlan=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null||!this.validateRequired(e,r,["planPath","status"]))return;if(!this.isValidPlanStatus(e.body.status)){this.badRequest(r,`Invalid status: ${e.body.status}. Must be PENDING, COMPLETE, or VERIFIED`);return}let s=this.getDb(r);if(!s)return;let i=I0(s,n,e.body.planPath,e.body.status);this.broadcastPlanChange(),r.json({plan:i})});handleAssociatePlanByContentId=this.wrapHandler((e,r)=>{let n=e.params.contentSessionId;if(!n){this.badRequest(r,"Missing contentSessionId");return}if(!this.validateRequired(e,r,["planPath","status"]))return;if(!this.isValidPlanStatus(e.body.status)){this.badRequest(r,`Invalid status: ${e.body.status}. Must be PENDING, COMPLETE, or VERIFIED`);return}let s=this.getDb(r);if(!s)return;let i=s.prepare("SELECT id FROM sdk_sessions WHERE content_session_id = ?").get(n);if(!i){this.notFound(r,"Session not found");return}let a=I0(s,i.id,e.body.planPath,e.body.status);this.broadcastPlanChange(),r.json({plan:a})});handleGetSessionPlan=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null)return;let s=this.getDb(r);s&&r.json({plan:If(s,n)})});handleGetSessionPlanByContentId=this.wrapHandler((e,r)=>{let n=e.params.contentSessionId;if(!n){this.badRequest(r,"Missing contentSessionId");return}let s=this.getDb(r);s&&r.json({plan:v4(s,n)})});handleClearSessionPlan=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null)return;let s=this.getDb(r);s&&(b4(s,n),this.broadcastPlanChange(),r.json({success:!0}))});handleUpdatePlanStatus=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null||!this.validateRequired(e,r,["status"]))return;if(!this.isValidPlanStatus(e.body.status)){this.badRequest(r,`Invalid status: ${e.body.status}. Must be PENDING, COMPLETE, or VERIFIED`);return}let s=this.getDb(r);s&&(y4(s,n,e.body.status),this.broadcastPlanChange(),r.json({plan:If(s,n)}))});broadcastPlanChange(){this.sseBroadcaster?.broadcast({type:"plan_association_changed"})}getDb(e){return this.dbManager?this.dbManager.getSessionStore().db:(e.status(503).json({error:"Database not available"}),null)}};var tde=500;function DL(t,e){let r=t.prepare(`INSERT INTO notifications (type, title, message, plan_path, session_id) + `.trim();r.setHeader("Content-Type","text/html"),r.send(n)});handleLogin=this.wrapHandler((e,r)=>{let{token:n}=e.body;if(!n){r.status(400).json({code:"MISSING_TOKEN",message:"Token is required"});return}let s=Nm();if(!s){r.status(500).json({code:"NOT_CONFIGURED",message:"Remote authentication is not configured"});return}if(n!==s){_.warn("SECURITY","Failed login attempt",{ip:e.ip||e.socket.remoteAddress}),r.status(401).json({code:"INVALID_TOKEN",message:"Invalid token"});return}let i=e.ip||e.socket.remoteAddress||"unknown",a=cM(i);r.cookie($_(),a,{httpOnly:!0,secure:e.protocol==="https",sameSite:"lax",maxAge:1440*60*1e3,path:"/"}),_.info("SECURITY","User logged in",{ip:i}),r.json({code:"SUCCESS",message:"Login successful"})});handleLogout=this.wrapHandler((e,r)=>{let n=$_(),s=e.cookies?.[n];s&&lM(s),r.clearCookie(n,{httpOnly:!0,secure:e.protocol==="https",sameSite:"lax",path:"/"}),_.info("SECURITY","User logged out",{ip:e.ip||e.socket.remoteAddress}),r.json({code:"SUCCESS",message:"Logout successful"})});handleAuthStatus=this.wrapHandler((e,r)=>{let n=no();r.json({authRequired:n,authenticated:!n||!!e.auth})})};var es=require("fs"),ti=ne(require("path"),1);var Qf=require("fs");function un(t,e){let r=process.env.CLAUDE_PROJECT_ROOT||process.cwd();if(!e||!t)return r;let n=t.getSessionStore().getProjectRoot(e);return!n||!(0,Qf.existsSync)(n)||!(0,Qf.statSync)(n).isDirectory()?r:n}var G0=require("child_process");function IL(t){try{let e=(0,G0.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:t,encoding:"utf-8",timeout:2e3}).trim(),r=(0,G0.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",timeout:2e3}),n=0,s=0,i=0;for(let a of r.split(` +`)){if(!a)continue;let o=a[0]||" ",c=a[1]||" ";o==="?"&&c==="?"?i++:(o!==" "&&o!=="?"&&n++,c!==" "&&s++)}return{branch:e,staged:n,unstaged:s,untracked:i}}catch{return{branch:null,staged:0,unstaged:0,untracked:0}}}var Fr=require("fs"),Lo=ne(require("path"),1);re();function Xf(t,e,r,n){let s=t.match(/^Status:\s*(\w+)/m);if(!s)return null;let i=s[1],a=(t.match(/^- \[x\] Task \d+:/gm)||[]).length,o=(t.match(/^- \[ \] Task \d+:/gm)||[]).length,c=a+o,l=t.match(/^Approved:\s*(\w+)/m),u=l?l[1].toLowerCase()==="yes":!1,p=t.match(/^Iterations:\s*(\d+)/m),d=p?parseInt(p[1],10):0,m=t.match(/^Worktree:\s*(\w+)/m),f=m?m[1].toLowerCase()!=="no":!0,g=t.match(/^Type:\s*(\w+)/m)?.[1]==="Bugfix"?"Bugfix":"Feature",h;i==="PENDING"&&!u?h="plan":i==="PENDING"&&u?h="implement":h="verify";let v=e.replace(".md","");return v.match(/^\d{4}-\d{2}-\d{2}-/)&&(v=v.split("-").slice(3).join("-")),{name:v,status:i,completed:a,total:c,phase:h,iterations:d,approved:u,worktree:f,specType:g,filePath:r,modifiedAt:n.toISOString()}}function tde(t){let e=Lo.default.join(t,".worktrees");if(!(0,Fr.existsSync)(e))return[];let r=[];try{let n=(0,Fr.readdirSync)(e,{withFileTypes:!0});for(let s of n){if(!s.isDirectory())continue;let i=Lo.default.join(e,s.name,"docs","plans");(0,Fr.existsSync)(i)&&r.push(i)}}catch(n){_.error("HTTP","Failed to read worktrees directory",{worktreesDir:e},n)}return r}function Y0(t){let e=[];try{let r=(0,Fr.readdirSync)(t).filter(n=>n.endsWith(".md")).sort().reverse();for(let n of r){let s=Lo.default.join(t,n),i=(0,Fr.statSync)(s),a=(0,Fr.readFileSync)(s,"utf-8"),o=Xf(a,n,s,i.mtime);o&&e.push(o)}}catch(r){_.error("HTTP","Failed to read plans from directory",{plansDir:t},r)}return e}function eh(t){let e=[],r=Lo.default.join(t,"docs","plans");return(0,Fr.existsSync)(r)&&e.push(r),e.push(...tde(t)),e}function th(t){let e=new Map;for(let r of t){let n=e.get(r.name);if(!n){e.set(r.name,r);continue}let s=r.filePath.includes("/.worktrees/"),i=n.filePath.includes("/.worktrees/");s&&!i?e.set(r.name,r):!s&&i||new Date(r.modifiedAt).getTime()>new Date(n.modifiedAt).getTime()&&e.set(r.name,r)}return Array.from(e.values())}function AL(t){let e=new Date;e.setHours(0,0,0,0);let r=[];for(let n of eh(t))try{let s=(0,Fr.readdirSync)(n).filter(i=>i.endsWith(".md")).sort().reverse();for(let i of s){let a=Lo.default.join(n,i),o=(0,Fr.statSync)(a),c=new Date(o.mtime);if(c.setHours(0,0,0,0),c.getTime()!==e.getTime())continue;let l=(0,Fr.readFileSync)(a,"utf-8"),u=Xf(l,i,a,o.mtime);u&&u.status!=="VERIFIED"&&r.push(u)}}catch(s){_.error("HTTP","Failed to read active plans",{plansDir:n},s)}return th(r)}function NL(t){let e=[];for(let r of eh(t))e.push(...Y0(r));return th(e).sort((r,n)=>new Date(n.modifiedAt).getTime()-new Date(r.modifiedAt).getTime()).slice(0,10)}function K0(t){let e=[];for(let r of eh(t))e.push(...Y0(r));return th(e).sort((r,n)=>new Date(n.modifiedAt).getTime()-new Date(r.modifiedAt).getTime())}function jL(t){let e=[];for(let d of eh(t))e.push(...Y0(d));let r=th(e);if(r.length===0)return{totalSpecs:0,verified:0,inProgress:0,pending:0,avgIterations:0,totalTasksCompleted:0,totalTasks:0,completionTimeline:[],recentlyVerified:[]};let n=r.filter(d=>d.status==="VERIFIED"),s=r.filter(d=>d.status==="PENDING"&&d.approved||d.status==="COMPLETE"),i=r.filter(d=>d.status==="PENDING"&&!d.approved),a=n.reduce((d,m)=>d+m.iterations,0),o=r.reduce((d,m)=>d+m.completed,0),c=r.reduce((d,m)=>d+m.total,0),l=new Map;for(let d of n){let m=d.modifiedAt.slice(0,10);l.set(m,(l.get(m)||0)+1)}let u=Array.from(l.entries()).sort(([d],[m])=>d.localeCompare(m)).map(([d,m])=>({date:d,count:m})),p=n.sort((d,m)=>new Date(m.modifiedAt).getTime()-new Date(d.modifiedAt).getTime()).slice(0,5).map(d=>({name:d.name,verifiedAt:d.modifiedAt}));return{totalSpecs:r.length,verified:n.length,inProgress:s.length,pending:i.length,avgIterations:n.length>0?Math.round(a/n.length*10)/10:0,totalTasksCompleted:o,totalTasks:c,completionTimeline:u,recentlyVerified:p}}function DL(t,e){if(!e.endsWith(".md"))return!1;let r=ti.default.resolve(t),n=ti.default.join(r,"docs","plans");if(e.startsWith(n+ti.default.sep)||e.startsWith(n+"/"))return!0;let s=ti.default.join(r,".worktrees");return!!(e.startsWith(s)&&e.includes("/docs/plans/"))}var rh=class t extends Ce{dbManager;sseBroadcaster;constructor(e,r){super(),this.dbManager=e??null,this.sseBroadcaster=r??null}static VALID_PLAN_STATUSES=new Set(["PENDING","COMPLETE","VERIFIED"]);isValidPlanStatus(e){return typeof e=="string"&&t.VALID_PLAN_STATUSES.has(e)}setupRoutes(e){e.get("/api/plan",this.handleGetActivePlan.bind(this)),e.get("/api/plans",this.handleGetAllPlans.bind(this)),e.get("/api/plans/active",this.handleGetActiveSpecs.bind(this)),e.get("/api/plan/content",this.handleGetPlanContent.bind(this)),e.delete("/api/plan",this.handleDeletePlan.bind(this)),e.get("/api/plans/stats",this.handleGetPlanStats.bind(this)),e.get("/api/git",this.handleGetGitInfo.bind(this)),e.post("/api/sessions/:sessionDbId/plan",this.handleAssociatePlan.bind(this)),e.post("/api/sessions/by-content-id/:contentSessionId/plan",this.handleAssociatePlanByContentId.bind(this)),e.get("/api/sessions/:sessionDbId/plan",this.handleGetSessionPlan.bind(this)),e.get("/api/sessions/by-content-id/:contentSessionId/plan",this.handleGetSessionPlanByContentId.bind(this)),e.delete("/api/sessions/:sessionDbId/plan",this.handleClearSessionPlan.bind(this)),e.put("/api/sessions/:sessionDbId/plan/status",this.handleUpdatePlanStatus.bind(this))}handleGetPlanStats=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json(jL(s))});handleGetActivePlan=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=AL(s);r.json({active:i.length>0,plans:i,plan:i[0]||null})});handleGetAllPlans=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json({plans:NL(s)})});handleGetGitInfo=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json(IL(s))});handleGetActiveSpecs=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n);r.json({specs:K0(s)})});handleGetPlanContent=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=e.query.path;if(!i){let p=K0(s);if(p.length===0){r.status(404).json({error:"No active specs found"});return}let d=p[0];try{let m=(0,es.readFileSync)(d.filePath,"utf-8");r.json({content:m,name:d.name,status:d.status,filePath:d.filePath})}catch{r.status(404).json({error:"Plan file not found"})}return}let a=ti.default.resolve(s,i);if(!DL(s,a)){r.status(403).json({error:"Access denied: path must be within docs/plans/ or .worktrees/*/docs/plans/"});return}if(!(0,es.existsSync)(a)){r.status(404).json({error:"Plan not found"});return}let o=(0,es.readFileSync)(a,"utf-8"),c=ti.default.basename(a),l=(0,es.statSync)(a),u=Xf(o,c,a,l.mtime);r.json({content:o,name:u?.name||c.replace(".md",""),status:u?.status||"UNKNOWN",filePath:a})});handleDeletePlan=this.wrapHandler((e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=e.query.path;if(!i){this.badRequest(r,"Missing path query parameter");return}let a=ti.default.resolve(s,i);if(!DL(s,a)){r.status(403).json({error:"Access denied: path must be within docs/plans/ or .worktrees/*/docs/plans/"});return}if(!(0,es.existsSync)(a)){this.notFound(r,"Plan not found");return}(0,es.unlinkSync)(a),r.json({success:!0})});handleAssociatePlan=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null||!this.validateRequired(e,r,["planPath","status"]))return;if(!this.isValidPlanStatus(e.body.status)){this.badRequest(r,`Invalid status: ${e.body.status}. Must be PENDING, COMPLETE, or VERIFIED`);return}let s=this.getDb(r);if(!s)return;let i=A0(s,n,e.body.planPath,e.body.status);this.broadcastPlanChange(),r.json({plan:i})});handleAssociatePlanByContentId=this.wrapHandler((e,r)=>{let n=e.params.contentSessionId;if(!n){this.badRequest(r,"Missing contentSessionId");return}if(!this.validateRequired(e,r,["planPath","status"]))return;if(!this.isValidPlanStatus(e.body.status)){this.badRequest(r,`Invalid status: ${e.body.status}. Must be PENDING, COMPLETE, or VERIFIED`);return}let s=this.getDb(r);if(!s)return;let i=s.prepare("SELECT id FROM sdk_sessions WHERE content_session_id = ?").get(n);if(!i){this.notFound(r,"Session not found");return}let a=A0(s,i.id,e.body.planPath,e.body.status);this.broadcastPlanChange(),r.json({plan:a})});handleGetSessionPlan=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null)return;let s=this.getDb(r);s&&r.json({plan:If(s,n)})});handleGetSessionPlanByContentId=this.wrapHandler((e,r)=>{let n=e.params.contentSessionId;if(!n){this.badRequest(r,"Missing contentSessionId");return}let s=this.getDb(r);s&&r.json({plan:y4(s,n)})});handleClearSessionPlan=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null)return;let s=this.getDb(r);s&&(x4(s,n),this.broadcastPlanChange(),r.json({success:!0}))});handleUpdatePlanStatus=this.wrapHandler((e,r)=>{let n=this.parseIntParam(e,r,"sessionDbId");if(n===null||!this.validateRequired(e,r,["status"]))return;if(!this.isValidPlanStatus(e.body.status)){this.badRequest(r,`Invalid status: ${e.body.status}. Must be PENDING, COMPLETE, or VERIFIED`);return}let s=this.getDb(r);s&&(b4(s,n,e.body.status),this.broadcastPlanChange(),r.json({plan:If(s,n)}))});broadcastPlanChange(){this.sseBroadcaster?.broadcast({type:"plan_association_changed"})}getDb(e){return this.dbManager?this.dbManager.getSessionStore().db:(e.status(503).json({error:"Database not available"}),null)}};var rde=500;function ML(t,e){let r=t.prepare(`INSERT INTO notifications (type, title, message, plan_path, session_id) VALUES (?, ?, ?, ?, ?)`).run(e.type,e.title,e.message,e.plan_path??null,e.session_id??null);return t.prepare(`DELETE FROM notifications WHERE id NOT IN ( SELECT id FROM notifications ORDER BY created_at DESC, id DESC LIMIT ? - )`).run(tde),t.prepare("SELECT * FROM notifications WHERE id = ?").get(r.lastInsertRowid)}function ML(t,e=50,r=!1){return r?t.prepare("SELECT * FROM notifications ORDER BY created_at DESC, id DESC LIMIT ?").all(e):t.prepare("SELECT * FROM notifications WHERE is_read = 0 ORDER BY created_at DESC, id DESC LIMIT ?").all(e)}function zL(t,e){t.prepare("UPDATE notifications SET is_read = 1 WHERE id = ?").run(e)}function LL(t){t.prepare("UPDATE notifications SET is_read = 1 WHERE is_read = 0").run()}function qL(t){return t.prepare("SELECT COUNT(*) as count FROM notifications WHERE is_read = 0").get().count}var rh=class extends Pe{dbManager;sseBroadcaster;constructor(e,r){super(),this.dbManager=e??null,this.sseBroadcaster=r??null}setupRoutes(e){e.post("/api/notifications",this.wrapHandler(this.handleCreate.bind(this))),e.get("/api/notifications",this.wrapHandler(this.handleList.bind(this))),e.patch("/api/notifications/:id/read",this.wrapHandler(this.handleMarkRead.bind(this))),e.post("/api/notifications/read-all",this.wrapHandler(this.handleMarkAllRead.bind(this))),e.get("/api/notifications/unread-count",this.wrapHandler(this.handleUnreadCount.bind(this)))}handleCreate(e,r){if(!this.validateRequired(e,r,["type","title","message"]))return;if(String(e.body.title).length>500||String(e.body.message).length>2e3)return this.badRequest(r,"Field too long");let n=this.dbManager.getSessionStore().db,s=DL(n,{type:e.body.type,title:e.body.title,message:e.body.message,plan_path:e.body.planPath,session_id:e.body.sessionId});this.sseBroadcaster?.broadcast({type:"new_notification",notification:s}),r.status(201).json(s)}handleList(e,r){let n=this.dbManager.getSessionStore().db,s=parseInt(e.query.limit,10)||50,i=e.query.include_read==="true",a=ML(n,s,i);r.status(200).json(a)}handleMarkRead(e,r){let n=this.parseIntParam(e,r,"id");if(n===null)return;let s=this.dbManager.getSessionStore().db;zL(s,n),r.status(200).json({success:!0})}handleMarkAllRead(e,r){let n=this.dbManager.getSessionStore().db;LL(n),r.status(200).json({success:!0})}handleUnreadCount(e,r){let n=this.dbManager.getSessionStore().db,s=qL(n);r.status(200).json({count:s})}};var Sr=require("child_process"),ih=require("fs"),nh=ne(require("path"),1);var sh=class extends Pe{setupRoutes(e){e.get("/api/worktree/status",this.handleGetStatus.bind(this)),e.get("/api/worktree/diff",this.handleGetDiff.bind(this)),e.get("/api/worktree/diff/:file(*)",this.handleGetFileDiff.bind(this)),e.post("/api/worktree/sync",this.handleSync.bind(this)),e.post("/api/worktree/discard",this.handleDiscard.bind(this))}handleGetStatus=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);r.json(s)});handleGetDiff=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);if(!s.active||!s.branch||!s.baseBranch){r.json({active:!1,files:[]});return}let i=this.getChangedFiles(n,s.baseBranch,s.branch);r.json({active:!0,files:i})});handleGetFileDiff=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n),i=e.params.file;if(!s.active||!s.branch||!s.baseBranch){this.badRequest(r,"No active worktree");return}if(!i){this.badRequest(r,"Missing file path");return}try{let a=(0,Sr.execFileSync)("git",["diff",`${s.baseBranch}...${s.branch}`,"--",i],{cwd:n,encoding:"utf-8",timeout:5e3});r.json({file:i,diff:a})}catch{this.notFound(r,"File not found in diff")}});handleSync=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);if(!s.active||!s.branch||!s.baseBranch){this.badRequest(r,"No active worktree");return}try{let i=this.getMainRepoRoot(n);if(!i){r.status(500).json({error:"Cannot determine main repository root"});return}(0,Sr.execFileSync)("git",["checkout",s.baseBranch],{cwd:i,encoding:"utf-8",timeout:1e4}),(0,Sr.execFileSync)("git",["merge","--squash",s.branch],{cwd:i,encoding:"utf-8",timeout:3e4});let a=s.planSlug||s.branch.replace("spec/","");(0,Sr.execFileSync)("git",["commit","-m",`feat: implement spec/${a}`],{cwd:i,encoding:"utf-8",timeout:1e4});let o=(0,Sr.execFileSync)("git",["rev-parse","HEAD"],{cwd:i,encoding:"utf-8",timeout:5e3}).toString().trim(),c=(0,Sr.execFileSync)("git",["diff","--stat","HEAD~1"],{cwd:i,encoding:"utf-8",timeout:5e3}).toString(),l=this.countFilesFromStat(c);(0,Sr.execFileSync)("git",["worktree","remove",n,"--force"],{cwd:i,encoding:"utf-8",timeout:1e4}),(0,Sr.execFileSync)("git",["branch","-D",s.branch],{cwd:i,encoding:"utf-8",timeout:5e3}),r.json({success:!0,files_changed:l,commit_hash:o})}catch(i){r.status(500).json({error:i.message})}});handleDiscard=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);if(!s.active||!s.branch){this.badRequest(r,"No active worktree");return}try{let i=this.getMainRepoRoot(n);if(!i){r.status(500).json({error:"Cannot determine main repository root"});return}(0,Sr.execFileSync)("git",["worktree","remove",n,"--force"],{cwd:i,encoding:"utf-8",timeout:1e4}),(0,Sr.execFileSync)("git",["branch","-D",s.branch],{cwd:i,encoding:"utf-8",timeout:5e3}),r.json({success:!0})}catch(i){r.status(500).json({error:i.message})}});getWorktreeStatus(e){try{let r=(0,Sr.execFileSync)("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e,encoding:"utf-8",timeout:2e3}).toString().trim();if(!r.startsWith("spec/"))return{active:!1,worktreePath:null,branch:null,baseBranch:null,planSlug:null};let n=this.getMainRepoRoot(e),s="main";if(n)try{let c=(0,Sr.execFileSync)("git",["worktree","list"],{cwd:n,encoding:"utf-8",timeout:2e3}).toString().split(` + )`).run(rde),t.prepare("SELECT * FROM notifications WHERE id = ?").get(r.lastInsertRowid)}function zL(t,e=50,r=!1){return r?t.prepare("SELECT * FROM notifications ORDER BY created_at DESC, id DESC LIMIT ?").all(e):t.prepare("SELECT * FROM notifications WHERE is_read = 0 ORDER BY created_at DESC, id DESC LIMIT ?").all(e)}function LL(t,e){t.prepare("UPDATE notifications SET is_read = 1 WHERE id = ?").run(e)}function qL(t){t.prepare("UPDATE notifications SET is_read = 1 WHERE is_read = 0").run()}function FL(t){return t.prepare("SELECT COUNT(*) as count FROM notifications WHERE is_read = 0").get().count}var nh=class extends Ce{dbManager;sseBroadcaster;constructor(e,r){super(),this.dbManager=e??null,this.sseBroadcaster=r??null}setupRoutes(e){e.post("/api/notifications",this.wrapHandler(this.handleCreate.bind(this))),e.get("/api/notifications",this.wrapHandler(this.handleList.bind(this))),e.patch("/api/notifications/:id/read",this.wrapHandler(this.handleMarkRead.bind(this))),e.post("/api/notifications/read-all",this.wrapHandler(this.handleMarkAllRead.bind(this))),e.get("/api/notifications/unread-count",this.wrapHandler(this.handleUnreadCount.bind(this)))}handleCreate(e,r){if(!this.validateRequired(e,r,["type","title","message"]))return;if(String(e.body.title).length>500||String(e.body.message).length>2e3)return this.badRequest(r,"Field too long");let n=this.dbManager.getSessionStore().db,s=ML(n,{type:e.body.type,title:e.body.title,message:e.body.message,plan_path:e.body.planPath,session_id:e.body.sessionId});this.sseBroadcaster?.broadcast({type:"new_notification",notification:s}),r.status(201).json(s)}handleList(e,r){let n=this.dbManager.getSessionStore().db,s=parseInt(e.query.limit,10)||50,i=e.query.include_read==="true",a=zL(n,s,i);r.status(200).json(a)}handleMarkRead(e,r){let n=this.parseIntParam(e,r,"id");if(n===null)return;let s=this.dbManager.getSessionStore().db;LL(s,n),r.status(200).json({success:!0})}handleMarkAllRead(e,r){let n=this.dbManager.getSessionStore().db;qL(n),r.status(200).json({success:!0})}handleUnreadCount(e,r){let n=this.dbManager.getSessionStore().db,s=FL(n);r.status(200).json({count:s})}};var Sr=require("child_process"),ah=require("fs"),sh=ne(require("path"),1);var ih=class extends Ce{setupRoutes(e){e.get("/api/worktree/status",this.handleGetStatus.bind(this)),e.get("/api/worktree/diff",this.handleGetDiff.bind(this)),e.get("/api/worktree/diff/:file(*)",this.handleGetFileDiff.bind(this)),e.post("/api/worktree/sync",this.handleSync.bind(this)),e.post("/api/worktree/discard",this.handleDiscard.bind(this))}handleGetStatus=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);r.json(s)});handleGetDiff=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);if(!s.active||!s.branch||!s.baseBranch){r.json({active:!1,files:[]});return}let i=this.getChangedFiles(n,s.baseBranch,s.branch);r.json({active:!0,files:i})});handleGetFileDiff=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n),i=e.params.file;if(!s.active||!s.branch||!s.baseBranch){this.badRequest(r,"No active worktree");return}if(!i){this.badRequest(r,"Missing file path");return}try{let a=(0,Sr.execFileSync)("git",["diff",`${s.baseBranch}...${s.branch}`,"--",i],{cwd:n,encoding:"utf-8",timeout:5e3});r.json({file:i,diff:a})}catch{this.notFound(r,"File not found in diff")}});handleSync=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);if(!s.active||!s.branch||!s.baseBranch){this.badRequest(r,"No active worktree");return}try{let i=this.getMainRepoRoot(n);if(!i){r.status(500).json({error:"Cannot determine main repository root"});return}(0,Sr.execFileSync)("git",["checkout",s.baseBranch],{cwd:i,encoding:"utf-8",timeout:1e4}),(0,Sr.execFileSync)("git",["merge","--squash",s.branch],{cwd:i,encoding:"utf-8",timeout:3e4});let a=s.planSlug||s.branch.replace("spec/","");(0,Sr.execFileSync)("git",["commit","-m",`feat: implement spec/${a}`],{cwd:i,encoding:"utf-8",timeout:1e4});let o=(0,Sr.execFileSync)("git",["rev-parse","HEAD"],{cwd:i,encoding:"utf-8",timeout:5e3}).toString().trim(),c=(0,Sr.execFileSync)("git",["diff","--stat","HEAD~1"],{cwd:i,encoding:"utf-8",timeout:5e3}).toString(),l=this.countFilesFromStat(c);(0,Sr.execFileSync)("git",["worktree","remove",n,"--force"],{cwd:i,encoding:"utf-8",timeout:1e4}),(0,Sr.execFileSync)("git",["branch","-D",s.branch],{cwd:i,encoding:"utf-8",timeout:5e3}),r.json({success:!0,files_changed:l,commit_hash:o})}catch(i){r.status(500).json({error:i.message})}});handleDiscard=this.wrapHandler((e,r)=>{let n=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),s=this.getWorktreeStatus(n);if(!s.active||!s.branch){this.badRequest(r,"No active worktree");return}try{let i=this.getMainRepoRoot(n);if(!i){r.status(500).json({error:"Cannot determine main repository root"});return}(0,Sr.execFileSync)("git",["worktree","remove",n,"--force"],{cwd:i,encoding:"utf-8",timeout:1e4}),(0,Sr.execFileSync)("git",["branch","-D",s.branch],{cwd:i,encoding:"utf-8",timeout:5e3}),r.json({success:!0})}catch(i){r.status(500).json({error:i.message})}});getWorktreeStatus(e){try{let r=(0,Sr.execFileSync)("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e,encoding:"utf-8",timeout:2e3}).toString().trim();if(!r.startsWith("spec/"))return{active:!1,worktreePath:null,branch:null,baseBranch:null,planSlug:null};let n=this.getMainRepoRoot(e),s="main";if(n)try{let c=(0,Sr.execFileSync)("git",["worktree","list"],{cwd:n,encoding:"utf-8",timeout:2e3}).toString().split(` `)[0].match(/\[([^\]]+)\]/);c&&(s=c[1])}catch{}let i=r.replace("spec/","");return{active:!0,worktreePath:e,branch:r,baseBranch:s,planSlug:i}}catch{return{active:!1,worktreePath:null,branch:null,baseBranch:null,planSlug:null}}}getChangedFiles(e,r,n){try{let s=(0,Sr.execFileSync)("git",["diff","--name-status",`${r}...${n}`],{cwd:e,encoding:"utf-8",timeout:1e4}).toString(),i=(0,Sr.execFileSync)("git",["diff","--numstat",`${r}...${n}`],{cwd:e,encoding:"utf-8",timeout:1e4}).toString();return this.parseChangedFiles(s,i)}catch{return[]}}parseChangedFiles(e,r){let n=new Map;for(let i of r.split(` `)){if(!i.trim())continue;let a=i.split(" ");a.length>=3&&n.set(a[2],{additions:parseInt(a[0],10)||0,deletions:parseInt(a[1],10)||0})}let s=[];for(let i of e.split(` -`)){if(!i.trim())continue;let a=i.split(" ");if(a.length>=2){let o=a[0].charAt(0),c=a[a.length-1],l=n.get(c)||{additions:0,deletions:0};s.push({path:c,status:o,additions:l.additions,deletions:l.deletions})}}return s}getMainRepoRoot(e){try{let r=nh.default.join(e,".git");if((0,ih.existsSync)(r))try{let n=(0,ih.readFileSync)(r,"utf-8").trim();if(n.startsWith("gitdir:")){let s=n.replace("gitdir:","").trim(),i=nh.default.resolve(e,s,"..","..");return nh.default.dirname(i)}}catch{return e}return e}catch{return null}}countFilesFromStat(e){let r=e.trim().split(` -`);if(r.length===0)return 0;let s=r[r.length-1].match(/(\d+) files? changed/);return s?parseInt(s[1],10):0}};var FL=/^\d{8}$/,rde=300*1e3,ah=class extends Pe{cache=new Map;ccusagePath;pendingExecutions=new Map;constructor(){super(),this.ccusagePath=this.resolveCcusage()}setupRoutes(e){e.get("/api/usage/daily",this.wrapHandler(this.handleDaily.bind(this))),e.get("/api/usage/monthly",this.wrapHandler(this.handleMonthly.bind(this))),e.get("/api/usage/models",this.wrapHandler(this.handleModels.bind(this)))}async handleDaily(e,r){if(!this.ccusagePath){r.json({available:!1,error:"ccusage not installed"});return}let n=e.query.since,s=e.query.until;if(n&&!FL.test(n)){this.badRequest(r,"Invalid since parameter. Expected YYYYMMDD format.");return}if(s&&!FL.test(s)){this.badRequest(r,"Invalid until parameter. Expected YYYYMMDD format.");return}let i=n||this.defaultSince(),a=`daily-${i}-${s||""}`,o=await this.getCachedOrExecute(a,()=>{let c=["daily","--json","--since",i];return s&&c.push("--until",s),this.runCcusage(c)});r.json({available:!0,...o})}async handleMonthly(e,r){if(!this.ccusagePath){r.json({available:!1,error:"ccusage not installed"});return}let s=await this.getCachedOrExecute("monthly",()=>this.runCcusage(["monthly","--json"]));r.json({available:!0,...s})}async handleModels(e,r){if(!this.ccusagePath){r.json({available:!1,error:"ccusage not installed"});return}let s=await this.getCachedOrExecute("monthly",()=>this.runCcusage(["monthly","--json"])),i=new Map;for(let o of s.monthly||[])for(let c of o.modelBreakdowns||[]){let l=(c.inputTokens||0)+(c.outputTokens||0)+(c.cacheCreationTokens||0)+(c.cacheReadTokens||0),u=i.get(c.modelName);u?(u.totalCost+=c.cost||0,u.inputTokens+=c.inputTokens||0,u.outputTokens+=c.outputTokens||0,u.totalTokens+=l):i.set(c.modelName,{model:c.modelName,totalCost:c.cost||0,inputTokens:c.inputTokens||0,outputTokens:c.outputTokens||0,totalTokens:l})}let a=Array.from(i.values()).sort((o,c)=>c.totalCost-o.totalCost);r.json({available:!0,models:a})}async getCachedOrExecute(e,r){let n=this.cache.get(e);if(n&&Date.now()-n.timestamp(this.cache.set(e,{data:a,timestamp:Date.now()}),a)).finally(()=>{this.pendingExecutions.delete(e)});return this.pendingExecutions.set(e,i),i}async runCcusage(e){let r=Bun.spawn(["ccusage",...e],{stdout:"pipe",stderr:"pipe"}),n=setTimeout(()=>{try{r.kill("SIGTERM")}catch{}},3e4);try{let[s,i]=await Promise.all([new Response(r.stdout).text(),new Response(r.stderr).text()]);if(await r.exited!==0)throw new Error(`ccusage command failed: ${i.slice(0,200)}`);return JSON.parse(s)}finally{clearTimeout(n)}}resolveCcusage(){return Bun.which("ccusage")||null}defaultSince(){let e=new Date;e.setDate(e.getDate()-30);let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${r}${n}${s}`}};var K0=require("child_process"),J0=require("fs"),Q0=require("os");var oh={valid:!1,tier:null,email:null,daysRemaining:null,isExpired:!1},nde=300*1e3,ch=class extends Pe{cache=null;setupRoutes(e){e.get("/api/license",this.handleGetLicense.bind(this)),e.post("/api/license/activate",this.handleActivate.bind(this))}handleGetLicense=this.wrapHandler((e,r)=>{let n=e.query.refresh==="1";r.json(this.getLicenseInfo(n))});getLicenseInfo(e=!1){if(!e&&this.cache&&Date.now(){let{key:n}=e.body;if(!n||typeof n!="string"){this.badRequest(r,"License key is required");return}let s=this.activateLicense(n.trim());r.json(s)});activateLicense(e){let r=`${(0,Q0.homedir)()}/.pilot/bin/pilot`;if(!(0,J0.existsSync)(r))return{success:!1,tier:null,email:null,error:"Pilot binary not found"};try{let s=(0,K0.spawnSync)(r,["activate",e,"--json"],{stdio:"pipe",timeout:1e4}).stdout?.toString().trim();if(!s)return{success:!1,tier:null,email:null,error:"No response from pilot"};let i=JSON.parse(s);return i.success?(this.cache=null,{success:!0,tier:i.tier??null,email:i.email??null,error:null}):{success:!1,tier:null,email:null,error:i.error??"Activation failed"}}catch{return{success:!1,tier:null,email:null,error:"Activation request failed"}}}fetchLicenseFromCLI(){let e=`${(0,Q0.homedir)()}/.pilot/bin/pilot`;if(!(0,J0.existsSync)(e))return{...oh};try{let n=(0,K0.spawnSync)(e,["status","--json"],{stdio:"pipe",timeout:5e3}).stdout?.toString().trim();if(!n)return{...oh};let s=JSON.parse(n);return s.success?{valid:!0,tier:s.tier??null,email:s.email??null,daysRemaining:s.days_remaining??null,isExpired:!1}:s.error==="No license found"?{...oh}:{valid:!1,tier:s.tier??null,email:s.email??null,daysRemaining:s.days_remaining??null,isExpired:!0}}catch{return{...oh}}}};re();var X0=15e3,sde=6e4,ide=3e4,ade=6e4,lh=class extends Pe{statusCache=null;detailCache=new Map;_isInstalling=!1;setupRoutes(e){e.get("/api/vault/status",this.handleStatus.bind(this)),e.post("/api/vault/install",this.handleInstall.bind(this)),e.get("/api/vault/detail/:name",this.handleDetail.bind(this))}handleStatus=this.wrapHandler(async(e,r)=>{if(this.statusCache&&Date.now()-this.statusCache.timestamp"[]")]),a=JSON.parse(s),o=JSON.parse(i).map(u=>({name:u.name,type:u.type,latestVersion:u.latestVersion,versionsCount:u.versionsCount,updatedAt:u.updatedAt})),c=[];for(let u of a.assets||[]){let p=u.scope||"Global";for(let d of u.assets||[])c.push({name:d.name,version:d.version,type:d.type,clients:d.clients||[],status:d.status||"unknown",scope:p})}let l={installed:!0,version:a.version?.version||null,configured:!!a.config?.repositoryUrl,vaultUrl:a.config?.repositoryUrl||null,profile:a.config?.profile||null,assets:c,catalog:o,isInstalling:this._isInstalling};this.statusCache={data:l,timestamp:Date.now()},r.json(l)}catch(s){_.error("HTTP","Vault status failed",{},s),r.json(this.emptyStatus())}});handleInstall=this.wrapHandler(async(e,r)=>{if(this._isInstalling){r.status(409).json({error:"Installation already in progress"});return}let n=this.resolveSxBinary();if(!n){r.status(500).json({error:"sx CLI not found"});return}let s=process.env.CLAUDE_PROJECT_ROOT||process.cwd();this._isInstalling=!0,this.statusCache=null,r.json({started:!0});try{await this.runSxCommand([n,"install","--repair","--target",s],sde),_.info("HTTP","Vault install --repair completed")}catch(i){_.error("HTTP","Vault install failed",{},i)}finally{this._isInstalling=!1,this.statusCache=null,this.detailCache.clear()}});handleDetail=this.wrapHandler(async(e,r)=>{let n=e.params.name;if(!n||!/^[a-zA-Z0-9-]+$/.test(n)){r.status(400).json({error:"Invalid asset name: only alphanumeric characters and hyphens allowed"});return}let s=this.detailCache.get(n);if(s&&Date.now()-s.timestamp({version:l.version,createdAt:l.createdAt??null,filesCount:l.filesCount??0}))};this.detailCache.set(n,{data:c,timestamp:Date.now()}),r.json(c)}catch(a){(a.message||"").includes("exited with code")?r.status(404).json({error:`Asset '${n}' not found`}):(_.error("HTTP","Vault detail failed",{name:n},a),r.status(502).json({error:"Unexpected sx response format"}))}});emptyStatus(){return{installed:!1,version:null,configured:!1,vaultUrl:null,profile:null,assets:[],catalog:[],isInstalling:this._isInstalling}}resolveSxBinary(){return Bun.which("sx")||null}async runSxCommand(e,r){let n=Bun.spawn(e,{stdout:"pipe",stderr:"pipe"}),s=setTimeout(()=>{try{n.kill("SIGTERM"),setTimeout(()=>{try{n.kill("SIGKILL")}catch{}},1e3)}catch{}},r);try{let[i,a]=await Promise.all([new Response(n.stdout).text(),new Response(n.stderr).text()]),o=await n.exited;if(o!==0)throw new Error(`sx exited with code ${o}: ${a.slice(0,200)}`);return i}finally{clearTimeout(s)}}};re();var ode=3,cde=12e4,UL=6e5,lde=3e4,ude=6e4;function pde(t){let e={isIndexed:!1,files:0,mode:"",model:"",generatedAt:null,embeddingDim:0,version:0};if(!t||!t.includes("Files:"))return e;let r=s=>{let i=t.match(new RegExp(`^${s}:\\s*(.+)$`,"m"));return i?i[1].trim():""},n=parseInt(r("Files"),10)||0;return{isIndexed:n>0,files:n,mode:r("Mode"),model:r("Model"),generatedAt:r("Generated at")||null,embeddingDim:parseInt(r("Embedding dimension"),10)||0,version:parseInt(r("Version"),10)||0}}function dde(t){if(!t.trim())return[];let e=[];for(let r of t.trim().split(` -`)){let n=r.split(" ");if(n.length<7)continue;let s=parseInt(n[0],10),i=parseFloat(n[1]);isNaN(s)||isNaN(i)||e.push({rank:s,score:i,filePath:n[2],chunkIndex:parseInt(n[3],10)||0,startLine:n[4]==="-"?null:parseInt(n[4],10)||null,endLine:n[5]==="-"?null:parseInt(n[5],10)||null,snippet:n.slice(6).join(" ")})}return e}var uh=class extends Pe{dbManager;activeProcesses=new Set;statusCache=new Map;_isReindexing=!1;constructor(e){super(),this.dbManager=e??null}setupRoutes(e){e.get("/api/vexor/status",this.handleStatus.bind(this)),e.get("/api/vexor/search",this.handleSearch.bind(this)),e.post("/api/vexor/reindex",this.handleReindex.bind(this))}dispose(){for(let e of this.activeProcesses)try{e.kill()}catch{}this.activeProcesses.clear(),_.debug("HTTP","VexorRoutes disposed, killed active processes")}handleStatus=this.wrapHandler(async(e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=this.statusCache.get(s);if(i&&Date.now()-i.timestamp{let n=e.query.query;if(!n){this.badRequest(r,"query parameter is required");return}if(this.activeProcesses.size>=ode){r.status(429).json({error:"Too many concurrent searches. Try again shortly."});return}let s=this.resolveVexorBinary();if(!s){r.json({results:[],error:"Vexor CLI not found"});return}let i=e.query.project,a=un(this.dbManager,i),o=parseInt(e.query.top,10)||20,c=e.query.mode||"auto",l=[s,"search",n,"--top",String(o),"--mode",c,"--format","porcelain","--path",a],u=e.query.ext;u&&l.push("--ext",u);try{let p=await this.runVexorCommand(l,cde),d=dde(p);r.json({results:d,query:n})}catch(p){_.error("HTTP","Vexor search failed",{query:n},p),r.status(500).json({error:p.message})}});handleReindex=this.wrapHandler(async(e,r)=>{if(this._isReindexing){r.status(409).json({error:"Reindexing already in progress"});return}let n=this.resolveVexorBinary();if(!n){r.status(500).json({error:"Vexor CLI not found"});return}let s=e.query.project,i=un(this.dbManager,s);this._isReindexing=!0,this.statusCache.clear(),r.json({started:!0});try{await this.runVexorCommand([n,"index","--clear","--path",i],UL),await this.runVexorCommand([n,"index","--path",i],UL),_.info("HTTP","Vexor reindex completed")}catch(a){_.error("HTTP","Vexor reindex failed",{},a)}finally{this._isReindexing=!1,this.statusCache.clear()}});emptyStatus(){return{isIndexed:!1,files:0,mode:"",model:"",generatedAt:null,embeddingDim:0,version:0,isReindexing:this._isReindexing}}resolveVexorBinary(){return process.env.VEXOR_PATH?process.env.VEXOR_PATH:Bun.which("vexor")||null}async runVexorCommand(e,r){let n=Bun.spawn(e,{stdout:"pipe",stderr:"pipe"});this.activeProcesses.add(n);let s=setTimeout(()=>{try{n.kill()}catch{}},r);try{let[i,a]=await Promise.all([new Response(n.stdout).text(),new Response(n.stderr).text()]),o=await n.exited;if(o!==0)throw new Error(`Vexor exited with code ${o}: ${a.slice(0,200)}`);return i}finally{clearTimeout(s),this.activeProcesses.delete(n)}}};var ri=ne(require("fs"),1),HL=ne(require("os"),1),mh=ne(require("path"),1);re();var Es=["sonnet","opus"],ph={model:"opus",extendedContext:!1,commands:{spec:"sonnet","spec-plan":"opus","spec-implement":"sonnet","spec-verify":"opus",vault:"sonnet",sync:"sonnet",learn:"sonnet"},agents:{"plan-challenger":"sonnet","plan-verifier":"sonnet","spec-reviewer-compliance":"sonnet","spec-reviewer-quality":"opus"}},dh=class t extends Pe{configPath;constructor(e){super(),this.configPath=e??mh.join(HL.homedir(),".pilot","config.json")}setupRoutes(e){e.get("/api/settings",this.wrapHandler(this.handleGet.bind(this))),e.put("/api/settings",this.wrapHandler(this.handlePut.bind(this)))}readConfig(){try{let e=ri.readFileSync(this.configPath,"utf-8");return JSON.parse(e)}catch{return{}}}static stripLegacy1m(e){return e.replace("[1m]","")}mergeWithDefaults(e){let r=typeof e.model=="string"&&e.model.includes("[1m]"),n=typeof e.model=="string"?t.stripLegacy1m(e.model):ph.model;Es.includes(n)||(n=ph.model);let s=e.commands,i={...ph.commands};if(s&&typeof s=="object"&&!Array.isArray(s)){for(let[l,u]of Object.entries(s))if(typeof u=="string"){u.includes("[1m]")&&(r=!0);let p=t.stripLegacy1m(u);Es.includes(p)&&(i[l]=p)}}let a=e.agents,o={...ph.agents};if(a&&typeof a=="object"&&!Array.isArray(a)){for(let[l,u]of Object.entries(a))if(typeof u=="string"){let p=t.stripLegacy1m(u);Es.includes(p)&&(o[l]=p)}}let c=e.extendedContext===!0||r;return{model:n,extendedContext:c,commands:i,agents:o}}validateSettings(e){if(e.model!==void 0&&(typeof e.model!="string"||!Es.includes(e.model)))return`Invalid model '${e.model}'; must be one of: ${Es.join(", ")}`;if(e.extendedContext!==void 0&&typeof e.extendedContext!="boolean")return"extendedContext must be a boolean";if(e.commands!==void 0){if(typeof e.commands!="object"||Array.isArray(e.commands))return"commands must be an object";for(let[r,n]of Object.entries(e.commands))if(typeof n!="string"||!Es.includes(n))return`Invalid model '${n}' for command '${r}'; must be one of: ${Es.join(", ")}`}if(e.agents!==void 0){if(typeof e.agents!="object"||Array.isArray(e.agents))return"agents must be an object";for(let[r,n]of Object.entries(e.agents))if(typeof n!="string"||!Es.includes(n))return`Invalid model '${n}' for agent '${r}'; must be one of: ${Es.join(", ")}`}return null}writeConfigAtomic(e){let r=mh.dirname(this.configPath);ri.mkdirSync(r,{recursive:!0});let n=this.configPath+".tmp";ri.writeFileSync(n,JSON.stringify(e,null,2),"utf-8"),ri.renameSync(n,this.configPath)}async handleGet(e,r){let n=this.readConfig(),s=this.mergeWithDefaults(n);r.json(s)}async handlePut(e,r){let n=e.body,s=this.validateSettings(n);if(s){this.badRequest(r,s);return}let i=this.readConfig();if(n.model!==void 0&&(i.model=n.model),n.extendedContext!==void 0&&(i.extendedContext=n.extendedContext),n.commands!==void 0){let o=i.commands??{};i.commands={...o,...n.commands}}if(n.agents!==void 0){let o=i.agents??{};i.agents={...o,...n.agents}}try{this.writeConfigAtomic(i)}catch(o){_.error("HTTP","Failed to write settings config",{},o),r.status(500).json({error:"Failed to save settings"});return}let a=this.mergeWithDefaults(i);r.json(a)}};var fh=class{dbManager;sessionManager;startTime;requestMetrics=[];providerRequests=0;providerTokens=0;providerErrors=0;providerName="unknown";METRICS_WINDOW_MS=300*1e3;constructor(e,r,n){this.dbManager=e,this.sessionManager=r,this.startTime=n,setInterval(()=>this.cleanupOldMetrics(),6e4)}recordRequest(e,r,n=!1){this.requestMetrics.push({endpoint:e,responseTimeMs:r,timestamp:Date.now(),error:n})}recordProviderUsage(e,r,n=!1){this.providerName=e,this.providerRequests++,this.providerTokens+=r,n&&this.providerErrors++}cleanupOldMetrics(){let e=Date.now()-this.METRICS_WINDOW_MS;this.requestMetrics=this.requestMetrics.filter(r=>r.timestamp>e)}async getMetrics(){let r=this.dbManager.getSessionStore().db,n=$=>{try{return r.prepare(`SELECT COUNT(*) as count FROM ${$}`).get().count}catch{return 0}},s=n("observations"),i=n("sdk_sessions"),a=n("session_summaries"),o=n("prompts"),{DATA_DIR:c}=await Promise.resolve().then(()=>(yr(),JD)),l=await import("fs"),p=(await import("path")).join(c,"pilot-memory.db"),d=0;try{d=l.statSync(p).size}catch{}let m=process.memoryUsage(),f=this.requestMetrics.filter($=>$.timestamp>Date.now()-this.METRICS_WINDOW_MS),y=f.length,g=f.filter($=>$.error).length,h=y>0?f.reduce(($,j)=>$+j.responseTimeMs,0)/y:0,v={};for(let $ of f)v[$.endpoint]=(v[$.endpoint]||0)+1;let b=Date.now()-6e4,x=0;try{x=r.prepare("SELECT COUNT(*) as count FROM observations WHERE created_at_epoch > ?").get(b).count}catch{}let w=f.filter($=>$.timestamp>b).length,S=this.sessionManager.isAnySessionProcessing(),E=this.sessionManager.getTotalActiveWork(),k=this.sessionManager.getActiveSessionCount();return{uptime:Math.floor((Date.now()-this.startTime)/1e3),memoryUsage:{heapUsed:m.heapUsed,heapTotal:m.heapTotal,rss:m.rss,external:m.external},database:{observations:s,sessions:i,summaries:a,prompts:o,sizeBytes:d},processing:{activeSessions:k,queueDepth:E,isProcessing:S},requests:{total:y,byEndpoint:v,errors:g,avgResponseTimeMs:Math.round(h)},provider:{name:this.providerName,requestsTotal:this.providerRequests,tokensTotal:this.providerTokens,errorsTotal:this.providerErrors},rates:{observationsPerMinute:x,requestsPerMinute:w}}}async toPrometheus(){let e=await this.getMetrics(),r=[],n=(s,i,a,o="gauge",c={})=>{r.push(`# HELP claude_pilot_${s} ${a}`),r.push(`# TYPE claude_pilot_${s} ${o}`);let l=Object.entries(c).map(([p,d])=>`${p}="${d}"`).join(","),u=l?`{${l}}`:"";r.push(`claude_pilot_${s}${u} ${i}`)};return n("uptime_seconds",e.uptime,"Worker uptime in seconds"),n("memory_heap_used_bytes",e.memoryUsage.heapUsed,"Heap memory used"),n("memory_heap_total_bytes",e.memoryUsage.heapTotal,"Total heap memory"),n("memory_rss_bytes",e.memoryUsage.rss,"Resident set size"),n("database_observations_total",e.database.observations,"Total observations"),n("database_sessions_total",e.database.sessions,"Total sessions"),n("database_summaries_total",e.database.summaries,"Total summaries"),n("database_prompts_total",e.database.prompts,"Total prompts"),n("database_size_bytes",e.database.sizeBytes,"Database file size"),n("processing_active_sessions",e.processing.activeSessions,"Active processing sessions"),n("processing_queue_depth",e.processing.queueDepth,"Queue depth"),n("processing_is_active",e.processing.isProcessing?1:0,"Is processing active"),n("requests_total",e.requests.total,"Total requests in window","counter"),n("requests_errors_total",e.requests.errors,"Total request errors","counter"),n("requests_response_time_avg_ms",e.requests.avgResponseTimeMs,"Average response time"),n("provider_requests_total",e.provider.requestsTotal,"Provider requests","counter",{provider:e.provider.name}),n("provider_tokens_total",e.provider.tokensTotal,"Provider tokens used","counter",{provider:e.provider.name}),n("provider_errors_total",e.provider.errorsTotal,"Provider errors","counter",{provider:e.provider.name}),n("observations_per_minute",e.rates.observationsPerMinute,"Observations created per minute"),n("requests_per_minute",e.rates.requestsPerMinute,"Requests per minute"),r.join(` -`)}};re();var mde=1440*60*1e3,fde=3e4,hh=null,gh=null;async function BL(t){let e=t.getVectorSyncOrNull(),r=new zo(t,e),n=r.getPolicy();if(!n.enabled){_.debug("RETENTION","Auto-cleanup skipped: retention policy is disabled");return}_.info("RETENTION","Running scheduled auto-cleanup",{maxAgeDays:n.maxAgeDays,maxCount:n.maxCount});let s=await r.run();_.info("RETENTION","Auto-cleanup complete",{deleted:s.deleted,archived:s.archived,errors:s.errors.length,duration:s.duration})}function WL(t){ew(),gh=setTimeout(async()=>{try{await BL(t)}catch(e){_.error("RETENTION","Scheduled retention failed",{},e)}hh=setInterval(async()=>{try{await BL(t)}catch(e){_.error("RETENTION","Scheduled retention failed",{},e)}},mde),_.info("RETENTION","Scheduled daily auto-cleanup")},fde),_.info("RETENTION","Retention scheduler initialized (first run in 30s)")}function ew(){gh&&(clearTimeout(gh),gh=null),hh&&(clearInterval(hh),hh=null),_.debug("RETENTION","Retention scheduler stopped")}var Pde={},Rde="6.10.3";function Rq(t,e){return{continue:!0,suppressOutput:!0,status:t,...e&&{message:e}}}function $q(){let t=`${(0,Tq.homedir)()}/.pilot/bin/pilot`;if(!(0,fw.existsSync)(t))return _.warn("SYSTEM","Pilot binary not found, skipping license check"),!0;try{return(0,kq.execSync)(`"${t}" verify`,{stdio:"pipe",timeout:5e3}),!0}catch{return!1}}var Sh=class{server;startTime=Date.now();mcpClient;coreReady=!1;mcpReady=!1;initializationCompleteFlag=!1;isShuttingDown=!1;dbManager;sessionManager;sseBroadcaster;sdkAgent;paginationHelper;sessionEventBroadcaster;searchRoutes=null;metricsService=null;vexorRoutes=null;initializationComplete;resolveInitialization;cleanupInterval=null;constructor(){this.initializationComplete=new Promise(e=>{this.resolveInitialization=e}),this.dbManager=new Fm,this.sessionManager=new Um(this.dbManager),this.sseBroadcaster=new Hm,this.sdkAgent=new Tf(this.dbManager,this.sessionManager),this.paginationHelper=new Rf(this.dbManager),this.sessionEventBroadcaster=new Pf(this.sseBroadcaster,this),this.sessionManager.setOnSessionDeleted(()=>{this.broadcastProcessingStatus()}),this.mcpClient=new ya({name:"worker-search-proxy",version:Rde},{capabilities:{}}),this.server=new jm({getInitializationComplete:()=>this.initializationCompleteFlag,getCoreReady:()=>this.coreReady,getMcpReady:()=>this.mcpReady,onShutdown:()=>this.shutdown(),onRestart:()=>this.shutdown()}),this.registerRoutes(),this.registerSignalHandlers()}registerSignalHandlers(){let e={value:this.isShuttingDown},r=rb(()=>this.shutdown(),e);process.on("SIGTERM",()=>{this.isShuttingDown=e.value,r("SIGTERM")}),process.on("SIGINT",()=>{this.isShuttingDown=e.value,r("SIGINT")}),process.platform!=="win32"&&process.on("SIGHUP",()=>{process.argv.includes("--daemon")?_.info("SYSTEM","Received SIGHUP in daemon mode, ignoring",{}):(this.isShuttingDown=e.value,r("SIGHUP"))})}registerRoutes(){this.server.app.get("/api/context/inject",async(e,r,n)=>{try{let i=new Promise((a,o)=>setTimeout(()=>o(new Error("Initialization timeout")),3e5));if(await Promise.race([this.initializationComplete,i]),!this.searchRoutes){r.status(503).json({error:"Search routes not initialized"});return}n()}catch{r.status(503).json({error:"Service initialization timed out"})}}),this.server.registerRoutes(new Jf),this.server.registerRoutes(new Nf(this.sseBroadcaster,this.dbManager,this.sessionManager)),this.server.registerRoutes(new Df(this.sessionManager,this.dbManager,this.sdkAgent,this.sessionEventBroadcaster,this)),this.server.registerRoutes(new zf(this.paginationHelper,this.dbManager,this.sessionManager,this.sseBroadcaster,this,this.startTime)),this.server.registerRoutes(new Wf),this.server.registerRoutes(new Zf(this.dbManager,"pilot-memory")),this.server.registerRoutes(new Vf(this.dbManager)),this.server.registerRoutes(new Yf(this.dbManager)),this.server.registerRoutes(new th(this.dbManager,this.sseBroadcaster)),this.server.registerRoutes(new rh(this.dbManager,this.sseBroadcaster)),this.server.registerRoutes(new sh),this.metricsService=new fh(this.dbManager,this.sessionManager,this.startTime),this.server.registerRoutes(new Kf(this.metricsService)),this.vexorRoutes=new uh(this.dbManager),this.server.registerRoutes(this.vexorRoutes),this.server.registerRoutes(new ah),this.server.registerRoutes(new ch),this.server.registerRoutes(new lh),this.server.registerRoutes(new dh),WL(this.dbManager)}async start(){let e=Pr(),r=ud(),n=xn();await this.server.listen(e,r),_.info("SYSTEM","Worker started",{bind:r,host:n,port:e,pid:process.pid}),this.initializeBackground().catch(s=>{_.error("SYSTEM","Background initialization failed",{},s)})}async initializeBackground(){try{await gd(),await Zc(),await Wc();let{ModeManager:e}=await Promise.resolve().then(()=>(nn(),wM));e.getInstance().loadMode(),_.info("SYSTEM","Mode loaded: Code Development"),await this.dbManager.initialize();let r=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),n=qu.default.basename(r);this.dbManager.getSessionStore().upsertProjectRoot(n,r);let{PendingMessageStore:s}=await Promise.resolve().then(()=>(Gs(),Di)),i=new s(this.dbManager.getSessionStore().db,3),a=300*1e3,o=i.resetStuckMessages(a);o>0&&_.info("SYSTEM",`Recovered ${o} stuck messages from previous session`,{thresholdMinutes:5});let c=new Of,l=new Cf,u=new $f(this.dbManager.getSessionSearch(),this.dbManager.getSessionStore(),this.dbManager.getVectorSync(),c,l);this.searchRoutes=new Hf(u),this.server.registerRoutes(this.searchRoutes),_.info("WORKER","SearchManager initialized and search routes registered"),this.coreReady=!0,_.info("SYSTEM","Core services ready (hooks can proceed)");let p=[qu.default.join(__dirname,"mcp-server.cjs"),qu.default.join(__dirname,"..","servers","mcp-server.ts"),qu.default.join(__dirname,"..","..","servers","mcp-server.ts")],d=p.find(x=>(0,fw.existsSync)(x))||p[0],m=d.endsWith(".ts"),f=new _a({command:m?"bun":"node",args:[d],env:process.env}),y=3e5,g=this.mcpClient.connect(f),h=new Promise((x,w)=>setTimeout(()=>w(new Error("MCP connection timeout after 5 minutes")),y));await Promise.race([g,h]),this.mcpReady=!0,_.success("WORKER","Connected to MCP server"),this.initializationCompleteFlag=!0,this.resolveInitialization(),_.info("SYSTEM","Background initialization complete"),this.processPendingQueues(50).then(x=>{x.sessionsStarted>0&&_.info("SYSTEM",`Auto-recovered ${x.sessionsStarted} sessions with pending work`,{totalPending:x.totalPendingSessions,started:x.sessionsStarted,sessionIds:x.startedSessionIds})}).catch(x=>{_.error("SYSTEM","Auto-recovery of pending queues failed",{},x)});let v=300*1e3,b=3600*1e3;this.cleanupInterval=setInterval(async()=>{try{let x=await this.sessionManager.cleanupStaleSessions(b);x>0&&_.info("SYSTEM",`Periodic cleanup: removed ${x} stale sessions`),await Zc(),await Wc(),_.debug("SYSTEM","Periodic cleanup completed")}catch(x){_.error("SYSTEM","Periodic cleanup failed",{},x)}},v),_.info("SYSTEM","Started periodic cleanup (every 5 minutes)")}catch(e){throw _.error("SYSTEM","Background initialization failed",{},e),e}}getActiveAgent(){return this.sdkAgent}startSessionProcessor(e,r){if(!e)return;e.abortController.signal.aborted&&(e.abortController=new AbortController,_.debug("SYSTEM","Reset AbortController for session restart",{sessionId:e.sessionDbId}));let n=e.sessionDbId,s=this.getActiveAgent(),i=s.constructor.name;_.info("SYSTEM",`Starting generator (${r}) using ${i}`,{sessionId:n}),e.generatorPromise=s.startSession(e,this).catch(a=>{_.error("SDK","Session generator failed",{sessionId:e.sessionDbId,project:e.project,provider:i},a)}).finally(()=>{e.generatorPromise=null,this.broadcastProcessingStatus()})}async processPendingQueues(e=10){let{PendingMessageStore:r}=await Promise.resolve().then(()=>(Gs(),Di)),n=new r(this.dbManager.getSessionStore().db,3),s=this.dbManager.getSessionStore(),i=1800*1e3,a=Date.now()-i;try{let l=s.db.prepare(` +`)){if(!i.trim())continue;let a=i.split(" ");if(a.length>=2){let o=a[0].charAt(0),c=a[a.length-1],l=n.get(c)||{additions:0,deletions:0};s.push({path:c,status:o,additions:l.additions,deletions:l.deletions})}}return s}getMainRepoRoot(e){try{let r=sh.default.join(e,".git");if((0,ah.existsSync)(r))try{let n=(0,ah.readFileSync)(r,"utf-8").trim();if(n.startsWith("gitdir:")){let s=n.replace("gitdir:","").trim(),i=sh.default.resolve(e,s,"..","..");return sh.default.dirname(i)}}catch{return e}return e}catch{return null}}countFilesFromStat(e){let r=e.trim().split(` +`);if(r.length===0)return 0;let s=r[r.length-1].match(/(\d+) files? changed/);return s?parseInt(s[1],10):0}};var UL=/^\d{8}$/,nde=300*1e3,oh=class extends Ce{cache=new Map;ccusagePath;pendingExecutions=new Map;constructor(){super(),this.ccusagePath=this.resolveCcusage()}setupRoutes(e){e.get("/api/usage/daily",this.wrapHandler(this.handleDaily.bind(this))),e.get("/api/usage/monthly",this.wrapHandler(this.handleMonthly.bind(this))),e.get("/api/usage/models",this.wrapHandler(this.handleModels.bind(this)))}async handleDaily(e,r){if(!this.ccusagePath){r.json({available:!1,error:"ccusage not installed"});return}let n=e.query.since,s=e.query.until;if(n&&!UL.test(n)){this.badRequest(r,"Invalid since parameter. Expected YYYYMMDD format.");return}if(s&&!UL.test(s)){this.badRequest(r,"Invalid until parameter. Expected YYYYMMDD format.");return}let i=n||this.defaultSince(),a=`daily-${i}-${s||""}`,o=await this.getCachedOrExecute(a,()=>{let c=["daily","--json","--since",i];return s&&c.push("--until",s),this.runCcusage(c)});r.json({available:!0,...o})}async handleMonthly(e,r){if(!this.ccusagePath){r.json({available:!1,error:"ccusage not installed"});return}let s=await this.getCachedOrExecute("monthly",()=>this.runCcusage(["monthly","--json"]));r.json({available:!0,...s})}async handleModels(e,r){if(!this.ccusagePath){r.json({available:!1,error:"ccusage not installed"});return}let s=await this.getCachedOrExecute("monthly",()=>this.runCcusage(["monthly","--json"])),i=new Map;for(let o of s.monthly||[])for(let c of o.modelBreakdowns||[]){let l=(c.inputTokens||0)+(c.outputTokens||0)+(c.cacheCreationTokens||0)+(c.cacheReadTokens||0),u=i.get(c.modelName);u?(u.totalCost+=c.cost||0,u.inputTokens+=c.inputTokens||0,u.outputTokens+=c.outputTokens||0,u.totalTokens+=l):i.set(c.modelName,{model:c.modelName,totalCost:c.cost||0,inputTokens:c.inputTokens||0,outputTokens:c.outputTokens||0,totalTokens:l})}let a=Array.from(i.values()).sort((o,c)=>c.totalCost-o.totalCost);r.json({available:!0,models:a})}async getCachedOrExecute(e,r){let n=this.cache.get(e);if(n&&Date.now()-n.timestamp(this.cache.set(e,{data:a,timestamp:Date.now()}),a)).finally(()=>{this.pendingExecutions.delete(e)});return this.pendingExecutions.set(e,i),i}async runCcusage(e){let r=Bun.spawn(["ccusage",...e],{stdout:"pipe",stderr:"pipe"}),n=setTimeout(()=>{try{r.kill("SIGTERM")}catch{}},3e4);try{let[s,i]=await Promise.all([new Response(r.stdout).text(),new Response(r.stderr).text()]);if(await r.exited!==0)throw new Error(`ccusage command failed: ${i.slice(0,200)}`);return JSON.parse(s)}finally{clearTimeout(n)}}resolveCcusage(){return Bun.which("ccusage")||null}defaultSince(){let e=new Date;e.setDate(e.getDate()-30);let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${r}${n}${s}`}};var J0=require("child_process"),Q0=require("fs"),X0=require("os");var ch={valid:!1,tier:null,email:null,daysRemaining:null,isExpired:!1},sde=300*1e3,lh=class extends Ce{cache=null;setupRoutes(e){e.get("/api/license",this.handleGetLicense.bind(this)),e.post("/api/license/activate",this.handleActivate.bind(this))}handleGetLicense=this.wrapHandler((e,r)=>{let n=e.query.refresh==="1";r.json(this.getLicenseInfo(n))});getLicenseInfo(e=!1){if(!e&&this.cache&&Date.now(){let{key:n}=e.body;if(!n||typeof n!="string"){this.badRequest(r,"License key is required");return}let s=this.activateLicense(n.trim());r.json(s)});activateLicense(e){let r=`${(0,X0.homedir)()}/.pilot/bin/pilot`;if(!(0,Q0.existsSync)(r))return{success:!1,tier:null,email:null,error:"Pilot binary not found"};try{let s=(0,J0.spawnSync)(r,["activate",e,"--json"],{stdio:"pipe",timeout:1e4}).stdout?.toString().trim();if(!s)return{success:!1,tier:null,email:null,error:"No response from pilot"};let i=JSON.parse(s);return i.success?(this.cache=null,{success:!0,tier:i.tier??null,email:i.email??null,error:null}):{success:!1,tier:null,email:null,error:i.error??"Activation failed"}}catch{return{success:!1,tier:null,email:null,error:"Activation request failed"}}}fetchLicenseFromCLI(){let e=`${(0,X0.homedir)()}/.pilot/bin/pilot`;if(!(0,Q0.existsSync)(e))return{...ch};try{let n=(0,J0.spawnSync)(e,["status","--json"],{stdio:"pipe",timeout:5e3}).stdout?.toString().trim();if(!n)return{...ch};let s=JSON.parse(n);return s.success?{valid:!0,tier:s.tier??null,email:s.email??null,daysRemaining:s.days_remaining??null,isExpired:!1}:s.error==="No license found"?{...ch}:{valid:!1,tier:s.tier??null,email:s.email??null,daysRemaining:s.days_remaining??null,isExpired:!0}}catch{return{...ch}}}};re();var ew=15e3,ide=6e4,ade=3e4,ode=6e4,uh=class extends Ce{statusCache=null;detailCache=new Map;_isInstalling=!1;setupRoutes(e){e.get("/api/vault/status",this.handleStatus.bind(this)),e.post("/api/vault/install",this.handleInstall.bind(this)),e.get("/api/vault/detail/:name",this.handleDetail.bind(this))}handleStatus=this.wrapHandler(async(e,r)=>{if(this.statusCache&&Date.now()-this.statusCache.timestamp"[]")]),a=JSON.parse(s),o=JSON.parse(i).map(u=>({name:u.name,type:u.type,latestVersion:u.latestVersion,versionsCount:u.versionsCount,updatedAt:u.updatedAt})),c=[];for(let u of a.assets||[]){let p=u.scope||"Global";for(let d of u.assets||[])c.push({name:d.name,version:d.version,type:d.type,clients:d.clients||[],status:d.status||"unknown",scope:p})}let l={installed:!0,version:a.version?.version||null,configured:!!a.config?.repositoryUrl,vaultUrl:a.config?.repositoryUrl||null,profile:a.config?.profile||null,assets:c,catalog:o,isInstalling:this._isInstalling};this.statusCache={data:l,timestamp:Date.now()},r.json(l)}catch(s){_.error("HTTP","Vault status failed",{},s),r.json(this.emptyStatus())}});handleInstall=this.wrapHandler(async(e,r)=>{if(this._isInstalling){r.status(409).json({error:"Installation already in progress"});return}let n=this.resolveSxBinary();if(!n){r.status(500).json({error:"sx CLI not found"});return}let s=process.env.CLAUDE_PROJECT_ROOT||process.cwd();this._isInstalling=!0,this.statusCache=null,r.json({started:!0});try{await this.runSxCommand([n,"install","--repair","--target",s],ide),_.info("HTTP","Vault install --repair completed")}catch(i){_.error("HTTP","Vault install failed",{},i)}finally{this._isInstalling=!1,this.statusCache=null,this.detailCache.clear()}});handleDetail=this.wrapHandler(async(e,r)=>{let n=e.params.name;if(!n||!/^[a-zA-Z0-9-]+$/.test(n)){r.status(400).json({error:"Invalid asset name: only alphanumeric characters and hyphens allowed"});return}let s=this.detailCache.get(n);if(s&&Date.now()-s.timestamp({version:l.version,createdAt:l.createdAt??null,filesCount:l.filesCount??0}))};this.detailCache.set(n,{data:c,timestamp:Date.now()}),r.json(c)}catch(a){(a.message||"").includes("exited with code")?r.status(404).json({error:`Asset '${n}' not found`}):(_.error("HTTP","Vault detail failed",{name:n},a),r.status(502).json({error:"Unexpected sx response format"}))}});emptyStatus(){return{installed:!1,version:null,configured:!1,vaultUrl:null,profile:null,assets:[],catalog:[],isInstalling:this._isInstalling}}resolveSxBinary(){return Bun.which("sx")||null}async runSxCommand(e,r){let n=Bun.spawn(e,{stdout:"pipe",stderr:"pipe"}),s=setTimeout(()=>{try{n.kill("SIGTERM"),setTimeout(()=>{try{n.kill("SIGKILL")}catch{}},1e3)}catch{}},r);try{let[i,a]=await Promise.all([new Response(n.stdout).text(),new Response(n.stderr).text()]),o=await n.exited;if(o!==0)throw new Error(`sx exited with code ${o}: ${a.slice(0,200)}`);return i}finally{clearTimeout(s)}}};re();var cde=3,lde=12e4,HL=6e5,ude=3e4,pde=6e4;function dde(t){let e={isIndexed:!1,files:0,mode:"",model:"",generatedAt:null,embeddingDim:0,version:0};if(!t||!t.includes("Files:"))return e;let r=s=>{let i=t.match(new RegExp(`^${s}:\\s*(.+)$`,"m"));return i?i[1].trim():""},n=parseInt(r("Files"),10)||0;return{isIndexed:n>0,files:n,mode:r("Mode"),model:r("Model"),generatedAt:r("Generated at")||null,embeddingDim:parseInt(r("Embedding dimension"),10)||0,version:parseInt(r("Version"),10)||0}}function mde(t){if(!t.trim())return[];let e=[];for(let r of t.trim().split(` +`)){let n=r.split(" ");if(n.length<7)continue;let s=parseInt(n[0],10),i=parseFloat(n[1]);isNaN(s)||isNaN(i)||e.push({rank:s,score:i,filePath:n[2],chunkIndex:parseInt(n[3],10)||0,startLine:n[4]==="-"?null:parseInt(n[4],10)||null,endLine:n[5]==="-"?null:parseInt(n[5],10)||null,snippet:n.slice(6).join(" ")})}return e}var ph=class extends Ce{dbManager;activeProcesses=new Set;statusCache=new Map;_isReindexing=!1;constructor(e){super(),this.dbManager=e??null}setupRoutes(e){e.get("/api/vexor/status",this.handleStatus.bind(this)),e.get("/api/vexor/search",this.handleSearch.bind(this)),e.post("/api/vexor/reindex",this.handleReindex.bind(this))}dispose(){for(let e of this.activeProcesses)try{e.kill()}catch{}this.activeProcesses.clear(),_.debug("HTTP","VexorRoutes disposed, killed active processes")}handleStatus=this.wrapHandler(async(e,r)=>{let n=e.query.project,s=un(this.dbManager,n),i=this.statusCache.get(s);if(i&&Date.now()-i.timestamp{let n=e.query.query;if(!n){this.badRequest(r,"query parameter is required");return}if(this.activeProcesses.size>=cde){r.status(429).json({error:"Too many concurrent searches. Try again shortly."});return}let s=this.resolveVexorBinary();if(!s){r.json({results:[],error:"Vexor CLI not found"});return}let i=e.query.project,a=un(this.dbManager,i),o=parseInt(e.query.top,10)||20,c=e.query.mode||"auto",l=[s,"search",n,"--top",String(o),"--mode",c,"--format","porcelain","--path",a],u=e.query.ext;u&&l.push("--ext",u);try{let p=await this.runVexorCommand(l,lde),d=mde(p);r.json({results:d,query:n})}catch(p){_.error("HTTP","Vexor search failed",{query:n},p),r.status(500).json({error:p.message})}});handleReindex=this.wrapHandler(async(e,r)=>{if(this._isReindexing){r.status(409).json({error:"Reindexing already in progress"});return}let n=this.resolveVexorBinary();if(!n){r.status(500).json({error:"Vexor CLI not found"});return}let s=e.query.project,i=un(this.dbManager,s);this._isReindexing=!0,this.statusCache.clear(),r.json({started:!0});try{await this.runVexorCommand([n,"index","--clear","--path",i],HL),await this.runVexorCommand([n,"index","--path",i],HL),_.info("HTTP","Vexor reindex completed")}catch(a){_.error("HTTP","Vexor reindex failed",{},a)}finally{this._isReindexing=!1,this.statusCache.clear()}});emptyStatus(){return{isIndexed:!1,files:0,mode:"",model:"",generatedAt:null,embeddingDim:0,version:0,isReindexing:this._isReindexing}}resolveVexorBinary(){return process.env.VEXOR_PATH?process.env.VEXOR_PATH:Bun.which("vexor")||null}async runVexorCommand(e,r){let n=Bun.spawn(e,{stdout:"pipe",stderr:"pipe"});this.activeProcesses.add(n);let s=setTimeout(()=>{try{n.kill()}catch{}},r);try{let[i,a]=await Promise.all([new Response(n.stdout).text(),new Response(n.stderr).text()]),o=await n.exited;if(o!==0)throw new Error(`Vexor exited with code ${o}: ${a.slice(0,200)}`);return i}finally{clearTimeout(s),this.activeProcesses.delete(n)}}};var ri=ne(require("fs"),1),BL=ne(require("os"),1),fh=ne(require("path"),1);re();var Es=["sonnet","opus"],dh={model:"opus",extendedContext:!1,commands:{spec:"sonnet","spec-plan":"opus","spec-implement":"sonnet","spec-verify":"opus",vault:"sonnet",sync:"sonnet",learn:"sonnet"},agents:{"plan-challenger":"sonnet","plan-verifier":"sonnet","spec-reviewer-compliance":"sonnet","spec-reviewer-quality":"opus"}},mh=class t extends Ce{configPath;constructor(e){super(),this.configPath=e??fh.join(BL.homedir(),".pilot","config.json")}setupRoutes(e){e.get("/api/settings",this.wrapHandler(this.handleGet.bind(this))),e.put("/api/settings",this.wrapHandler(this.handlePut.bind(this)))}readConfig(){try{let e=ri.readFileSync(this.configPath,"utf-8");return JSON.parse(e)}catch{return{}}}static stripLegacy1m(e){return e.replace("[1m]","")}mergeWithDefaults(e){let r=typeof e.model=="string"&&e.model.includes("[1m]"),n=typeof e.model=="string"?t.stripLegacy1m(e.model):dh.model;Es.includes(n)||(n=dh.model);let s=e.commands,i={...dh.commands};if(s&&typeof s=="object"&&!Array.isArray(s)){for(let[l,u]of Object.entries(s))if(typeof u=="string"){u.includes("[1m]")&&(r=!0);let p=t.stripLegacy1m(u);Es.includes(p)&&(i[l]=p)}}let a=e.agents,o={...dh.agents};if(a&&typeof a=="object"&&!Array.isArray(a)){for(let[l,u]of Object.entries(a))if(typeof u=="string"){let p=t.stripLegacy1m(u);Es.includes(p)&&(o[l]=p)}}let c=e.extendedContext===!0||r;return{model:n,extendedContext:c,commands:i,agents:o}}validateSettings(e){if(e.model!==void 0&&(typeof e.model!="string"||!Es.includes(e.model)))return`Invalid model '${e.model}'; must be one of: ${Es.join(", ")}`;if(e.extendedContext!==void 0&&typeof e.extendedContext!="boolean")return"extendedContext must be a boolean";if(e.commands!==void 0){if(typeof e.commands!="object"||Array.isArray(e.commands))return"commands must be an object";for(let[r,n]of Object.entries(e.commands))if(typeof n!="string"||!Es.includes(n))return`Invalid model '${n}' for command '${r}'; must be one of: ${Es.join(", ")}`}if(e.agents!==void 0){if(typeof e.agents!="object"||Array.isArray(e.agents))return"agents must be an object";for(let[r,n]of Object.entries(e.agents))if(typeof n!="string"||!Es.includes(n))return`Invalid model '${n}' for agent '${r}'; must be one of: ${Es.join(", ")}`}return null}writeConfigAtomic(e){let r=fh.dirname(this.configPath);ri.mkdirSync(r,{recursive:!0});let n=this.configPath+".tmp";ri.writeFileSync(n,JSON.stringify(e,null,2),"utf-8"),ri.renameSync(n,this.configPath)}async handleGet(e,r){let n=this.readConfig(),s=this.mergeWithDefaults(n);r.json(s)}async handlePut(e,r){let n=e.body,s=this.validateSettings(n);if(s){this.badRequest(r,s);return}let i=this.readConfig();if(n.model!==void 0&&(i.model=n.model),n.extendedContext!==void 0&&(i.extendedContext=n.extendedContext),n.commands!==void 0){let o=i.commands??{};i.commands={...o,...n.commands}}if(n.agents!==void 0){let o=i.agents??{};i.agents={...o,...n.agents}}try{this.writeConfigAtomic(i)}catch(o){_.error("HTTP","Failed to write settings config",{},o),r.status(500).json({error:"Failed to save settings"});return}let a=this.mergeWithDefaults(i);r.json(a)}};var hh=class{dbManager;sessionManager;startTime;requestMetrics=[];providerRequests=0;providerTokens=0;providerErrors=0;providerName="unknown";METRICS_WINDOW_MS=300*1e3;constructor(e,r,n){this.dbManager=e,this.sessionManager=r,this.startTime=n,setInterval(()=>this.cleanupOldMetrics(),6e4)}recordRequest(e,r,n=!1){this.requestMetrics.push({endpoint:e,responseTimeMs:r,timestamp:Date.now(),error:n})}recordProviderUsage(e,r,n=!1){this.providerName=e,this.providerRequests++,this.providerTokens+=r,n&&this.providerErrors++}cleanupOldMetrics(){let e=Date.now()-this.METRICS_WINDOW_MS;this.requestMetrics=this.requestMetrics.filter(r=>r.timestamp>e)}async getMetrics(){let r=this.dbManager.getSessionStore().db,n=$=>{try{return r.prepare(`SELECT COUNT(*) as count FROM ${$}`).get().count}catch{return 0}},s=n("observations"),i=n("sdk_sessions"),a=n("session_summaries"),o=n("prompts"),{DATA_DIR:c}=await Promise.resolve().then(()=>(yr(),QD)),l=await import("fs"),p=(await import("path")).join(c,"pilot-memory.db"),d=0;try{d=l.statSync(p).size}catch{}let m=process.memoryUsage(),f=this.requestMetrics.filter($=>$.timestamp>Date.now()-this.METRICS_WINDOW_MS),y=f.length,g=f.filter($=>$.error).length,h=y>0?f.reduce(($,j)=>$+j.responseTimeMs,0)/y:0,v={};for(let $ of f)v[$.endpoint]=(v[$.endpoint]||0)+1;let b=Date.now()-6e4,x=0;try{x=r.prepare("SELECT COUNT(*) as count FROM observations WHERE created_at_epoch > ?").get(b).count}catch{}let w=f.filter($=>$.timestamp>b).length,S=this.sessionManager.isAnySessionProcessing(),E=this.sessionManager.getTotalActiveWork(),k=this.sessionManager.getActiveSessionCount();return{uptime:Math.floor((Date.now()-this.startTime)/1e3),memoryUsage:{heapUsed:m.heapUsed,heapTotal:m.heapTotal,rss:m.rss,external:m.external},database:{observations:s,sessions:i,summaries:a,prompts:o,sizeBytes:d},processing:{activeSessions:k,queueDepth:E,isProcessing:S},requests:{total:y,byEndpoint:v,errors:g,avgResponseTimeMs:Math.round(h)},provider:{name:this.providerName,requestsTotal:this.providerRequests,tokensTotal:this.providerTokens,errorsTotal:this.providerErrors},rates:{observationsPerMinute:x,requestsPerMinute:w}}}async toPrometheus(){let e=await this.getMetrics(),r=[],n=(s,i,a,o="gauge",c={})=>{r.push(`# HELP claude_pilot_${s} ${a}`),r.push(`# TYPE claude_pilot_${s} ${o}`);let l=Object.entries(c).map(([p,d])=>`${p}="${d}"`).join(","),u=l?`{${l}}`:"";r.push(`claude_pilot_${s}${u} ${i}`)};return n("uptime_seconds",e.uptime,"Worker uptime in seconds"),n("memory_heap_used_bytes",e.memoryUsage.heapUsed,"Heap memory used"),n("memory_heap_total_bytes",e.memoryUsage.heapTotal,"Total heap memory"),n("memory_rss_bytes",e.memoryUsage.rss,"Resident set size"),n("database_observations_total",e.database.observations,"Total observations"),n("database_sessions_total",e.database.sessions,"Total sessions"),n("database_summaries_total",e.database.summaries,"Total summaries"),n("database_prompts_total",e.database.prompts,"Total prompts"),n("database_size_bytes",e.database.sizeBytes,"Database file size"),n("processing_active_sessions",e.processing.activeSessions,"Active processing sessions"),n("processing_queue_depth",e.processing.queueDepth,"Queue depth"),n("processing_is_active",e.processing.isProcessing?1:0,"Is processing active"),n("requests_total",e.requests.total,"Total requests in window","counter"),n("requests_errors_total",e.requests.errors,"Total request errors","counter"),n("requests_response_time_avg_ms",e.requests.avgResponseTimeMs,"Average response time"),n("provider_requests_total",e.provider.requestsTotal,"Provider requests","counter",{provider:e.provider.name}),n("provider_tokens_total",e.provider.tokensTotal,"Provider tokens used","counter",{provider:e.provider.name}),n("provider_errors_total",e.provider.errorsTotal,"Provider errors","counter",{provider:e.provider.name}),n("observations_per_minute",e.rates.observationsPerMinute,"Observations created per minute"),n("requests_per_minute",e.rates.requestsPerMinute,"Requests per minute"),r.join(` +`)}};re();var fde=1440*60*1e3,hde=3e4,gh=null,vh=null;async function WL(t){let e=t.getVectorSyncOrNull(),r=new zo(t,e),n=r.getPolicy();if(!n.enabled){_.debug("RETENTION","Auto-cleanup skipped: retention policy is disabled");return}_.info("RETENTION","Running scheduled auto-cleanup",{maxAgeDays:n.maxAgeDays,maxCount:n.maxCount});let s=await r.run();_.info("RETENTION","Auto-cleanup complete",{deleted:s.deleted,archived:s.archived,errors:s.errors.length,duration:s.duration})}function ZL(t){tw(),vh=setTimeout(async()=>{try{await WL(t)}catch(e){_.error("RETENTION","Scheduled retention failed",{},e)}gh=setInterval(async()=>{try{await WL(t)}catch(e){_.error("RETENTION","Scheduled retention failed",{},e)}},fde),_.info("RETENTION","Scheduled daily auto-cleanup")},hde),_.info("RETENTION","Retention scheduler initialized (first run in 30s)")}function tw(){vh&&(clearTimeout(vh),vh=null),gh&&(clearInterval(gh),gh=null),_.debug("RETENTION","Retention scheduler stopped")}var Ide={},$de="6.11.0";function $q(t,e){return{continue:!0,suppressOutput:!0,status:t,...e&&{message:e}}}function Oq(){let t=`${(0,Rq.homedir)()}/.pilot/bin/pilot`;if(!(0,hw.existsSync)(t))return _.warn("SYSTEM","Pilot binary not found, skipping license check"),!0;try{return(0,Tq.execSync)(`"${t}" verify`,{stdio:"pipe",timeout:5e3}),!0}catch{return!1}}var Eh=class{server;startTime=Date.now();mcpClient;coreReady=!1;mcpReady=!1;initializationCompleteFlag=!1;isShuttingDown=!1;dbManager;sessionManager;sseBroadcaster;sdkAgent;paginationHelper;sessionEventBroadcaster;searchRoutes=null;metricsService=null;vexorRoutes=null;initializationComplete;resolveInitialization;cleanupInterval=null;constructor(){this.initializationComplete=new Promise(e=>{this.resolveInitialization=e}),this.dbManager=new Fm,this.sessionManager=new Um(this.dbManager),this.sseBroadcaster=new Hm,this.sdkAgent=new Tf(this.dbManager,this.sessionManager),this.paginationHelper=new Rf(this.dbManager),this.sessionEventBroadcaster=new Cf(this.sseBroadcaster,this),this.sessionManager.setOnSessionDeleted(()=>{this.broadcastProcessingStatus()}),this.mcpClient=new ya({name:"worker-search-proxy",version:$de},{capabilities:{}}),this.server=new jm({getInitializationComplete:()=>this.initializationCompleteFlag,getCoreReady:()=>this.coreReady,getMcpReady:()=>this.mcpReady,onShutdown:()=>this.shutdown(),onRestart:()=>this.shutdown()}),this.registerRoutes(),this.registerSignalHandlers()}registerSignalHandlers(){let e={value:this.isShuttingDown},r=nb(()=>this.shutdown(),e);process.on("SIGTERM",()=>{this.isShuttingDown=e.value,r("SIGTERM")}),process.on("SIGINT",()=>{this.isShuttingDown=e.value,r("SIGINT")}),process.platform!=="win32"&&process.on("SIGHUP",()=>{process.argv.includes("--daemon")?_.info("SYSTEM","Received SIGHUP in daemon mode, ignoring",{}):(this.isShuttingDown=e.value,r("SIGHUP"))})}registerRoutes(){this.server.app.get("/api/context/inject",async(e,r,n)=>{try{let i=new Promise((a,o)=>setTimeout(()=>o(new Error("Initialization timeout")),3e5));if(await Promise.race([this.initializationComplete,i]),!this.searchRoutes){r.status(503).json({error:"Search routes not initialized"});return}n()}catch{r.status(503).json({error:"Service initialization timed out"})}}),this.server.registerRoutes(new Jf),this.server.registerRoutes(new Nf(this.sseBroadcaster,this.dbManager,this.sessionManager)),this.server.registerRoutes(new Df(this.sessionManager,this.dbManager,this.sdkAgent,this.sessionEventBroadcaster,this)),this.server.registerRoutes(new zf(this.paginationHelper,this.dbManager,this.sessionManager,this.sseBroadcaster,this,this.startTime)),this.server.registerRoutes(new Wf),this.server.registerRoutes(new Zf(this.dbManager,"pilot-memory")),this.server.registerRoutes(new Vf(this.dbManager)),this.server.registerRoutes(new Yf(this.dbManager)),this.server.registerRoutes(new rh(this.dbManager,this.sseBroadcaster)),this.server.registerRoutes(new nh(this.dbManager,this.sseBroadcaster)),this.server.registerRoutes(new ih),this.metricsService=new hh(this.dbManager,this.sessionManager,this.startTime),this.server.registerRoutes(new Kf(this.metricsService)),this.vexorRoutes=new ph(this.dbManager),this.server.registerRoutes(this.vexorRoutes),this.server.registerRoutes(new oh),this.server.registerRoutes(new lh),this.server.registerRoutes(new uh),this.server.registerRoutes(new mh),ZL(this.dbManager)}async start(){let e=Cr(),r=ud(),n=xn();await this.server.listen(e,r),_.info("SYSTEM","Worker started",{bind:r,host:n,port:e,pid:process.pid}),this.initializeBackground().catch(s=>{_.error("SYSTEM","Background initialization failed",{},s)})}async initializeBackground(){try{await gd(),await Zc(),await Wc();let{ModeManager:e}=await Promise.resolve().then(()=>(nn(),SM));e.getInstance().loadMode(),_.info("SYSTEM","Mode loaded: Code Development"),await this.dbManager.initialize();let r=process.env.CLAUDE_PROJECT_ROOT||process.cwd(),n=qu.default.basename(r);this.dbManager.getSessionStore().upsertProjectRoot(n,r);let{PendingMessageStore:s}=await Promise.resolve().then(()=>(Gs(),Di)),i=new s(this.dbManager.getSessionStore().db,3),a=300*1e3,o=i.resetStuckMessages(a);o>0&&_.info("SYSTEM",`Recovered ${o} stuck messages from previous session`,{thresholdMinutes:5});let c=new Of,l=new Pf,u=new $f(this.dbManager.getSessionSearch(),this.dbManager.getSessionStore(),this.dbManager.getVectorSync(),c,l);this.searchRoutes=new Hf(u),this.server.registerRoutes(this.searchRoutes),_.info("WORKER","SearchManager initialized and search routes registered"),this.coreReady=!0,_.info("SYSTEM","Core services ready (hooks can proceed)");let p=[qu.default.join(__dirname,"mcp-server.cjs"),qu.default.join(__dirname,"..","servers","mcp-server.ts"),qu.default.join(__dirname,"..","..","servers","mcp-server.ts")],d=p.find(x=>(0,hw.existsSync)(x))||p[0],m=d.endsWith(".ts"),f=new _a({command:m?"bun":"node",args:[d],env:process.env}),y=3e5,g=this.mcpClient.connect(f),h=new Promise((x,w)=>setTimeout(()=>w(new Error("MCP connection timeout after 5 minutes")),y));await Promise.race([g,h]),this.mcpReady=!0,_.success("WORKER","Connected to MCP server"),this.initializationCompleteFlag=!0,this.resolveInitialization(),_.info("SYSTEM","Background initialization complete"),this.processPendingQueues(50).then(x=>{x.sessionsStarted>0&&_.info("SYSTEM",`Auto-recovered ${x.sessionsStarted} sessions with pending work`,{totalPending:x.totalPendingSessions,started:x.sessionsStarted,sessionIds:x.startedSessionIds})}).catch(x=>{_.error("SYSTEM","Auto-recovery of pending queues failed",{},x)});let v=300*1e3,b=3600*1e3;this.cleanupInterval=setInterval(async()=>{try{let x=await this.sessionManager.cleanupStaleSessions(b);x>0&&_.info("SYSTEM",`Periodic cleanup: removed ${x} stale sessions`),await Zc(),await Wc(),_.debug("SYSTEM","Periodic cleanup completed")}catch(x){_.error("SYSTEM","Periodic cleanup failed",{},x)}},v),_.info("SYSTEM","Started periodic cleanup (every 5 minutes)")}catch(e){throw _.error("SYSTEM","Background initialization failed",{},e),e}}getActiveAgent(){return this.sdkAgent}startSessionProcessor(e,r){if(!e)return;e.abortController.signal.aborted&&(e.abortController=new AbortController,_.debug("SYSTEM","Reset AbortController for session restart",{sessionId:e.sessionDbId}));let n=e.sessionDbId,s=this.getActiveAgent(),i=s.constructor.name;_.info("SYSTEM",`Starting generator (${r}) using ${i}`,{sessionId:n}),e.generatorPromise=s.startSession(e,this).catch(a=>{_.error("SDK","Session generator failed",{sessionId:e.sessionDbId,project:e.project,provider:i},a)}).finally(()=>{e.generatorPromise=null,this.broadcastProcessingStatus()})}async processPendingQueues(e=10){let{PendingMessageStore:r}=await Promise.resolve().then(()=>(Gs(),Di)),n=new r(this.dbManager.getSessionStore().db,3),s=this.dbManager.getSessionStore(),i=1800*1e3,a=Date.now()-i;try{let l=s.db.prepare(` SELECT s.id FROM sdk_sessions s WHERE s.status = 'active' AND s.started_at_epoch < ? @@ -1861,7 +1861,7 @@ Tips: SET status = 'failed', failed_at_epoch = ? WHERE status = 'pending' AND session_db_id IN (${p}) - `).run(Date.now(),...u);h.changes>0&&_.info("SYSTEM",`Marked ${h.changes} pending messages from stale sessions as failed`)}}catch(l){_.error("SYSTEM","Failed to clean up stale sessions",{},l)}let o=n.getSessionsWithPendingMessages(),c={totalPendingSessions:o.length,sessionsStarted:0,sessionsSkipped:0,startedSessionIds:[]};if(o.length===0)return c;_.info("SYSTEM",`Processing up to ${e} of ${o.length} pending session queues`);for(let l of o){if(c.sessionsStarted>=e)break;try{if(this.sessionManager.getSession(l)?.generatorPromise){c.sessionsSkipped++;continue}let p=this.sessionManager.initializeSession(l);_.info("SYSTEM",`Starting processor for session ${l}`,{project:p.project,pendingCount:n.getPendingCount(l)}),this.startSessionProcessor(p,"startup-recovery"),c.sessionsStarted++,c.startedSessionIds.push(l),await new Promise(d=>setTimeout(d,100))}catch(u){_.error("SYSTEM",`Failed to process session ${l}`,{},u),c.sessionsSkipped++}}return c}async shutdown(){this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null,_.info("SYSTEM","Stopped periodic orphan cleanup")),ew(),this.vexorRoutes&&this.vexorRoutes.dispose(),await J$({server:this.server.getHttpServer(),sessionManager:this.sessionManager,mcpClient:this.mcpClient,dbManager:this.dbManager})}broadcastProcessingStatus(){let e=this.sessionManager.isAnySessionProcessing(),r=this.sessionManager.getTotalActiveWork(),n=this.sessionManager.getActiveSessionCount();_.info("WORKER","Broadcasting processing status",{isProcessing:e,queueDepth:r,activeSessions:n}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:e,queueDepth:r})}};async function $de(){let t=process.argv[2],e=Pr();function r(n,s){let i=Rq(n,s);console.log(JSON.stringify(i)),process.exit(0)}switch(t){case"start":{$q()||(_.error("SYSTEM","License verification failed"),r("error","UNLICENSED: Using Claude Pilot without a valid license is not permitted. Subscribe at https://claude-pilot.com then run: pilot activate "));let n=await sb(e,__filename);n.ready?(_.info("SYSTEM","Worker started successfully"),r("ready")):(_.error("SYSTEM",n.error??"Worker failed to start"),r("error",n.error))}case"stop":await Qc(e),await Jc(e,xi(15e3))||_.warn("SYSTEM","Port did not free up after shutdown",{port:e}),Sn(),_.info("SYSTEM","Worker stopped successfully"),process.exit(0);case"restart":{_.info("SYSTEM","Restarting worker"),await Qc(e),await Jc(e,xi(15e3))||(_.error("SYSTEM","Port did not free up after shutdown, aborting restart",{port:e}),process.exit(0)),Sn();let s=Gc(__filename,e);s===void 0&&(_.error("SYSTEM","Failed to spawn worker daemon during restart"),process.exit(0)),Vc({pid:s,port:e,startedAt:new Date().toISOString()}),await Kc(e,xi(3e4))||(Sn(),_.error("SYSTEM","Worker failed to restart"),process.exit(0)),_.info("SYSTEM","Worker restarted successfully"),process.exit(0)}case"status":{let{runCLI:n}=await Promise.resolve().then(()=>(rw(),tw));await n(process.argv.slice(2)),process.exit(0)}case"hook":{let n=process.argv[3],s=process.argv[4];(!n||!s)&&(console.error("Usage: pilot-memory hook "),console.error("Platforms: claude-code, raw"),console.error("Events: context, session-init, observation, summarize, user-message"),process.exit(1)),await sb(e,__filename);let{hookCommand:i}=await Promise.resolve().then(()=>(Eq(),Sq));await i(n,s);break}case"search":case"export":case"import":case"cleanup":case"backup":case"doctor":case"retention":case"vacuum":{let{runCLI:n}=await Promise.resolve().then(()=>(rw(),tw));await n(process.argv.slice(2)),process.exit(0)}default:await Kc(e,500)&&(_.info("SYSTEM","Another worker already healthy on port, exiting duplicate",{port:e}),process.exit(0)),process.on("unhandledRejection",(s,i)=>{_.failure("SYSTEM","Unhandled rejection in daemon mode",{promise:String(i)},s instanceof Error?s:new Error(String(s)))}),process.on("uncaughtException",s=>{_.failure("SYSTEM","Uncaught exception in daemon mode",{},s)}),new Sh().start().catch(s=>{_.failure("SYSTEM","Worker failed to start",{},s),Sn(),process.exit(0)})}}var Ode=typeof require<"u"&&typeof module<"u"?require.main===module||!module.parent:Pde.url===`file://${process.argv[1]}`||process.argv[1]?.endsWith("worker-service");Ode&&$de();0&&(module.exports={WorkerService,buildStatusOutput,verifyLicense}); + `).run(Date.now(),...u);h.changes>0&&_.info("SYSTEM",`Marked ${h.changes} pending messages from stale sessions as failed`)}}catch(l){_.error("SYSTEM","Failed to clean up stale sessions",{},l)}let o=n.getSessionsWithPendingMessages(),c={totalPendingSessions:o.length,sessionsStarted:0,sessionsSkipped:0,startedSessionIds:[]};if(o.length===0)return c;_.info("SYSTEM",`Processing up to ${e} of ${o.length} pending session queues`);for(let l of o){if(c.sessionsStarted>=e)break;try{if(this.sessionManager.getSession(l)?.generatorPromise){c.sessionsSkipped++;continue}let p=this.sessionManager.initializeSession(l);_.info("SYSTEM",`Starting processor for session ${l}`,{project:p.project,pendingCount:n.getPendingCount(l)}),this.startSessionProcessor(p,"startup-recovery"),c.sessionsStarted++,c.startedSessionIds.push(l),await new Promise(d=>setTimeout(d,100))}catch(u){_.error("SYSTEM",`Failed to process session ${l}`,{},u),c.sessionsSkipped++}}return c}async shutdown(){this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null,_.info("SYSTEM","Stopped periodic orphan cleanup")),tw(),this.vexorRoutes&&this.vexorRoutes.dispose(),await Q$({server:this.server.getHttpServer(),sessionManager:this.sessionManager,mcpClient:this.mcpClient,dbManager:this.dbManager})}broadcastProcessingStatus(){let e=this.sessionManager.isAnySessionProcessing(),r=this.sessionManager.getTotalActiveWork(),n=this.sessionManager.getActiveSessionCount();_.info("WORKER","Broadcasting processing status",{isProcessing:e,queueDepth:r,activeSessions:n}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:e,queueDepth:r})}};async function Ode(){let t=process.argv[2],e=Cr();function r(n,s){let i=$q(n,s);console.log(JSON.stringify(i)),process.exit(0)}switch(t){case"start":{Oq()||(_.error("SYSTEM","License verification failed"),r("error","UNLICENSED: Using Pilot Shell without a valid license is not permitted. Subscribe at https://pilot-shell.com then run: pilot activate "));let n=await ib(e,__filename);n.ready?(_.info("SYSTEM","Worker started successfully"),r("ready")):(_.error("SYSTEM",n.error??"Worker failed to start"),r("error",n.error))}case"stop":await Qc(e),await Jc(e,xi(15e3))||_.warn("SYSTEM","Port did not free up after shutdown",{port:e}),Sn(),_.info("SYSTEM","Worker stopped successfully"),process.exit(0);case"restart":{_.info("SYSTEM","Restarting worker"),await Qc(e),await Jc(e,xi(15e3))||(_.error("SYSTEM","Port did not free up after shutdown, aborting restart",{port:e}),process.exit(0)),Sn();let s=Gc(__filename,e);s===void 0&&(_.error("SYSTEM","Failed to spawn worker daemon during restart"),process.exit(0)),Vc({pid:s,port:e,startedAt:new Date().toISOString()}),await Kc(e,xi(3e4))||(Sn(),_.error("SYSTEM","Worker failed to restart"),process.exit(0)),_.info("SYSTEM","Worker restarted successfully"),process.exit(0)}case"status":{let{runCLI:n}=await Promise.resolve().then(()=>(nw(),rw));await n(process.argv.slice(2)),process.exit(0)}case"hook":{let n=process.argv[3],s=process.argv[4];(!n||!s)&&(console.error("Usage: pilot-memory hook "),console.error("Platforms: claude-code, raw"),console.error("Events: context, session-init, observation, summarize, user-message"),process.exit(1)),await ib(e,__filename);let{hookCommand:i}=await Promise.resolve().then(()=>(kq(),Eq));await i(n,s);break}case"search":case"export":case"import":case"cleanup":case"backup":case"doctor":case"retention":case"vacuum":{let{runCLI:n}=await Promise.resolve().then(()=>(nw(),rw));await n(process.argv.slice(2)),process.exit(0)}default:await Kc(e,500)&&(_.info("SYSTEM","Another worker already healthy on port, exiting duplicate",{port:e}),process.exit(0)),process.on("unhandledRejection",(s,i)=>{_.failure("SYSTEM","Unhandled rejection in daemon mode",{promise:String(i)},s instanceof Error?s:new Error(String(s)))}),process.on("uncaughtException",s=>{_.failure("SYSTEM","Uncaught exception in daemon mode",{},s)}),new Eh().start().catch(s=>{_.failure("SYSTEM","Worker failed to start",{},s),Sn(),process.exit(0)})}}var Pde=typeof require<"u"&&typeof module<"u"?require.main===module||!module.parent:Ide.url===`file://${process.argv[1]}`||process.argv[1]?.endsWith("worker-service");Pde&&Ode();0&&(module.exports={WorkerService,buildStatusOutput,verifyLicense}); /*! Bundled license information: depd/index.js: diff --git a/pilot/settings.json b/pilot/settings.json index bde26812..851c5dc8 100644 --- a/pilot/settings.json +++ b/pilot/settings.json @@ -85,7 +85,7 @@ "[PILOT] Pilot Memory: Claude remembers your past sessions and relevant context automatically", "[PILOT] Auto-compaction preserves state seamlessly โ€” no context is ever lost between compaction cycles", "[PILOT] Context Monitor tracks usage โ€” auto-compaction fires automatically, no context is ever lost", - "[PILOT] Pilot Console: Browse your memory, sessions, and specs at localhost:41777", + "[PILOT] Pilot Shell Console: Browse your memory, sessions, and specs at localhost:41777", "[PILOT] Vexor: Semantic search that finds code by meaning, not just text matching", "[PILOT] Context7: Claude fetches up-to-date library docs when you use unfamiliar packages", "[PILOT] grep-mcp: Search 1M+ public GitHub repos for real-world code patterns and examples", @@ -134,7 +134,7 @@ "[PILOT] Install a specific version: export VERSION=x.y.z before running the install script", "[PILOT] Platforms: macOS, Linux, and Windows (WSL2) are all supported", "[PILOT] Dev Container recommended โ€” isolated environment, no system conflicts", - "[PILOT] Please star the repository: github.com/maxritter/claude-pilot", + "[PILOT] Please star the repository: github.com/maxritter/pilot-shell", "[PILOT] Fun fact: Pilot is built with Pilot โ€” a self-improving development loop" ], "excludeDefault": true diff --git a/pilot/ui/index.html b/pilot/ui/index.html index ca626126..d45b8e6d 100644 --- a/pilot/ui/index.html +++ b/pilot/ui/index.html @@ -3,7 +3,7 @@ - Claude Pilot Console + Pilot Shell Console diff --git a/pilot/ui/viewer-bundle.js b/pilot/ui/viewer-bundle.js index d7bbf9cf..24541ec1 100644 --- a/pilot/ui/viewer-bundle.js +++ b/pilot/ui/viewer-bundle.js @@ -1,4 +1,4 @@ -var ID=Object.defineProperty;var TD=(e,t,n)=>t in e?ID(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var bh=(e,t,n)=>TD(e,typeof t!="symbol"?t+"":t,n);function DD(e,t){for(var n=0;nr[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"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();function xr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var wh={exports:{}},Ml={},kh={exports:{}},Le={};/** +var ID=Object.defineProperty;var TD=(e,t,n)=>t in e?ID(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var bp=(e,t,n)=>TD(e,typeof t!="symbol"?t+"":t,n);function DD(e,t){for(var n=0;nr[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"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();function xr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var wp={exports:{}},Ml={},kp={exports:{}},Le={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var ID=Object.defineProperty;var TD=(e,t,n)=>t in e?ID(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var _w;function MD(){if(_w)return Le;_w=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),h=Symbol.iterator;function g(F){return F===null||typeof F!="object"?null:(F=h&&F[h]||F["@@iterator"],typeof F=="function"?F:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,S={};function b(F,W,_){this.props=F,this.context=W,this.refs=S,this.updater=_||y}b.prototype.isReactComponent={},b.prototype.setState=function(F,W){if(typeof F!="object"&&typeof F!="function"&&F!=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,F,W,"setState")},b.prototype.forceUpdate=function(F){this.updater.enqueueForceUpdate(this,F,"forceUpdate")};function P(){}P.prototype=b.prototype;function E(F,W,_){this.props=F,this.context=W,this.refs=S,this.updater=_||y}var O=E.prototype=new P;O.constructor=E,w(O,b.prototype),O.isPureReactComponent=!0;var A=Array.isArray,I=Object.prototype.hasOwnProperty,C={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function R(F,W,_){var te,fe={},ce=null,Se=null;if(W!=null)for(te in W.ref!==void 0&&(Se=W.ref),W.key!==void 0&&(ce=""+W.key),W)I.call(W,te)&&!L.hasOwnProperty(te)&&(fe[te]=W[te]);var je=arguments.length-2;if(je===1)fe.children=_;else if(1t in e?ID(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Tw;function LD(){if(Tw)return Ml;Tw=1;var e=Fo(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function l(u,c,f){var d,h={},g=null,y=null;f!==void 0&&(g=""+f),c.key!==void 0&&(g=""+c.key),c.ref!==void 0&&(y=c.ref);for(d in c)r.call(c,d)&&!a.hasOwnProperty(d)&&(h[d]=c[d]);if(u&&u.defaultProps)for(d in c=u.defaultProps,c)h[d]===void 0&&(h[d]=c[d]);return{$$typeof:t,type:u,key:g,ref:y,props:h,_owner:i.current}}return Ml.Fragment=n,Ml.jsx=l,Ml.jsxs=l,Ml}var Dw;function RD(){return Dw||(Dw=1,wh.exports=LD()),wh.exports}var m=RD(),ac={},Sh={exports:{}},kn={},jh={exports:{}},Ph={};/** + */var Tw;function LD(){if(Tw)return Ml;Tw=1;var e=Fo(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function l(u,c,f){var d,p={},g=null,y=null;f!==void 0&&(g=""+f),c.key!==void 0&&(g=""+c.key),c.ref!==void 0&&(y=c.ref);for(d in c)r.call(c,d)&&!a.hasOwnProperty(d)&&(p[d]=c[d]);if(u&&u.defaultProps)for(d in c=u.defaultProps,c)p[d]===void 0&&(p[d]=c[d]);return{$$typeof:t,type:u,key:g,ref:y,props:p,_owner:i.current}}return Ml.Fragment=n,Ml.jsx=l,Ml.jsxs=l,Ml}var Dw;function RD(){return Dw||(Dw=1,wp.exports=LD()),wp.exports}var m=RD(),ac={},Sp={exports:{}},kn={},jp={exports:{}},Pp={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var ID=Object.defineProperty;var TD=(e,t,n)=>t in e?ID(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Mw;function zD(){return Mw||(Mw=1,(function(e){function t(Z,ae){var T=Z.length;Z.push(ae);e:for(;0>>1,W=Z[F];if(0>>1;F<_;){var te=2*(F+1)-1,fe=Z[te],ce=te+1,Se=Z[ce];if(0>i(fe,T))cei(Se,fe)?(Z[F]=Se,Z[ce]=T,F=ce):(Z[F]=fe,Z[te]=T,F=te);else if(cei(Se,T))Z[F]=Se,Z[ce]=T,F=ce;else break e}}return ae}function i(Z,ae){var T=Z.sortIndex-ae.sortIndex;return T!==0?T:Z.id-ae.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var c=[],f=[],d=1,h=null,g=3,y=!1,w=!1,S=!1,b=typeof setTimeout=="function"?setTimeout:null,P=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 O(Z){for(var ae=n(f);ae!==null;){if(ae.callback===null)r(f);else if(ae.startTime<=Z)r(f),ae.sortIndex=ae.expirationTime,t(c,ae);else break;ae=n(f)}}function A(Z){if(S=!1,O(Z),!w)if(n(c)!==null)w=!0,he(I);else{var ae=n(f);ae!==null&&de(A,ae.startTime-Z)}}function I(Z,ae){w=!1,S&&(S=!1,P(R),R=-1),y=!0;var T=g;try{for(O(ae),h=n(c);h!==null&&(!(h.expirationTime>ae)||Z&&!q());){var F=h.callback;if(typeof F=="function"){h.callback=null,g=h.priorityLevel;var W=F(h.expirationTime<=ae);ae=e.unstable_now(),typeof W=="function"?h.callback=W:h===n(c)&&r(c),O(ae)}else r(c);h=n(c)}if(h!==null)var _=!0;else{var te=n(f);te!==null&&de(A,te.startTime-ae),_=!1}return _}finally{h=null,g=T,y=!1}}var C=!1,L=null,R=-1,U=5,D=-1;function q(){return!(e.unstable_now()-DZ||125F?(Z.sortIndex=T,t(f,Z),n(c)===null&&Z===n(f)&&(S?(P(R),R=-1):S=!0,de(A,T-F))):(Z.sortIndex=W,t(c,Z),w||y||(w=!0,he(I))),Z},e.unstable_shouldYield=q,e.unstable_wrapCallback=function(Z){var ae=g;return function(){var T=g;g=ae;try{return Z.apply(this,arguments)}finally{g=T}}}})(Ph)),Ph}var Lw;function $D(){return Lw||(Lw=1,jh.exports=zD()),jh.exports}/** + */var Mw;function zD(){return Mw||(Mw=1,(function(e){function t(J,ae){var T=J.length;J.push(ae);e:for(;0>>1,U=J[$];if(0>>1;$<_;){var te=2*($+1)-1,he=J[te],fe=te+1,Se=J[fe];if(0>i(he,T))fei(Se,he)?(J[$]=Se,J[fe]=T,$=fe):(J[$]=he,J[te]=T,$=te);else if(fei(Se,T))J[$]=Se,J[fe]=T,$=fe;else break e}}return ae}function i(J,ae){var T=J.sortIndex-ae.sortIndex;return T!==0?T:J.id-ae.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var c=[],f=[],d=1,p=null,g=3,y=!1,w=!1,S=!1,b=typeof setTimeout=="function"?setTimeout:null,P=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 O(J){for(var ae=n(f);ae!==null;){if(ae.callback===null)r(f);else if(ae.startTime<=J)r(f),ae.sortIndex=ae.expirationTime,t(c,ae);else break;ae=n(f)}}function A(J){if(S=!1,O(J),!w)if(n(c)!==null)w=!0,de(I);else{var ae=n(f);ae!==null&&ce(A,ae.startTime-J)}}function I(J,ae){w=!1,S&&(S=!1,P(B),B=-1),y=!0;var T=g;try{for(O(ae),p=n(c);p!==null&&(!(p.expirationTime>ae)||J&&!W());){var $=p.callback;if(typeof $=="function"){p.callback=null,g=p.priorityLevel;var U=$(p.expirationTime<=ae);ae=e.unstable_now(),typeof U=="function"?p.callback=U:p===n(c)&&r(c),O(ae)}else r(c);p=n(c)}if(p!==null)var _=!0;else{var te=n(f);te!==null&&ce(A,te.startTime-ae),_=!1}return _}finally{p=null,g=T,y=!1}}var C=!1,M=null,B=-1,H=5,L=-1;function W(){return!(e.unstable_now()-LJ||125$?(J.sortIndex=T,t(f,J),n(c)===null&&J===n(f)&&(S?(P(B),B=-1):S=!0,ce(A,T-$))):(J.sortIndex=U,t(c,J),w||y||(w=!0,de(I))),J},e.unstable_shouldYield=W,e.unstable_wrapCallback=function(J){var ae=g;return function(){var T=g;g=ae;try{return J.apply(this,arguments)}finally{g=T}}}})(Pp)),Pp}var Lw;function $D(){return Lw||(Lw=1,jp.exports=zD()),jp.exports}/** * @license React * react-dom.production.min.js * @@ -30,42 +30,42 @@ var ID=Object.defineProperty;var TD=(e,t,n)=>t in e?ID(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Rw;function FD(){if(Rw)return kn;Rw=1;var e=Fo(),t=$D();function n(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,p=1;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),c=Object.prototype.hasOwnProperty,f=/^[: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]*$/,d={},h={};function g(o){return c.call(h,o)?!0:c.call(d,o)?!1:f.test(o)?h[o]=!0:(d[o]=!0,!1)}function y(o,s,p,v){if(p!==null&&p.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return v?!1:p!==null?!p.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function w(o,s,p,v){if(s===null||typeof s>"u"||y(o,s,p,v))return!0;if(v)return!1;if(p!==null)switch(p.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function S(o,s,p,v,x,j,N){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=v,this.attributeNamespace=x,this.mustUseProperty=p,this.propertyName=o,this.type=s,this.sanitizeURL=j,this.removeEmptyString=N}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){b[o]=new S(o,0,!1,o,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var s=o[0];b[s]=new S(s,1,!1,o[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(o){b[o]=new S(o,2,!1,o.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){b[o]=new S(o,2,!1,o,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(o){b[o]=new S(o,3,!1,o.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(o){b[o]=new S(o,3,!0,o,null,!1,!1)}),["capture","download"].forEach(function(o){b[o]=new S(o,4,!1,o,null,!1,!1)}),["cols","rows","size","span"].forEach(function(o){b[o]=new S(o,6,!1,o,null,!1,!1)}),["rowSpan","start"].forEach(function(o){b[o]=new S(o,5,!1,o.toLowerCase(),null,!1,!1)});var P=/[\-:]([a-z])/g;function E(o){return o[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(o){var s=o.replace(P,E);b[s]=new S(s,1,!1,o,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var s=o.replace(P,E);b[s]=new S(s,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(o){var s=o.replace(P,E);b[s]=new S(s,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(o){b[o]=new S(o,1,!1,o.toLowerCase(),null,!1,!1)}),b.xlinkHref=new S("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(o){b[o]=new S(o,1,!1,o.toLowerCase(),null,!0,!0)});function O(o,s,p,v){var x=b.hasOwnProperty(s)?b[s]:null;(x!==null?x.type!==0:v||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),c=Object.prototype.hasOwnProperty,f=/^[: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]*$/,d={},p={};function g(o){return c.call(p,o)?!0:c.call(d,o)?!1:f.test(o)?p[o]=!0:(d[o]=!0,!1)}function y(o,s,h,v){if(h!==null&&h.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return v?!1:h!==null?!h.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function w(o,s,h,v){if(s===null||typeof s>"u"||y(o,s,h,v))return!0;if(v)return!1;if(h!==null)switch(h.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function S(o,s,h,v,x,j,N){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=v,this.attributeNamespace=x,this.mustUseProperty=h,this.propertyName=o,this.type=s,this.sanitizeURL=j,this.removeEmptyString=N}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){b[o]=new S(o,0,!1,o,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var s=o[0];b[s]=new S(s,1,!1,o[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(o){b[o]=new S(o,2,!1,o.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){b[o]=new S(o,2,!1,o,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(o){b[o]=new S(o,3,!1,o.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(o){b[o]=new S(o,3,!0,o,null,!1,!1)}),["capture","download"].forEach(function(o){b[o]=new S(o,4,!1,o,null,!1,!1)}),["cols","rows","size","span"].forEach(function(o){b[o]=new S(o,6,!1,o,null,!1,!1)}),["rowSpan","start"].forEach(function(o){b[o]=new S(o,5,!1,o.toLowerCase(),null,!1,!1)});var P=/[\-:]([a-z])/g;function E(o){return o[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(o){var s=o.replace(P,E);b[s]=new S(s,1,!1,o,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var s=o.replace(P,E);b[s]=new S(s,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(o){var s=o.replace(P,E);b[s]=new S(s,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(o){b[o]=new S(o,1,!1,o.toLowerCase(),null,!1,!1)}),b.xlinkHref=new S("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(o){b[o]=new S(o,1,!1,o.toLowerCase(),null,!0,!0)});function O(o,s,h,v){var x=b.hasOwnProperty(s)?b[s]:null;(x!==null?x.type!==0:v||!(2M||x[N]!==j[M]){var $=` -`+x[N].replace(" at new "," at ");return o.displayName&&$.includes("")&&($=$.replace("",o.displayName)),$}while(1<=N&&0<=M);break}}}finally{_=!1,Error.prepareStackTrace=p}return(o=o?o.displayName||o.name:"")?W(o):""}function fe(o){switch(o.tag){case 5:return W(o.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return o=te(o.type,!1),o;case 11:return o=te(o.type.render,!1),o;case 1:return o=te(o.type,!0),o;default:return""}}function ce(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case L:return"Fragment";case C:return"Portal";case U:return"Profiler";case R:return"StrictMode";case ee:return"Suspense";case X:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case q:return(o.displayName||"Context")+".Consumer";case D:return(o._context.displayName||"Context")+".Provider";case z:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Q:return s=o.displayName||null,s!==null?s:ce(o.type)||"Memo";case he:s=o._payload,o=o._init;try{return ce(o(s))}catch{}}return null}function Se(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(s);case 8:return s===R?"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 s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function je(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Y(o){var s=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function we(o){var s=Y(o)?"checked":"value",p=Object.getOwnPropertyDescriptor(o.constructor.prototype,s),v=""+o[s];if(!o.hasOwnProperty(s)&&typeof p<"u"&&typeof p.get=="function"&&typeof p.set=="function"){var x=p.get,j=p.set;return Object.defineProperty(o,s,{configurable:!0,get:function(){return x.call(this)},set:function(N){v=""+N,j.call(this,N)}}),Object.defineProperty(o,s,{enumerable:p.enumerable}),{getValue:function(){return v},setValue:function(N){v=""+N},stopTracking:function(){o._valueTracker=null,delete o[s]}}}}function Ae(o){o._valueTracker||(o._valueTracker=we(o))}function ie(o){if(!o)return!1;var s=o._valueTracker;if(!s)return!0;var p=s.getValue(),v="";return o&&(v=Y(o)?o.checked?"true":"false":o.value),o=v,o!==p?(s.setValue(o),!0):!1}function rt(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function ze(o,s){var p=s.checked;return T({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:p??o._wrapperState.initialChecked})}function ct(o,s){var p=s.defaultValue==null?"":s.defaultValue,v=s.checked!=null?s.checked:s.defaultChecked;p=je(s.value!=null?s.value:p),o._wrapperState={initialChecked:v,initialValue:p,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ft(o,s){s=s.checked,s!=null&&O(o,"checked",s,!1)}function Wt(o,s){ft(o,s);var p=je(s.value),v=s.type;if(p!=null)v==="number"?(p===0&&o.value===""||o.value!=p)&&(o.value=""+p):o.value!==""+p&&(o.value=""+p);else if(v==="submit"||v==="reset"){o.removeAttribute("value");return}s.hasOwnProperty("value")?Br(o,s.type,p):s.hasOwnProperty("defaultValue")&&Br(o,s.type,je(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(o.defaultChecked=!!s.defaultChecked)}function Pt(o,s,p){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var v=s.type;if(!(v!=="submit"&&v!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+o._wrapperState.initialValue,p||s===o.value||(o.value=s),o.defaultValue=s}p=o.name,p!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,p!==""&&(o.name=p)}function Br(o,s,p){(s!=="number"||rt(o.ownerDocument)!==o)&&(p==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+p&&(o.defaultValue=""+p))}var yi=Array.isArray;function xi(o,s,p,v){if(o=o.options,s){s={};for(var x=0;x"+s.valueOf().toString()+"",s=Ne.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}});function Fe(o,s){if(s){var p=o.firstChild;if(p&&p===o.lastChild&&p.nodeType===3){p.nodeValue=s;return}}o.textContent=s}var qt={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},Ur=["Webkit","ms","Moz","O"];Object.keys(qt).forEach(function(o){Ur.forEach(function(s){s=s+o.charAt(0).toUpperCase()+o.substring(1),qt[s]=qt[o]})});function Fn(o,s,p){return s==null||typeof s=="boolean"||s===""?"":p||typeof s!="number"||s===0||qt.hasOwnProperty(o)&&qt[o]?(""+s).trim():s+"px"}function bi(o,s){o=o.style;for(var p in s)if(s.hasOwnProperty(p)){var v=p.indexOf("--")===0,x=Fn(p,s[p],v);p==="float"&&(p="cssFloat"),v?o.setProperty(p,x):o[p]=x}}var na=T({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 Ht(o,s){if(s){if(na[o]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(n(137,o));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(n(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(n(61))}if(s.style!=null&&typeof s.style!="object")throw Error(n(62))}}function wr(o,s){if(o.indexOf("-")===-1)return typeof s.is=="string";switch(o){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 Nn=null;function Md(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var Ld=null,qa=null,Ha=null;function Gx(o){if(o=bl(o)){if(typeof Ld!="function")throw Error(n(280));var s=o.stateNode;s&&(s=bu(s),Ld(o.stateNode,o.type,s))}}function Yx(o){qa?Ha?Ha.push(o):Ha=[o]:qa=o}function Xx(){if(qa){var o=qa,s=Ha;if(Ha=qa=null,Gx(o),s)for(o=0;o>>=0,o===0?32:31-(GT(o)/YT|0)|0}var nu=64,ru=4194304;function nl(o){switch(o&-o){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 o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function iu(o,s){var p=o.pendingLanes;if(p===0)return 0;var v=0,x=o.suspendedLanes,j=o.pingedLanes,N=p&268435455;if(N!==0){var M=N&~x;M!==0?v=nl(M):(j&=N,j!==0&&(v=nl(j)))}else N=p&~x,N!==0?v=nl(N):j!==0&&(v=nl(j));if(v===0)return 0;if(s!==0&&s!==v&&(s&x)===0&&(x=v&-v,j=s&-s,x>=j||x===16&&(j&4194240)!==0))return s;if((v&4)!==0&&(v|=p&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=v;0p;p++)s.push(o);return s}function rl(o,s,p){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-rr(s),o[s]=p}function JT(o,s){var p=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var v=o.eventTimes;for(o=o.expirationTimes;0=fl),j0=" ",P0=!1;function E0(o,s){switch(o){case"keyup":return C2.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function C0(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Ga=!1;function N2(o,s){switch(o){case"compositionend":return C0(s);case"keypress":return s.which!==32?null:(P0=!0,j0);case"textInput":return o=s.data,o===j0&&P0?null:o;default:return null}}function A2(o,s){if(Ga)return o==="compositionend"||!ep&&E0(o,s)?(o=y0(),uu=Gd=Pi=null,Ga=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:p,offset:s-o};o=v}e:{for(;p;){if(p.nextSibling){p=p.nextSibling;break e}p=p.parentNode}p=void 0}p=D0(p)}}function L0(o,s){return o&&s?o===s?!0:o&&o.nodeType===3?!1:s&&s.nodeType===3?L0(o,s.parentNode):"contains"in o?o.contains(s):o.compareDocumentPosition?!!(o.compareDocumentPosition(s)&16):!1:!1}function R0(){for(var o=window,s=rt();s instanceof o.HTMLIFrameElement;){try{var p=typeof s.contentWindow.location.href=="string"}catch{p=!1}if(p)o=s.contentWindow;else break;s=rt(o.document)}return s}function rp(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s&&(s==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||s==="textarea"||o.contentEditable==="true")}function $2(o){var s=R0(),p=o.focusedElem,v=o.selectionRange;if(s!==p&&p&&p.ownerDocument&&L0(p.ownerDocument.documentElement,p)){if(v!==null&&rp(p)){if(s=v.start,o=v.end,o===void 0&&(o=s),"selectionStart"in p)p.selectionStart=s,p.selectionEnd=Math.min(o,p.value.length);else if(o=(s=p.ownerDocument||document)&&s.defaultView||window,o.getSelection){o=o.getSelection();var x=p.textContent.length,j=Math.min(v.start,x);v=v.end===void 0?j:Math.min(v.end,x),!o.extend&&j>v&&(x=v,v=j,j=x),x=M0(p,j);var N=M0(p,v);x&&N&&(o.rangeCount!==1||o.anchorNode!==x.node||o.anchorOffset!==x.offset||o.focusNode!==N.node||o.focusOffset!==N.offset)&&(s=s.createRange(),s.setStart(x.node,x.offset),o.removeAllRanges(),j>v?(o.addRange(s),o.extend(N.node,N.offset)):(s.setEnd(N.node,N.offset),o.addRange(s)))}}for(s=[],o=p;o=o.parentNode;)o.nodeType===1&&s.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof p.focus=="function"&&p.focus(),p=0;p=document.documentMode,Ya=null,ip=null,ml=null,ap=!1;function z0(o,s,p){var v=p.window===p?p.document:p.nodeType===9?p:p.ownerDocument;ap||Ya==null||Ya!==rt(v)||(v=Ya,"selectionStart"in v&&rp(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),ml&&hl(ml,v)||(ml=v,v=vu(ip,"onSelect"),0eo||(o.current=vp[eo],vp[eo]=null,eo--)}function Qe(o,s){eo++,vp[eo]=o.current,o.current=s}var Ni={},Qt=Oi(Ni),vn=Oi(!1),aa=Ni;function to(o,s){var p=o.type.contextTypes;if(!p)return Ni;var v=o.stateNode;if(v&&v.__reactInternalMemoizedUnmaskedChildContext===s)return v.__reactInternalMemoizedMaskedChildContext;var x={},j;for(j in p)x[j]=s[j];return v&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=x),x}function yn(o){return o=o.childContextTypes,o!=null}function wu(){tt(vn),tt(Qt)}function J0(o,s,p){if(Qt.current!==Ni)throw Error(n(168));Qe(Qt,s),Qe(vn,p)}function eb(o,s,p){var v=o.stateNode;if(s=s.childContextTypes,typeof v.getChildContext!="function")return p;v=v.getChildContext();for(var x in v)if(!(x in s))throw Error(n(108,Se(o)||"Unknown",x));return T({},p,v)}function ku(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Ni,aa=Qt.current,Qe(Qt,o),Qe(vn,vn.current),!0}function tb(o,s,p){var v=o.stateNode;if(!v)throw Error(n(169));p?(o=eb(o,s,aa),v.__reactInternalMemoizedMergedChildContext=o,tt(vn),tt(Qt),Qe(Qt,o)):tt(vn),Qe(vn,p)}var qr=null,Su=!1,yp=!1;function nb(o){qr===null?qr=[o]:qr.push(o)}function Q2(o){Su=!0,nb(o)}function Ai(){if(!yp&&qr!==null){yp=!0;var o=0,s=Ve;try{var p=qr;for(Ve=1;o>=N,x-=N,Hr=1<<32-rr(s)+x|p<_e?(Tt=Ce,Ce=null):Tt=Ce.sibling;var Ue=ne(H,Ce,V[_e],ue);if(Ue===null){Ce===null&&(Ce=Tt);break}o&&Ce&&Ue.alternate===null&&s(H,Ce),B=j(Ue,B,_e),Ee===null?ke=Ue:Ee.sibling=Ue,Ee=Ue,Ce=Tt}if(_e===V.length)return p(H,Ce),it&&la(H,_e),ke;if(Ce===null){for(;_e_e?(Tt=Ce,Ce=null):Tt=Ce.sibling;var $i=ne(H,Ce,Ue.value,ue);if($i===null){Ce===null&&(Ce=Tt);break}o&&Ce&&$i.alternate===null&&s(H,Ce),B=j($i,B,_e),Ee===null?ke=$i:Ee.sibling=$i,Ee=$i,Ce=Tt}if(Ue.done)return p(H,Ce),it&&la(H,_e),ke;if(Ce===null){for(;!Ue.done;_e++,Ue=V.next())Ue=oe(H,Ue.value,ue),Ue!==null&&(B=j(Ue,B,_e),Ee===null?ke=Ue:Ee.sibling=Ue,Ee=Ue);return it&&la(H,_e),ke}for(Ce=v(H,Ce);!Ue.done;_e++,Ue=V.next())Ue=me(Ce,H,_e,Ue.value,ue),Ue!==null&&(o&&Ue.alternate!==null&&Ce.delete(Ue.key===null?_e:Ue.key),B=j(Ue,B,_e),Ee===null?ke=Ue:Ee.sibling=Ue,Ee=Ue);return o&&Ce.forEach(function(_D){return s(H,_D)}),it&&la(H,_e),ke}function vt(H,B,V,ue){if(typeof V=="object"&&V!==null&&V.type===L&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case I:e:{for(var ke=V.key,Ee=B;Ee!==null;){if(Ee.key===ke){if(ke=V.type,ke===L){if(Ee.tag===7){p(H,Ee.sibling),B=x(Ee,V.props.children),B.return=H,H=B;break e}}else if(Ee.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===he&&sb(ke)===Ee.type){p(H,Ee.sibling),B=x(Ee,V.props),B.ref=wl(H,Ee,V),B.return=H,H=B;break e}p(H,Ee);break}else s(H,Ee);Ee=Ee.sibling}V.type===L?(B=ma(V.props.children,H.mode,ue,V.key),B.return=H,H=B):(ue=Qu(V.type,V.key,V.props,null,H.mode,ue),ue.ref=wl(H,B,V),ue.return=H,H=ue)}return N(H);case C:e:{for(Ee=V.key;B!==null;){if(B.key===Ee)if(B.tag===4&&B.stateNode.containerInfo===V.containerInfo&&B.stateNode.implementation===V.implementation){p(H,B.sibling),B=x(B,V.children||[]),B.return=H,H=B;break e}else{p(H,B);break}else s(H,B);B=B.sibling}B=mh(V,H.mode,ue),B.return=H,H=B}return N(H);case he:return Ee=V._init,vt(H,B,Ee(V._payload),ue)}if(yi(V))return xe(H,B,V,ue);if(ae(V))return be(H,B,V,ue);Cu(H,V)}return typeof V=="string"&&V!==""||typeof V=="number"?(V=""+V,B!==null&&B.tag===6?(p(H,B.sibling),B=x(B,V),B.return=H,H=B):(p(H,B),B=hh(V,H.mode,ue),B.return=H,H=B),N(H)):p(H,B)}return vt}var ao=ub(!0),cb=ub(!1),Ou=Oi(null),Nu=null,oo=null,jp=null;function Pp(){jp=oo=Nu=null}function Ep(o){var s=Ou.current;tt(Ou),o._currentValue=s}function Cp(o,s,p){for(;o!==null;){var v=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,v!==null&&(v.childLanes|=s)):v!==null&&(v.childLanes&s)!==s&&(v.childLanes|=s),o===p)break;o=o.return}}function lo(o,s){Nu=o,jp=oo=null,o=o.dependencies,o!==null&&o.firstContext!==null&&((o.lanes&s)!==0&&(xn=!0),o.firstContext=null)}function Wn(o){var s=o._currentValue;if(jp!==o)if(o={context:o,memoizedValue:s,next:null},oo===null){if(Nu===null)throw Error(n(308));oo=o,Nu.dependencies={lanes:0,firstContext:o}}else oo=oo.next=o;return s}var sa=null;function Op(o){sa===null?sa=[o]:sa.push(o)}function fb(o,s,p,v){var x=s.interleaved;return x===null?(p.next=p,Op(s)):(p.next=x.next,x.next=p),s.interleaved=p,Kr(o,v)}function Kr(o,s){o.lanes|=s;var p=o.alternate;for(p!==null&&(p.lanes|=s),p=o,o=o.return;o!==null;)o.childLanes|=s,p=o.alternate,p!==null&&(p.childLanes|=s),p=o,o=o.return;return p.tag===3?p.stateNode:null}var _i=!1;function Np(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function db(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function Gr(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function Ii(o,s,p){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(Be&2)!==0){var x=v.pending;return x===null?s.next=s:(s.next=x.next,x.next=s),v.pending=s,Kr(o,p)}return x=v.interleaved,x===null?(s.next=s,Op(v)):(s.next=x.next,x.next=s),v.interleaved=s,Kr(o,p)}function Au(o,s,p){if(s=s.updateQueue,s!==null&&(s=s.shared,(p&4194240)!==0)){var v=s.lanes;v&=o.pendingLanes,p|=v,s.lanes=p,Wd(o,p)}}function pb(o,s){var p=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,p===v)){var x=null,j=null;if(p=p.firstBaseUpdate,p!==null){do{var N={eventTime:p.eventTime,lane:p.lane,tag:p.tag,payload:p.payload,callback:p.callback,next:null};j===null?x=j=N:j=j.next=N,p=p.next}while(p!==null);j===null?x=j=s:j=j.next=s}else x=j=s;p={baseState:v.baseState,firstBaseUpdate:x,lastBaseUpdate:j,shared:v.shared,effects:v.effects},o.updateQueue=p;return}o=p.lastBaseUpdate,o===null?p.firstBaseUpdate=s:o.next=s,p.lastBaseUpdate=s}function _u(o,s,p,v){var x=o.updateQueue;_i=!1;var j=x.firstBaseUpdate,N=x.lastBaseUpdate,M=x.shared.pending;if(M!==null){x.shared.pending=null;var $=M,K=$.next;$.next=null,N===null?j=K:N.next=K,N=$;var re=o.alternate;re!==null&&(re=re.updateQueue,M=re.lastBaseUpdate,M!==N&&(M===null?re.firstBaseUpdate=K:M.next=K,re.lastBaseUpdate=$))}if(j!==null){var oe=x.baseState;N=0,re=K=$=null,M=j;do{var ne=M.lane,me=M.eventTime;if((v&ne)===ne){re!==null&&(re=re.next={eventTime:me,lane:0,tag:M.tag,payload:M.payload,callback:M.callback,next:null});e:{var xe=o,be=M;switch(ne=s,me=p,be.tag){case 1:if(xe=be.payload,typeof xe=="function"){oe=xe.call(me,oe,ne);break e}oe=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=be.payload,ne=typeof xe=="function"?xe.call(me,oe,ne):xe,ne==null)break e;oe=T({},oe,ne);break e;case 2:_i=!0}}M.callback!==null&&M.lane!==0&&(o.flags|=64,ne=x.effects,ne===null?x.effects=[M]:ne.push(M))}else me={eventTime:me,lane:ne,tag:M.tag,payload:M.payload,callback:M.callback,next:null},re===null?(K=re=me,$=oe):re=re.next=me,N|=ne;if(M=M.next,M===null){if(M=x.shared.pending,M===null)break;ne=M,M=ne.next,ne.next=null,x.lastBaseUpdate=ne,x.shared.pending=null}}while(!0);if(re===null&&($=oe),x.baseState=$,x.firstBaseUpdate=K,x.lastBaseUpdate=re,s=x.shared.interleaved,s!==null){x=s;do N|=x.lane,x=x.next;while(x!==s)}else j===null&&(x.shared.lanes=0);fa|=N,o.lanes=N,o.memoizedState=oe}}function hb(o,s,p){if(o=s.effects,s.effects=null,o!==null)for(s=0;sp?p:4,o(!0);var v=Dp.transition;Dp.transition={};try{o(!1),s()}finally{Ve=p,Dp.transition=v}}function Tb(){return qn().memoizedState}function tD(o,s,p){var v=Li(o);if(p={lane:v,action:p,hasEagerState:!1,eagerState:null,next:null},Db(o))Mb(s,p);else if(p=fb(o,s,p,v),p!==null){var x=sn();ur(p,o,v,x),Lb(p,s,v)}}function nD(o,s,p){var v=Li(o),x={lane:v,action:p,hasEagerState:!1,eagerState:null,next:null};if(Db(o))Mb(s,x);else{var j=o.alternate;if(o.lanes===0&&(j===null||j.lanes===0)&&(j=s.lastRenderedReducer,j!==null))try{var N=s.lastRenderedState,M=j(N,p);if(x.hasEagerState=!0,x.eagerState=M,ir(M,N)){var $=s.interleaved;$===null?(x.next=x,Op(s)):(x.next=$.next,$.next=x),s.interleaved=x;return}}catch{}finally{}p=fb(o,s,x,v),p!==null&&(x=sn(),ur(p,o,v,x),Lb(p,s,v))}}function Db(o){var s=o.alternate;return o===st||s!==null&&s===st}function Mb(o,s){Pl=Du=!0;var p=o.pending;p===null?s.next=s:(s.next=p.next,p.next=s),o.pending=s}function Lb(o,s,p){if((p&4194240)!==0){var v=s.lanes;v&=o.pendingLanes,p|=v,s.lanes=p,Wd(o,p)}}var Ru={readContext:Wn,useCallback:Zt,useContext:Zt,useEffect:Zt,useImperativeHandle:Zt,useInsertionEffect:Zt,useLayoutEffect:Zt,useMemo:Zt,useReducer:Zt,useRef:Zt,useState:Zt,useDebugValue:Zt,useDeferredValue:Zt,useTransition:Zt,useMutableSource:Zt,useSyncExternalStore:Zt,useId:Zt,unstable_isNewReconciler:!1},rD={readContext:Wn,useCallback:function(o,s){return Pr().memoizedState=[o,s===void 0?null:s],o},useContext:Wn,useEffect:Pb,useImperativeHandle:function(o,s,p){return p=p!=null?p.concat([o]):null,Mu(4194308,4,Ob.bind(null,s,o),p)},useLayoutEffect:function(o,s){return Mu(4194308,4,o,s)},useInsertionEffect:function(o,s){return Mu(4,2,o,s)},useMemo:function(o,s){var p=Pr();return s=s===void 0?null:s,o=o(),p.memoizedState=[o,s],o},useReducer:function(o,s,p){var v=Pr();return s=p!==void 0?p(s):s,v.memoizedState=v.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},v.queue=o,o=o.dispatch=tD.bind(null,st,o),[v.memoizedState,o]},useRef:function(o){var s=Pr();return o={current:o},s.memoizedState=o},useState:Sb,useDebugValue:Bp,useDeferredValue:function(o){return Pr().memoizedState=o},useTransition:function(){var o=Sb(!1),s=o[0];return o=eD.bind(null,o[1]),Pr().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,p){var v=st,x=Pr();if(it){if(p===void 0)throw Error(n(407));p=p()}else{if(p=s(),It===null)throw Error(n(349));(ca&30)!==0||yb(v,s,p)}x.memoizedState=p;var j={value:p,getSnapshot:s};return x.queue=j,Pb(bb.bind(null,v,j,o),[o]),v.flags|=2048,Ol(9,xb.bind(null,v,j,p,s),void 0,null),p},useId:function(){var o=Pr(),s=It.identifierPrefix;if(it){var p=Vr,v=Hr;p=(v&~(1<<32-rr(v)-1)).toString(32)+p,s=":"+s+"R"+p,p=El++,0D||x[N]!==j[D]){var z=` +`+x[N].replace(" at new "," at ");return o.displayName&&z.includes("")&&(z=z.replace("",o.displayName)),z}while(1<=N&&0<=D);break}}}finally{_=!1,Error.prepareStackTrace=h}return(o=o?o.displayName||o.name:"")?U(o):""}function he(o){switch(o.tag){case 5:return U(o.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return o=te(o.type,!1),o;case 11:return o=te(o.type.render,!1),o;case 1:return o=te(o.type,!0),o;default:return""}}function fe(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case M:return"Fragment";case C:return"Portal";case H:return"Profiler";case B:return"StrictMode";case V:return"Suspense";case G:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case W:return(o.displayName||"Context")+".Consumer";case L:return(o._context.displayName||"Context")+".Provider";case R:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Q:return s=o.displayName||null,s!==null?s:fe(o.type)||"Memo";case de:s=o._payload,o=o._init;try{return fe(o(s))}catch{}}return null}function Se(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return fe(s);case 8:return s===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 s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function je(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Z(o){var s=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function we(o){var s=Z(o)?"checked":"value",h=Object.getOwnPropertyDescriptor(o.constructor.prototype,s),v=""+o[s];if(!o.hasOwnProperty(s)&&typeof h<"u"&&typeof h.get=="function"&&typeof h.set=="function"){var x=h.get,j=h.set;return Object.defineProperty(o,s,{configurable:!0,get:function(){return x.call(this)},set:function(N){v=""+N,j.call(this,N)}}),Object.defineProperty(o,s,{enumerable:h.enumerable}),{getValue:function(){return v},setValue:function(N){v=""+N},stopTracking:function(){o._valueTracker=null,delete o[s]}}}}function Ae(o){o._valueTracker||(o._valueTracker=we(o))}function ie(o){if(!o)return!1;var s=o._valueTracker;if(!s)return!0;var h=s.getValue(),v="";return o&&(v=Z(o)?o.checked?"true":"false":o.value),o=v,o!==h?(s.setValue(o),!0):!1}function rt(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function ze(o,s){var h=s.checked;return T({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:h??o._wrapperState.initialChecked})}function ct(o,s){var h=s.defaultValue==null?"":s.defaultValue,v=s.checked!=null?s.checked:s.defaultChecked;h=je(s.value!=null?s.value:h),o._wrapperState={initialChecked:v,initialValue:h,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ft(o,s){s=s.checked,s!=null&&O(o,"checked",s,!1)}function Wt(o,s){ft(o,s);var h=je(s.value),v=s.type;if(h!=null)v==="number"?(h===0&&o.value===""||o.value!=h)&&(o.value=""+h):o.value!==""+h&&(o.value=""+h);else if(v==="submit"||v==="reset"){o.removeAttribute("value");return}s.hasOwnProperty("value")?Br(o,s.type,h):s.hasOwnProperty("defaultValue")&&Br(o,s.type,je(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(o.defaultChecked=!!s.defaultChecked)}function Pt(o,s,h){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var v=s.type;if(!(v!=="submit"&&v!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+o._wrapperState.initialValue,h||s===o.value||(o.value=s),o.defaultValue=s}h=o.name,h!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,h!==""&&(o.name=h)}function Br(o,s,h){(s!=="number"||rt(o.ownerDocument)!==o)&&(h==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+h&&(o.defaultValue=""+h))}var yi=Array.isArray;function xi(o,s,h,v){if(o=o.options,s){s={};for(var x=0;x"+s.valueOf().toString()+"",s=Ne.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}});function Fe(o,s){if(s){var h=o.firstChild;if(h&&h===o.lastChild&&h.nodeType===3){h.nodeValue=s;return}}o.textContent=s}var qt={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},Ur=["Webkit","ms","Moz","O"];Object.keys(qt).forEach(function(o){Ur.forEach(function(s){s=s+o.charAt(0).toUpperCase()+o.substring(1),qt[s]=qt[o]})});function Fn(o,s,h){return s==null||typeof s=="boolean"||s===""?"":h||typeof s!="number"||s===0||qt.hasOwnProperty(o)&&qt[o]?(""+s).trim():s+"px"}function bi(o,s){o=o.style;for(var h in s)if(s.hasOwnProperty(h)){var v=h.indexOf("--")===0,x=Fn(h,s[h],v);h==="float"&&(h="cssFloat"),v?o.setProperty(h,x):o[h]=x}}var na=T({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 Ht(o,s){if(s){if(na[o]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(n(137,o));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(n(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(n(61))}if(s.style!=null&&typeof s.style!="object")throw Error(n(62))}}function wr(o,s){if(o.indexOf("-")===-1)return typeof s.is=="string";switch(o){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 Nn=null;function Md(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var Ld=null,qa=null,Ha=null;function Gx(o){if(o=bl(o)){if(typeof Ld!="function")throw Error(n(280));var s=o.stateNode;s&&(s=bu(s),Ld(o.stateNode,o.type,s))}}function Yx(o){qa?Ha?Ha.push(o):Ha=[o]:qa=o}function Xx(){if(qa){var o=qa,s=Ha;if(Ha=qa=null,Gx(o),s)for(o=0;o>>=0,o===0?32:31-(GT(o)/YT|0)|0}var nu=64,ru=4194304;function nl(o){switch(o&-o){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 o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function iu(o,s){var h=o.pendingLanes;if(h===0)return 0;var v=0,x=o.suspendedLanes,j=o.pingedLanes,N=h&268435455;if(N!==0){var D=N&~x;D!==0?v=nl(D):(j&=N,j!==0&&(v=nl(j)))}else N=h&~x,N!==0?v=nl(N):j!==0&&(v=nl(j));if(v===0)return 0;if(s!==0&&s!==v&&(s&x)===0&&(x=v&-v,j=s&-s,x>=j||x===16&&(j&4194240)!==0))return s;if((v&4)!==0&&(v|=h&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=v;0h;h++)s.push(o);return s}function rl(o,s,h){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-rr(s),o[s]=h}function JT(o,s){var h=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var v=o.eventTimes;for(o=o.expirationTimes;0=fl),j0=" ",P0=!1;function E0(o,s){switch(o){case"keyup":return C2.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function C0(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Ga=!1;function N2(o,s){switch(o){case"compositionend":return C0(s);case"keypress":return s.which!==32?null:(P0=!0,j0);case"textInput":return o=s.data,o===j0&&P0?null:o;default:return null}}function A2(o,s){if(Ga)return o==="compositionend"||!eh&&E0(o,s)?(o=y0(),uu=Gd=Pi=null,Ga=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:h,offset:s-o};o=v}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=D0(h)}}function L0(o,s){return o&&s?o===s?!0:o&&o.nodeType===3?!1:s&&s.nodeType===3?L0(o,s.parentNode):"contains"in o?o.contains(s):o.compareDocumentPosition?!!(o.compareDocumentPosition(s)&16):!1:!1}function R0(){for(var o=window,s=rt();s instanceof o.HTMLIFrameElement;){try{var h=typeof s.contentWindow.location.href=="string"}catch{h=!1}if(h)o=s.contentWindow;else break;s=rt(o.document)}return s}function rh(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s&&(s==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||s==="textarea"||o.contentEditable==="true")}function $2(o){var s=R0(),h=o.focusedElem,v=o.selectionRange;if(s!==h&&h&&h.ownerDocument&&L0(h.ownerDocument.documentElement,h)){if(v!==null&&rh(h)){if(s=v.start,o=v.end,o===void 0&&(o=s),"selectionStart"in h)h.selectionStart=s,h.selectionEnd=Math.min(o,h.value.length);else if(o=(s=h.ownerDocument||document)&&s.defaultView||window,o.getSelection){o=o.getSelection();var x=h.textContent.length,j=Math.min(v.start,x);v=v.end===void 0?j:Math.min(v.end,x),!o.extend&&j>v&&(x=v,v=j,j=x),x=M0(h,j);var N=M0(h,v);x&&N&&(o.rangeCount!==1||o.anchorNode!==x.node||o.anchorOffset!==x.offset||o.focusNode!==N.node||o.focusOffset!==N.offset)&&(s=s.createRange(),s.setStart(x.node,x.offset),o.removeAllRanges(),j>v?(o.addRange(s),o.extend(N.node,N.offset)):(s.setEnd(N.node,N.offset),o.addRange(s)))}}for(s=[],o=h;o=o.parentNode;)o.nodeType===1&&s.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;h=document.documentMode,Ya=null,ih=null,ml=null,ah=!1;function z0(o,s,h){var v=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;ah||Ya==null||Ya!==rt(v)||(v=Ya,"selectionStart"in v&&rh(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),ml&&pl(ml,v)||(ml=v,v=vu(ih,"onSelect"),0eo||(o.current=vh[eo],vh[eo]=null,eo--)}function Qe(o,s){eo++,vh[eo]=o.current,o.current=s}var Ni={},Qt=Oi(Ni),vn=Oi(!1),aa=Ni;function to(o,s){var h=o.type.contextTypes;if(!h)return Ni;var v=o.stateNode;if(v&&v.__reactInternalMemoizedUnmaskedChildContext===s)return v.__reactInternalMemoizedMaskedChildContext;var x={},j;for(j in h)x[j]=s[j];return v&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=x),x}function yn(o){return o=o.childContextTypes,o!=null}function wu(){tt(vn),tt(Qt)}function J0(o,s,h){if(Qt.current!==Ni)throw Error(n(168));Qe(Qt,s),Qe(vn,h)}function eb(o,s,h){var v=o.stateNode;if(s=s.childContextTypes,typeof v.getChildContext!="function")return h;v=v.getChildContext();for(var x in v)if(!(x in s))throw Error(n(108,Se(o)||"Unknown",x));return T({},h,v)}function ku(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Ni,aa=Qt.current,Qe(Qt,o),Qe(vn,vn.current),!0}function tb(o,s,h){var v=o.stateNode;if(!v)throw Error(n(169));h?(o=eb(o,s,aa),v.__reactInternalMemoizedMergedChildContext=o,tt(vn),tt(Qt),Qe(Qt,o)):tt(vn),Qe(vn,h)}var qr=null,Su=!1,yh=!1;function nb(o){qr===null?qr=[o]:qr.push(o)}function Q2(o){Su=!0,nb(o)}function Ai(){if(!yh&&qr!==null){yh=!0;var o=0,s=Ve;try{var h=qr;for(Ve=1;o>=N,x-=N,Hr=1<<32-rr(s)+x|h<_e?(Tt=Ce,Ce=null):Tt=Ce.sibling;var Ue=ne(q,Ce,K[_e],ue);if(Ue===null){Ce===null&&(Ce=Tt);break}o&&Ce&&Ue.alternate===null&&s(q,Ce),F=j(Ue,F,_e),Ee===null?ke=Ue:Ee.sibling=Ue,Ee=Ue,Ce=Tt}if(_e===K.length)return h(q,Ce),it&&la(q,_e),ke;if(Ce===null){for(;_e_e?(Tt=Ce,Ce=null):Tt=Ce.sibling;var $i=ne(q,Ce,Ue.value,ue);if($i===null){Ce===null&&(Ce=Tt);break}o&&Ce&&$i.alternate===null&&s(q,Ce),F=j($i,F,_e),Ee===null?ke=$i:Ee.sibling=$i,Ee=$i,Ce=Tt}if(Ue.done)return h(q,Ce),it&&la(q,_e),ke;if(Ce===null){for(;!Ue.done;_e++,Ue=K.next())Ue=oe(q,Ue.value,ue),Ue!==null&&(F=j(Ue,F,_e),Ee===null?ke=Ue:Ee.sibling=Ue,Ee=Ue);return it&&la(q,_e),ke}for(Ce=v(q,Ce);!Ue.done;_e++,Ue=K.next())Ue=me(Ce,q,_e,Ue.value,ue),Ue!==null&&(o&&Ue.alternate!==null&&Ce.delete(Ue.key===null?_e:Ue.key),F=j(Ue,F,_e),Ee===null?ke=Ue:Ee.sibling=Ue,Ee=Ue);return o&&Ce.forEach(function(_D){return s(q,_D)}),it&&la(q,_e),ke}function vt(q,F,K,ue){if(typeof K=="object"&&K!==null&&K.type===M&&K.key===null&&(K=K.props.children),typeof K=="object"&&K!==null){switch(K.$$typeof){case I:e:{for(var ke=K.key,Ee=F;Ee!==null;){if(Ee.key===ke){if(ke=K.type,ke===M){if(Ee.tag===7){h(q,Ee.sibling),F=x(Ee,K.props.children),F.return=q,q=F;break e}}else if(Ee.elementType===ke||typeof ke=="object"&&ke!==null&&ke.$$typeof===de&&sb(ke)===Ee.type){h(q,Ee.sibling),F=x(Ee,K.props),F.ref=wl(q,Ee,K),F.return=q,q=F;break e}h(q,Ee);break}else s(q,Ee);Ee=Ee.sibling}K.type===M?(F=ma(K.props.children,q.mode,ue,K.key),F.return=q,q=F):(ue=Qu(K.type,K.key,K.props,null,q.mode,ue),ue.ref=wl(q,F,K),ue.return=q,q=ue)}return N(q);case C:e:{for(Ee=K.key;F!==null;){if(F.key===Ee)if(F.tag===4&&F.stateNode.containerInfo===K.containerInfo&&F.stateNode.implementation===K.implementation){h(q,F.sibling),F=x(F,K.children||[]),F.return=q,q=F;break e}else{h(q,F);break}else s(q,F);F=F.sibling}F=mp(K,q.mode,ue),F.return=q,q=F}return N(q);case de:return Ee=K._init,vt(q,F,Ee(K._payload),ue)}if(yi(K))return xe(q,F,K,ue);if(ae(K))return be(q,F,K,ue);Cu(q,K)}return typeof K=="string"&&K!==""||typeof K=="number"?(K=""+K,F!==null&&F.tag===6?(h(q,F.sibling),F=x(F,K),F.return=q,q=F):(h(q,F),F=pp(K,q.mode,ue),F.return=q,q=F),N(q)):h(q,F)}return vt}var ao=ub(!0),cb=ub(!1),Ou=Oi(null),Nu=null,oo=null,jh=null;function Ph(){jh=oo=Nu=null}function Eh(o){var s=Ou.current;tt(Ou),o._currentValue=s}function Ch(o,s,h){for(;o!==null;){var v=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,v!==null&&(v.childLanes|=s)):v!==null&&(v.childLanes&s)!==s&&(v.childLanes|=s),o===h)break;o=o.return}}function lo(o,s){Nu=o,jh=oo=null,o=o.dependencies,o!==null&&o.firstContext!==null&&((o.lanes&s)!==0&&(xn=!0),o.firstContext=null)}function Wn(o){var s=o._currentValue;if(jh!==o)if(o={context:o,memoizedValue:s,next:null},oo===null){if(Nu===null)throw Error(n(308));oo=o,Nu.dependencies={lanes:0,firstContext:o}}else oo=oo.next=o;return s}var sa=null;function Oh(o){sa===null?sa=[o]:sa.push(o)}function fb(o,s,h,v){var x=s.interleaved;return x===null?(h.next=h,Oh(s)):(h.next=x.next,x.next=h),s.interleaved=h,Kr(o,v)}function Kr(o,s){o.lanes|=s;var h=o.alternate;for(h!==null&&(h.lanes|=s),h=o,o=o.return;o!==null;)o.childLanes|=s,h=o.alternate,h!==null&&(h.childLanes|=s),h=o,o=o.return;return h.tag===3?h.stateNode:null}var _i=!1;function Nh(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function db(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function Gr(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function Ii(o,s,h){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(Be&2)!==0){var x=v.pending;return x===null?s.next=s:(s.next=x.next,x.next=s),v.pending=s,Kr(o,h)}return x=v.interleaved,x===null?(s.next=s,Oh(v)):(s.next=x.next,x.next=s),v.interleaved=s,Kr(o,h)}function Au(o,s,h){if(s=s.updateQueue,s!==null&&(s=s.shared,(h&4194240)!==0)){var v=s.lanes;v&=o.pendingLanes,h|=v,s.lanes=h,Wd(o,h)}}function hb(o,s){var h=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,h===v)){var x=null,j=null;if(h=h.firstBaseUpdate,h!==null){do{var N={eventTime:h.eventTime,lane:h.lane,tag:h.tag,payload:h.payload,callback:h.callback,next:null};j===null?x=j=N:j=j.next=N,h=h.next}while(h!==null);j===null?x=j=s:j=j.next=s}else x=j=s;h={baseState:v.baseState,firstBaseUpdate:x,lastBaseUpdate:j,shared:v.shared,effects:v.effects},o.updateQueue=h;return}o=h.lastBaseUpdate,o===null?h.firstBaseUpdate=s:o.next=s,h.lastBaseUpdate=s}function _u(o,s,h,v){var x=o.updateQueue;_i=!1;var j=x.firstBaseUpdate,N=x.lastBaseUpdate,D=x.shared.pending;if(D!==null){x.shared.pending=null;var z=D,Y=z.next;z.next=null,N===null?j=Y:N.next=Y,N=z;var re=o.alternate;re!==null&&(re=re.updateQueue,D=re.lastBaseUpdate,D!==N&&(D===null?re.firstBaseUpdate=Y:D.next=Y,re.lastBaseUpdate=z))}if(j!==null){var oe=x.baseState;N=0,re=Y=z=null,D=j;do{var ne=D.lane,me=D.eventTime;if((v&ne)===ne){re!==null&&(re=re.next={eventTime:me,lane:0,tag:D.tag,payload:D.payload,callback:D.callback,next:null});e:{var xe=o,be=D;switch(ne=s,me=h,be.tag){case 1:if(xe=be.payload,typeof xe=="function"){oe=xe.call(me,oe,ne);break e}oe=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=be.payload,ne=typeof xe=="function"?xe.call(me,oe,ne):xe,ne==null)break e;oe=T({},oe,ne);break e;case 2:_i=!0}}D.callback!==null&&D.lane!==0&&(o.flags|=64,ne=x.effects,ne===null?x.effects=[D]:ne.push(D))}else me={eventTime:me,lane:ne,tag:D.tag,payload:D.payload,callback:D.callback,next:null},re===null?(Y=re=me,z=oe):re=re.next=me,N|=ne;if(D=D.next,D===null){if(D=x.shared.pending,D===null)break;ne=D,D=ne.next,ne.next=null,x.lastBaseUpdate=ne,x.shared.pending=null}}while(!0);if(re===null&&(z=oe),x.baseState=z,x.firstBaseUpdate=Y,x.lastBaseUpdate=re,s=x.shared.interleaved,s!==null){x=s;do N|=x.lane,x=x.next;while(x!==s)}else j===null&&(x.shared.lanes=0);fa|=N,o.lanes=N,o.memoizedState=oe}}function pb(o,s,h){if(o=s.effects,s.effects=null,o!==null)for(s=0;sh?h:4,o(!0);var v=Dh.transition;Dh.transition={};try{o(!1),s()}finally{Ve=h,Dh.transition=v}}function Tb(){return qn().memoizedState}function tD(o,s,h){var v=Li(o);if(h={lane:v,action:h,hasEagerState:!1,eagerState:null,next:null},Db(o))Mb(s,h);else if(h=fb(o,s,h,v),h!==null){var x=sn();ur(h,o,v,x),Lb(h,s,v)}}function nD(o,s,h){var v=Li(o),x={lane:v,action:h,hasEagerState:!1,eagerState:null,next:null};if(Db(o))Mb(s,x);else{var j=o.alternate;if(o.lanes===0&&(j===null||j.lanes===0)&&(j=s.lastRenderedReducer,j!==null))try{var N=s.lastRenderedState,D=j(N,h);if(x.hasEagerState=!0,x.eagerState=D,ir(D,N)){var z=s.interleaved;z===null?(x.next=x,Oh(s)):(x.next=z.next,z.next=x),s.interleaved=x;return}}catch{}finally{}h=fb(o,s,x,v),h!==null&&(x=sn(),ur(h,o,v,x),Lb(h,s,v))}}function Db(o){var s=o.alternate;return o===st||s!==null&&s===st}function Mb(o,s){Pl=Du=!0;var h=o.pending;h===null?s.next=s:(s.next=h.next,h.next=s),o.pending=s}function Lb(o,s,h){if((h&4194240)!==0){var v=s.lanes;v&=o.pendingLanes,h|=v,s.lanes=h,Wd(o,h)}}var Ru={readContext:Wn,useCallback:Zt,useContext:Zt,useEffect:Zt,useImperativeHandle:Zt,useInsertionEffect:Zt,useLayoutEffect:Zt,useMemo:Zt,useReducer:Zt,useRef:Zt,useState:Zt,useDebugValue:Zt,useDeferredValue:Zt,useTransition:Zt,useMutableSource:Zt,useSyncExternalStore:Zt,useId:Zt,unstable_isNewReconciler:!1},rD={readContext:Wn,useCallback:function(o,s){return Pr().memoizedState=[o,s===void 0?null:s],o},useContext:Wn,useEffect:Pb,useImperativeHandle:function(o,s,h){return h=h!=null?h.concat([o]):null,Mu(4194308,4,Ob.bind(null,s,o),h)},useLayoutEffect:function(o,s){return Mu(4194308,4,o,s)},useInsertionEffect:function(o,s){return Mu(4,2,o,s)},useMemo:function(o,s){var h=Pr();return s=s===void 0?null:s,o=o(),h.memoizedState=[o,s],o},useReducer:function(o,s,h){var v=Pr();return s=h!==void 0?h(s):s,v.memoizedState=v.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},v.queue=o,o=o.dispatch=tD.bind(null,st,o),[v.memoizedState,o]},useRef:function(o){var s=Pr();return o={current:o},s.memoizedState=o},useState:Sb,useDebugValue:Bh,useDeferredValue:function(o){return Pr().memoizedState=o},useTransition:function(){var o=Sb(!1),s=o[0];return o=eD.bind(null,o[1]),Pr().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,h){var v=st,x=Pr();if(it){if(h===void 0)throw Error(n(407));h=h()}else{if(h=s(),It===null)throw Error(n(349));(ca&30)!==0||yb(v,s,h)}x.memoizedState=h;var j={value:h,getSnapshot:s};return x.queue=j,Pb(bb.bind(null,v,j,o),[o]),v.flags|=2048,Ol(9,xb.bind(null,v,j,h,s),void 0,null),h},useId:function(){var o=Pr(),s=It.identifierPrefix;if(it){var h=Vr,v=Hr;h=(v&~(1<<32-rr(v)-1)).toString(32)+h,s=":"+s+"R"+h,h=El++,0<\/script>",o=o.removeChild(o.firstChild)):typeof v.is=="string"?o=N.createElement(p,{is:v.is}):(o=N.createElement(p),p==="select"&&(N=o,v.multiple?N.multiple=!0:v.size&&(N.size=v.size))):o=N.createElementNS(o,p),o[Sr]=s,o[xl]=v,nw(o,s,!1,!1),s.stateNode=o;e:{switch(N=wr(p,v),p){case"dialog":et("cancel",o),et("close",o),x=v;break;case"iframe":case"object":case"embed":et("load",o),x=v;break;case"video":case"audio":for(x=0;xpo&&(s.flags|=128,v=!0,Nl(j,!1),s.lanes=4194304)}else{if(!v)if(o=Iu(N),o!==null){if(s.flags|=128,v=!0,p=o.updateQueue,p!==null&&(s.updateQueue=p,s.flags|=4),Nl(j,!0),j.tail===null&&j.tailMode==="hidden"&&!N.alternate&&!it)return Jt(s),null}else 2*gt()-j.renderingStartTime>po&&p!==1073741824&&(s.flags|=128,v=!0,Nl(j,!1),s.lanes=4194304);j.isBackwards?(N.sibling=s.child,s.child=N):(p=j.last,p!==null?p.sibling=N:s.child=N,j.last=N)}return j.tail!==null?(s=j.tail,j.rendering=s,j.tail=s.sibling,j.renderingStartTime=gt(),s.sibling=null,p=lt.current,Qe(lt,v?p&1|2:p&1),s):(Jt(s),null);case 22:case 23:return fh(),v=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==v&&(s.flags|=8192),v&&(s.mode&1)!==0?(Tn&1073741824)!==0&&(Jt(s),s.subtreeFlags&6&&(s.flags|=8192)):Jt(s),null;case 24:return null;case 25:return null}throw Error(n(156,s.tag))}function fD(o,s){switch(bp(s),s.tag){case 1:return yn(s.type)&&wu(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return so(),tt(vn),tt(Qt),Tp(),o=s.flags,(o&65536)!==0&&(o&128)===0?(s.flags=o&-65537|128,s):null;case 5:return _p(s),null;case 13:if(tt(lt),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(n(340));io()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return tt(lt),null;case 4:return so(),null;case 10:return Ep(s.type._context),null;case 22:case 23:return fh(),null;case 24:return null;default:return null}}var Bu=!1,en=!1,dD=typeof WeakSet=="function"?WeakSet:Set,ve=null;function co(o,s){var p=o.ref;if(p!==null)if(typeof p=="function")try{p(null)}catch(v){dt(o,s,v)}else p.current=null}function Jp(o,s,p){try{p()}catch(v){dt(o,s,v)}}var aw=!1;function pD(o,s){if(fp=lu,o=R0(),rp(o)){if("selectionStart"in o)var p={start:o.selectionStart,end:o.selectionEnd};else e:{p=(p=o.ownerDocument)&&p.defaultView||window;var v=p.getSelection&&p.getSelection();if(v&&v.rangeCount!==0){p=v.anchorNode;var x=v.anchorOffset,j=v.focusNode;v=v.focusOffset;try{p.nodeType,j.nodeType}catch{p=null;break e}var N=0,M=-1,$=-1,K=0,re=0,oe=o,ne=null;t:for(;;){for(var me;oe!==p||x!==0&&oe.nodeType!==3||(M=N+x),oe!==j||v!==0&&oe.nodeType!==3||($=N+v),oe.nodeType===3&&(N+=oe.nodeValue.length),(me=oe.firstChild)!==null;)ne=oe,oe=me;for(;;){if(oe===o)break t;if(ne===p&&++K===x&&(M=N),ne===j&&++re===v&&($=N),(me=oe.nextSibling)!==null)break;oe=ne,ne=oe.parentNode}oe=me}p=M===-1||$===-1?null:{start:M,end:$}}else p=null}p=p||{start:0,end:0}}else p=null;for(dp={focusedElem:o,selectionRange:p},lu=!1,ve=s;ve!==null;)if(s=ve,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,ve=o;else for(;ve!==null;){s=ve;try{var xe=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(xe!==null){var be=xe.memoizedProps,vt=xe.memoizedState,H=s.stateNode,B=H.getSnapshotBeforeUpdate(s.elementType===s.type?be:or(s.type,be),vt);H.__reactInternalSnapshotBeforeUpdate=B}break;case 3:var V=s.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(n(163))}}catch(ue){dt(s,s.return,ue)}if(o=s.sibling,o!==null){o.return=s.return,ve=o;break}ve=s.return}return xe=aw,aw=!1,xe}function Al(o,s,p){var v=s.updateQueue;if(v=v!==null?v.lastEffect:null,v!==null){var x=v=v.next;do{if((x.tag&o)===o){var j=x.destroy;x.destroy=void 0,j!==void 0&&Jp(s,p,j)}x=x.next}while(x!==v)}}function Uu(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var p=s=s.next;do{if((p.tag&o)===o){var v=p.create;p.destroy=v()}p=p.next}while(p!==s)}}function eh(o){var s=o.ref;if(s!==null){var p=o.stateNode;switch(o.tag){case 5:o=p;break;default:o=p}typeof s=="function"?s(o):s.current=o}}function ow(o){var s=o.alternate;s!==null&&(o.alternate=null,ow(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&(delete s[Sr],delete s[xl],delete s[gp],delete s[Y2],delete s[X2])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function lw(o){return o.tag===5||o.tag===3||o.tag===4}function sw(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||lw(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function th(o,s,p){var v=o.tag;if(v===5||v===6)o=o.stateNode,s?p.nodeType===8?p.parentNode.insertBefore(o,s):p.insertBefore(o,s):(p.nodeType===8?(s=p.parentNode,s.insertBefore(o,p)):(s=p,s.appendChild(o)),p=p._reactRootContainer,p!=null||s.onclick!==null||(s.onclick=xu));else if(v!==4&&(o=o.child,o!==null))for(th(o,s,p),o=o.sibling;o!==null;)th(o,s,p),o=o.sibling}function nh(o,s,p){var v=o.tag;if(v===5||v===6)o=o.stateNode,s?p.insertBefore(o,s):p.appendChild(o);else if(v!==4&&(o=o.child,o!==null))for(nh(o,s,p),o=o.sibling;o!==null;)nh(o,s,p),o=o.sibling}var Vt=null,lr=!1;function Ti(o,s,p){for(p=p.child;p!==null;)uw(o,s,p),p=p.sibling}function uw(o,s,p){if(kr&&typeof kr.onCommitFiberUnmount=="function")try{kr.onCommitFiberUnmount(tu,p)}catch{}switch(p.tag){case 5:en||co(p,s);case 6:var v=Vt,x=lr;Vt=null,Ti(o,s,p),Vt=v,lr=x,Vt!==null&&(lr?(o=Vt,p=p.stateNode,o.nodeType===8?o.parentNode.removeChild(p):o.removeChild(p)):Vt.removeChild(p.stateNode));break;case 18:Vt!==null&&(lr?(o=Vt,p=p.stateNode,o.nodeType===8?mp(o.parentNode,p):o.nodeType===1&&mp(o,p),sl(o)):mp(Vt,p.stateNode));break;case 4:v=Vt,x=lr,Vt=p.stateNode.containerInfo,lr=!0,Ti(o,s,p),Vt=v,lr=x;break;case 0:case 11:case 14:case 15:if(!en&&(v=p.updateQueue,v!==null&&(v=v.lastEffect,v!==null))){x=v=v.next;do{var j=x,N=j.destroy;j=j.tag,N!==void 0&&((j&2)!==0||(j&4)!==0)&&Jp(p,s,N),x=x.next}while(x!==v)}Ti(o,s,p);break;case 1:if(!en&&(co(p,s),v=p.stateNode,typeof v.componentWillUnmount=="function"))try{v.props=p.memoizedProps,v.state=p.memoizedState,v.componentWillUnmount()}catch(M){dt(p,s,M)}Ti(o,s,p);break;case 21:Ti(o,s,p);break;case 22:p.mode&1?(en=(v=en)||p.memoizedState!==null,Ti(o,s,p),en=v):Ti(o,s,p);break;default:Ti(o,s,p)}}function cw(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var p=o.stateNode;p===null&&(p=o.stateNode=new dD),s.forEach(function(v){var x=kD.bind(null,o,v);p.has(v)||(p.add(v),v.then(x,x))})}}function sr(o,s){var p=s.deletions;if(p!==null)for(var v=0;vx&&(x=N),v&=~j}if(v=x,v=gt()-v,v=(120>v?120:480>v?480:1080>v?1080:1920>v?1920:3e3>v?3e3:4320>v?4320:1960*mD(v/1960))-v,10o?16:o,Mi===null)var v=!1;else{if(o=Mi,Mi=null,Ku=0,(Be&6)!==0)throw Error(n(331));var x=Be;for(Be|=4,ve=o.current;ve!==null;){var j=ve,N=j.child;if((ve.flags&16)!==0){var M=j.deletions;if(M!==null){for(var $=0;$gt()-ah?pa(o,0):ih|=p),wn(o,s)}function Sw(o,s){s===0&&((o.mode&1)===0?s=1:(s=ru,ru<<=1,(ru&130023424)===0&&(ru=4194304)));var p=sn();o=Kr(o,s),o!==null&&(rl(o,s,p),wn(o,p))}function wD(o){var s=o.memoizedState,p=0;s!==null&&(p=s.retryLane),Sw(o,p)}function kD(o,s){var p=0;switch(o.tag){case 13:var v=o.stateNode,x=o.memoizedState;x!==null&&(p=x.retryLane);break;case 19:v=o.stateNode;break;default:throw Error(n(314))}v!==null&&v.delete(s),Sw(o,p)}var jw;jw=function(o,s,p){if(o!==null)if(o.memoizedProps!==s.pendingProps||vn.current)xn=!0;else{if((o.lanes&p)===0&&(s.flags&128)===0)return xn=!1,uD(o,s,p);xn=(o.flags&131072)!==0}else xn=!1,it&&(s.flags&1048576)!==0&&rb(s,Pu,s.index);switch(s.lanes=0,s.tag){case 2:var v=s.type;Fu(o,s),o=s.pendingProps;var x=to(s,Qt.current);lo(s,p),x=Lp(null,s,v,o,x,p);var j=Rp();return s.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,yn(v)?(j=!0,ku(s)):j=!1,s.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Np(s),x.updater=zu,s.stateNode=x,x._reactInternals=s,Wp(s,v,o,p),s=Kp(null,s,v,!0,j,p)):(s.tag=0,it&&j&&xp(s),ln(null,s,x,p),s=s.child),s;case 16:v=s.elementType;e:{switch(Fu(o,s),o=s.pendingProps,x=v._init,v=x(v._payload),s.type=v,x=s.tag=jD(v),o=or(v,o),x){case 0:s=Vp(null,s,v,o,p);break e;case 1:s=Xb(null,s,v,o,p);break e;case 11:s=Hb(null,s,v,o,p);break e;case 14:s=Vb(null,s,v,or(v.type,o),p);break e}throw Error(n(306,v,""))}return s;case 0:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Vp(o,s,v,x,p);case 1:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Xb(o,s,v,x,p);case 3:e:{if(Qb(s),o===null)throw Error(n(387));v=s.pendingProps,j=s.memoizedState,x=j.element,db(o,s),_u(s,v,null,p);var N=s.memoizedState;if(v=N.element,j.isDehydrated)if(j={element:v,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},s.updateQueue.baseState=j,s.memoizedState=j,s.flags&256){x=uo(Error(n(423)),s),s=Zb(o,s,v,p,x);break e}else if(v!==x){x=uo(Error(n(424)),s),s=Zb(o,s,v,p,x);break e}else for(In=Ci(s.stateNode.containerInfo.firstChild),_n=s,it=!0,ar=null,p=cb(s,null,v,p),s.child=p;p;)p.flags=p.flags&-3|4096,p=p.sibling;else{if(io(),v===x){s=Yr(o,s,p);break e}ln(o,s,v,p)}s=s.child}return s;case 5:return mb(s),o===null&&kp(s),v=s.type,x=s.pendingProps,j=o!==null?o.memoizedProps:null,N=x.children,pp(v,x)?N=null:j!==null&&pp(v,j)&&(s.flags|=32),Yb(o,s),ln(o,s,N,p),s.child;case 6:return o===null&&kp(s),null;case 13:return Jb(o,s,p);case 4:return Ap(s,s.stateNode.containerInfo),v=s.pendingProps,o===null?s.child=ao(s,null,v,p):ln(o,s,v,p),s.child;case 11:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Hb(o,s,v,x,p);case 7:return ln(o,s,s.pendingProps,p),s.child;case 8:return ln(o,s,s.pendingProps.children,p),s.child;case 12:return ln(o,s,s.pendingProps.children,p),s.child;case 10:e:{if(v=s.type._context,x=s.pendingProps,j=s.memoizedProps,N=x.value,Qe(Ou,v._currentValue),v._currentValue=N,j!==null)if(ir(j.value,N)){if(j.children===x.children&&!vn.current){s=Yr(o,s,p);break e}}else for(j=s.child,j!==null&&(j.return=s);j!==null;){var M=j.dependencies;if(M!==null){N=j.child;for(var $=M.firstContext;$!==null;){if($.context===v){if(j.tag===1){$=Gr(-1,p&-p),$.tag=2;var K=j.updateQueue;if(K!==null){K=K.shared;var re=K.pending;re===null?$.next=$:($.next=re.next,re.next=$),K.pending=$}}j.lanes|=p,$=j.alternate,$!==null&&($.lanes|=p),Cp(j.return,p,s),M.lanes|=p;break}$=$.next}}else if(j.tag===10)N=j.type===s.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(n(341));N.lanes|=p,M=N.alternate,M!==null&&(M.lanes|=p),Cp(N,p,s),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===s){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}ln(o,s,x.children,p),s=s.child}return s;case 9:return x=s.type,v=s.pendingProps.children,lo(s,p),x=Wn(x),v=v(x),s.flags|=1,ln(o,s,v,p),s.child;case 14:return v=s.type,x=or(v,s.pendingProps),x=or(v.type,x),Vb(o,s,v,x,p);case 15:return Kb(o,s,s.type,s.pendingProps,p);case 17:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Fu(o,s),s.tag=1,yn(v)?(o=!0,ku(s)):o=!1,lo(s,p),zb(s,v,x),Wp(s,v,x,p),Kp(null,s,v,!0,o,p);case 19:return tw(o,s,p);case 22:return Gb(o,s,p)}throw Error(n(156,s.tag))};function Pw(o,s){return i0(o,s)}function SD(o,s,p,v){this.tag=o,this.key=p,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vn(o,s,p,v){return new SD(o,s,p,v)}function ph(o){return o=o.prototype,!(!o||!o.isReactComponent)}function jD(o){if(typeof o=="function")return ph(o)?1:0;if(o!=null){if(o=o.$$typeof,o===z)return 11;if(o===Q)return 14}return 2}function zi(o,s){var p=o.alternate;return p===null?(p=Vn(o.tag,s,o.key,o.mode),p.elementType=o.elementType,p.type=o.type,p.stateNode=o.stateNode,p.alternate=o,o.alternate=p):(p.pendingProps=s,p.type=o.type,p.flags=0,p.subtreeFlags=0,p.deletions=null),p.flags=o.flags&14680064,p.childLanes=o.childLanes,p.lanes=o.lanes,p.child=o.child,p.memoizedProps=o.memoizedProps,p.memoizedState=o.memoizedState,p.updateQueue=o.updateQueue,s=o.dependencies,p.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},p.sibling=o.sibling,p.index=o.index,p.ref=o.ref,p}function Qu(o,s,p,v,x,j){var N=2;if(v=o,typeof o=="function")ph(o)&&(N=1);else if(typeof o=="string")N=5;else e:switch(o){case L:return ma(p.children,x,j,s);case R:N=8,x|=8;break;case U:return o=Vn(12,p,s,x|2),o.elementType=U,o.lanes=j,o;case ee:return o=Vn(13,p,s,x),o.elementType=ee,o.lanes=j,o;case X:return o=Vn(19,p,s,x),o.elementType=X,o.lanes=j,o;case de:return Zu(p,x,j,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case D:N=10;break e;case q:N=9;break e;case z:N=11;break e;case Q:N=14;break e;case he:N=16,v=null;break e}throw Error(n(130,o==null?o:typeof o,""))}return s=Vn(N,p,s,x),s.elementType=o,s.type=v,s.lanes=j,s}function ma(o,s,p,v){return o=Vn(7,o,v,s),o.lanes=p,o}function Zu(o,s,p,v){return o=Vn(22,o,v,s),o.elementType=de,o.lanes=p,o.stateNode={isHidden:!1},o}function hh(o,s,p){return o=Vn(6,o,null,s),o.lanes=p,o}function mh(o,s,p){return s=Vn(4,o.children!==null?o.children:[],o.key,s),s.lanes=p,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function PD(o,s,p,v,x){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ud(0),this.expirationTimes=Ud(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ud(0),this.identifierPrefix=v,this.onRecoverableError=x,this.mutableSourceEagerHydrationData=null}function gh(o,s,p,v,x,j,N,M,$){return o=new PD(o,s,p,M,$),s===1?(s=1,j===!0&&(s|=8)):s=0,j=Vn(3,null,null,s),o.current=j,j.stateNode=o,j.memoizedState={element:v,isDehydrated:p,cache:null,transitions:null,pendingSuspenseBoundaries:null},Np(j),o}function ED(o,s,p){var v=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Sh.exports=FD(),Sh.exports}var $w;function BD(){if($w)return ac;$w=1;var e=VE();return ac.createRoot=e.createRoot,ac.hydrateRoot=e.hydrateRoot,ac}var UD=BD(),k=Fo();const WD=xr(k),qD=DD({__proto__:null,default:WD},[k]);function HD(){return m.jsx("a",{href:"#/",className:"flex items-center",children:m.jsx("span",{className:"font-bold text-lg",children:"Claude Pilot Console"})})}const VD={primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost",outline:"btn-outline",error:"btn-error"},KD={xs:"btn-xs",sm:"btn-sm",md:"",lg:"btn-lg"};function Rt({variant:e="primary",size:t="md",loading:n=!1,className:r="",children:i,disabled:a,...l}){return m.jsxs("button",{className:`btn ${VD[e]} ${KD[t]} ${r}`,disabled:a||n,...l,children:[n&&m.jsx("span",{className:"loading loading-spinner loading-sm"}),i]})}function wt({children:e,className:t="",compact:n=!1,onClick:r}){return m.jsx("div",{className:`card bg-base-100 shadow-sm border border-base-200 ${n?"card-compact":""} ${t}`,onClick:r,children:e})}function kt({children:e,className:t=""}){return m.jsx("div",{className:`card-body ${t}`,children:e})}function Vi({children:e,className:t=""}){return m.jsx("h2",{className:`card-title ${t}`,children:e})}const GD={primary:"badge-primary",secondary:"badge-secondary",accent:"badge-accent",ghost:"badge-ghost",info:"badge-info",success:"badge-success",warning:"badge-warning",error:"badge-error"},YD={xs:"badge-xs",sm:"badge-sm",md:"",lg:"badge-lg"};function Ie({children:e,variant:t="ghost",size:n="md",outline:r=!1,className:i=""}){return m.jsx("span",{className:`badge ${GD[t]} ${YD[n]} ${r?"badge-outline":""} ${i}`,children:e})}const XD={xs:"select-xs",sm:"select-sm",md:"",lg:"select-lg"};function QD({label:e,options:t,selectSize:n="md",error:r,className:i="",...a}){return m.jsxs("div",{className:"form-control w-full",children:[e&&m.jsx("label",{className:"label",children:m.jsx("span",{className:"label-text",children:e})}),m.jsx("select",{className:`select select-bordered w-full ${XD[n]} ${r?"select-error":""} ${i}`,...a,children:t.map(l=>m.jsx("option",{value:l.value,children:l.label},l.value))}),r&&m.jsx("label",{className:"label",children:m.jsx("span",{className:"label-text-alt text-error",children:r})})]})}function KE({open:e,onClose:t,title:n,children:r,actions:i}){return m.jsxs("dialog",{className:`modal ${e?"modal-open":""}`,children:[m.jsxs("div",{className:"modal-box",children:[n&&m.jsx("h3",{className:"font-bold text-lg",children:n}),m.jsx("div",{className:"py-4",children:r}),i&&m.jsx("div",{className:"modal-action",children:i})]}),m.jsx("form",{method:"dialog",className:"modal-backdrop",children:m.jsx("button",{onClick:t,children:"close"})})]})}function GE({trigger:e,items:t,align:n="end"}){return m.jsxs("div",{className:`dropdown ${n==="end"?"dropdown-end":""}`,children:[m.jsx("div",{tabIndex:0,role:"button",children:e}),m.jsx("ul",{tabIndex:0,className:"dropdown-content menu bg-base-100 rounded-box z-10 w-52 p-2 shadow-lg border border-base-200",children:t.map((r,i)=>m.jsx("li",{children:m.jsxs("button",{onClick:r.onClick,disabled:r.disabled,className:"flex items-center gap-2",children:[r.icon,r.label]})},i))})]})}const ZD={bordered:"tabs-bordered",lifted:"tabs-lifted",boxed:"tabs-boxed"};function JD({tabs:e,activeTab:t,onTabChange:n,variant:r="bordered"}){return m.jsx("div",{role:"tablist",className:`tabs ${ZD[r]}`,children:e.map(i=>m.jsxs("button",{role:"tab",className:`tab gap-2 ${t===i.id?"tab-active":""}`,onClick:()=>n(i.id),children:[i.icon,i.label]},i.id))})}const eM={primary:"progress-primary",secondary:"progress-secondary",accent:"progress-accent",info:"progress-info",success:"progress-success",warning:"progress-warning",error:"progress-error"};function tM({value:e,max:t=100,variant:n="primary",className:r=""}){return m.jsx("progress",{className:`progress ${eM[n]} ${r}`,value:e,max:t})}const nM={xs:"loading-xs",sm:"loading-sm",md:"loading-md",lg:"loading-lg"};function Xi({size:e="md",className:t=""}){return m.jsx("span",{className:`loading loading-spinner ${nM[e]} ${t}`})}function rM(e,t){const n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(l){if(n[l])return i[l]=[];if(!(l in i)){i[l]=null;const u=r[l]&&r[l].parent,c=u&&a(u);c&&(i[l]=[u].concat(c))}return i[l]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}const YE=Object.freeze({left:0,top:0,width:16,height:16}),Lc=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Yv=Object.freeze({...YE,...Lc}),Tg=Object.freeze({...Yv,body:"",hidden:!1});function iM(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function Fw(e,t){const n=iM(e,t);for(const r in Tg)r in Lc?r in e&&!(r in n)&&(n[r]=Lc[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function aM(e,t,n){const r=e.icons,i=e.aliases||Object.create(null);let a={};function l(u){a=Fw(r[u]||i[u],a)}return l(t),n.forEach(l),Fw(e,a)}function XE(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(i=>{t(i,null),n.push(i)});const r=rM(e);for(const i in r){const a=r[i];a&&(t(i,aM(e,i,a)),n.push(i))}return n}const oM={provider:"",aliases:{},not_found:{},...YE};function Eh(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function QE(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Eh(e,oM))return null;const n=t.icons;for(const i in n){const a=n[i];if(!i||typeof a.body!="string"||!Eh(a,Tg))return null}const r=t.aliases||Object.create(null);for(const i in r){const a=r[i],l=a.parent;if(!i||typeof l!="string"||!n[l]&&!r[l]||!Eh(a,Tg))return null}return t}const Bw=Object.create(null);function lM(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Ao(e,t){const n=Bw[e]||(Bw[e]=Object.create(null));return n[t]||(n[t]=lM(e,t))}function ZE(e,t){return QE(t)?XE(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function sM(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}const JE=/^[a-z0-9]+(-[a-z0-9]+)*$/,zf=(e,t,n,r="")=>{const i=e.split(":");if(e.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const u=i.pop(),c=i.pop(),f={provider:i.length>0?i[0]:r,prefix:c,name:u};return t&&!Cc(f)?null:f}const a=i[0],l=a.split("-");if(l.length>1){const u={provider:r,prefix:l.shift(),name:l.join("-")};return t&&!Cc(u)?null:u}if(n&&r===""){const u={provider:r,prefix:"",name:a};return t&&!Cc(u,n)?null:u}return null},Cc=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1;let ss=!1;function eC(e){return typeof e=="boolean"&&(ss=e),ss}function Uw(e){const t=typeof e=="string"?zf(e,!0,ss):e;if(t){const n=Ao(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function uM(e,t){const n=zf(e,!0,ss);if(!n)return!1;const r=Ao(n.provider,n.prefix);return t?sM(r,n.name,t):(r.missing.add(n.name),!0)}function cM(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),ss&&!t&&!e.prefix){let i=!1;return QE(e)&&(e.prefix="",XE(e,(a,l)=>{uM(a,l)&&(i=!0)})),i}const n=e.prefix;if(!Cc({prefix:n,name:"a"}))return!1;const r=Ao(t,n);return!!ZE(r,e)}const tC=Object.freeze({width:null,height:null}),nC=Object.freeze({...tC,...Lc}),fM=/(-?[0-9.]*[0-9]+[0-9.]*)/g,dM=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Ww(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(fM);if(r===null||!r.length)return e;const i=[];let a=r.shift(),l=dM.test(a);for(;;){if(l){const u=parseFloat(a);isNaN(u)?i.push(a):i.push(Math.ceil(u*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join("");l=!l}}function pM(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const i=e.indexOf(">",r),a=e.indexOf("",a);if(l===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(l+1)}return{defs:n,content:e}}function hM(e,t){return e?""+e+""+t:t}function mM(e,t,n){const r=pM(e);return hM(r.defs,t+r.content+n)}const gM=e=>e==="unset"||e==="undefined"||e==="none";function vM(e,t){const n={...Yv,...e},r={...nC,...t},i={left:n.left,top:n.top,width:n.width,height:n.height};let a=n.body;[n,r].forEach(S=>{const b=[],P=S.hFlip,E=S.vFlip;let O=S.rotate;P?E?O+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):E&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let A;switch(O<0&&(O-=Math.floor(O/4)*4),O=O%4,O){case 1:A=i.height/2+i.top,b.unshift("rotate(90 "+A.toString()+" "+A.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:A=i.width/2+i.left,b.unshift("rotate(-90 "+A.toString()+" "+A.toString()+")");break}O%2===1&&(i.left!==i.top&&(A=i.left,i.left=i.top,i.top=A),i.width!==i.height&&(A=i.width,i.width=i.height,i.height=A)),b.length&&(a=mM(a,'',""))});const l=r.width,u=r.height,c=i.width,f=i.height;let d,h;l===null?(h=u===null?"1em":u==="auto"?f:u,d=Ww(h,c/f)):(d=l==="auto"?c:l,h=u===null?Ww(d,f/c):u==="auto"?f:u);const g={},y=(S,b)=>{gM(b)||(g[S]=b.toString())};y("width",d),y("height",h);const w=[i.left,i.top,c,f];return g.viewBox=w.join(" "),{attributes:g,viewBox:w,body:a}}const yM=/\sid="(\S+)"/g,xM="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let bM=0;function wM(e,t=xM){const n=[];let r;for(;r=yM.exec(e);)n.push(r[1]);if(!n.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(a=>{const l=typeof t=="function"?t(a):t+(bM++).toString(),u=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+u+')([")]|\\.[a-z])',"g"),"$1"+l+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}const Dg=Object.create(null);function kM(e,t){Dg[e]=t}function Mg(e){return Dg[e]||Dg[""]}function Xv(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Qv=Object.create(null),Ll=["https://api.simplesvg.com","https://api.unisvg.com"],Oc=[];for(;Ll.length>0;)Ll.length===1||Math.random()>.5?Oc.push(Ll.shift()):Oc.push(Ll.pop());Qv[""]=Xv({resources:["https://api.iconify.design"].concat(Oc)});function SM(e,t){const n=Xv(t);return n===null?!1:(Qv[e]=n,!0)}function Zv(e){return Qv[e]}const jM=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let qw=jM();function PM(e,t){const n=Zv(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let i=0;n.resources.forEach(l=>{i=Math.max(i,l.length)});const a=t+".json?icons=";r=n.maxURL-i-n.path.length-a.length}return r}function EM(e){return e===404}const CM=(e,t,n)=>{const r=[],i=PM(e,t),a="icons";let l={type:a,provider:e,prefix:t,icons:[]},u=0;return n.forEach((c,f)=>{u+=c.length+1,u>=i&&f>0&&(r.push(l),l={type:a,provider:e,prefix:t,icons:[]},u=c.length),l.icons.push(c)}),r.push(l),r};function OM(e){if(typeof e=="string"){const t=Zv(e);if(t)return t.path}return"/"}const NM=(e,t,n)=>{if(!qw){n("abort",424);return}let r=OM(t.provider);switch(t.type){case"icons":{const a=t.prefix,u=t.icons.join(","),c=new URLSearchParams({icons:u});r+=a+".json?"+c.toString();break}case"custom":{const a=t.uri;r+=a.slice(0,1)==="/"?a.slice(1):a;break}default:n("abort",400);return}let i=503;qw(e+r).then(a=>{const l=a.status;if(l!==200){setTimeout(()=>{n(EM(l)?"abort":"next",l)});return}return i=501,a.json()}).then(a=>{if(typeof a!="object"||a===null){setTimeout(()=>{a===404?n("abort",a):n("next",i)});return}setTimeout(()=>{n("success",a)})}).catch(()=>{n("next",i)})},AM={prepare:CM,send:NM};function rC(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(i=>i.id!==t))})}function _M(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,i=e.prefix;t.forEach(a=>{const l=a.icons,u=l.pending.length;l.pending=l.pending.filter(c=>{if(c.prefix!==i)return!0;const f=c.name;if(e.icons[f])l.loaded.push({provider:r,prefix:i,name:f});else if(e.missing.has(f))l.missing.push({provider:r,prefix:i,name:f});else return n=!0,!0;return!1}),l.pending.length!==u&&(n||rC([e],a.id),a.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),a.abort))})}))}let IM=0;function TM(e,t,n){const r=IM++,i=rC.bind(null,n,r);if(!t.pending.length)return i;const a={id:r,icons:t,callback:e,abort:i};return n.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(a)}),i}function DM(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((i,a)=>i.provider!==a.provider?i.provider.localeCompare(a.provider):i.prefix!==a.prefix?i.prefix.localeCompare(a.prefix):i.name.localeCompare(a.name));let r={provider:"",prefix:"",name:""};return e.forEach(i=>{if(r.name===i.name&&r.prefix===i.prefix&&r.provider===i.provider)return;r=i;const a=i.provider,l=i.prefix,u=i.name,c=n[a]||(n[a]=Object.create(null)),f=c[l]||(c[l]=Ao(a,l));let d;u in f.icons?d=t.loaded:l===""||f.missing.has(u)?d=t.missing:d=t.pending;const h={provider:a,prefix:l,name:u};d.push(h)}),t}function MM(e,t=!0,n=!1){const r=[];return e.forEach(i=>{const a=typeof i=="string"?zf(i,t,n):i;a&&r.push(a)}),r}const LM={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function RM(e,t,n,r){const i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index;let l;if(e.random){let C=e.resources.slice(0);for(l=[];C.length>1;){const L=Math.floor(Math.random()*C.length);l.push(C[L]),C=C.slice(0,L).concat(C.slice(L+1))}l=l.concat(C)}else l=e.resources.slice(a).concat(e.resources.slice(0,a));const u=Date.now();let c="pending",f=0,d,h=null,g=[],y=[];typeof r=="function"&&y.push(r);function w(){h&&(clearTimeout(h),h=null)}function S(){c==="pending"&&(c="aborted"),w(),g.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),g=[]}function b(C,L){L&&(y=[]),typeof C=="function"&&y.push(C)}function P(){return{startTime:u,payload:t,status:c,queriesSent:f,queriesPending:g.length,subscribe:b,abort:S}}function E(){c="failed",y.forEach(C=>{C(void 0,d)})}function O(){g.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),g=[]}function A(C,L,R){const U=L!=="success";switch(g=g.filter(D=>D!==C),c){case"pending":break;case"failed":if(U||!e.dataAfterTimeout)return;break;default:return}if(L==="abort"){d=R,E();return}if(U){d=R,g.length||(l.length?I():E());return}if(w(),O(),!e.random){const D=e.resources.indexOf(C.resource);D!==-1&&D!==e.index&&(e.index=D)}c="completed",y.forEach(D=>{D(R)})}function I(){if(c!=="pending")return;w();const C=l.shift();if(C===void 0){if(g.length){h=setTimeout(()=>{w(),c==="pending"&&(O(),E())},e.timeout);return}E();return}const L={status:"pending",resource:C,callback:(R,U)=>{A(L,R,U)}};g.push(L),f++,h=setTimeout(I,e.rotate),n(C,t,L.callback)}return setTimeout(I),P}function iC(e){const t={...LM,...e};let n=[];function r(){n=n.filter(u=>u().status==="pending")}function i(u,c,f){const d=RM(t,u,c,(h,g)=>{r(),f&&f(h,g)});return n.push(d),d}function a(u){return n.find(c=>u(c))||null}return{query:i,find:a,setIndex:u=>{t.index=u},getIndex:()=>t.index,cleanup:r}}function Hw(){}const Ch=Object.create(null);function zM(e){if(!Ch[e]){const t=Zv(e);if(!t)return;const n=iC(t),r={config:t,redundancy:n};Ch[e]=r}return Ch[e]}function $M(e,t,n){let r,i;if(typeof e=="string"){const a=Mg(e);if(!a)return n(void 0,424),Hw;i=a.send;const l=zM(e);l&&(r=l.redundancy)}else{const a=Xv(e);if(a){r=iC(a);const l=e.resources?e.resources[0]:"",u=Mg(l);u&&(i=u.send)}}return!r||!i?(n(void 0,424),Hw):r.query(t,i,n)().abort}function Vw(){}function FM(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,_M(e)}))}function BM(e){const t=[],n=[];return e.forEach(r=>{(r.match(JE)?t:n).push(r)}),{valid:t,invalid:n}}function Rl(e,t,n){function r(){const i=e.pendingIcons;t.forEach(a=>{i&&i.delete(a),e.icons[a]||e.missing.add(a)})}if(n&&typeof n=="object")try{if(!ZE(e,n).length){r();return}}catch(i){console.error(i)}r(),FM(e)}function Kw(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function UM(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,i=e.iconsToLoad;if(delete e.iconsToLoad,!i||!i.length)return;const a=e.loadIcon;if(e.loadIcons&&(i.length>1||!a)){Kw(e.loadIcons(i,r,n),d=>{Rl(e,i,d)});return}if(a){i.forEach(d=>{const h=a(d,r,n);Kw(h,g=>{const y=g?{prefix:r,icons:{[d]:g}}:null;Rl(e,[d],y)})});return}const{valid:l,invalid:u}=BM(i);if(u.length&&Rl(e,u,null),!l.length)return;const c=r.match(JE)?Mg(n):null;if(!c){Rl(e,l,null);return}c.prepare(n,r,l).forEach(d=>{$M(n,d,h=>{Rl(e,d.icons,h)})})}))}const WM=(e,t)=>{const n=MM(e,!0,eC()),r=DM(n);if(!r.pending.length){let c=!0;return t&&setTimeout(()=>{c&&t(r.loaded,r.missing,r.pending,Vw)}),()=>{c=!1}}const i=Object.create(null),a=[];let l,u;return r.pending.forEach(c=>{const{provider:f,prefix:d}=c;if(d===u&&f===l)return;l=f,u=d,a.push(Ao(f,d));const h=i[f]||(i[f]=Object.create(null));h[d]||(h[d]=[])}),r.pending.forEach(c=>{const{provider:f,prefix:d,name:h}=c,g=Ao(f,d),y=g.pendingIcons||(g.pendingIcons=new Set);y.has(h)||(y.add(h),i[f][d].push(h))}),a.forEach(c=>{const f=i[c.provider][c.prefix];f.length&&UM(c,f)}),t?TM(t,r,a):Vw};function qM(e,t){const n={...e};for(const r in t){const i=t[r],a=typeof i;r in tC?(i===null||i&&(a==="string"||a==="number"))&&(n[r]=i):a===typeof n[r]&&(n[r]=r==="rotate"?i%4:i)}return n}const HM=/[\s,]+/;function VM(e,t){t.split(HM).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function KM(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(i){for(;i<0;)i+=4;return i%4}if(n===""){const i=parseInt(e);return isNaN(i)?0:r(i)}else if(n!==e){let i=0;switch(n){case"%":i=25;break;case"deg":i=90}if(i){let a=parseFloat(e.slice(0,e.length-n.length));return isNaN(a)?0:(a=a/i,a%1===0?r(a):0)}}return t}function GM(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function YM(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function XM(e){return"data:image/svg+xml,"+YM(e)}function QM(e){return'url("'+XM(e)+'")'}let ns;function ZM(){try{ns=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch{ns=null}}function JM(e){return ns===void 0&&ZM(),ns?ns.createHTML(e):e}const aC={...nC,inline:!1},eL={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},tL={display:"inline-block"},Lg={backgroundColor:"currentColor"},oC={backgroundColor:"transparent"},Gw={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Yw={WebkitMask:Lg,mask:Lg,background:oC};for(const e in Yw){const t=Yw[e];for(const n in Gw)t[e+n]=Gw[n]}const nL={...aC,inline:!0};function Xw(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const rL=(e,t,n)=>{const r=t.inline?nL:aC,i=qM(r,t),a=t.mode||"svg",l={},u=t.style||{},c={...a==="svg"?eL:{}};if(n){const b=zf(n,!1,!0);if(b){const P=["iconify"],E=["provider","prefix"];for(const O of E)b[O]&&P.push("iconify--"+b[O]);c.className=P.join(" ")}}for(let b in t){const P=t[b];if(P!==void 0)switch(b){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":c.ref=P;break;case"className":c[b]=(c[b]?c[b]+" ":"")+P;break;case"inline":case"hFlip":case"vFlip":i[b]=P===!0||P==="true"||P===1;break;case"flip":typeof P=="string"&&VM(i,P);break;case"color":l.color=P;break;case"rotate":typeof P=="string"?i[b]=KM(P):typeof P=="number"&&(i[b]=P);break;case"ariaHidden":case"aria-hidden":P!==!0&&P!=="true"&&delete c["aria-hidden"];break;default:r[b]===void 0&&(c[b]=P)}}const f=vM(e,i),d=f.attributes;if(i.inline&&(l.verticalAlign="-0.125em"),a==="svg"){c.style={...l,...u},Object.assign(c,d);let b=0,P=t.id;return typeof P=="string"&&(P=P.replace(/-/g,"_")),c.dangerouslySetInnerHTML={__html:JM(wM(f.body,P?()=>P+"ID"+b++:"iconifyReact"))},k.createElement("svg",c)}const{body:h,width:g,height:y}=e,w=a==="mask"||(a==="bg"?!1:h.indexOf("currentColor")!==-1),S=GM(h,{...d,width:g+"",height:y+""});return c.style={...l,"--svg":QM(S),width:Xw(d.width),height:Xw(d.height),...tL,...w?Lg:oC,...u},k.createElement("span",c)};eC(!0);kM("",AM);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!cM(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const i=t[n];if(typeof i!="object"||!i||i.resources===void 0)continue;SM(n,i)||console.error(r)}catch{console.error(r)}}}}function lC(e){const[t,n]=k.useState(!!e.ssr),[r,i]=k.useState({});function a(y){if(y){const w=e.icon;if(typeof w=="object")return{name:"",data:w};const S=Uw(w);if(S)return{name:w,data:S}}return{name:""}}const[l,u]=k.useState(a(!!e.ssr));function c(){const y=r.callback;y&&(y(),i({}))}function f(y){if(JSON.stringify(l)!==JSON.stringify(y))return c(),u(y),!0}function d(){var y;const w=e.icon;if(typeof w=="object"){f({name:"",data:w});return}const S=Uw(w);if(f({name:w,data:S}))if(S===void 0){const b=WM([w],d);i({callback:b})}else S&&((y=e.onLoad)===null||y===void 0||y.call(e,w))}k.useEffect(()=>(n(!0),c),[]),k.useEffect(()=>{t&&d()},[e.icon,t]);const{name:h,data:g}=l;return g?rL({...Yv,...g},e,h):e.children?e.children:e.fallback?e.fallback:k.createElement("span",{})}const iL=k.forwardRef((e,t)=>lC({...e,_ref:t}));k.forwardRef((e,t)=>lC({inline:!0,...e,_ref:t}));function le({icon:e,size:t=20,className:n="",style:r}){return m.jsx(iL,{icon:e,width:t,height:t,className:n,style:r})}function Eo({icon:e="lucide:inbox",title:t,description:n,action:r}){return m.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[m.jsx(le,{icon:e,size:48,className:"text-base-content/30 mb-4"}),m.jsx("h3",{className:"font-semibold text-lg text-base-content/70",children:t}),n&&m.jsx("p",{className:"text-base-content/50 mt-1 max-w-sm",children:n}),r&&m.jsx("div",{className:"mt-4",children:r})]})}const aL={top:"tooltip-top",bottom:"tooltip-bottom",left:"tooltip-left",right:"tooltip-right"};function pr({text:e,children:t,position:n="top"}){return m.jsx("div",{className:`tooltip ${aL[n]}`,"data-tip":e,children:t})}const oL={success:{bg:"alert-success",icon:"lucide:check-circle",iconColor:"text-success-content"},error:{bg:"alert-error",icon:"lucide:x-circle",iconColor:"text-error-content"},info:{bg:"alert-info",icon:"lucide:info",iconColor:"text-info-content"},warning:{bg:"alert-warning",icon:"lucide:alert-triangle",iconColor:"text-warning-content"}};function lL({id:e,type:t,message:n,title:r,duration:i=5e3,dismissible:a=!0,onClick:l,onDismiss:u}){const[c,f]=k.useState(!1),{bg:d,icon:h,iconColor:g}=oL[t];k.useEffect(()=>{if(i>0){const w=setTimeout(()=>{f(!0),setTimeout(()=>u(e),300)},i);return()=>clearTimeout(w)}},[i,e,u]);const y=()=>{f(!0),setTimeout(()=>u(e),300)};return m.jsxs("div",{role:"alert",className:`alert ${d} shadow-lg transition-all duration-300 ${c?"opacity-0 translate-x-4":"opacity-100 translate-x-0"} ${l?"cursor-pointer hover:scale-[1.02]":""}`,onClick:l,children:[m.jsx(le,{icon:h,size:20,className:g}),m.jsxs("div",{className:"flex-1",children:[r&&m.jsx("h3",{className:"font-bold text-sm",children:r}),m.jsx("span",{className:"text-sm",children:n})]}),a&&m.jsx("button",{onClick:w=>{w.stopPropagation(),y()},className:"btn btn-ghost btn-sm btn-circle","aria-label":"Dismiss",children:m.jsx(le,{icon:"lucide:x",size:16})})]})}function sL({toasts:e,onDismiss:t}){return e.length===0?null:m.jsx("div",{className:"toast toast-end toast-bottom z-50",children:e.map(n=>m.jsx(lL,{...n,onDismiss:t},n.id))})}function sC({project:e,workspace:t=!1}){return t?m.jsxs("span",{className:"inline-flex items-center gap-1 text-xs bg-base-200 text-base-content/50 rounded-full px-2.5 py-0.5",children:[m.jsx(le,{icon:"lucide:globe",size:12}),"Workspace"]}):e?m.jsxs("span",{className:"inline-flex items-center gap-1 text-xs bg-primary/10 text-primary rounded-full px-2.5 py-0.5",children:[m.jsx(le,{icon:"lucide:folder",size:12}),e]}):null}function uL({icon:e,label:t,href:n,active:r=!1,badge:i,collapsed:a=!1}){const l=m.jsxs("a",{href:n,className:`nav-item flex items-center gap-3 px-3 py-2.5 rounded-lg transition-all ${r?"active":""} ${a?"justify-center":""}`,children:[m.jsx(le,{icon:e,size:20}),!a&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"flex-1",children:t}),i!==void 0&&m.jsx("span",{className:`badge badge-sm ${r?"badge-primary-content":"badge-ghost"}`,children:i})]})]});return a?m.jsx(pr,{text:t,children:l}):l}const cL=[{icon:"lucide:layout-dashboard",label:"Dashboard",href:"#/"},{icon:"lucide:scroll",label:"Specification",href:"#/spec"},{icon:"lucide:brain",label:"Memories",href:"#/memories"},{icon:"lucide:history",label:"Sessions",href:"#/sessions"},{icon:"lucide:bar-chart-3",label:"Usage",href:"#/usage"},{icon:"lucide:archive",label:"Vault",href:"#/vault"},{icon:"lucide:settings",label:"Settings",href:"#/settings"}];function fL({currentPath:e,collapsed:t=!1}){return m.jsx("nav",{className:"py-4 space-y-1 px-2",children:cL.map(n=>m.jsx(uL,{icon:n.icon,label:n.label,href:n.href,active:e===n.href||e.startsWith(n.href+"/"),collapsed:t},n.href))})}function dL({workerStatus:e,version:t,queueDepth:n=0,collapsed:r=!1}){const l={online:{color:"success",label:"Online",icon:"lucide:circle-check"},offline:{color:"error",label:"Offline",icon:"lucide:circle-x"}}[e!=="offline"?"online":"offline"],u=t?`v${t}`:null;return r?m.jsx("div",{className:"p-3 border-t border-base-300/50",children:m.jsx(pr,{text:`Claude Pilot ${u??""} ยท Worker ${l.label}`,children:m.jsx("div",{className:"flex justify-center",children:m.jsx(le,{icon:l.icon,size:20,className:`text-${l.color}`})})})}):m.jsxs("div",{className:"p-4 border-t border-base-300/50 space-y-2",children:[m.jsxs("div",{className:"flex items-center justify-between text-sm",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(le,{icon:l.icon,size:16,className:`text-${l.color}`}),m.jsx("span",{className:"text-base-content/70",children:"Worker"})]}),m.jsx(Ie,{variant:l.color,size:"sm",children:l.label})]}),u&&m.jsxs("div",{className:"text-xs text-base-content/40 text-center",children:["Claude Pilot ",u]})]})}const uC=k.createContext(null);let pL=0;function hL({children:e}){const[t,n]=k.useState([]),r=k.useCallback(d=>{const h=`toast-${++pL}`;return n(g=>[...g,{...d,id:h}]),h},[]),i=k.useCallback(d=>{n(h=>h.filter(g=>g.id!==d))},[]),a=k.useCallback(()=>{n([])},[]),l=k.useCallback((d,h)=>r({type:"success",message:d,title:h}),[r]),u=k.useCallback((d,h)=>r({type:"error",message:d,title:h,duration:8e3}),[r]),c=k.useCallback((d,h)=>r({type:"info",message:d,title:h}),[r]),f=k.useCallback((d,h)=>r({type:"warning",message:d,title:h,duration:7e3}),[r]);return m.jsxs(uC.Provider,{value:{addToast:r,removeToast:i,clearAll:a,success:l,error:u,info:c,warning:f},children:[e,m.jsx(sL,{toasts:t,onDismiss:i})]})}function cC(){const e=k.useContext(uC);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const Oh="pilot-memory-selected-project",mL={selectedProject:null,projects:[],setSelectedProject:()=>{},setProjects:()=>{}},fC=k.createContext(mL);function gL({children:e}){const[t,n]=k.useState(()=>{try{return localStorage.getItem(Oh)||null}catch{return null}}),[r,i]=k.useState([]),a=k.useCallback(u=>{n(u);try{u?localStorage.setItem(Oh,u):localStorage.removeItem(Oh)}catch{}},[]),l=k.useCallback(u=>{i(u)},[]);return k.useEffect(()=>{fetch("/api/projects").then(u=>u.json()).then(u=>{const c=u.projects||[];c.length>0&&i(c)}).catch(()=>{})},[]),k.useEffect(()=>{t&&r.length>0&&!r.includes(t)&&a(null)},[r,t,a]),m.jsx(fC.Provider,{value:{selectedProject:t,projects:r,setSelectedProject:a,setProjects:l},children:e})}function za(){return k.useContext(fC)}function vL({collapsed:e=!1}){const{selectedProject:t,projects:n,setSelectedProject:r}=za();return e?m.jsx("div",{className:"flex-shrink-0 px-3 py-3 border-b border-base-300/50",children:m.jsx(pr,{text:t??"All Projects",children:m.jsx("button",{className:`btn btn-ghost btn-sm btn-square w-full ${t?"text-primary":"text-base-content/50"}`,onClick:()=>r(null),children:m.jsx(le,{icon:"lucide:folder-open",size:20})})})}):m.jsxs("div",{className:"flex-shrink-0 px-3 py-3 border-b border-base-300/50 relative z-10",children:[m.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-wider text-base-content/40 px-1 mb-1.5 block",children:"Project"}),m.jsxs("select",{className:"select select-bordered select-sm w-full text-sm bg-base-100",value:t??"",onChange:i=>r(i.target.value||null),children:[m.jsx("option",{value:"",children:"All Projects"}),n.map(i=>m.jsx("option",{value:i,children:i},i))]})]})}function yL({currentPath:e,workerStatus:t,version:n,queueDepth:r,collapsed:i,onToggleCollapse:a}){return m.jsxs("aside",{className:`dashboard-sidebar flex flex-col border-r border-base-300 transition-all duration-300 h-screen sticky top-0 ${i?"w-[72px]":"w-64"}`,children:[m.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between p-4 border-b border-base-300/50",children:[!i&&m.jsx(HD,{}),m.jsx("button",{onClick:a,className:"btn btn-ghost btn-sm btn-square",title:i?"Expand sidebar":"Collapse sidebar",children:m.jsx(le,{icon:i?"lucide:panel-left-open":"lucide:panel-left-close",size:18})})]}),m.jsx(vL,{collapsed:i}),m.jsx("div",{className:"flex-1",children:m.jsx(fL,{currentPath:e,collapsed:i})}),m.jsx("div",{className:"flex-shrink-0",children:m.jsx(dL,{workerStatus:t,version:n,queueDepth:r,collapsed:i})})]})}const dC={solo:{label:"Solo",variant:"primary"},team:{label:"Team",variant:"accent"},trial:{label:"Trial",variant:"warning"},standard:{label:"Solo",variant:"primary"},enterprise:{label:"Team",variant:"accent"}};function Qw(e){const t=dC[e.tier??""],n=[(t==null?void 0:t.label)??e.tier??"Unknown"];return e.email&&n.push(e.email),e.tier==="trial"&&e.daysRemaining!=null&&n.push(`${e.daysRemaining} days remaining`),n.join(" ยท ")}function Zw(e){return e.isExpired||e.tier==="trial"}function xL({license:e,isLoading:t,onClick:n}){if(t||!e||!e.tier)return null;const i=Zw(e)&&!!n?{onClick:n,role:"button",className:"cursor-pointer"}:{};if(e.isExpired)return m.jsx(pr,{text:Qw(e),position:"bottom",children:m.jsx("span",{...i,children:m.jsx(Ie,{variant:"error",size:"xs",children:"Expired"})})});const a=dC[e.tier];if(!a)return null;let l=a.label;e.tier==="trial"&&e.daysRemaining!=null&&(l=`${a.label} ยท ${e.daysRemaining}d left`);const u=!Zw(e)&&e.email;return m.jsx(pr,{text:Qw(e),position:"bottom",children:m.jsxs("span",{...i,className:`${i.className??""} inline-flex items-center gap-1.5`,children:[m.jsx(Ie,{variant:a.variant,size:"xs",children:l}),u&&m.jsx("span",{className:"text-base-content/50",children:e.email})]})})}function bL({open:e,onClose:t,onActivated:n}){const[r,i]=k.useState(""),[a,l]=k.useState(null),[u,c]=k.useState(!1),f=k.useCallback(async()=>{const h=r.trim();if(h){l(null),c(!0);try{const y=await(await fetch("/api/license/activate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:h})})).json();y.success?(i(""),n(),t()):l(y.error??"Activation failed")}catch{l("Connection failed")}finally{c(!1)}}},[r,n,t]),d=k.useCallback(h=>{h.key==="Enter"&&!u&&f()},[f,u]);return m.jsxs(KE,{open:e,onClose:t,title:"Activate License",children:[m.jsxs("div",{className:"flex flex-col gap-3",children:[m.jsx("input",{id:"license-key-input",type:"text",className:"input input-bordered w-full",placeholder:"Enter your license key",value:r,onChange:h=>{i(h.target.value),l(null)},onKeyDown:d,disabled:u,autoFocus:!0}),a&&m.jsx("p",{className:"text-error text-sm",children:a}),m.jsx("div",{className:"bg-base-200/50 rounded-lg p-3 space-y-1.5",children:m.jsxs("p",{className:"text-xs text-base-content/60",children:["Don't have a key? Get one at"," ",m.jsx("a",{href:"https://claude-pilot.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline font-medium",children:"claude-pilot.com"})]})})]}),m.jsxs("div",{className:"modal-action",children:[m.jsx("button",{className:"btn btn-ghost btn-sm",onClick:t,disabled:u,children:"Cancel"}),m.jsx("button",{className:"btn btn-primary btn-sm",onClick:f,disabled:u||!r.trim(),children:u?"Activating...":"Activate"})]})]})}function pC(){const[e,t]=k.useState(null),[n,r]=k.useState(!0),i=k.useCallback((l=!1)=>{fetch(l?"/api/license?refresh=1":"/api/license").then(c=>c.json()).then(c=>{t(c),r(!1)}).catch(()=>{r(!1)})},[]);k.useEffect(()=>{i();const l=setInterval(()=>i(!0),6e4);return()=>clearInterval(l)},[i]);const a=k.useCallback(()=>i(!0),[i]);return{license:e,isLoading:n,refetch:a}}function wL(e){const t=e.endsWith("Z")?e:e+"Z",n=Date.now()-new Date(t).getTime();return n<6e4?"just now":n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}const kL={plan_approval:"lucide:file-check",verification_complete:"lucide:check-circle",attention_needed:"lucide:alert-circle"};function SL({notifications:e,unreadCount:t,onMarkAsRead:n,onMarkAllAsRead:r}){const[i,a]=k.useState(!1),l=k.useRef(null),u=k.useCallback(c=>{l.current&&!l.current.contains(c.target)&&a(!1)},[]);return k.useEffect(()=>{if(i)return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[i,u]),m.jsxs("div",{className:"relative",ref:l,children:[m.jsx(pr,{text:"Notifications",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:()=>a(!i),children:m.jsxs("div",{className:"relative",children:[m.jsx(le,{icon:"lucide:bell",size:18}),t>0&&m.jsx("span",{className:"absolute -top-1.5 -right-1.5 bg-error text-error-content text-[10px] font-bold rounded-full min-w-[16px] h-4 flex items-center justify-center px-0.5",children:t>99?"99+":t})]})})}),i&&m.jsxs("div",{className:"absolute right-0 top-full mt-2 w-80 max-h-96 overflow-y-auto rounded-xl border border-base-300 bg-base-100 shadow-xl z-50",children:[m.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-base-300",children:[m.jsx("span",{className:"text-sm font-semibold",children:"Notifications"}),t>0&&m.jsx("button",{className:"text-xs text-primary hover:underline",onClick:()=>{r()},children:"Mark all read"})]}),e.length===0?m.jsx("div",{className:"px-4 py-8 text-center text-sm text-base-content/50",children:"No notifications"}):m.jsx("div",{className:"divide-y divide-base-300",children:e.map(c=>m.jsx("button",{className:`w-full text-left px-4 py-3 hover:bg-base-200/50 transition-colors ${c.is_read===0?"bg-primary/5":""}`,onClick:()=>{c.is_read===0&&n(c.id)},children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx(le,{icon:kL[c.type]||"lucide:info",size:16,className:`mt-0.5 flex-shrink-0 ${c.is_read===0?"text-primary":"text-base-content/40"}`}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:`text-sm truncate ${c.is_read===0?"font-medium":""}`,children:c.title}),c.is_read===0&&m.jsx("span",{className:"w-2 h-2 rounded-full bg-primary flex-shrink-0"})]}),m.jsx("p",{className:"text-xs text-base-content/60 mt-0.5 line-clamp-2",children:c.message}),m.jsx("span",{className:"text-[10px] text-base-content/40 mt-1 block",children:wL(c.created_at)})]})]})},c.id))})]})]})}function jL(){const[e,t]=k.useState([]),[n,r]=k.useState(0),i=k.useRef(!0),a=k.useCallback(async()=>{try{const c=await fetch("/api/notifications?limit=50&include_read=true");if(!c.ok)return;const f=await c.json();i.current&&(t(f),r(f.filter(d=>d.is_read===0).length))}catch{}},[]),l=k.useCallback(async c=>{t(f=>f.map(d=>d.id===c?{...d,is_read:1}:d)),r(f=>Math.max(0,f-1));try{(await fetch(`/api/notifications/${c}/read`,{method:"PATCH"})).ok||(t(d=>d.map(h=>h.id===c?{...h,is_read:0}:h)),r(d=>d+1))}catch{t(f=>f.map(d=>d.id===c?{...d,is_read:0}:d)),r(f=>f+1)}},[]),u=k.useCallback(async()=>{const c=e,f=n;t(d=>d.map(h=>({...h,is_read:1}))),r(0);try{(await fetch("/api/notifications/read-all",{method:"POST"})).ok||(t(c),r(f))}catch{t(c),r(f)}},[e,n]);return k.useEffect(()=>{i.current=!0,a();const c=new EventSource("/stream");return c.addEventListener("open",()=>{a()}),c.onmessage=f=>{try{const d=JSON.parse(f.data);if(d.type==="new_notification"&&d.notification&&i.current){const h=d.notification;t(g=>g.some(y=>y.id===h.id)?g:[h,...g]),r(g=>g+1)}}catch{}},()=>{i.current=!1,c.close()}},[a]),{notifications:e,unreadCount:n,markAsRead:l,markAllAsRead:u,refresh:a}}function PL({theme:e,onToggleTheme:t,onToggleLogs:n}){const[r,i]=k.useState(!1),[a,l]=k.useState(!1);k.useEffect(()=>{fetch("/api/auth/status").then(g=>g.json()).then(g=>{i(g.authRequired)}).catch(()=>{i(!1)})},[]);const u=async()=>{l(!0);try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{l(!1)}},{notifications:c,unreadCount:f,markAsRead:d,markAllAsRead:h}=jL();return m.jsxs("div",{className:"flex items-center gap-2",children:[n&&m.jsx(pr,{text:"Toggle console logs",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:n,children:m.jsx(le,{icon:"lucide:terminal",size:18})})}),m.jsx(pr,{text:`Switch to ${e==="light"?"dark":"light"} mode`,position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:t,children:m.jsx(le,{icon:e==="light"?"lucide:moon":"lucide:sun",size:18})})}),m.jsx(pr,{text:"Repository",position:"bottom",children:m.jsx("a",{href:"https://github.com/maxritter/claude-pilot",target:"_blank",rel:"noopener noreferrer",className:"btn btn-ghost btn-sm",children:m.jsx(le,{icon:"lucide:git-branch",size:18})})}),r&&m.jsx(pr,{text:"Logout",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:u,disabled:a,children:m.jsx(le,{icon:"lucide:log-out",size:18})})}),m.jsx(SL,{notifications:c,unreadCount:f,onMarkAsRead:d,onMarkAllAsRead:h})]})}function EL({theme:e,onToggleTheme:t,onToggleLogs:n}){const{license:r,isLoading:i,refetch:a}=pC(),[l,u]=k.useState(!1);return m.jsxs("header",{className:"h-14 bg-base-100 border-b border-base-300/50 flex items-center justify-between px-6 gap-4",children:[m.jsxs("div",{className:"flex items-center gap-2 text-xs text-base-content/40",children:[m.jsx(le,{icon:"lucide:plane",size:14,className:"text-primary/60"}),m.jsxs("span",{children:["ยฉ ",new Date().getFullYear()," ",m.jsx("a",{href:"https://claude-pilot.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary/70 hover:text-primary transition-colors",children:"Claude Pilot"})]}),m.jsx("span",{className:"text-base-content/20",children:"|"}),m.jsxs("span",{children:["Created by"," ",m.jsx("a",{href:"https://maxritter.net",target:"_blank",rel:"noopener noreferrer",className:"text-primary/70 hover:text-primary transition-colors",children:"Max Ritter"})]}),!i&&(r==null?void 0:r.tier)&&m.jsx("span",{className:"text-base-content/20",children:"|"}),m.jsx(xL,{license:r,isLoading:i,onClick:()=>u(!0)}),!i&&(!r||!r.tier||r.tier==="trial"||r.isExpired)&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-base-content/20",children:"|"}),m.jsx("a",{href:"https://claude-pilot.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"text-primary/70 hover:text-primary transition-colors",children:"Get a license"}),m.jsxs("button",{onClick:()=>u(!0),className:"btn btn-primary btn-xs gap-1",children:[m.jsx(le,{icon:"lucide:key",size:12}),"Activate"]})]})]}),m.jsx(PL,{theme:e,onToggleTheme:t,onToggleLogs:n}),m.jsx(bL,{open:l,onClose:()=>u(!1),onActivated:a})]})}function CL({children:e,currentPath:t,workerStatus:n,version:r,queueDepth:i,theme:a,onToggleTheme:l,onToggleLogs:u,sidebarCollapsed:c,onToggleSidebar:f}){const d=a==="dark"?"claude-pilot":"claude-pilot-light";return m.jsxs("div",{className:"dashboard-layout flex min-h-screen","data-theme":d,children:[m.jsx(yL,{currentPath:t,workerStatus:n,version:r,queueDepth:i,collapsed:c,onToggleCollapse:f}),m.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[m.jsx(EL,{theme:a,onToggleTheme:l,onToggleLogs:u}),m.jsx("main",{className:"flex-1 p-6 overflow-y-auto",children:e})]})]})}function hC(){const[e,t]=k.useState(()=>Jw(window.location.hash));k.useEffect(()=>{const r=()=>{t(Jw(window.location.hash))};return window.addEventListener("hashchange",r),()=>window.removeEventListener("hashchange",r)},[]);const n=k.useCallback(r=>{window.location.hash=r},[]);return{path:e.path,params:e.params,navigate:n}}function Jw(e){const t=e.replace(/^#/,"")||"/",n={},[r,i]=t.split("?");return i&&new URLSearchParams(i).forEach((l,u)=>{n[u]=l}),{path:r,params:n}}function OL({routes:e,fallback:t}){const{path:n}=hC();for(const r of e){const i=NL(r.path,n);if(i){const a=r.component;return m.jsx(a,{...i.params})}}return t?m.jsx(m.Fragment,{children:t}):null}function NL(e,t){if(e===t)return{params:{}};const n=e.split("/"),r=t.split("/");if(n.length!==r.length)return null;const i={};for(let a=0;a=0?"text-success":"text-error"}`,children:[m.jsx(le,{icon:i.value>=0?"lucide:trending-up":"lucide:trending-down",size:16}),m.jsxs("span",{className:"ml-1",children:[Math.abs(i.value),"% ",i.label]})]})]})})}function AL({stats:e,specStats:t}){const n=t&&t.totalSpecs>0?`${Math.round(t.verified/t.totalSpecs*100)}% success`:void 0;return m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[m.jsx(Fi,{icon:"lucide:brain",label:"Observations",value:e.observations.toLocaleString()}),m.jsx(Fi,{icon:"lucide:scroll",label:"Total Specs",value:((t==null?void 0:t.totalSpecs)??0).toLocaleString()}),m.jsx(Fi,{icon:"lucide:shield-check",label:"Verified",value:((t==null?void 0:t.verified)??0).toLocaleString(),subtext:n}),m.jsx(Fi,{icon:"lucide:loader",label:"In Progress",value:((t==null?void 0:t.inProgress)??0).toLocaleString()}),m.jsx(Fi,{icon:"lucide:history",label:"Sessions",value:e.sessions.toLocaleString()}),m.jsx(Fi,{icon:"lucide:clock",label:"Last Observation",value:e.lastObservationAt||"None yet"}),m.jsx(Fi,{icon:"lucide:file-text",label:"Summaries",value:e.summaries.toLocaleString()}),m.jsx(Fi,{icon:"lucide:check-square",label:"Tasks Completed",value:((t==null?void 0:t.totalTasksCompleted)??0).toLocaleString(),subtext:t&&t.totalTasks>0?`of ${t.totalTasks} total`:void 0})]})}function _L({status:e,version:t,uptime:n,queueDepth:r=0}){const i=e==="processing",a=e!=="offline";return m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Worker Status"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsx(Ie,{variant:a?"success":"error",children:a?"Online":"Offline"})]}),m.jsxs("div",{className:"space-y-3",children:[t&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:tag",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Version:"}),m.jsx("span",{className:"font-mono",children:t})]}),n&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:clock",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Uptime:"}),m.jsx("span",{children:n})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:i?"lucide:loader-2":"lucide:layers",size:16,className:`${i?"text-warning animate-spin":"text-base-content/50"}`}),m.jsx("span",{className:"text-base-content/70",children:"Queue:"}),m.jsxs("span",{className:i?"text-warning font-medium":"",children:[r," items"]}),i&&m.jsx(Ie,{variant:"warning",size:"xs",children:"Processing"})]})]})]})})}function IL(e){if(!e)return"Never";try{const t=new Date(e),r=new Date().getTime()-t.getTime();return r<6e4?"just now":r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:`${Math.floor(r/864e5)}d ago`}catch{return"Unknown"}}function TL({isIndexed:e,files:t,generatedAt:n,isReindexing:r}){return m.jsx(wt,{children:m.jsxs(kt,{className:"flex flex-col",children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Codebase Indexing"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),r?m.jsxs(Ie,{variant:"warning",children:[m.jsx(le,{icon:"lucide:refresh-cw",size:12,className:"mr-1 animate-spin"}),"Indexing..."]}):m.jsx(Ie,{variant:e?"success":"warning",children:e?"Indexed":"Not Indexed"})]}),m.jsxs("div",{className:"space-y-3 flex-1",children:[m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:file-search",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Files:"}),m.jsx("span",{className:"font-semibold",children:t.toLocaleString()})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:clock",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Last indexed:"}),m.jsx("span",{children:IL(n)})]})]}),!r&&m.jsx("p",{className:"text-xs text-base-content/50 mt-3",children:t===0?m.jsxs(m.Fragment,{children:["Run ",m.jsx("code",{className:"bg-base-300/50 px-1 rounded",children:"/sync"})," in Claude Code to index your codebase."]}):m.jsxs(m.Fragment,{children:["Re-index with ",m.jsx("code",{className:"bg-base-300/50 px-1 rounded",children:"/sync"})," or ",m.jsx("code",{className:"bg-base-300/50 px-1 rounded",children:"vexor index --clear"})]})})]})})}function DL(e){try{const t=new URL(e);return(t.host+t.pathname).replace(/\.git$/,"")}catch{return e}}function ML(e){const{installed:t,version:n,configured:r,vaultUrl:i,assets:a,catalog:l,isLoading:u}=e;if(u)return m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsx(Vi,{children:"Vault"}),m.jsx(Ie,{variant:"ghost",children:"Loading..."})]}),m.jsxs("div",{className:"space-y-3 animate-pulse",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-3/4"}),m.jsx("div",{className:"h-4 bg-base-300 rounded w-1/2"})]})]})});const c=new Set(a.map(d=>d.name)),f=l.filter(d=>!c.has(d.name)).length;return t?r?m.jsx(wt,{children:m.jsxs(kt,{className:"flex flex-col",children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Vault"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsx(Ie,{variant:"success",children:"Connected"})]}),m.jsxs("div",{className:"space-y-3 flex-1",children:[i&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:git-branch",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Vault:"}),m.jsx("span",{className:"font-mono text-xs truncate",children:DL(i)})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:package",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Installed:"}),m.jsx("span",{className:"font-semibold",children:a.length}),f>0&&m.jsxs("span",{className:"text-base-content/40",children:["(",f," available)"]})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:cloud",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"In vault:"}),m.jsx("span",{className:"font-semibold",children:l.length})]})]})]})}):m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Vault"}),n&&m.jsxs(Ie,{variant:"ghost",size:"sm",children:["v",n]})]}),m.jsx(Ie,{variant:"warning",children:"Not Configured"})]}),m.jsx("div",{className:"text-sm text-base-content/60",children:m.jsxs("p",{children:["sx is installed but no vault is configured. Run ",m.jsx("span",{className:"font-mono text-primary",children:"/vault"})," to set up."]})})]})}):m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsx(Vi,{children:"Vault"}),m.jsx(Ie,{variant:"ghost",children:"Not Installed"})]}),m.jsx("div",{className:"text-sm text-base-content/60",children:m.jsxs("p",{children:["sx is not installed. Run the Pilot installer or install from ",m.jsx("span",{className:"font-mono text-primary",children:"skills.new"}),"."]})})]})})}const LL={plan:{label:"Planning",color:"info",border:"border-l-info"},implement:{label:"Implementing",color:"warning",border:"border-l-warning"},verify:{label:"Verifying",color:"accent",border:"border-l-accent"}};function RL({plan:e}){const t=LL[e.phase],n=e.total>0?e.completed/e.total*100:0,r=e.status==="PENDING"&&!e.approved;return m.jsxs("div",{className:`border-l-4 ${t.border} pl-3 py-2${r?" animate-pulse":""}`,children:[m.jsxs("div",{className:"flex items-center justify-between gap-2",children:[m.jsxs("span",{className:"font-medium text-sm truncate",title:e.name,children:[e.name,m.jsx("span",{className:`ml-1.5 text-xs font-normal ${e.specType==="Bugfix"?"text-warning":"text-info"}`,children:e.specType==="Bugfix"?"bugfix":"feature"})]}),m.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m.jsx(Ie,{variant:t.color,size:"xs",children:t.label}),m.jsxs("span",{className:"text-xs font-mono text-base-content/60",children:[e.completed,"/",e.total]})]})]}),m.jsx("div",{className:"w-full bg-base-300 rounded-full h-1.5 mt-1.5",children:m.jsx("div",{className:`h-1.5 rounded-full transition-all duration-300 ${n===100?"bg-success":"bg-primary"}`,style:{width:`${n}%`}})})]})}function zL({plans:e}){return e.length===0?m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Specification Status"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsx(Ie,{variant:"ghost",children:"Quick Mode"})]}),m.jsxs("div",{className:"text-sm text-base-content/60",children:[m.jsx("p",{children:"No active spec-driven plan."}),m.jsxs("p",{className:"mt-2",children:["Use ",m.jsx("code",{className:"text-primary",children:"/spec"})," for complex tasks."]})]})]})}):m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Specification Status"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsxs(Ie,{variant:"info",children:[e.length," active"]})]}),m.jsx("div",{className:"space-y-2",children:e.map((t,n)=>m.jsx(RL,{plan:t},t.filePath??`${t.name}-${n}`))})]})})}const $L=6e4;function mC(){const{selectedProject:e,setProjects:t}=za(),[n,r]=k.useState({observations:0,summaries:0,sessions:0,lastObservationAt:null,projects:0}),[i,a]=k.useState({status:"offline"}),[l,u]=k.useState({isIndexed:!1,files:0,mode:"",model:"",generatedAt:null,isReindexing:!1}),[c,f]=k.useState([]),[d,h]=k.useState({active:!1,plans:[]}),[g,y]=k.useState({branch:null,staged:0,unstaged:0,untracked:0}),[w,S]=k.useState({totalSpecs:0,verified:0,inProgress:0,pending:0,avgIterations:0,totalTasksCompleted:0,totalTasks:0,completionTimeline:[],recentlyVerified:[]}),[b,P]=k.useState([]),[E,O]=k.useState({installed:!1,version:null,configured:!1,vaultUrl:null,profile:null,assets:[],catalog:[],isInstalling:!1}),[A,I]=k.useState(!0),C=k.useCallback(async()=>{try{const q=await(await fetch("/api/vault/status")).json();O(q)}catch{}},[]),L=k.useCallback(async()=>{try{const D=e?`?project=${encodeURIComponent(e)}`:"",z=await(await fetch(`/api/vexor/status${D}`)).json();u({isIndexed:z.isIndexed??!1,files:z.files??0,mode:z.mode??"",model:z.model??"",generatedAt:z.generatedAt??null,isReindexing:z.isReindexing??!1})}catch{}},[e]),R=k.useCallback(async()=>{var q,z,ee,X,Q,he,de;const D=e?`?project=${encodeURIComponent(e)}`:"";try{const[Z,ae,T,F,W,_,te,fe]=await Promise.all([fetch(`/api/stats${D}`),fetch("/health"),fetch(`/api/observations?limit=5${e?`&project=${encodeURIComponent(e)}`:""}`),fetch("/api/projects"),fetch(`/api/plan${D}`),fetch(`/api/git${D}`),fetch(`/api/plans/stats${D}`).catch(()=>null),fetch(`/api/analytics/timeline?range=30d${e?`&project=${encodeURIComponent(e)}`:""}`).catch(()=>null)]),ce=await Z.json(),Se=await ae.json(),je=await T.json(),Y=await F.json(),we=await W.json(),Ae=await _.json();if(te!=null&&te.ok){const Pt=await te.json();S(Pt)}if(fe!=null&&fe.ok){const Pt=await fe.json();P(Pt.data||[])}const ie=je.items||je.observations||je||[],rt=Array.isArray(ie)?ie:[],ze=rt.length>0&&((q=rt[0])==null?void 0:q.created_at)||null,ct=Y.projects||[];t(ct),r({observations:((z=ce.database)==null?void 0:z.observations)||0,summaries:((ee=ce.database)==null?void 0:ee.summaries)||0,sessions:((X=ce.database)==null?void 0:X.sessions)||0,lastObservationAt:ze?e1(ze):null,projects:ct.length}),a({status:Se.status==="ok"?Se.isProcessing?"processing":"online":"offline",version:(Q=ce.worker)==null?void 0:Q.version,uptime:(he=ce.worker)!=null&&he.uptime?FL(ce.worker.uptime):void 0,queueDepth:Se.queueDepth||0,workspaceProject:(de=ce.worker)==null?void 0:de.workspaceProject});const ft=je.items||je.observations||je||[];f((Array.isArray(ft)?ft:[]).slice(0,5).map(Pt=>{var Br;return{id:Pt.id,type:Pt.obs_type||Pt.type||"observation",title:Pt.title||((Br=Pt.content)==null?void 0:Br.slice(0,100))||"Untitled",project:Pt.project||"unknown",timestamp:e1(Pt.created_at)}}));const Wt=we.plans||(we.plan?[we.plan]:[]);h({active:Wt.length>0,plans:Wt}),y({branch:Ae.branch||null,staged:Ae.staged||0,unstaged:Ae.unstaged||0,untracked:Ae.untracked||0})}catch(Z){console.error("Failed to load stats:",Z),a({status:"offline"})}finally{I(!1)}},[e,t]),U=k.useRef(R);return k.useEffect(()=>{U.current=R},[R]),k.useEffect(()=>{R()},[R]),k.useEffect(()=>{L(),C();const D=setInterval(L,$L),q=new EventSource("/stream");return q.onmessage=z=>{try{const ee=JSON.parse(z.data);ee.type==="processing_status"&&a(X=>({...X,status:ee.isProcessing?"processing":"online",queueDepth:ee.queueDepth??X.queueDepth})),(ee.type==="new_observation"||ee.type==="new_summary"||ee.type==="plan_association_changed")&&U.current()}catch{}},()=>{clearInterval(D),q.close()}},[L,C]),{stats:n,workerStatus:i,vexorStatus:l,vaultStatus:E,recentActivity:c,planStatus:d,gitInfo:g,specStats:w,observationTimeline:b,isLoading:A,refreshStats:R}}function e1(e){if(!e)return"";const t=new Date(e),r=new Date().getTime()-t.getTime();return r<6e4?"just now":r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:t.toLocaleDateString()}function FL(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:e<86400?`${Math.floor(e/3600)}h`:`${Math.floor(e/86400)}d`}function BL(){const{stats:e,workerStatus:t,vexorStatus:n,vaultStatus:r,planStatus:i,specStats:a,isLoading:l}=mC(),{selectedProject:u}=za();return l?m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx("span",{className:"loading loading-spinner loading-lg"})}):m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Dashboard"}),m.jsx("p",{className:"text-base-content/60",children:u?`Filtered by: ${u}`:"Overview of your Pilot Console"})]}),m.jsx(AL,{stats:e,specStats:a}),m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 [&>*]:h-full",children:[m.jsx(TL,{isIndexed:n.isIndexed,files:n.files,generatedAt:n.generatedAt,isReindexing:n.isReindexing}),m.jsx(zL,{plans:i.plans}),m.jsx(ML,{...r,isLoading:l}),m.jsx(_L,{status:t.status,version:t.version,uptime:t.uptime,queueDepth:t.queueDepth})]})]})}const UL=[{value:"all",label:"All Types"},{value:"observation",label:"Observations"},{value:"summary",label:"Summaries"},{value:"prompt",label:"Prompts"}];function WL({viewMode:e,onViewModeChange:t,filterType:n,onFilterTypeChange:r,totalCount:i,selectionMode:a,onToggleSelectionMode:l,selectedCount:u,onSelectAll:c,onExport:f,onDelete:d,isExporting:h,isDeleting:g,allSelected:y}){const w=[{label:"Export as JSON",onClick:()=>f("json"),icon:m.jsx(le,{icon:"lucide:file-json",size:16})},{label:"Export as CSV",onClick:()=>f("csv"),icon:m.jsx(le,{icon:"lucide:file-spreadsheet",size:16})},{label:"Export as Markdown",onClick:()=>f("markdown"),icon:m.jsx(le,{icon:"lucide:file-text",size:16})}];return m.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[m.jsx("div",{className:"flex items-center gap-2",children:a?m.jsxs(m.Fragment,{children:[m.jsxs(Rt,{variant:"ghost",size:"sm",onClick:c,children:[m.jsx(le,{icon:y?"lucide:check-square":"lucide:square",size:16,className:"mr-1"}),y?"Deselect All":"Select All"]}),m.jsxs("span",{className:"text-sm text-base-content/60",children:[u," of ",i," selected"]})]}):m.jsxs("span",{className:"text-sm text-base-content/60",children:[i," items"]})}),m.jsx("div",{className:"flex items-center gap-2",children:a?m.jsxs(m.Fragment,{children:[m.jsx(GE,{trigger:m.jsxs(Rt,{variant:"primary",size:"sm",loading:h,disabled:u===0,children:[m.jsx(le,{icon:"lucide:download",size:16,className:"mr-1"}),"Export"]}),items:w}),m.jsxs(Rt,{variant:"error",size:"sm",onClick:d,loading:g,disabled:u===0,children:[m.jsx(le,{icon:"lucide:trash-2",size:16,className:"mr-1"}),"Delete"]}),m.jsx(Rt,{variant:"ghost",size:"sm",onClick:l,children:"Cancel"})]}):m.jsxs(m.Fragment,{children:[m.jsxs(Rt,{variant:"ghost",size:"sm",onClick:l,children:[m.jsx(le,{icon:"lucide:check-square",size:16,className:"mr-1"}),"Select"]}),m.jsx(QD,{options:UL,value:n,onChange:S=>r(S.target.value),selectSize:"sm",className:"w-40"}),m.jsxs("div",{className:"btn-group",children:[m.jsx(Rt,{variant:e==="grid"?"primary":"ghost",size:"sm",onClick:()=>t("grid"),children:m.jsx(le,{icon:"lucide:grid-3x3",size:16})}),m.jsx(Rt,{variant:e==="list"?"primary":"ghost",size:"sm",onClick:()=>t("list"),children:m.jsx(le,{icon:"lucide:list",size:16})})]})]})})]})}const qL={observation:{icon:"lucide:brain",variant:"info",color:"text-info"},summary:{icon:"lucide:file-text",variant:"warning",color:"text-warning"},prompt:{icon:"lucide:message-square",variant:"secondary",color:"text-secondary"},bugfix:{icon:"lucide:bug",variant:"error",color:"text-error"},feature:{icon:"lucide:sparkles",variant:"success",color:"text-success"},refactor:{icon:"lucide:refresh-cw",variant:"accent",color:"text-accent"},discovery:{icon:"lucide:search",variant:"info",color:"text-info"},decision:{icon:"lucide:git-branch",variant:"warning",color:"text-warning"},change:{icon:"lucide:pencil",variant:"secondary",color:"text-secondary"}},HL={icon:"lucide:circle",variant:"secondary",color:"text-secondary"};function VL({memory:e,viewMode:t,onDelete:n,onView:r,selectionMode:i,isSelected:a,onToggleSelection:l}){const u=qL[e.type]||HL,c=t==="grid",f=[{label:"View Details",onClick:()=>r==null?void 0:r(e.id),icon:m.jsx(le,{icon:"lucide:eye",size:16})},{label:"Copy ID",onClick:()=>navigator.clipboard.writeText(String(e.id)),icon:m.jsx(le,{icon:"lucide:copy",size:16})},{label:"Delete",onClick:()=>n==null?void 0:n(e.id),icon:m.jsx(le,{icon:"lucide:trash-2",size:16})}],d=()=>{i&&(l==null||l(e.id))};return m.jsx(wt,{className:`hover:shadow-md transition-shadow ${c?"":"flex flex-row"} ${i?"cursor-pointer":""} ${a?"ring-2 ring-primary":""}`,onClick:d,children:m.jsxs(kt,{className:c?"":"flex flex-row items-start gap-4 flex-1",children:[m.jsxs("div",{className:`flex items-start gap-3 ${c?"mb-3":"flex-1"}`,children:[i?m.jsx("div",{className:"flex items-center justify-center w-8 h-8 flex-shrink-0",children:m.jsx("input",{type:"checkbox",className:"checkbox checkbox-primary",checked:a,onChange:()=>l==null?void 0:l(e.id),onClick:h=>h.stopPropagation()})}):m.jsx("div",{className:`p-2 rounded-lg bg-base-200 ${u.color}`,children:m.jsx(le,{icon:u.icon,size:18})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:u.variant,size:"xs",children:e.type}),m.jsxs("span",{className:"text-xs text-base-content/50",children:["#",e.id]})]}),m.jsx("h3",{className:"font-medium text-sm line-clamp-2",children:e.title}),c&&e.facts&&e.facts.length>0?m.jsxs("ul",{className:"text-xs text-base-content/60 mt-1 space-y-0.5 list-disc list-inside",children:[e.facts.slice(0,3).map((h,g)=>m.jsx("li",{className:"line-clamp-1",children:h},g)),e.facts.length>3&&m.jsxs("li",{className:"text-base-content/40",children:["+",e.facts.length-3," more"]})]}):c&&e.content?m.jsx("p",{className:"text-xs text-base-content/60 mt-1 line-clamp-3",children:e.content}):null]})]}),m.jsxs("div",{className:`flex items-center gap-2 ${c?"justify-between mt-3 pt-3 border-t border-base-200":""}`,children:[m.jsxs("div",{className:"flex items-center gap-2 text-xs text-base-content/50",children:[m.jsx(le,{icon:"lucide:folder",size:14}),m.jsx("span",{className:"truncate max-w-24",children:e.project})]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-xs text-base-content/50",children:e.timestamp}),m.jsx(GE,{trigger:m.jsx(Rt,{variant:"ghost",size:"xs",className:"btn-square",children:m.jsx(le,{icon:"lucide:more-vertical",size:14})}),items:f})]})]}),c&&e.concepts&&e.concepts.length>0&&m.jsxs("div",{className:"flex flex-wrap gap-1 mt-2",children:[e.concepts.slice(0,3).map(h=>m.jsx(Ie,{variant:"ghost",size:"xs",children:h},h)),e.concepts.length>3&&m.jsxs(Ie,{variant:"ghost",size:"xs",children:["+",e.concepts.length-3]})]})]})})}const KL={observation:{icon:"lucide:brain",variant:"info"},summary:{icon:"lucide:file-text",variant:"warning"},prompt:{icon:"lucide:message-square",variant:"secondary"},bugfix:{icon:"lucide:bug",variant:"error"},feature:{icon:"lucide:sparkles",variant:"success"},refactor:{icon:"lucide:refresh-cw",variant:"accent"},discovery:{icon:"lucide:search",variant:"info"},decision:{icon:"lucide:git-branch",variant:"warning"},change:{icon:"lucide:pencil",variant:"secondary"}};function GL({memory:e,onClose:t}){const[n,r]=k.useState("content"),i=e?KL[e.type]||{icon:"lucide:circle",variant:"secondary"}:{icon:"lucide:circle",variant:"secondary"};return m.jsx(KE,{open:!!e,onClose:t,title:"Memory Details",children:e&&m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx("div",{className:`p-3 rounded-lg bg-base-200 text-${i.variant}`,children:m.jsx(le,{icon:i.icon,size:24})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:i.variant,size:"sm",children:e.type}),m.jsxs("span",{className:"text-sm text-base-content/50",children:["#",e.id]})]}),m.jsx("h3",{className:"text-lg font-semibold",children:e.title}),m.jsxs("div",{className:"flex items-center gap-2 mt-1 text-sm text-base-content/60",children:[m.jsx(le,{icon:"lucide:folder",size:14}),m.jsx("span",{children:e.project}),m.jsx("span",{children:"โ€ข"}),m.jsx("span",{children:e.timestamp})]})]})]}),m.jsxs("div",{className:"tabs tabs-boxed",children:[m.jsx("button",{className:`tab ${n==="content"?"tab-active":""}`,onClick:()=>r("content"),children:"Content"}),m.jsx("button",{className:`tab ${n==="metadata"?"tab-active":""}`,onClick:()=>r("metadata"),children:"Metadata"})]}),n==="content"&&m.jsx("div",{className:"bg-base-200 rounded-lg p-4 max-h-96 overflow-y-auto",children:e.facts&&e.facts.length>0?m.jsx("ul",{className:"text-sm space-y-2 list-disc list-inside",children:e.facts.map((a,l)=>m.jsx("li",{children:a},l))}):m.jsx("pre",{className:"text-sm whitespace-pre-wrap break-words",children:e.content||"No content available"})}),n==="metadata"&&m.jsxs("div",{className:"space-y-4",children:[e.concepts&&e.concepts.length>0&&m.jsxs("div",{children:[m.jsx("h4",{className:"text-sm font-medium mb-2",children:"Concepts"}),m.jsx("div",{className:"flex flex-wrap gap-1",children:e.concepts.map(a=>m.jsx(Ie,{variant:"ghost",size:"sm",children:a},a))})]}),m.jsxs("div",{children:[m.jsx("h4",{className:"text-sm font-medium mb-2",children:"ID"}),m.jsx("code",{className:"text-xs bg-base-200 px-2 py-1 rounded",children:e.id})]})]})]})})}function YL({onSearch:e,isSearching:t,placeholder:n="Search your memories semantically..."}){const[r,i]=k.useState(""),a=l=>{l.preventDefault(),r.trim()&&e(r.trim())};return m.jsxs("form",{onSubmit:a,className:"flex gap-2",children:[m.jsxs("div",{className:"relative flex-1",children:[m.jsx(le,{icon:"lucide:search",size:20,className:"absolute left-4 top-1/2 -translate-y-1/2 text-base-content/50"}),m.jsx("input",{type:"search",placeholder:n,value:r,onChange:l=>i(l.target.value),className:"input input-bordered w-full pl-12 pr-4"})]}),m.jsx(Rt,{type:"submit",loading:t,disabled:!r.trim(),children:"Search"})]})}const XL={observation:{icon:"lucide:brain",variant:"info",label:"Observation"},summary:{icon:"lucide:file-text",variant:"warning",label:"Summary"},prompt:{icon:"lucide:message-square",variant:"secondary",label:"Prompt"},bugfix:{icon:"lucide:bug",variant:"error",label:"Bug Fix"},feature:{icon:"lucide:sparkles",variant:"success",label:"Feature"},refactor:{icon:"lucide:refresh-cw",variant:"accent",label:"Refactor"},discovery:{icon:"lucide:search",variant:"info",label:"Discovery"},decision:{icon:"lucide:git-branch",variant:"warning",label:"Decision"},change:{icon:"lucide:pencil",variant:"secondary",label:"Change"}},QL={icon:"lucide:circle",variant:"secondary",label:"Unknown"};function ZL(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function JL({result:e}){const t=e.obsType||e.type,n=XL[t]||QL,r=Math.round(e.score*100),i=a=>a>=.7?"text-success":a>=.4?"text-warning":"text-base-content/50";return m.jsx(wt,{className:"hover:shadow-md transition-shadow",children:m.jsx(kt,{children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx("div",{className:"p-2 rounded-lg bg-base-200 shrink-0",children:m.jsx(le,{icon:n.icon,size:18})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[m.jsx(Ie,{variant:n.variant,size:"xs",children:n.label}),m.jsxs("span",{className:"text-xs text-base-content/50",children:["#",e.id]}),e.score>0&&m.jsxs("span",{className:`ml-auto text-xs font-mono ${i(e.score)}`,children:[r,"% match"]})]}),m.jsx("h3",{className:"font-medium truncate",children:e.title}),m.jsx("p",{className:"text-sm text-base-content/60 mt-1 line-clamp-2",children:e.content}),m.jsxs("div",{className:"flex items-center gap-4 mt-3 text-xs text-base-content/50",children:[e.project&&m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:folder",size:12}),e.project]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:clock",size:12}),ZL(e.timestamp)]})]})]}),e.score>0&&m.jsxs("div",{className:"w-16 shrink-0 hidden sm:block",children:[m.jsx("div",{className:"h-2 bg-base-200 rounded-full overflow-hidden",children:m.jsx("div",{className:`h-full rounded-full transition-all ${e.score>=.7?"bg-success":e.score>=.4?"bg-warning":"bg-base-content/30"}`,style:{width:`${r}%`}})}),m.jsx("div",{className:"text-[10px] text-center mt-1 text-base-content/50",children:"similarity"})]})]})})})}const eR=12e4;function tR(){const{selectedProject:e}=za(),[t,n]=k.useState(!1),[r,i]=k.useState([]),[a,l]=k.useState(!1),[u,c]=k.useState(null),[f,d]=k.useState(null),h=k.useRef(null),g=k.useRef(!1),y=k.useCallback(async S=>{var E;(E=h.current)==null||E.abort(),g.current=!1;const b=new AbortController;h.current=b;const P=setTimeout(()=>b.abort(),eR);l(!0),n(!0),c(null);try{const O=new URLSearchParams({query:S,limit:"30"});e&&O.set("project",e);const A=await fetch(`/api/search/semantic?${O}`,{signal:b.signal});if(!A.ok)throw new Error(`Search failed with status ${A.status}`);const I=await A.json();i(I.results||[]),d({usedSemantic:I.usedSemantic,vectorDbAvailable:I.vectorDbAvailable})}catch(O){if(g.current)return;O.name==="AbortError"?c("Search timed out. Please try again."):c("Search failed. Please try again."),i([]),d(null)}finally{clearTimeout(P),g.current||l(!1)}},[e]),w=k.useCallback(()=>{var S;g.current=!0,(S=h.current)==null||S.abort(),n(!1),i([]),d(null),c(null),l(!1)},[]);return k.useEffect(()=>()=>{var S;(S=h.current)==null||S.abort()},[]),{isSearchMode:t,searchResults:r,isSearching:a,searchError:u,searchMeta:f,handleSearch:y,handleClearSearch:w}}function t1(){var F;const[e,t]=k.useState([]),[n,r]=k.useState(!0),[i,a]=k.useState("grid"),[l,u]=k.useState("all"),[c,f]=k.useState(null),[d,h]=k.useState(!1),[g,y]=k.useState(new Set),[w,S]=k.useState(!1),[b,P]=k.useState(!1),E=cC(),{selectedProject:O}=za(),{isSearchMode:A,searchResults:I,isSearching:C,searchError:L,searchMeta:R,handleSearch:U,handleClearSearch:D}=tR(),q=k.useCallback(async W=>{d&&(h(!1),y(new Set)),await U(W)},[d,U]),z=k.useCallback(async()=>{r(!0);try{const W=new URLSearchParams;l!=="all"&&W.set("type",l),O&&W.set("project",O),W.set("limit","50");const te=await(await fetch(`/api/observations?${W}`)).json(),fe=te.items||te.observations||[];t(fe.map(ce=>({id:ce.id,type:ce.type||"observation",title:ce.title||"Untitled",content:ce.narrative||ce.content||"",facts:ce.facts?typeof ce.facts=="string"?JSON.parse(ce.facts):ce.facts:[],project:ce.project||"unknown",timestamp:ee(ce.created_at),concepts:ce.concepts?typeof ce.concepts=="string"?JSON.parse(ce.concepts):ce.concepts:[]})))}catch(W){console.error("Failed to fetch memories:",W)}finally{r(!1)}},[l,O]);function ee(W){if(!W)return"";const _=new Date(W),fe=new Date().getTime()-_.getTime();return fe<6e4?"just now":fe<36e5?`${Math.floor(fe/6e4)}m ago`:fe<864e5?`${Math.floor(fe/36e5)}h ago`:_.toLocaleDateString()}k.useEffect(()=>{z()},[z]);const X=async W=>{if(confirm("Delete this memory?"))try{await fetch(`/api/observation/${W}`,{method:"DELETE"}),t(_=>_.filter(te=>te.id!==W))}catch(_){console.error("Failed to delete:",_)}},Q=W=>{const _=e.find(te=>te.id===W);_&&f(_)},he=W=>{y(_=>{const te=new Set(_);return te.has(W)?te.delete(W):te.add(W),te})},de=()=>{g.size===e.length?y(new Set):y(new Set(e.map(W=>W.id)))},Z=()=>{h(!1),y(new Set)},ae=async W=>{if(g.size===0){E.error("No memories selected");return}S(!0);try{const _=Array.from(g).join(","),te=`/api/export?format=${W}&ids=${_}`,ce=await(await fetch(te)).blob(),Se=window.URL.createObjectURL(ce),je=document.createElement("a");je.href=Se,je.download=`pilot-memory-export-${new Date().toISOString().split("T")[0]}.${W==="markdown"?"md":W}`,document.body.appendChild(je),je.click(),document.body.removeChild(je),window.URL.revokeObjectURL(Se),E.success(`Exported ${g.size} memories`)}catch{E.error("Export failed")}finally{S(!1)}},T=async()=>{if(g.size===0){E.error("No memories selected");return}if(confirm(`Delete ${g.size} memories? This cannot be undone.`)){P(!0);try{const W=await fetch("/api/observations/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:Array.from(g)})});if(W.ok){const _=await W.json();E.success(`Deleted ${_.deletedCount} memories`),t(te=>te.filter(fe=>!g.has(fe.id))),y(new Set),h(!1)}else E.error("Delete failed")}catch{E.error("Delete failed")}finally{P(!1)}}};return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Memories"}),m.jsx(sC,{project:O})]}),m.jsx("p",{className:"text-base-content/60",children:A?"Search results":"Browse and manage your stored memories"})]}),m.jsx(YL,{onSearch:q,isSearching:C,placeholder:"Search memories semantically..."}),A&&m.jsx("div",{className:"flex items-center gap-2",children:m.jsxs(Rt,{variant:"ghost",size:"sm",onClick:D,children:[m.jsx(le,{icon:"lucide:x",size:16,className:"mr-1"}),"Clear search"]})}),A&&R&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[R.vectorDbAvailable?R.usedSemantic?m.jsxs(Ie,{variant:"success",outline:!0,size:"sm",children:[m.jsx(le,{icon:"lucide:brain",size:14,className:"mr-1"}),"Semantic Search Active"]}):m.jsxs(Ie,{variant:"warning",outline:!0,size:"sm",children:[m.jsx(le,{icon:"lucide:filter",size:14,className:"mr-1"}),"Filter-only Mode"]}):m.jsxs(Ie,{variant:"error",outline:!0,size:"sm",children:[m.jsx(le,{icon:"lucide:alert-triangle",size:14,className:"mr-1"}),"Vector DB Unavailable"]}),m.jsx("span",{className:"text-base-content/50",children:R.usedSemantic?"Results ranked by semantic similarity":R.vectorDbAvailable?"Enter a query for semantic ranking":"Install Chroma for semantic search"})]}),!A&&m.jsx(WL,{viewMode:i,onViewModeChange:a,filterType:l,onFilterTypeChange:u,totalCount:e.length,selectionMode:d,onToggleSelectionMode:()=>d?Z():h(!0),selectedCount:g.size,onSelectAll:de,onExport:ae,onDelete:T,isExporting:w,isDeleting:b,allSelected:e.length>0&&g.size===e.length}),L&&!C&&m.jsxs("div",{className:"alert alert-error",children:[m.jsx(le,{icon:"lucide:alert-circle",size:16}),m.jsx("span",{children:L})]}),A?C?m.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-3",children:[m.jsx(Xi,{size:"lg"}),m.jsx("span",{className:"text-sm text-base-content/50",children:"Searching memories..."})]}):L?null:I.length===0?m.jsx(Eo,{icon:"lucide:search-x",title:"No results found",description:"Try a different query"}):m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"text-sm text-base-content/60",children:[I.length," results",(R==null?void 0:R.usedSemantic)&&((F=I[0])==null?void 0:F.score)>0&&m.jsxs("span",{className:"ml-2",children:["(best match: ",Math.round(I[0].score*100),"% similarity)"]})]}),I.map(W=>m.jsx(JL,{result:W},`${W.type}-${W.id}`))]}):n?m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx(Xi,{size:"lg"})}):e.length===0?m.jsx(Eo,{icon:"lucide:brain",title:"No memories found",description:"Memories will appear here as you use Claude Code"}):m.jsx("div",{className:i==="grid"?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4":"space-y-3",children:e.map(W=>m.jsx(VL,{memory:W,viewMode:i,onDelete:X,onView:Q,selectionMode:d,isSelected:g.has(W.id),onToggleSelection:he},W.id))}),m.jsx(GL,{memory:c,onClose:()=>f(null)})]})}const n1={active:{variant:"warning",icon:"lucide:play"},completed:{variant:"success",icon:"lucide:check"},failed:{variant:"error",icon:"lucide:x"}};function nR(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function rR(e,t){if(!t)return"ongoing";const n=t-e,r=Math.floor(n/6e4);if(r<1)return"< 1 min";if(r<60)return`${r} min`;const i=Math.floor(r/60),a=r%60;return`${i}h ${a}m`}function iR({session:e,isExpanded:t,onToggle:n}){const r=n1[e.status]||n1.active;return m.jsx(wt,{className:`cursor-pointer hover:shadow-md transition-shadow ${t?"ring-2 ring-primary":""}`,onClick:n,children:m.jsx(kt,{children:m.jsxs("div",{className:"flex items-start gap-4",children:[m.jsx("div",{className:"p-2 rounded-lg bg-base-200",children:m.jsx(le,{icon:r.icon,size:20,className:`text-${r.variant}`})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:r.variant,size:"sm",children:e.status}),m.jsxs("span",{className:"text-xs text-base-content/50",children:["#",e.id]})]}),m.jsx("h3",{className:"font-medium line-clamp-1",children:e.user_prompt||e.project||"Untitled Session"}),m.jsxs("div",{className:"flex items-center gap-4 mt-2 text-sm text-base-content/60",children:[m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:folder",size:14}),e.project]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:calendar",size:14}),nR(e.started_at)]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:clock",size:14}),rR(e.started_at_epoch,e.completed_at_epoch)]})]})]}),m.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[m.jsxs("div",{className:"text-center",children:[m.jsx("div",{className:"font-semibold",children:e.observation_count}),m.jsx("div",{className:"text-xs text-base-content/50",children:"observations"})]}),m.jsxs("div",{className:"text-center",children:[m.jsx("div",{className:"font-semibold",children:e.prompt_count}),m.jsx("div",{className:"text-xs text-base-content/50",children:"prompts"})]}),m.jsx(le,{icon:t?"lucide:chevron-up":"lucide:chevron-down",size:20,className:"text-base-content/50"})]})]})})})}const Nh={prompt:{icon:"lucide:message-square",color:"text-primary"},observation:{icon:"lucide:brain",color:"text-info"},bugfix:{icon:"lucide:bug",color:"text-error"},feature:{icon:"lucide:sparkles",color:"text-success"},refactor:{icon:"lucide:refresh-cw",color:"text-accent"},discovery:{icon:"lucide:search",color:"text-info"},decision:{icon:"lucide:git-branch",color:"text-warning"},change:{icon:"lucide:pencil",color:"text-secondary"}};function aR(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}function oR({sessionId:e}){const[t,n]=k.useState(null),[r,i]=k.useState(!0),[a,l]=k.useState(new Set);k.useEffect(()=>{async function f(){i(!0);try{const h=await(await fetch(`/api/sessions/${e}/timeline`)).json();n(h)}catch(d){console.error("Failed to fetch timeline:",d)}finally{i(!1)}}f()},[e]);const u=f=>{l(d=>{const h=new Set(d);return h.has(f)?h.delete(f):h.add(f),h})};if(r)return m.jsx("div",{className:"flex items-center justify-center py-8",children:m.jsx(Xi,{size:"md"})});if(!t)return m.jsx("div",{className:"text-center py-8 text-base-content/50",children:"Failed to load timeline"});const c={active:"badge-success",completed:"badge-info",failed:"badge-error"};return m.jsxs("div",{className:"mt-4 space-y-4",children:[m.jsx(wt,{className:"bg-base-200/50",children:m.jsxs(kt,{className:"py-3",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[m.jsx(Ie,{variant:"ghost",size:"sm",className:c[t.session.status]||"",children:t.session.status}),m.jsx("span",{className:"text-sm text-base-content/60",children:new Date(t.session.started_at).toLocaleString()}),t.session.completed_at&&m.jsxs("span",{className:"text-sm text-base-content/60",children:["โ†’ ",new Date(t.session.completed_at).toLocaleString()]})]}),m.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:message-square",size:14,className:"text-primary"}),m.jsx("span",{className:"font-medium",children:t.stats.prompts}),m.jsx("span",{className:"text-base-content/60",children:"prompts"})]}),m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:brain",size:14,className:"text-info"}),m.jsx("span",{className:"font-medium",children:t.stats.observations}),m.jsx("span",{className:"text-base-content/60",children:"observations"})]})]})]})}),t.summary&&m.jsx(wt,{className:"bg-warning/10 border-warning/30",children:m.jsxs(kt,{className:"py-3",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(le,{icon:"lucide:file-text",size:16,className:"text-warning"}),m.jsx("span",{className:"font-medium text-sm",children:"Session Summary"}),m.jsx("span",{className:"text-xs text-base-content/50",children:new Date(t.summary.created_at).toLocaleTimeString()})]}),m.jsxs("div",{className:"space-y-3 text-sm",children:[t.summary.request&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-warning mb-1",children:"Request"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.request})]}),t.summary.investigated&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-info mb-1",children:"Investigated"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.investigated})]}),t.summary.learned&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-success mb-1",children:"Learned"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.learned})]}),t.summary.completed&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-primary mb-1",children:"Completed"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.completed})]}),t.summary.next_steps&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-accent mb-1",children:"Next Steps"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.next_steps})]})]})]})}),m.jsxs("div",{className:"ml-8 border-l-2 border-base-300 pl-6 space-y-4",children:[[...t.timeline].reverse().map((f,d)=>{var S,b;const h=`${f.type}-${f.id}`,g=a.has(h),y=f.type==="prompt"?Nh.prompt:Nh[f.data.type]||Nh.observation;let w=[];if(f.type==="observation"&&f.data.concepts)try{w=JSON.parse(f.data.concepts)}catch{}return m.jsxs("div",{className:"relative",children:[m.jsx("div",{className:`absolute -left-9 top-3 w-4 h-4 rounded-full border-2 border-base-100 ${f.type==="prompt"?"bg-primary":"bg-info"}`}),m.jsx(wt,{className:"cursor-pointer hover:shadow-sm transition-shadow",onClick:P=>{P.stopPropagation(),u(h)},children:m.jsx(kt,{className:"py-3",children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx("div",{className:`p-1.5 rounded bg-base-200 ${y.color}`,children:m.jsx(le,{icon:y.icon,size:14})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:f.type==="prompt"?"primary":"info",size:"xs",children:f.type==="prompt"?`prompt #${f.data.prompt_number||"?"}`:f.data.type||"observation"}),m.jsx("span",{className:"text-xs text-base-content/50",children:aR(f.timestamp)}),m.jsxs("span",{className:"text-xs text-base-content/40",children:["#",f.id]}),w.length>0&&w.map(P=>m.jsx(Ie,{variant:"ghost",size:"xs",className:"text-base-content/50",children:P},P))]}),m.jsx("p",{className:"text-sm font-medium",children:f.type==="prompt"?((S=f.data.prompt_text)==null?void 0:S.length)>100?f.data.prompt_text.substring(0,100)+"...":f.data.prompt_text:f.data.title||"Untitled"}),f.type==="observation"&&f.data.narrative&&m.jsx("p",{className:`text-sm text-base-content/70 mt-1 ${g?"":"line-clamp-3"}`,children:f.data.narrative}),f.type==="prompt"&&((b=f.data.prompt_text)==null?void 0:b.length)>100&&m.jsx("p",{className:`text-sm text-base-content/70 mt-1 ${g?"whitespace-pre-wrap":"line-clamp-3"}`,children:g?f.data.prompt_text:f.data.prompt_text.substring(100)}),f.type==="observation"&&(f.data.files_read||f.data.files_modified)&&m.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[f.data.files_read&&(()=>{try{const P=JSON.parse(f.data.files_read);if(P.length>0)return m.jsxs("span",{className:"text-xs text-base-content/50",children:[m.jsx(le,{icon:"lucide:file",size:12,className:"inline mr-1"}),P.length," read"]})}catch{return null}})(),f.data.files_modified&&(()=>{try{const P=JSON.parse(f.data.files_modified);if(P.length>0)return m.jsxs("span",{className:"text-xs text-base-content/50",children:[m.jsx(le,{icon:"lucide:pencil",size:12,className:"inline mr-1"}),P.length," modified"]})}catch{return null}})()]}),g&&f.type==="observation"&&f.data.text&&m.jsxs("div",{className:"mt-3 pt-3 border-t border-base-200",children:[m.jsx("p",{className:"text-sm text-base-content/70 whitespace-pre-wrap",children:f.data.text}),(f.data.files_read||f.data.files_modified)&&m.jsxs("div",{className:"mt-3 space-y-1",children:[f.data.files_read&&(()=>{try{const P=JSON.parse(f.data.files_read);if(P.length>0)return m.jsxs("div",{children:[m.jsx("span",{className:"text-xs font-medium",children:"Files Read:"}),m.jsx("div",{className:"text-xs text-base-content/50 mt-1",children:P.map((E,O)=>m.jsx("div",{className:"truncate",children:E},O))})]})}catch{return null}})(),f.data.files_modified&&(()=>{try{const P=JSON.parse(f.data.files_modified);if(P.length>0)return m.jsxs("div",{children:[m.jsx("span",{className:"text-xs font-medium",children:"Files Modified:"}),m.jsx("div",{className:"text-xs text-base-content/50 mt-1",children:P.map((E,O)=>m.jsx("div",{className:"truncate",children:E},O))})]})}catch{return null}})()]})]})]}),m.jsx(le,{icon:g?"lucide:chevron-up":"lucide:chevron-down",size:16,className:"text-base-content/30"})]})})})]},h)}),t.timeline.length===0&&m.jsx("div",{className:"text-center py-8 text-base-content/50",children:"No activity in this session"})]})]})}function lR(){const[e,t]=k.useState([]),[n,r]=k.useState(!0),[i,a]=k.useState(null),{selectedProject:l}=za(),u=k.useCallback(async()=>{r(!0);try{const f=new URLSearchParams;f.set("limit","50"),l&&f.set("project",l);const h=await(await fetch(`/api/sessions?${f}`)).json();t(h.items||[])}catch(f){console.error("Failed to fetch sessions:",f)}finally{r(!1)}},[l]);k.useEffect(()=>{u()},[u]);const c=f=>{a(i===f?null:f)};return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Sessions"}),m.jsx(sC,{project:l})]}),m.jsx("p",{className:"text-base-content/60",children:"Browse sessions and explore their timeline"})]}),m.jsx("div",{className:"flex items-center gap-2",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:u,children:m.jsx(le,{icon:"lucide:refresh-cw",size:16})})})]}),n?m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx(Xi,{size:"lg"})}):e.length===0?m.jsx(Eo,{icon:"lucide:history",title:"No sessions found",description:"Sessions will appear here as you use Claude Code"}):m.jsx("div",{className:"space-y-4",children:e.map(f=>m.jsxs("div",{children:[m.jsx(iR,{session:f,isExpanded:i===f.id,onToggle:()=>c(f.id)}),i===f.id&&m.jsx(oR,{sessionId:f.id})]},f.id))})]})}const Ah=["sonnet","opus"],gC={sonnet:"Sonnet 4.6",opus:"Opus 4.6"},Ui={model:"opus",extendedContext:!1,commands:{spec:"sonnet","spec-plan":"opus","spec-implement":"sonnet","spec-verify":"opus",vault:"sonnet",sync:"sonnet",learn:"sonnet"},agents:{"plan-challenger":"sonnet","plan-verifier":"sonnet","spec-reviewer-compliance":"sonnet","spec-reviewer-quality":"opus"}};function sR(){const[e,t]=k.useState(Ui),[n,r]=k.useState(!0),[i,a]=k.useState(null),[l,u]=k.useState(!1),[c,f]=k.useState(!1);k.useEffect(()=>{fetch("/api/settings").then(S=>{if(!S.ok)throw new Error(`API error: ${S.status}`);return S.json()}).then(S=>{t(S),r(!1)}).catch(S=>{a(S.message||"Failed to load settings"),r(!1)})},[]);const d=k.useCallback(S=>{t(b=>({...b,model:S})),u(!0),f(!1)},[]),h=k.useCallback(S=>{t(b=>({...b,extendedContext:S})),u(!0),f(!1)},[]),g=k.useCallback((S,b)=>{t(P=>({...P,commands:{...P.commands,[S]:b}})),u(!0),f(!1)},[]),y=k.useCallback((S,b)=>{t(P=>({...P,agents:{...P.agents,[S]:b}})),u(!0),f(!1)},[]),w=k.useCallback(async()=>{await fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(S=>{if(!S.ok)throw new Error(`Save failed: ${S.status}`);return S.json()}).then(S=>{t(S),u(!1),f(!0)})},[e]);return{settings:e,isLoading:n,error:i,isDirty:l,saved:c,updateModel:d,updateExtendedContext:h,updateCommand:g,updateAgent:y,save:w}}function _h({value:e,choices:t,onChange:n,disabled:r=!1,id:i}){return m.jsx("select",{id:i,className:"select select-sm select-bordered w-full max-w-xs",value:e,onChange:a=>n(a.target.value),disabled:r,children:t.map(a=>m.jsx("option",{value:a,children:gC[a]??a},a))})}const uR=[{key:"main",label:"Main session",sub:"Quick Mode / direct chat"},{key:"vault",label:"/vault"},{key:"sync",label:"/sync"},{key:"learn",label:"/learn"}],cR=[{key:"spec",label:"/spec (dispatcher)"},{key:"spec-plan",label:"/spec planning"},{key:"spec-implement",label:"/spec implement"},{key:"spec-verify",label:"/spec verify"}],fR=[{key:"plan-challenger",label:"plan-challenger"},{key:"plan-verifier",label:"plan-verifier"},{key:"spec-reviewer-compliance",label:"spec-reviewer-compliance"},{key:"spec-reviewer-quality",label:"spec-reviewer-quality"}];function Ih({model:e}){return m.jsx("span",{className:"text-xs text-base-content/40",children:gC[e]??e})}function Th({children:e}){return m.jsx("tr",{children:m.jsx("td",{colSpan:3,className:"font-semibold text-sm pt-5 pb-1 px-0 border-b border-base-300",children:e})})}function dR(){const{settings:e,isLoading:t,error:n,isDirty:r,saved:i,updateModel:a,updateExtendedContext:l,updateCommand:u,updateAgent:c,save:f}=sR(),[d,h]=k.useState(null),[g,y]=k.useState(!1),w=async()=>{y(!0),h(null);try{await f()}catch(S){h(S instanceof Error?S.message:"Failed to save")}finally{y(!1)}};return t?m.jsxs("div",{className:"space-y-4",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),m.jsx("div",{className:"card bg-base-200 animate-pulse",children:m.jsxs("div",{className:"card-body p-4",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-32 mb-3"}),m.jsx("div",{className:"h-8 bg-base-300 rounded w-48"})]})})]}):n?m.jsxs("div",{className:"space-y-4",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),m.jsx("div",{className:"alert alert-error",children:m.jsxs("span",{children:["Failed to load settings: ",n]})})]}):m.jsxs("div",{className:"space-y-4 pb-16",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),m.jsx("p",{className:"text-base-content/60 text-sm",children:"Model selection for Claude Pilot. Restart Pilot after saving."})]}),d&&m.jsx("div",{className:"alert alert-error py-2",children:m.jsx("span",{children:d})}),m.jsxs("div",{className:"flex items-start gap-3 bg-base-200 rounded-lg px-4 py-3",children:[m.jsx("input",{type:"checkbox",className:"toggle toggle-primary toggle-sm mt-0.5",checked:e.extendedContext,onChange:S=>l(S.target.checked)}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("div",{className:"text-sm font-semibold leading-tight",children:"Extended Context (1M)"}),m.jsx("div",{className:"text-xs text-base-content/50 mt-0.5",children:"Enables 1M token context for all models, commands, and sub-agents."}),m.jsx("div",{className:"text-xs text-warning/80 mt-0.5",children:"Requires Max (20x) or Enterprise subscription โ€” only enable if you have confirmed access."})]})]}),m.jsx("div",{className:"card bg-base-200",children:m.jsx("div",{className:"card-body p-4",children:m.jsxs("table",{className:"table table-sm",children:[m.jsxs("colgroup",{children:[m.jsx("col",{className:"w-[45%]"}),m.jsx("col",{className:"w-[35%]"}),m.jsx("col",{className:"w-[20%]"})]}),m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{className:"text-xs",children:"Setting"}),m.jsx("th",{className:"text-xs",children:"Model"}),m.jsx("th",{className:"text-xs text-base-content/40",children:"Default"})]})}),m.jsxs("tbody",{children:[m.jsx(Th,{children:"General"}),uR.map(S=>{const b=S.key==="main",P=b?e.model:e.commands[S.key]??Ui.commands[S.key],E=b?Ui.model:Ui.commands[S.key];return m.jsxs("tr",{children:[m.jsxs("td",{children:[m.jsx("span",{className:"font-mono text-sm",children:S.label}),S.sub&&m.jsx("div",{className:"text-xs text-base-content/50",children:S.sub})]}),m.jsx("td",{children:m.jsx(_h,{value:P,choices:Ah,onChange:b?a:O=>u(S.key,O),id:b?"main-model":`cmd-${S.key}`})}),m.jsx("td",{children:m.jsx(Ih,{model:E})})]},S.key)}),m.jsx(Th,{children:"Spec Flow"}),cR.map(S=>m.jsxs("tr",{children:[m.jsx("td",{children:m.jsx("span",{className:"font-mono text-sm",children:S.label})}),m.jsx("td",{children:m.jsx(_h,{value:e.commands[S.key]??Ui.commands[S.key],choices:Ah,onChange:b=>u(S.key,b),id:`cmd-${S.key}`})}),m.jsx("td",{children:m.jsx(Ih,{model:Ui.commands[S.key]})})]},S.key)),m.jsx(Th,{children:"Sub-Agents"}),fR.map(S=>m.jsxs("tr",{children:[m.jsx("td",{children:m.jsx("span",{className:"font-mono text-sm",children:S.label})}),m.jsx("td",{children:m.jsx(_h,{value:e.agents[S.key]??Ui.agents[S.key],choices:Ah,onChange:b=>c(S.key,b),id:`agent-${S.key}`})}),m.jsx("td",{children:m.jsx(Ih,{model:Ui.agents[S.key]})})]},S.key))]})]})})}),m.jsxs("details",{className:"collapse collapse-arrow bg-base-200 rounded-lg",children:[m.jsx("summary",{className:"collapse-title text-sm font-medium py-2 min-h-0",children:"Pricing reference"}),m.jsxs("div",{className:"collapse-content text-xs text-base-content/50",children:[m.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-0.5 mb-1",children:[m.jsxs("span",{children:[m.jsx("span",{className:"font-mono",children:"Sonnet 4.6"})," โ€” $3 / $15 per MTok"]}),m.jsxs("span",{children:[m.jsx("span",{className:"font-mono",children:"Opus 4.6"})," โ€” $5 / $25 per MTok"]})]}),m.jsx("p",{className:"text-base-content/40 mt-1",children:"With Extended Context (1M), standard rates apply up to 200K tokens, then 2x input / 1.5x output above."})]})]}),m.jsxs("div",{className:"fixed bottom-0 left-0 right-0 bg-base-100 border-t border-base-300 px-6 py-2 flex items-center gap-4 z-50",children:[m.jsx("button",{className:`btn btn-primary btn-sm ${g?"loading":""}`,onClick:w,disabled:g||!r,children:g?"Saving...":"Save Settings"}),r&&!i&&m.jsx("span",{className:"text-sm text-base-content/50",children:"Unsaved changes"}),i&&m.jsx("span",{className:"text-sm text-success",children:"Saved โ€” restart Pilot to apply"})]})]})}function pR(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const hR=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,mR=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,gR={};function r1(e,t){return(gR.jsx?mR:hR).test(e)}const vR=/[ \t\n\f\r]/g;function yR(e){return typeof e=="object"?e.type==="text"?i1(e.value):!1:i1(e)}function i1(e){return e.replace(vR,"")===""}class Cs{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Cs.prototype.normal={};Cs.prototype.property={};Cs.prototype.space=void 0;function vC(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Cs(n,r,t)}function Rg(e){return e.toLowerCase()}class Cn{constructor(t,n){this.attribute=n,this.property=t}}Cn.prototype.attribute="";Cn.prototype.booleanish=!1;Cn.prototype.boolean=!1;Cn.prototype.commaOrSpaceSeparated=!1;Cn.prototype.commaSeparated=!1;Cn.prototype.defined=!1;Cn.prototype.mustUseProperty=!1;Cn.prototype.number=!1;Cn.prototype.overloadedBoolean=!1;Cn.prototype.property="";Cn.prototype.spaceSeparated=!1;Cn.prototype.space=void 0;let xR=0;const Te=$a(),bt=$a(),zg=$a(),se=$a(),Ze=$a(),Co=$a(),Dn=$a();function $a(){return 2**++xR}const $g=Object.freeze(Object.defineProperty({__proto__:null,boolean:Te,booleanish:bt,commaOrSpaceSeparated:Dn,commaSeparated:Co,number:se,overloadedBoolean:zg,spaceSeparated:Ze},Symbol.toStringTag,{value:"Module"})),Dh=Object.keys($g);class Jv extends Cn{constructor(t,n,r,i){let a=-1;if(super(t,n),a1(this,"space",i),typeof r=="number")for(;++a4&&n.slice(0,4)==="data"&&jR.test(t)){if(t.charAt(4)==="-"){const a=t.slice(5).replace(o1,CR);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=t.slice(4);if(!o1.test(a)){let l=a.replace(SR,ER);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Jv}return new i(r,t)}function ER(e){return"-"+e.toLowerCase()}function CR(e){return e.charAt(1).toUpperCase()}const OR=vC([yC,bR,wC,kC,SC],"html"),ey=vC([yC,wR,wC,kC,SC],"svg");function NR(e){return e.join(" ").trim()}var mo={},Mh,l1;function AR(){if(l1)return Mh;l1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,u=/^\s+|\s+$/g,c=` -`,f="/",d="*",h="",g="comment",y="declaration";function w(b,P){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];P=P||{};var E=1,O=1;function A(X){var Q=X.match(t);Q&&(E+=Q.length);var he=X.lastIndexOf(c);O=~he?X.length-he:O+X.length}function I(){var X={line:E,column:O};return function(Q){return Q.position=new C(X),U(),Q}}function C(X){this.start=X,this.end={line:E,column:O},this.source=P.source}C.prototype.content=b;function L(X){var Q=new Error(P.source+":"+E+":"+O+": "+X);if(Q.reason=X,Q.filename=P.source,Q.line=E,Q.column=O,Q.source=b,!P.silent)throw Q}function R(X){var Q=X.exec(b);if(Q){var he=Q[0];return A(he),b=b.slice(he.length),Q}}function U(){R(n)}function D(X){var Q;for(X=X||[];Q=q();)Q!==!1&&X.push(Q);return X}function q(){var X=I();if(!(f!=b.charAt(0)||d!=b.charAt(1))){for(var Q=2;h!=b.charAt(Q)&&(d!=b.charAt(Q)||f!=b.charAt(Q+1));)++Q;if(Q+=2,h===b.charAt(Q-1))return L("End of comment missing");var he=b.slice(2,Q-2);return O+=2,A(he),b=b.slice(Q),O+=2,X({type:g,comment:he})}}function z(){var X=I(),Q=R(r);if(Q){if(q(),!R(i))return L("property missing ':'");var he=R(a),de=X({type:y,property:S(Q[0].replace(e,h)),value:he?S(he[0].replace(e,h)):h});return R(l),de}}function ee(){var X=[];D(X);for(var Q;Q=z();)Q!==!1&&(X.push(Q),D(X));return X}return U(),ee()}function S(b){return b?b.replace(u,h):h}return Mh=w,Mh}var s1;function _R(){if(s1)return mo;s1=1;var e=mo&&mo.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mo,"__esModule",{value:!0}),mo.default=n;const t=e(AR());function n(r,i){let a=null;if(!r||typeof r!="string")return a;const l=(0,t.default)(r),u=typeof i=="function";return l.forEach(c=>{if(c.type!=="declaration")return;const{property:f,value:d}=c;u?i(f,d,c):d&&(a=a||{},a[f]=d)}),a}return mo}var zl={},u1;function IR(){if(u1)return zl;u1=1,Object.defineProperty(zl,"__esModule",{value:!0}),zl.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,a=function(f){return!f||n.test(f)||e.test(f)},l=function(f,d){return d.toUpperCase()},u=function(f,d){return"".concat(d,"-")},c=function(f,d){return d===void 0&&(d={}),a(f)?f:(f=f.toLowerCase(),d.reactCompat?f=f.replace(i,u):f=f.replace(r,u),f.replace(t,l))};return zl.camelCase=c,zl}var $l,c1;function TR(){if(c1)return $l;c1=1;var e=$l&&$l.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(_R()),n=IR();function r(i,a){var l={};return!i||typeof i!="string"||(0,t.default)(i,function(u,c){u&&c&&(l[(0,n.camelCase)(u,a)]=c)}),l}return r.default=r,$l=r,$l}var DR=TR();const MR=xr(DR),jC=PC("end"),ty=PC("start");function PC(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function LR(e){const t=ty(e),n=jC(e);if(t&&n)return{start:t,end:n}}function rs(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?f1(e.position):"start"in e||"end"in e?f1(e):"line"in e||"column"in e?Fg(e):""}function Fg(e){return d1(e&&e.line)+":"+d1(e&&e.column)}function f1(e){return Fg(e&&e.start)+"-"+Fg(e&&e.end)}function d1(e){return e&&typeof e=="number"?e:1}class an extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",a={},l=!1;if(n&&("line"in n&&"column"in n?a={place:n}:"start"in n&&"end"in n?a={place:n}:"type"in n?a={ancestors:[n],place:n.position}:a={...n}),typeof t=="string"?i=t:!a.cause&&t&&(l=!0,i=t.message,a.cause=t),!a.ruleId&&!a.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?a.ruleId=r:(a.source=r.slice(0,c),a.ruleId=r.slice(c+1))}if(!a.place&&a.ancestors&&a.ancestors){const c=a.ancestors[a.ancestors.length-1];c&&(a.place=c.position)}const u=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=u?u.line:void 0,this.name=rs(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=l&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}an.prototype.file="";an.prototype.name="";an.prototype.reason="";an.prototype.message="";an.prototype.stack="";an.prototype.column=void 0;an.prototype.line=void 0;an.prototype.ancestors=void 0;an.prototype.cause=void 0;an.prototype.fatal=void 0;an.prototype.place=void 0;an.prototype.ruleId=void 0;an.prototype.source=void 0;const ny={}.hasOwnProperty,RR=new Map,zR=/[A-Z]/g,$R=new Set(["table","tbody","thead","tfoot","tr"]),FR=new Set(["td","th"]),EC="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function BR(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=YR(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=GR(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ey:OR,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=CC(i,e,void 0);return a&&typeof a!="string"?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function CC(e,t,n){if(t.type==="element")return UR(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return WR(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return HR(e,t,n);if(t.type==="mdxjsEsm")return qR(e,t);if(t.type==="root")return VR(e,t,n);if(t.type==="text")return KR(e,t)}function UR(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=ey,e.schema=i),e.ancestors.push(t);const a=NC(e,t.tagName,!1),l=XR(e,t);let u=iy(e,t);return $R.has(t.tagName)&&(u=u.filter(function(c){return typeof c=="string"?!yR(c):!0})),OC(e,l,a,t),ry(l,u),e.ancestors.pop(),e.schema=r,e.create(t,a,l,n)}function WR(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}us(e,t.position)}function qR(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);us(e,t.position)}function HR(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=ey,e.schema=i),e.ancestors.push(t);const a=t.name===null?e.Fragment:NC(e,t.name,!0),l=QR(e,t),u=iy(e,t);return OC(e,l,a,t),ry(l,u),e.ancestors.pop(),e.schema=r,e.create(t,a,l,n)}function VR(e,t,n){const r={};return ry(r,iy(e,t)),e.create(t,e.Fragment,r,n)}function KR(e,t){return t.value}function OC(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function ry(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function GR(e,t,n){return r;function r(i,a,l,u){const f=Array.isArray(l.children)?n:t;return u?f(a,l,u):f(a,l)}}function YR(e,t){return n;function n(r,i,a,l){const u=Array.isArray(a.children),c=ty(r);return t(i,a,l,u,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function XR(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&ny.call(t.properties,i)){const a=ZR(e,i,t.properties[i]);if(a){const[l,u]=a;e.tableCellAlignToStyle&&l==="align"&&typeof u=="string"&&FR.has(t.tagName)?r=u:n[l]=u}}if(r){const a=n.style||(n.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function QR(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const a=r.data.estree.body[0];a.type;const l=a.expression;l.type;const u=l.properties[0];u.type,Object.assign(n,e.evaluater.evaluateExpression(u.argument))}else us(e,t.position);else{const i=r.name;let a;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const u=r.value.data.estree.body[0];u.type,a=e.evaluater.evaluateExpression(u.expression)}else us(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function iy(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:RR;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);a0?(Rn(e,e.length,0,t),e):t}const m1={}.hasOwnProperty;function _C(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"๏ฟฝ":String.fromCodePoint(n)}function hr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const cn=Ji(/[A-Za-z]/),rn=Ji(/[\dA-Za-z]/),lz=Ji(/[#-'*+\--9=?A-Z^-~]/);function Rc(e){return e!==null&&(e<32||e===127)}const Bg=Ji(/\d/),sz=Ji(/[\dA-Fa-f]/),uz=Ji(/[!-/:-@[-`{-~]/);function Oe(e){return e!==null&&e<-2}function Xe(e){return e!==null&&(e<0||e===32)}function Re(e){return e===-2||e===-1||e===32}const $f=Ji(new RegExp("\\p{P}|\\p{S}","u")),Na=Ji(/\s/);function Ji(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Uo(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&a<57344){const u=e.charCodeAt(n+1);a<56320&&u>56319&&u<57344?(l=String.fromCharCode(a,u),i=1):l="๏ฟฝ"}else l=String.fromCharCode(a);l&&(t.push(e.slice(r,n),encodeURIComponent(l)),r=n+i+1,l=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function $e(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let a=0;return l;function l(c){return Re(c)?(e.enter(n),u(c)):t(c)}function u(c){return Re(c)&&a++l))return;const L=t.events.length;let R=L,U,D;for(;R--;)if(t.events[R][0]==="exit"&&t.events[R][1].type==="chunkFlow"){if(U){D=t.events[R][1].end;break}U=!0}for(P(r),C=L;CO;){const I=n[A];t.containerState=I[1],I[0].exit.call(t,e)}n.length=O}function E(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function hz(e,t,n){return $e(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function _o(e){if(e===null||Xe(e)||Na(e))return 1;if($f(e))return 2}function Ff(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const h={...e[r][1].end},g={...e[n][1].start};v1(h,-c),v1(g,c),l={type:c>1?"strongSequence":"emphasisSequence",start:h,end:{...e[r][1].end}},u={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:g},a={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?"strong":"emphasis",start:{...l.start},end:{...u.end}},e[r][1].end={...l.start},e[n][1].start={...u.end},f=[],e[r][1].end.offset-e[r][1].start.offset&&(f=Xn(f,[["enter",e[r][1],t],["exit",e[r][1],t]])),f=Xn(f,[["enter",i,t],["enter",l,t],["exit",l,t],["enter",a,t]]),f=Xn(f,Ff(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),f=Xn(f,[["exit",a,t],["enter",u,t],["exit",u,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,f=Xn(f,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,Rn(e,r-1,n-r+3,f),n=r+f.length-d-2;break}}for(n=-1;++n0&&Re(C)?$e(e,E,"linePrefix",a+1)(C):E(C)}function E(C){return C===null||Oe(C)?e.check(y1,S,A)(C):(e.enter("codeFlowValue"),O(C))}function O(C){return C===null||Oe(C)?(e.exit("codeFlowValue"),E(C)):(e.consume(C),O)}function A(C){return e.exit("codeFenced"),t(C)}function I(C,L,R){let U=0;return D;function D(Q){return C.enter("lineEnding"),C.consume(Q),C.exit("lineEnding"),q}function q(Q){return C.enter("codeFencedFence"),Re(Q)?$e(C,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Q):z(Q)}function z(Q){return Q===u?(C.enter("codeFencedFenceSequence"),ee(Q)):R(Q)}function ee(Q){return Q===u?(U++,C.consume(Q),ee):U>=l?(C.exit("codeFencedFenceSequence"),Re(Q)?$e(C,X,"whitespace")(Q):X(Q)):R(Q)}function X(Q){return Q===null||Oe(Q)?(C.exit("codeFencedFence"),L(Q)):R(Q)}}}function Ez(e,t,n){const r=this;return i;function i(l){return l===null?n(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),a)}function a(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}const Rh={name:"codeIndented",tokenize:Oz},Cz={partial:!0,tokenize:Nz};function Oz(e,t,n){const r=this;return i;function i(f){return e.enter("codeIndented"),$e(e,a,"linePrefix",5)(f)}function a(f){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?l(f):n(f)}function l(f){return f===null?c(f):Oe(f)?e.attempt(Cz,l,c)(f):(e.enter("codeFlowValue"),u(f))}function u(f){return f===null||Oe(f)?(e.exit("codeFlowValue"),l(f)):(e.consume(f),u)}function c(f){return e.exit("codeIndented"),t(f)}}function Nz(e,t,n){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?n(l):Oe(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):$e(e,a,"linePrefix",5)(l)}function a(l){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(l):Oe(l)?i(l):n(l)}}const Az={name:"codeText",previous:Iz,resolve:_z,tokenize:Tz};function _z(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const a=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Fl(this.left,r),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Fl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Fl(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}function RC(e,t,n,r,i,a,l,u,c){const f=c||Number.POSITIVE_INFINITY;let d=0;return h;function h(P){return P===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(P),e.exit(a),g):P===null||P===32||P===41||Rc(P)?n(P):(e.enter(r),e.enter(l),e.enter(u),e.enter("chunkString",{contentType:"string"}),S(P))}function g(P){return P===62?(e.enter(a),e.consume(P),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),y(P))}function y(P){return P===62?(e.exit("chunkString"),e.exit(u),g(P)):P===null||P===60||Oe(P)?n(P):(e.consume(P),P===92?w:y)}function w(P){return P===60||P===62||P===92?(e.consume(P),y):y(P)}function S(P){return!d&&(P===null||P===41||Xe(P))?(e.exit("chunkString"),e.exit(u),e.exit(l),e.exit(r),t(P)):d999||y===null||y===91||y===93&&!c||y===94&&!u&&"_hiddenFootnoteSupport"in l.parser.constructs?n(y):y===93?(e.exit(a),e.enter(i),e.consume(y),e.exit(i),e.exit(r),t):Oe(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),h(y))}function h(y){return y===null||y===91||y===93||Oe(y)||u++>999?(e.exit("chunkString"),d(y)):(e.consume(y),c||(c=!Re(y)),y===92?g:h)}function g(y){return y===91||y===92||y===93?(e.consume(y),u++,h):h(y)}}function $C(e,t,n,r,i,a){let l;return u;function u(g){return g===34||g===39||g===40?(e.enter(r),e.enter(i),e.consume(g),e.exit(i),l=g===40?41:g,c):n(g)}function c(g){return g===l?(e.enter(i),e.consume(g),e.exit(i),e.exit(r),t):(e.enter(a),f(g))}function f(g){return g===l?(e.exit(a),c(l)):g===null?n(g):Oe(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),$e(e,f,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(g))}function d(g){return g===l||g===null||Oe(g)?(e.exit("chunkString"),f(g)):(e.consume(g),g===92?h:d)}function h(g){return g===l||g===92?(e.consume(g),d):d(g)}}function is(e,t){let n;return r;function r(i){return Oe(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Re(i)?$e(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const Bz={name:"definition",tokenize:Wz},Uz={partial:!0,tokenize:qz};function Wz(e,t,n){const r=this;let i;return a;function a(y){return e.enter("definition"),l(y)}function l(y){return zC.call(r,e,u,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function u(y){return i=hr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),c):n(y)}function c(y){return Xe(y)?is(e,f)(y):f(y)}function f(y){return RC(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function d(y){return e.attempt(Uz,h,h)(y)}function h(y){return Re(y)?$e(e,g,"whitespace")(y):g(y)}function g(y){return y===null||Oe(y)?(e.exit("definition"),r.parser.defined.push(i),t(y)):n(y)}}function qz(e,t,n){return r;function r(u){return Xe(u)?is(e,i)(u):n(u)}function i(u){return $C(e,a,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function a(u){return Re(u)?$e(e,l,"whitespace")(u):l(u)}function l(u){return u===null||Oe(u)?t(u):n(u)}}const Hz={name:"hardBreakEscape",tokenize:Vz};function Vz(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),i}function i(a){return Oe(a)?(e.exit("hardBreakEscape"),t(a)):n(a)}}const Kz={name:"headingAtx",resolve:Gz,tokenize:Yz};function Gz(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},a={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Rn(e,r,n-r+1,[["enter",i,t],["enter",a,t],["exit",a,t],["exit",i,t]])),e}function Yz(e,t,n){let r=0;return i;function i(d){return e.enter("atxHeading"),a(d)}function a(d){return e.enter("atxHeadingSequence"),l(d)}function l(d){return d===35&&r++<6?(e.consume(d),l):d===null||Xe(d)?(e.exit("atxHeadingSequence"),u(d)):n(d)}function u(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||Oe(d)?(e.exit("atxHeading"),t(d)):Re(d)?$e(e,u,"whitespace")(d):(e.enter("atxHeadingText"),f(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),u(d))}function f(d){return d===null||d===35||Xe(d)?(e.exit("atxHeadingText"),u(d)):(e.consume(d),f)}}const Xz=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],b1=["pre","script","style","textarea"],Qz={concrete:!0,name:"htmlFlow",resolveTo:e3,tokenize:t3},Zz={partial:!0,tokenize:r3},Jz={partial:!0,tokenize:n3};function e3(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function t3(e,t,n){const r=this;let i,a,l,u,c;return f;function f(_){return d(_)}function d(_){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(_),h}function h(_){return _===33?(e.consume(_),g):_===47?(e.consume(_),a=!0,S):_===63?(e.consume(_),i=3,r.interrupt?t:T):cn(_)?(e.consume(_),l=String.fromCharCode(_),b):n(_)}function g(_){return _===45?(e.consume(_),i=2,y):_===91?(e.consume(_),i=5,u=0,w):cn(_)?(e.consume(_),i=4,r.interrupt?t:T):n(_)}function y(_){return _===45?(e.consume(_),r.interrupt?t:T):n(_)}function w(_){const te="CDATA[";return _===te.charCodeAt(u++)?(e.consume(_),u===te.length?r.interrupt?t:z:w):n(_)}function S(_){return cn(_)?(e.consume(_),l=String.fromCharCode(_),b):n(_)}function b(_){if(_===null||_===47||_===62||Xe(_)){const te=_===47,fe=l.toLowerCase();return!te&&!a&&b1.includes(fe)?(i=1,r.interrupt?t(_):z(_)):Xz.includes(l.toLowerCase())?(i=6,te?(e.consume(_),P):r.interrupt?t(_):z(_)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(_):a?E(_):O(_))}return _===45||rn(_)?(e.consume(_),l+=String.fromCharCode(_),b):n(_)}function P(_){return _===62?(e.consume(_),r.interrupt?t:z):n(_)}function E(_){return Re(_)?(e.consume(_),E):D(_)}function O(_){return _===47?(e.consume(_),D):_===58||_===95||cn(_)?(e.consume(_),A):Re(_)?(e.consume(_),O):D(_)}function A(_){return _===45||_===46||_===58||_===95||rn(_)?(e.consume(_),A):I(_)}function I(_){return _===61?(e.consume(_),C):Re(_)?(e.consume(_),I):O(_)}function C(_){return _===null||_===60||_===61||_===62||_===96?n(_):_===34||_===39?(e.consume(_),c=_,L):Re(_)?(e.consume(_),C):R(_)}function L(_){return _===c?(e.consume(_),c=null,U):_===null||Oe(_)?n(_):(e.consume(_),L)}function R(_){return _===null||_===34||_===39||_===47||_===60||_===61||_===62||_===96||Xe(_)?I(_):(e.consume(_),R)}function U(_){return _===47||_===62||Re(_)?O(_):n(_)}function D(_){return _===62?(e.consume(_),q):n(_)}function q(_){return _===null||Oe(_)?z(_):Re(_)?(e.consume(_),q):n(_)}function z(_){return _===45&&i===2?(e.consume(_),he):_===60&&i===1?(e.consume(_),de):_===62&&i===4?(e.consume(_),F):_===63&&i===3?(e.consume(_),T):_===93&&i===5?(e.consume(_),ae):Oe(_)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Zz,W,ee)(_)):_===null||Oe(_)?(e.exit("htmlFlowData"),ee(_)):(e.consume(_),z)}function ee(_){return e.check(Jz,X,W)(_)}function X(_){return e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),Q}function Q(_){return _===null||Oe(_)?ee(_):(e.enter("htmlFlowData"),z(_))}function he(_){return _===45?(e.consume(_),T):z(_)}function de(_){return _===47?(e.consume(_),l="",Z):z(_)}function Z(_){if(_===62){const te=l.toLowerCase();return b1.includes(te)?(e.consume(_),F):z(_)}return cn(_)&&l.length<8?(e.consume(_),l+=String.fromCharCode(_),Z):z(_)}function ae(_){return _===93?(e.consume(_),T):z(_)}function T(_){return _===62?(e.consume(_),F):_===45&&i===2?(e.consume(_),T):z(_)}function F(_){return _===null||Oe(_)?(e.exit("htmlFlowData"),W(_)):(e.consume(_),F)}function W(_){return e.exit("htmlFlow"),t(_)}}function n3(e,t,n){const r=this;return i;function i(l){return Oe(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),a):n(l)}function a(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}function r3(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Os,t,n)}}const i3={name:"htmlText",tokenize:a3};function a3(e,t,n){const r=this;let i,a,l;return u;function u(T){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(T),c}function c(T){return T===33?(e.consume(T),f):T===47?(e.consume(T),I):T===63?(e.consume(T),O):cn(T)?(e.consume(T),R):n(T)}function f(T){return T===45?(e.consume(T),d):T===91?(e.consume(T),a=0,w):cn(T)?(e.consume(T),E):n(T)}function d(T){return T===45?(e.consume(T),y):n(T)}function h(T){return T===null?n(T):T===45?(e.consume(T),g):Oe(T)?(l=h,de(T)):(e.consume(T),h)}function g(T){return T===45?(e.consume(T),y):h(T)}function y(T){return T===62?he(T):T===45?g(T):h(T)}function w(T){const F="CDATA[";return T===F.charCodeAt(a++)?(e.consume(T),a===F.length?S:w):n(T)}function S(T){return T===null?n(T):T===93?(e.consume(T),b):Oe(T)?(l=S,de(T)):(e.consume(T),S)}function b(T){return T===93?(e.consume(T),P):S(T)}function P(T){return T===62?he(T):T===93?(e.consume(T),P):S(T)}function E(T){return T===null||T===62?he(T):Oe(T)?(l=E,de(T)):(e.consume(T),E)}function O(T){return T===null?n(T):T===63?(e.consume(T),A):Oe(T)?(l=O,de(T)):(e.consume(T),O)}function A(T){return T===62?he(T):O(T)}function I(T){return cn(T)?(e.consume(T),C):n(T)}function C(T){return T===45||rn(T)?(e.consume(T),C):L(T)}function L(T){return Oe(T)?(l=L,de(T)):Re(T)?(e.consume(T),L):he(T)}function R(T){return T===45||rn(T)?(e.consume(T),R):T===47||T===62||Xe(T)?U(T):n(T)}function U(T){return T===47?(e.consume(T),he):T===58||T===95||cn(T)?(e.consume(T),D):Oe(T)?(l=U,de(T)):Re(T)?(e.consume(T),U):he(T)}function D(T){return T===45||T===46||T===58||T===95||rn(T)?(e.consume(T),D):q(T)}function q(T){return T===61?(e.consume(T),z):Oe(T)?(l=q,de(T)):Re(T)?(e.consume(T),q):U(T)}function z(T){return T===null||T===60||T===61||T===62||T===96?n(T):T===34||T===39?(e.consume(T),i=T,ee):Oe(T)?(l=z,de(T)):Re(T)?(e.consume(T),z):(e.consume(T),X)}function ee(T){return T===i?(e.consume(T),i=void 0,Q):T===null?n(T):Oe(T)?(l=ee,de(T)):(e.consume(T),ee)}function X(T){return T===null||T===34||T===39||T===60||T===61||T===96?n(T):T===47||T===62||Xe(T)?U(T):(e.consume(T),X)}function Q(T){return T===47||T===62||Xe(T)?U(T):n(T)}function he(T){return T===62?(e.consume(T),e.exit("htmlTextData"),e.exit("htmlText"),t):n(T)}function de(T){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),Z}function Z(T){return Re(T)?$e(e,ae,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):ae(T)}function ae(T){return e.enter("htmlTextData"),l(T)}}const ly={name:"labelEnd",resolveAll:u3,resolveTo:c3,tokenize:f3},o3={tokenize:d3},l3={tokenize:p3},s3={tokenize:h3};function u3(e){let t=-1;const n=[];for(;++t=3&&(f===null||Oe(f))?(e.exit("thematicBreak"),t(f)):n(f)}function c(f){return f===i?(e.consume(f),r++,c):(e.exit("thematicBreakSequence"),Re(f)?$e(e,u,"whitespace")(f):u(f))}}const Sn={continuation:{tokenize:j3},exit:E3,name:"list",tokenize:S3},w3={partial:!0,tokenize:C3},k3={partial:!0,tokenize:P3};function S3(e,t,n){const r=this,i=r.events[r.events.length-1];let a=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return u;function u(y){const w=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:Bg(y)){if(r.containerState.type||(r.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Nc,n,f)(y):f(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(y)}return n(y)}function c(y){return Bg(y)&&++l<10?(e.consume(y),c):(!r.interrupt||l<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),f(y)):n(y)}function f(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(Os,r.interrupt?n:d,e.attempt(w3,g,h))}function d(y){return r.containerState.initialBlankLine=!0,a++,g(y)}function h(y){return Re(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),g):n(y)}function g(y){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function j3(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Os,i,a);function i(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,$e(e,t,"listItemIndent",r.containerState.size+1)(u)}function a(u){return r.containerState.furtherBlankLines||!Re(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(k3,t,l)(u))}function l(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,$e(e,e.attempt(Sn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function P3(e,t,n){const r=this;return $e(e,i,"listItemIndent",r.containerState.size+1);function i(a){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(a):n(a)}}function E3(e){e.exit(this.containerState.type)}function C3(e,t,n){const r=this;return $e(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(a){const l=r.events[r.events.length-1];return!Re(a)&&l&&l[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}const w1={name:"setextUnderline",resolveTo:O3,tokenize:N3};function O3(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!a&&e[n][1].type==="definition"&&(a=n);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",a?(e.splice(i,0,["enter",l,t]),e.splice(a+1,0,["exit",e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=l,e.push(["exit",l,t]),e}function N3(e,t,n){const r=this;let i;return a;function a(f){let d=r.events.length,h;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){h=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||h)?(e.enter("setextHeadingLine"),i=f,l(f)):n(f)}function l(f){return e.enter("setextHeadingLineSequence"),u(f)}function u(f){return f===i?(e.consume(f),u):(e.exit("setextHeadingLineSequence"),Re(f)?$e(e,c,"lineSuffix")(f):c(f))}function c(f){return f===null||Oe(f)?(e.exit("setextHeadingLine"),t(f)):n(f)}}const A3={tokenize:_3};function _3(e){const t=this,n=e.attempt(Os,r,e.attempt(this.parser.constructs.flowInitial,i,$e(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Lz,i)),"linePrefix")));return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const I3={resolveAll:BC()},T3=FC("string"),D3=FC("text");function FC(e){return{resolveAll:BC(e==="text"?M3:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],a=n.attempt(i,l,u);return l;function l(d){return f(d)?a(d):u(d)}function u(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return f(d)?(n.exit("data"),a(d)):(n.consume(d),c)}function f(d){if(d===null)return!0;const h=i[d];let g=-1;if(h)for(;++g-1){const u=l[0];typeof u=="string"?l[0]=u.slice(r):l.shift()}a>0&&l.push(e[i].slice(0,a))}return l}function G3(e,t){let n=-1;const r=[];let i;for(;++n<\/script>",o=o.removeChild(o.firstChild)):typeof v.is=="string"?o=N.createElement(h,{is:v.is}):(o=N.createElement(h),h==="select"&&(N=o,v.multiple?N.multiple=!0:v.size&&(N.size=v.size))):o=N.createElementNS(o,h),o[Sr]=s,o[xl]=v,nw(o,s,!1,!1),s.stateNode=o;e:{switch(N=wr(h,v),h){case"dialog":et("cancel",o),et("close",o),x=v;break;case"iframe":case"object":case"embed":et("load",o),x=v;break;case"video":case"audio":for(x=0;xho&&(s.flags|=128,v=!0,Nl(j,!1),s.lanes=4194304)}else{if(!v)if(o=Iu(N),o!==null){if(s.flags|=128,v=!0,h=o.updateQueue,h!==null&&(s.updateQueue=h,s.flags|=4),Nl(j,!0),j.tail===null&&j.tailMode==="hidden"&&!N.alternate&&!it)return Jt(s),null}else 2*gt()-j.renderingStartTime>ho&&h!==1073741824&&(s.flags|=128,v=!0,Nl(j,!1),s.lanes=4194304);j.isBackwards?(N.sibling=s.child,s.child=N):(h=j.last,h!==null?h.sibling=N:s.child=N,j.last=N)}return j.tail!==null?(s=j.tail,j.rendering=s,j.tail=s.sibling,j.renderingStartTime=gt(),s.sibling=null,h=lt.current,Qe(lt,v?h&1|2:h&1),s):(Jt(s),null);case 22:case 23:return fp(),v=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==v&&(s.flags|=8192),v&&(s.mode&1)!==0?(Tn&1073741824)!==0&&(Jt(s),s.subtreeFlags&6&&(s.flags|=8192)):Jt(s),null;case 24:return null;case 25:return null}throw Error(n(156,s.tag))}function fD(o,s){switch(bh(s),s.tag){case 1:return yn(s.type)&&wu(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return so(),tt(vn),tt(Qt),Th(),o=s.flags,(o&65536)!==0&&(o&128)===0?(s.flags=o&-65537|128,s):null;case 5:return _h(s),null;case 13:if(tt(lt),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(n(340));io()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return tt(lt),null;case 4:return so(),null;case 10:return Eh(s.type._context),null;case 22:case 23:return fp(),null;case 24:return null;default:return null}}var Bu=!1,en=!1,dD=typeof WeakSet=="function"?WeakSet:Set,ve=null;function co(o,s){var h=o.ref;if(h!==null)if(typeof h=="function")try{h(null)}catch(v){dt(o,s,v)}else h.current=null}function Jh(o,s,h){try{h()}catch(v){dt(o,s,v)}}var aw=!1;function hD(o,s){if(fh=lu,o=R0(),rh(o)){if("selectionStart"in o)var h={start:o.selectionStart,end:o.selectionEnd};else e:{h=(h=o.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var x=v.anchorOffset,j=v.focusNode;v=v.focusOffset;try{h.nodeType,j.nodeType}catch{h=null;break e}var N=0,D=-1,z=-1,Y=0,re=0,oe=o,ne=null;t:for(;;){for(var me;oe!==h||x!==0&&oe.nodeType!==3||(D=N+x),oe!==j||v!==0&&oe.nodeType!==3||(z=N+v),oe.nodeType===3&&(N+=oe.nodeValue.length),(me=oe.firstChild)!==null;)ne=oe,oe=me;for(;;){if(oe===o)break t;if(ne===h&&++Y===x&&(D=N),ne===j&&++re===v&&(z=N),(me=oe.nextSibling)!==null)break;oe=ne,ne=oe.parentNode}oe=me}h=D===-1||z===-1?null:{start:D,end:z}}else h=null}h=h||{start:0,end:0}}else h=null;for(dh={focusedElem:o,selectionRange:h},lu=!1,ve=s;ve!==null;)if(s=ve,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,ve=o;else for(;ve!==null;){s=ve;try{var xe=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(xe!==null){var be=xe.memoizedProps,vt=xe.memoizedState,q=s.stateNode,F=q.getSnapshotBeforeUpdate(s.elementType===s.type?be:or(s.type,be),vt);q.__reactInternalSnapshotBeforeUpdate=F}break;case 3:var K=s.stateNode.containerInfo;K.nodeType===1?K.textContent="":K.nodeType===9&&K.documentElement&&K.removeChild(K.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(ue){dt(s,s.return,ue)}if(o=s.sibling,o!==null){o.return=s.return,ve=o;break}ve=s.return}return xe=aw,aw=!1,xe}function Al(o,s,h){var v=s.updateQueue;if(v=v!==null?v.lastEffect:null,v!==null){var x=v=v.next;do{if((x.tag&o)===o){var j=x.destroy;x.destroy=void 0,j!==void 0&&Jh(s,h,j)}x=x.next}while(x!==v)}}function Uu(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var h=s=s.next;do{if((h.tag&o)===o){var v=h.create;h.destroy=v()}h=h.next}while(h!==s)}}function ep(o){var s=o.ref;if(s!==null){var h=o.stateNode;switch(o.tag){case 5:o=h;break;default:o=h}typeof s=="function"?s(o):s.current=o}}function ow(o){var s=o.alternate;s!==null&&(o.alternate=null,ow(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&(delete s[Sr],delete s[xl],delete s[gh],delete s[Y2],delete s[X2])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function lw(o){return o.tag===5||o.tag===3||o.tag===4}function sw(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||lw(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function tp(o,s,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,s?h.nodeType===8?h.parentNode.insertBefore(o,s):h.insertBefore(o,s):(h.nodeType===8?(s=h.parentNode,s.insertBefore(o,h)):(s=h,s.appendChild(o)),h=h._reactRootContainer,h!=null||s.onclick!==null||(s.onclick=xu));else if(v!==4&&(o=o.child,o!==null))for(tp(o,s,h),o=o.sibling;o!==null;)tp(o,s,h),o=o.sibling}function np(o,s,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,s?h.insertBefore(o,s):h.appendChild(o);else if(v!==4&&(o=o.child,o!==null))for(np(o,s,h),o=o.sibling;o!==null;)np(o,s,h),o=o.sibling}var Vt=null,lr=!1;function Ti(o,s,h){for(h=h.child;h!==null;)uw(o,s,h),h=h.sibling}function uw(o,s,h){if(kr&&typeof kr.onCommitFiberUnmount=="function")try{kr.onCommitFiberUnmount(tu,h)}catch{}switch(h.tag){case 5:en||co(h,s);case 6:var v=Vt,x=lr;Vt=null,Ti(o,s,h),Vt=v,lr=x,Vt!==null&&(lr?(o=Vt,h=h.stateNode,o.nodeType===8?o.parentNode.removeChild(h):o.removeChild(h)):Vt.removeChild(h.stateNode));break;case 18:Vt!==null&&(lr?(o=Vt,h=h.stateNode,o.nodeType===8?mh(o.parentNode,h):o.nodeType===1&&mh(o,h),sl(o)):mh(Vt,h.stateNode));break;case 4:v=Vt,x=lr,Vt=h.stateNode.containerInfo,lr=!0,Ti(o,s,h),Vt=v,lr=x;break;case 0:case 11:case 14:case 15:if(!en&&(v=h.updateQueue,v!==null&&(v=v.lastEffect,v!==null))){x=v=v.next;do{var j=x,N=j.destroy;j=j.tag,N!==void 0&&((j&2)!==0||(j&4)!==0)&&Jh(h,s,N),x=x.next}while(x!==v)}Ti(o,s,h);break;case 1:if(!en&&(co(h,s),v=h.stateNode,typeof v.componentWillUnmount=="function"))try{v.props=h.memoizedProps,v.state=h.memoizedState,v.componentWillUnmount()}catch(D){dt(h,s,D)}Ti(o,s,h);break;case 21:Ti(o,s,h);break;case 22:h.mode&1?(en=(v=en)||h.memoizedState!==null,Ti(o,s,h),en=v):Ti(o,s,h);break;default:Ti(o,s,h)}}function cw(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var h=o.stateNode;h===null&&(h=o.stateNode=new dD),s.forEach(function(v){var x=kD.bind(null,o,v);h.has(v)||(h.add(v),v.then(x,x))})}}function sr(o,s){var h=s.deletions;if(h!==null)for(var v=0;vx&&(x=N),v&=~j}if(v=x,v=gt()-v,v=(120>v?120:480>v?480:1080>v?1080:1920>v?1920:3e3>v?3e3:4320>v?4320:1960*mD(v/1960))-v,10o?16:o,Mi===null)var v=!1;else{if(o=Mi,Mi=null,Ku=0,(Be&6)!==0)throw Error(n(331));var x=Be;for(Be|=4,ve=o.current;ve!==null;){var j=ve,N=j.child;if((ve.flags&16)!==0){var D=j.deletions;if(D!==null){for(var z=0;zgt()-ap?ha(o,0):ip|=h),wn(o,s)}function Sw(o,s){s===0&&((o.mode&1)===0?s=1:(s=ru,ru<<=1,(ru&130023424)===0&&(ru=4194304)));var h=sn();o=Kr(o,s),o!==null&&(rl(o,s,h),wn(o,h))}function wD(o){var s=o.memoizedState,h=0;s!==null&&(h=s.retryLane),Sw(o,h)}function kD(o,s){var h=0;switch(o.tag){case 13:var v=o.stateNode,x=o.memoizedState;x!==null&&(h=x.retryLane);break;case 19:v=o.stateNode;break;default:throw Error(n(314))}v!==null&&v.delete(s),Sw(o,h)}var jw;jw=function(o,s,h){if(o!==null)if(o.memoizedProps!==s.pendingProps||vn.current)xn=!0;else{if((o.lanes&h)===0&&(s.flags&128)===0)return xn=!1,uD(o,s,h);xn=(o.flags&131072)!==0}else xn=!1,it&&(s.flags&1048576)!==0&&rb(s,Pu,s.index);switch(s.lanes=0,s.tag){case 2:var v=s.type;Fu(o,s),o=s.pendingProps;var x=to(s,Qt.current);lo(s,h),x=Lh(null,s,v,o,x,h);var j=Rh();return s.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,yn(v)?(j=!0,ku(s)):j=!1,s.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Nh(s),x.updater=zu,s.stateNode=x,x._reactInternals=s,Wh(s,v,o,h),s=Kh(null,s,v,!0,j,h)):(s.tag=0,it&&j&&xh(s),ln(null,s,x,h),s=s.child),s;case 16:v=s.elementType;e:{switch(Fu(o,s),o=s.pendingProps,x=v._init,v=x(v._payload),s.type=v,x=s.tag=jD(v),o=or(v,o),x){case 0:s=Vh(null,s,v,o,h);break e;case 1:s=Xb(null,s,v,o,h);break e;case 11:s=Hb(null,s,v,o,h);break e;case 14:s=Vb(null,s,v,or(v.type,o),h);break e}throw Error(n(306,v,""))}return s;case 0:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Vh(o,s,v,x,h);case 1:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Xb(o,s,v,x,h);case 3:e:{if(Qb(s),o===null)throw Error(n(387));v=s.pendingProps,j=s.memoizedState,x=j.element,db(o,s),_u(s,v,null,h);var N=s.memoizedState;if(v=N.element,j.isDehydrated)if(j={element:v,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},s.updateQueue.baseState=j,s.memoizedState=j,s.flags&256){x=uo(Error(n(423)),s),s=Zb(o,s,v,h,x);break e}else if(v!==x){x=uo(Error(n(424)),s),s=Zb(o,s,v,h,x);break e}else for(In=Ci(s.stateNode.containerInfo.firstChild),_n=s,it=!0,ar=null,h=cb(s,null,v,h),s.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling;else{if(io(),v===x){s=Yr(o,s,h);break e}ln(o,s,v,h)}s=s.child}return s;case 5:return mb(s),o===null&&kh(s),v=s.type,x=s.pendingProps,j=o!==null?o.memoizedProps:null,N=x.children,hh(v,x)?N=null:j!==null&&hh(v,j)&&(s.flags|=32),Yb(o,s),ln(o,s,N,h),s.child;case 6:return o===null&&kh(s),null;case 13:return Jb(o,s,h);case 4:return Ah(s,s.stateNode.containerInfo),v=s.pendingProps,o===null?s.child=ao(s,null,v,h):ln(o,s,v,h),s.child;case 11:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Hb(o,s,v,x,h);case 7:return ln(o,s,s.pendingProps,h),s.child;case 8:return ln(o,s,s.pendingProps.children,h),s.child;case 12:return ln(o,s,s.pendingProps.children,h),s.child;case 10:e:{if(v=s.type._context,x=s.pendingProps,j=s.memoizedProps,N=x.value,Qe(Ou,v._currentValue),v._currentValue=N,j!==null)if(ir(j.value,N)){if(j.children===x.children&&!vn.current){s=Yr(o,s,h);break e}}else for(j=s.child,j!==null&&(j.return=s);j!==null;){var D=j.dependencies;if(D!==null){N=j.child;for(var z=D.firstContext;z!==null;){if(z.context===v){if(j.tag===1){z=Gr(-1,h&-h),z.tag=2;var Y=j.updateQueue;if(Y!==null){Y=Y.shared;var re=Y.pending;re===null?z.next=z:(z.next=re.next,re.next=z),Y.pending=z}}j.lanes|=h,z=j.alternate,z!==null&&(z.lanes|=h),Ch(j.return,h,s),D.lanes|=h;break}z=z.next}}else if(j.tag===10)N=j.type===s.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(n(341));N.lanes|=h,D=N.alternate,D!==null&&(D.lanes|=h),Ch(N,h,s),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===s){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}ln(o,s,x.children,h),s=s.child}return s;case 9:return x=s.type,v=s.pendingProps.children,lo(s,h),x=Wn(x),v=v(x),s.flags|=1,ln(o,s,v,h),s.child;case 14:return v=s.type,x=or(v,s.pendingProps),x=or(v.type,x),Vb(o,s,v,x,h);case 15:return Kb(o,s,s.type,s.pendingProps,h);case 17:return v=s.type,x=s.pendingProps,x=s.elementType===v?x:or(v,x),Fu(o,s),s.tag=1,yn(v)?(o=!0,ku(s)):o=!1,lo(s,h),zb(s,v,x),Wh(s,v,x,h),Kh(null,s,v,!0,o,h);case 19:return tw(o,s,h);case 22:return Gb(o,s,h)}throw Error(n(156,s.tag))};function Pw(o,s){return i0(o,s)}function SD(o,s,h,v){this.tag=o,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vn(o,s,h,v){return new SD(o,s,h,v)}function hp(o){return o=o.prototype,!(!o||!o.isReactComponent)}function jD(o){if(typeof o=="function")return hp(o)?1:0;if(o!=null){if(o=o.$$typeof,o===R)return 11;if(o===Q)return 14}return 2}function zi(o,s){var h=o.alternate;return h===null?(h=Vn(o.tag,s,o.key,o.mode),h.elementType=o.elementType,h.type=o.type,h.stateNode=o.stateNode,h.alternate=o,o.alternate=h):(h.pendingProps=s,h.type=o.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=o.flags&14680064,h.childLanes=o.childLanes,h.lanes=o.lanes,h.child=o.child,h.memoizedProps=o.memoizedProps,h.memoizedState=o.memoizedState,h.updateQueue=o.updateQueue,s=o.dependencies,h.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},h.sibling=o.sibling,h.index=o.index,h.ref=o.ref,h}function Qu(o,s,h,v,x,j){var N=2;if(v=o,typeof o=="function")hp(o)&&(N=1);else if(typeof o=="string")N=5;else e:switch(o){case M:return ma(h.children,x,j,s);case B:N=8,x|=8;break;case H:return o=Vn(12,h,s,x|2),o.elementType=H,o.lanes=j,o;case V:return o=Vn(13,h,s,x),o.elementType=V,o.lanes=j,o;case G:return o=Vn(19,h,s,x),o.elementType=G,o.lanes=j,o;case ce:return Zu(h,x,j,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case L:N=10;break e;case W:N=9;break e;case R:N=11;break e;case Q:N=14;break e;case de:N=16,v=null;break e}throw Error(n(130,o==null?o:typeof o,""))}return s=Vn(N,h,s,x),s.elementType=o,s.type=v,s.lanes=j,s}function ma(o,s,h,v){return o=Vn(7,o,v,s),o.lanes=h,o}function Zu(o,s,h,v){return o=Vn(22,o,v,s),o.elementType=ce,o.lanes=h,o.stateNode={isHidden:!1},o}function pp(o,s,h){return o=Vn(6,o,null,s),o.lanes=h,o}function mp(o,s,h){return s=Vn(4,o.children!==null?o.children:[],o.key,s),s.lanes=h,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function PD(o,s,h,v,x){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ud(0),this.expirationTimes=Ud(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ud(0),this.identifierPrefix=v,this.onRecoverableError=x,this.mutableSourceEagerHydrationData=null}function gp(o,s,h,v,x,j,N,D,z){return o=new PD(o,s,h,D,z),s===1?(s=1,j===!0&&(s|=8)):s=0,j=Vn(3,null,null,s),o.current=j,j.stateNode=o,j.memoizedState={element:v,isDehydrated:h,cache:null,transitions:null,pendingSuspenseBoundaries:null},Nh(j),o}function ED(o,s,h){var v=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Sp.exports=FD(),Sp.exports}var $w;function BD(){if($w)return ac;$w=1;var e=VE();return ac.createRoot=e.createRoot,ac.hydrateRoot=e.hydrateRoot,ac}var UD=BD(),k=Fo();const WD=xr(k),qD=DD({__proto__:null,default:WD},[k]);function HD(){return m.jsx("a",{href:"#/",className:"flex items-center",children:m.jsx("span",{className:"font-bold text-lg",children:"Pilot Shell Console"})})}const VD={primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost",outline:"btn-outline",error:"btn-error"},KD={xs:"btn-xs",sm:"btn-sm",md:"",lg:"btn-lg"};function Rt({variant:e="primary",size:t="md",loading:n=!1,className:r="",children:i,disabled:a,...l}){return m.jsxs("button",{className:`btn ${VD[e]} ${KD[t]} ${r}`,disabled:a||n,...l,children:[n&&m.jsx("span",{className:"loading loading-spinner loading-sm"}),i]})}function wt({children:e,className:t="",compact:n=!1,onClick:r}){return m.jsx("div",{className:`card bg-base-100 shadow-sm border border-base-200 ${n?"card-compact":""} ${t}`,onClick:r,children:e})}function kt({children:e,className:t=""}){return m.jsx("div",{className:`card-body ${t}`,children:e})}function Vi({children:e,className:t=""}){return m.jsx("h2",{className:`card-title ${t}`,children:e})}const GD={primary:"badge-primary",secondary:"badge-secondary",accent:"badge-accent",ghost:"badge-ghost",info:"badge-info",success:"badge-success",warning:"badge-warning",error:"badge-error"},YD={xs:"badge-xs",sm:"badge-sm",md:"",lg:"badge-lg"};function Ie({children:e,variant:t="ghost",size:n="md",outline:r=!1,className:i=""}){return m.jsx("span",{className:`badge ${GD[t]} ${YD[n]} ${r?"badge-outline":""} ${i}`,children:e})}const XD={xs:"select-xs",sm:"select-sm",md:"",lg:"select-lg"};function QD({label:e,options:t,selectSize:n="md",error:r,className:i="",...a}){return m.jsxs("div",{className:"form-control w-full",children:[e&&m.jsx("label",{className:"label",children:m.jsx("span",{className:"label-text",children:e})}),m.jsx("select",{className:`select select-bordered w-full ${XD[n]} ${r?"select-error":""} ${i}`,...a,children:t.map(l=>m.jsx("option",{value:l.value,children:l.label},l.value))}),r&&m.jsx("label",{className:"label",children:m.jsx("span",{className:"label-text-alt text-error",children:r})})]})}function KE({open:e,onClose:t,title:n,children:r,actions:i}){return m.jsxs("dialog",{className:`modal ${e?"modal-open":""}`,children:[m.jsxs("div",{className:"modal-box",children:[n&&m.jsx("h3",{className:"font-bold text-lg",children:n}),m.jsx("div",{className:"py-4",children:r}),i&&m.jsx("div",{className:"modal-action",children:i})]}),m.jsx("form",{method:"dialog",className:"modal-backdrop",children:m.jsx("button",{onClick:t,children:"close"})})]})}function GE({trigger:e,items:t,align:n="end"}){return m.jsxs("div",{className:`dropdown ${n==="end"?"dropdown-end":""}`,children:[m.jsx("div",{tabIndex:0,role:"button",children:e}),m.jsx("ul",{tabIndex:0,className:"dropdown-content menu bg-base-100 rounded-box z-10 w-52 p-2 shadow-lg border border-base-200",children:t.map((r,i)=>m.jsx("li",{children:m.jsxs("button",{onClick:r.onClick,disabled:r.disabled,className:"flex items-center gap-2",children:[r.icon,r.label]})},i))})]})}const ZD={bordered:"tabs-bordered",lifted:"tabs-lifted",boxed:"tabs-boxed"};function JD({tabs:e,activeTab:t,onTabChange:n,variant:r="bordered"}){return m.jsx("div",{role:"tablist",className:`tabs ${ZD[r]}`,children:e.map(i=>m.jsxs("button",{role:"tab",className:`tab gap-2 ${t===i.id?"tab-active":""}`,onClick:()=>n(i.id),children:[i.icon,i.label]},i.id))})}const eM={primary:"progress-primary",secondary:"progress-secondary",accent:"progress-accent",info:"progress-info",success:"progress-success",warning:"progress-warning",error:"progress-error"};function tM({value:e,max:t=100,variant:n="primary",className:r=""}){return m.jsx("progress",{className:`progress ${eM[n]} ${r}`,value:e,max:t})}const nM={xs:"loading-xs",sm:"loading-sm",md:"loading-md",lg:"loading-lg"};function Xi({size:e="md",className:t=""}){return m.jsx("span",{className:`loading loading-spinner ${nM[e]} ${t}`})}function rM(e,t){const n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(l){if(n[l])return i[l]=[];if(!(l in i)){i[l]=null;const u=r[l]&&r[l].parent,c=u&&a(u);c&&(i[l]=[u].concat(c))}return i[l]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}const YE=Object.freeze({left:0,top:0,width:16,height:16}),Lc=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Yv=Object.freeze({...YE,...Lc}),Tg=Object.freeze({...Yv,body:"",hidden:!1});function iM(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function Fw(e,t){const n=iM(e,t);for(const r in Tg)r in Lc?r in e&&!(r in n)&&(n[r]=Lc[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function aM(e,t,n){const r=e.icons,i=e.aliases||Object.create(null);let a={};function l(u){a=Fw(r[u]||i[u],a)}return l(t),n.forEach(l),Fw(e,a)}function XE(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(i=>{t(i,null),n.push(i)});const r=rM(e);for(const i in r){const a=r[i];a&&(t(i,aM(e,i,a)),n.push(i))}return n}const oM={provider:"",aliases:{},not_found:{},...YE};function Ep(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function QE(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ep(e,oM))return null;const n=t.icons;for(const i in n){const a=n[i];if(!i||typeof a.body!="string"||!Ep(a,Tg))return null}const r=t.aliases||Object.create(null);for(const i in r){const a=r[i],l=a.parent;if(!i||typeof l!="string"||!n[l]&&!r[l]||!Ep(a,Tg))return null}return t}const Bw=Object.create(null);function lM(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Ao(e,t){const n=Bw[e]||(Bw[e]=Object.create(null));return n[t]||(n[t]=lM(e,t))}function ZE(e,t){return QE(t)?XE(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function sM(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}const JE=/^[a-z0-9]+(-[a-z0-9]+)*$/,zf=(e,t,n,r="")=>{const i=e.split(":");if(e.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const u=i.pop(),c=i.pop(),f={provider:i.length>0?i[0]:r,prefix:c,name:u};return t&&!Cc(f)?null:f}const a=i[0],l=a.split("-");if(l.length>1){const u={provider:r,prefix:l.shift(),name:l.join("-")};return t&&!Cc(u)?null:u}if(n&&r===""){const u={provider:r,prefix:"",name:a};return t&&!Cc(u,n)?null:u}return null},Cc=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1;let ss=!1;function eC(e){return typeof e=="boolean"&&(ss=e),ss}function Uw(e){const t=typeof e=="string"?zf(e,!0,ss):e;if(t){const n=Ao(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function uM(e,t){const n=zf(e,!0,ss);if(!n)return!1;const r=Ao(n.provider,n.prefix);return t?sM(r,n.name,t):(r.missing.add(n.name),!0)}function cM(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),ss&&!t&&!e.prefix){let i=!1;return QE(e)&&(e.prefix="",XE(e,(a,l)=>{uM(a,l)&&(i=!0)})),i}const n=e.prefix;if(!Cc({prefix:n,name:"a"}))return!1;const r=Ao(t,n);return!!ZE(r,e)}const tC=Object.freeze({width:null,height:null}),nC=Object.freeze({...tC,...Lc}),fM=/(-?[0-9.]*[0-9]+[0-9.]*)/g,dM=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Ww(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(fM);if(r===null||!r.length)return e;const i=[];let a=r.shift(),l=dM.test(a);for(;;){if(l){const u=parseFloat(a);isNaN(u)?i.push(a):i.push(Math.ceil(u*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join("");l=!l}}function hM(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const i=e.indexOf(">",r),a=e.indexOf("",a);if(l===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(l+1)}return{defs:n,content:e}}function pM(e,t){return e?""+e+""+t:t}function mM(e,t,n){const r=hM(e);return pM(r.defs,t+r.content+n)}const gM=e=>e==="unset"||e==="undefined"||e==="none";function vM(e,t){const n={...Yv,...e},r={...nC,...t},i={left:n.left,top:n.top,width:n.width,height:n.height};let a=n.body;[n,r].forEach(S=>{const b=[],P=S.hFlip,E=S.vFlip;let O=S.rotate;P?E?O+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):E&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let A;switch(O<0&&(O-=Math.floor(O/4)*4),O=O%4,O){case 1:A=i.height/2+i.top,b.unshift("rotate(90 "+A.toString()+" "+A.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:A=i.width/2+i.left,b.unshift("rotate(-90 "+A.toString()+" "+A.toString()+")");break}O%2===1&&(i.left!==i.top&&(A=i.left,i.left=i.top,i.top=A),i.width!==i.height&&(A=i.width,i.width=i.height,i.height=A)),b.length&&(a=mM(a,'',""))});const l=r.width,u=r.height,c=i.width,f=i.height;let d,p;l===null?(p=u===null?"1em":u==="auto"?f:u,d=Ww(p,c/f)):(d=l==="auto"?c:l,p=u===null?Ww(d,f/c):u==="auto"?f:u);const g={},y=(S,b)=>{gM(b)||(g[S]=b.toString())};y("width",d),y("height",p);const w=[i.left,i.top,c,f];return g.viewBox=w.join(" "),{attributes:g,viewBox:w,body:a}}const yM=/\sid="(\S+)"/g,xM="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let bM=0;function wM(e,t=xM){const n=[];let r;for(;r=yM.exec(e);)n.push(r[1]);if(!n.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(a=>{const l=typeof t=="function"?t(a):t+(bM++).toString(),u=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+u+')([")]|\\.[a-z])',"g"),"$1"+l+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}const Dg=Object.create(null);function kM(e,t){Dg[e]=t}function Mg(e){return Dg[e]||Dg[""]}function Xv(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Qv=Object.create(null),Ll=["https://api.simplesvg.com","https://api.unisvg.com"],Oc=[];for(;Ll.length>0;)Ll.length===1||Math.random()>.5?Oc.push(Ll.shift()):Oc.push(Ll.pop());Qv[""]=Xv({resources:["https://api.iconify.design"].concat(Oc)});function SM(e,t){const n=Xv(t);return n===null?!1:(Qv[e]=n,!0)}function Zv(e){return Qv[e]}const jM=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let qw=jM();function PM(e,t){const n=Zv(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let i=0;n.resources.forEach(l=>{i=Math.max(i,l.length)});const a=t+".json?icons=";r=n.maxURL-i-n.path.length-a.length}return r}function EM(e){return e===404}const CM=(e,t,n)=>{const r=[],i=PM(e,t),a="icons";let l={type:a,provider:e,prefix:t,icons:[]},u=0;return n.forEach((c,f)=>{u+=c.length+1,u>=i&&f>0&&(r.push(l),l={type:a,provider:e,prefix:t,icons:[]},u=c.length),l.icons.push(c)}),r.push(l),r};function OM(e){if(typeof e=="string"){const t=Zv(e);if(t)return t.path}return"/"}const NM=(e,t,n)=>{if(!qw){n("abort",424);return}let r=OM(t.provider);switch(t.type){case"icons":{const a=t.prefix,u=t.icons.join(","),c=new URLSearchParams({icons:u});r+=a+".json?"+c.toString();break}case"custom":{const a=t.uri;r+=a.slice(0,1)==="/"?a.slice(1):a;break}default:n("abort",400);return}let i=503;qw(e+r).then(a=>{const l=a.status;if(l!==200){setTimeout(()=>{n(EM(l)?"abort":"next",l)});return}return i=501,a.json()}).then(a=>{if(typeof a!="object"||a===null){setTimeout(()=>{a===404?n("abort",a):n("next",i)});return}setTimeout(()=>{n("success",a)})}).catch(()=>{n("next",i)})},AM={prepare:CM,send:NM};function rC(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(i=>i.id!==t))})}function _M(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,i=e.prefix;t.forEach(a=>{const l=a.icons,u=l.pending.length;l.pending=l.pending.filter(c=>{if(c.prefix!==i)return!0;const f=c.name;if(e.icons[f])l.loaded.push({provider:r,prefix:i,name:f});else if(e.missing.has(f))l.missing.push({provider:r,prefix:i,name:f});else return n=!0,!0;return!1}),l.pending.length!==u&&(n||rC([e],a.id),a.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),a.abort))})}))}let IM=0;function TM(e,t,n){const r=IM++,i=rC.bind(null,n,r);if(!t.pending.length)return i;const a={id:r,icons:t,callback:e,abort:i};return n.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(a)}),i}function DM(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((i,a)=>i.provider!==a.provider?i.provider.localeCompare(a.provider):i.prefix!==a.prefix?i.prefix.localeCompare(a.prefix):i.name.localeCompare(a.name));let r={provider:"",prefix:"",name:""};return e.forEach(i=>{if(r.name===i.name&&r.prefix===i.prefix&&r.provider===i.provider)return;r=i;const a=i.provider,l=i.prefix,u=i.name,c=n[a]||(n[a]=Object.create(null)),f=c[l]||(c[l]=Ao(a,l));let d;u in f.icons?d=t.loaded:l===""||f.missing.has(u)?d=t.missing:d=t.pending;const p={provider:a,prefix:l,name:u};d.push(p)}),t}function MM(e,t=!0,n=!1){const r=[];return e.forEach(i=>{const a=typeof i=="string"?zf(i,t,n):i;a&&r.push(a)}),r}const LM={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function RM(e,t,n,r){const i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index;let l;if(e.random){let C=e.resources.slice(0);for(l=[];C.length>1;){const M=Math.floor(Math.random()*C.length);l.push(C[M]),C=C.slice(0,M).concat(C.slice(M+1))}l=l.concat(C)}else l=e.resources.slice(a).concat(e.resources.slice(0,a));const u=Date.now();let c="pending",f=0,d,p=null,g=[],y=[];typeof r=="function"&&y.push(r);function w(){p&&(clearTimeout(p),p=null)}function S(){c==="pending"&&(c="aborted"),w(),g.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),g=[]}function b(C,M){M&&(y=[]),typeof C=="function"&&y.push(C)}function P(){return{startTime:u,payload:t,status:c,queriesSent:f,queriesPending:g.length,subscribe:b,abort:S}}function E(){c="failed",y.forEach(C=>{C(void 0,d)})}function O(){g.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),g=[]}function A(C,M,B){const H=M!=="success";switch(g=g.filter(L=>L!==C),c){case"pending":break;case"failed":if(H||!e.dataAfterTimeout)return;break;default:return}if(M==="abort"){d=B,E();return}if(H){d=B,g.length||(l.length?I():E());return}if(w(),O(),!e.random){const L=e.resources.indexOf(C.resource);L!==-1&&L!==e.index&&(e.index=L)}c="completed",y.forEach(L=>{L(B)})}function I(){if(c!=="pending")return;w();const C=l.shift();if(C===void 0){if(g.length){p=setTimeout(()=>{w(),c==="pending"&&(O(),E())},e.timeout);return}E();return}const M={status:"pending",resource:C,callback:(B,H)=>{A(M,B,H)}};g.push(M),f++,p=setTimeout(I,e.rotate),n(C,t,M.callback)}return setTimeout(I),P}function iC(e){const t={...LM,...e};let n=[];function r(){n=n.filter(u=>u().status==="pending")}function i(u,c,f){const d=RM(t,u,c,(p,g)=>{r(),f&&f(p,g)});return n.push(d),d}function a(u){return n.find(c=>u(c))||null}return{query:i,find:a,setIndex:u=>{t.index=u},getIndex:()=>t.index,cleanup:r}}function Hw(){}const Cp=Object.create(null);function zM(e){if(!Cp[e]){const t=Zv(e);if(!t)return;const n=iC(t),r={config:t,redundancy:n};Cp[e]=r}return Cp[e]}function $M(e,t,n){let r,i;if(typeof e=="string"){const a=Mg(e);if(!a)return n(void 0,424),Hw;i=a.send;const l=zM(e);l&&(r=l.redundancy)}else{const a=Xv(e);if(a){r=iC(a);const l=e.resources?e.resources[0]:"",u=Mg(l);u&&(i=u.send)}}return!r||!i?(n(void 0,424),Hw):r.query(t,i,n)().abort}function Vw(){}function FM(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,_M(e)}))}function BM(e){const t=[],n=[];return e.forEach(r=>{(r.match(JE)?t:n).push(r)}),{valid:t,invalid:n}}function Rl(e,t,n){function r(){const i=e.pendingIcons;t.forEach(a=>{i&&i.delete(a),e.icons[a]||e.missing.add(a)})}if(n&&typeof n=="object")try{if(!ZE(e,n).length){r();return}}catch(i){console.error(i)}r(),FM(e)}function Kw(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function UM(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,i=e.iconsToLoad;if(delete e.iconsToLoad,!i||!i.length)return;const a=e.loadIcon;if(e.loadIcons&&(i.length>1||!a)){Kw(e.loadIcons(i,r,n),d=>{Rl(e,i,d)});return}if(a){i.forEach(d=>{const p=a(d,r,n);Kw(p,g=>{const y=g?{prefix:r,icons:{[d]:g}}:null;Rl(e,[d],y)})});return}const{valid:l,invalid:u}=BM(i);if(u.length&&Rl(e,u,null),!l.length)return;const c=r.match(JE)?Mg(n):null;if(!c){Rl(e,l,null);return}c.prepare(n,r,l).forEach(d=>{$M(n,d,p=>{Rl(e,d.icons,p)})})}))}const WM=(e,t)=>{const n=MM(e,!0,eC()),r=DM(n);if(!r.pending.length){let c=!0;return t&&setTimeout(()=>{c&&t(r.loaded,r.missing,r.pending,Vw)}),()=>{c=!1}}const i=Object.create(null),a=[];let l,u;return r.pending.forEach(c=>{const{provider:f,prefix:d}=c;if(d===u&&f===l)return;l=f,u=d,a.push(Ao(f,d));const p=i[f]||(i[f]=Object.create(null));p[d]||(p[d]=[])}),r.pending.forEach(c=>{const{provider:f,prefix:d,name:p}=c,g=Ao(f,d),y=g.pendingIcons||(g.pendingIcons=new Set);y.has(p)||(y.add(p),i[f][d].push(p))}),a.forEach(c=>{const f=i[c.provider][c.prefix];f.length&&UM(c,f)}),t?TM(t,r,a):Vw};function qM(e,t){const n={...e};for(const r in t){const i=t[r],a=typeof i;r in tC?(i===null||i&&(a==="string"||a==="number"))&&(n[r]=i):a===typeof n[r]&&(n[r]=r==="rotate"?i%4:i)}return n}const HM=/[\s,]+/;function VM(e,t){t.split(HM).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function KM(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(i){for(;i<0;)i+=4;return i%4}if(n===""){const i=parseInt(e);return isNaN(i)?0:r(i)}else if(n!==e){let i=0;switch(n){case"%":i=25;break;case"deg":i=90}if(i){let a=parseFloat(e.slice(0,e.length-n.length));return isNaN(a)?0:(a=a/i,a%1===0?r(a):0)}}return t}function GM(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function YM(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function XM(e){return"data:image/svg+xml,"+YM(e)}function QM(e){return'url("'+XM(e)+'")'}let ns;function ZM(){try{ns=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch{ns=null}}function JM(e){return ns===void 0&&ZM(),ns?ns.createHTML(e):e}const aC={...nC,inline:!1},eL={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},tL={display:"inline-block"},Lg={backgroundColor:"currentColor"},oC={backgroundColor:"transparent"},Gw={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Yw={WebkitMask:Lg,mask:Lg,background:oC};for(const e in Yw){const t=Yw[e];for(const n in Gw)t[e+n]=Gw[n]}const nL={...aC,inline:!0};function Xw(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const rL=(e,t,n)=>{const r=t.inline?nL:aC,i=qM(r,t),a=t.mode||"svg",l={},u=t.style||{},c={...a==="svg"?eL:{}};if(n){const b=zf(n,!1,!0);if(b){const P=["iconify"],E=["provider","prefix"];for(const O of E)b[O]&&P.push("iconify--"+b[O]);c.className=P.join(" ")}}for(let b in t){const P=t[b];if(P!==void 0)switch(b){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":c.ref=P;break;case"className":c[b]=(c[b]?c[b]+" ":"")+P;break;case"inline":case"hFlip":case"vFlip":i[b]=P===!0||P==="true"||P===1;break;case"flip":typeof P=="string"&&VM(i,P);break;case"color":l.color=P;break;case"rotate":typeof P=="string"?i[b]=KM(P):typeof P=="number"&&(i[b]=P);break;case"ariaHidden":case"aria-hidden":P!==!0&&P!=="true"&&delete c["aria-hidden"];break;default:r[b]===void 0&&(c[b]=P)}}const f=vM(e,i),d=f.attributes;if(i.inline&&(l.verticalAlign="-0.125em"),a==="svg"){c.style={...l,...u},Object.assign(c,d);let b=0,P=t.id;return typeof P=="string"&&(P=P.replace(/-/g,"_")),c.dangerouslySetInnerHTML={__html:JM(wM(f.body,P?()=>P+"ID"+b++:"iconifyReact"))},k.createElement("svg",c)}const{body:p,width:g,height:y}=e,w=a==="mask"||(a==="bg"?!1:p.indexOf("currentColor")!==-1),S=GM(p,{...d,width:g+"",height:y+""});return c.style={...l,"--svg":QM(S),width:Xw(d.width),height:Xw(d.height),...tL,...w?Lg:oC,...u},k.createElement("span",c)};eC(!0);kM("",AM);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!cM(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const i=t[n];if(typeof i!="object"||!i||i.resources===void 0)continue;SM(n,i)||console.error(r)}catch{console.error(r)}}}}function lC(e){const[t,n]=k.useState(!!e.ssr),[r,i]=k.useState({});function a(y){if(y){const w=e.icon;if(typeof w=="object")return{name:"",data:w};const S=Uw(w);if(S)return{name:w,data:S}}return{name:""}}const[l,u]=k.useState(a(!!e.ssr));function c(){const y=r.callback;y&&(y(),i({}))}function f(y){if(JSON.stringify(l)!==JSON.stringify(y))return c(),u(y),!0}function d(){var y;const w=e.icon;if(typeof w=="object"){f({name:"",data:w});return}const S=Uw(w);if(f({name:w,data:S}))if(S===void 0){const b=WM([w],d);i({callback:b})}else S&&((y=e.onLoad)===null||y===void 0||y.call(e,w))}k.useEffect(()=>(n(!0),c),[]),k.useEffect(()=>{t&&d()},[e.icon,t]);const{name:p,data:g}=l;return g?rL({...Yv,...g},e,p):e.children?e.children:e.fallback?e.fallback:k.createElement("span",{})}const iL=k.forwardRef((e,t)=>lC({...e,_ref:t}));k.forwardRef((e,t)=>lC({inline:!0,...e,_ref:t}));function le({icon:e,size:t=20,className:n="",style:r}){return m.jsx(iL,{icon:e,width:t,height:t,className:n,style:r})}function Eo({icon:e="lucide:inbox",title:t,description:n,action:r}){return m.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[m.jsx(le,{icon:e,size:48,className:"text-base-content/30 mb-4"}),m.jsx("h3",{className:"font-semibold text-lg text-base-content/70",children:t}),n&&m.jsx("p",{className:"text-base-content/50 mt-1 max-w-sm",children:n}),r&&m.jsx("div",{className:"mt-4",children:r})]})}const aL={top:"tooltip-top",bottom:"tooltip-bottom",left:"tooltip-left",right:"tooltip-right"};function hr({text:e,children:t,position:n="top"}){return m.jsx("div",{className:`tooltip ${aL[n]}`,"data-tip":e,children:t})}const oL={success:{bg:"alert-success",icon:"lucide:check-circle",iconColor:"text-success-content"},error:{bg:"alert-error",icon:"lucide:x-circle",iconColor:"text-error-content"},info:{bg:"alert-info",icon:"lucide:info",iconColor:"text-info-content"},warning:{bg:"alert-warning",icon:"lucide:alert-triangle",iconColor:"text-warning-content"}};function lL({id:e,type:t,message:n,title:r,duration:i=5e3,dismissible:a=!0,onClick:l,onDismiss:u}){const[c,f]=k.useState(!1),{bg:d,icon:p,iconColor:g}=oL[t];k.useEffect(()=>{if(i>0){const w=setTimeout(()=>{f(!0),setTimeout(()=>u(e),300)},i);return()=>clearTimeout(w)}},[i,e,u]);const y=()=>{f(!0),setTimeout(()=>u(e),300)};return m.jsxs("div",{role:"alert",className:`alert ${d} shadow-lg transition-all duration-300 ${c?"opacity-0 translate-x-4":"opacity-100 translate-x-0"} ${l?"cursor-pointer hover:scale-[1.02]":""}`,onClick:l,children:[m.jsx(le,{icon:p,size:20,className:g}),m.jsxs("div",{className:"flex-1",children:[r&&m.jsx("h3",{className:"font-bold text-sm",children:r}),m.jsx("span",{className:"text-sm",children:n})]}),a&&m.jsx("button",{onClick:w=>{w.stopPropagation(),y()},className:"btn btn-ghost btn-sm btn-circle","aria-label":"Dismiss",children:m.jsx(le,{icon:"lucide:x",size:16})})]})}function sL({toasts:e,onDismiss:t}){return e.length===0?null:m.jsx("div",{className:"toast toast-end toast-bottom z-50",children:e.map(n=>m.jsx(lL,{...n,onDismiss:t},n.id))})}function sC({project:e,workspace:t=!1}){return t?m.jsxs("span",{className:"inline-flex items-center gap-1 text-xs bg-base-200 text-base-content/50 rounded-full px-2.5 py-0.5",children:[m.jsx(le,{icon:"lucide:globe",size:12}),"Workspace"]}):e?m.jsxs("span",{className:"inline-flex items-center gap-1 text-xs bg-primary/10 text-primary rounded-full px-2.5 py-0.5",children:[m.jsx(le,{icon:"lucide:folder",size:12}),e]}):null}function uL({icon:e,label:t,href:n,active:r=!1,badge:i,collapsed:a=!1}){const l=m.jsxs("a",{href:n,className:`nav-item flex items-center gap-3 px-3 py-2.5 rounded-lg transition-all ${r?"active":""} ${a?"justify-center":""}`,children:[m.jsx(le,{icon:e,size:20}),!a&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"flex-1",children:t}),i!==void 0&&m.jsx("span",{className:`badge badge-sm ${r?"badge-primary-content":"badge-ghost"}`,children:i})]})]});return a?m.jsx(hr,{text:t,children:l}):l}const cL=[{icon:"lucide:layout-dashboard",label:"Dashboard",href:"#/"},{icon:"lucide:scroll",label:"Specification",href:"#/spec"},{icon:"lucide:brain",label:"Memories",href:"#/memories"},{icon:"lucide:history",label:"Sessions",href:"#/sessions"},{icon:"lucide:bar-chart-3",label:"Usage",href:"#/usage"},{icon:"lucide:archive",label:"Vault",href:"#/vault"},{icon:"lucide:settings",label:"Settings",href:"#/settings"}];function fL({currentPath:e,collapsed:t=!1}){return m.jsx("nav",{className:"py-4 space-y-1 px-2",children:cL.map(n=>m.jsx(uL,{icon:n.icon,label:n.label,href:n.href,active:e===n.href||e.startsWith(n.href+"/"),collapsed:t},n.href))})}function dL({workerStatus:e,version:t,queueDepth:n=0,collapsed:r=!1}){const l={online:{color:"success",label:"Online",icon:"lucide:circle-check"},offline:{color:"error",label:"Offline",icon:"lucide:circle-x"}}[e!=="offline"?"online":"offline"],u=t?`v${t}`:null;return r?m.jsx("div",{className:"p-3 border-t border-base-300/50",children:m.jsx(hr,{text:`Pilot Shell ${u??""} ยท Worker ${l.label}`,children:m.jsx("div",{className:"flex justify-center",children:m.jsx(le,{icon:l.icon,size:20,className:`text-${l.color}`})})})}):m.jsxs("div",{className:"p-4 border-t border-base-300/50 space-y-2",children:[m.jsxs("div",{className:"flex items-center justify-between text-sm",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(le,{icon:l.icon,size:16,className:`text-${l.color}`}),m.jsx("span",{className:"text-base-content/70",children:"Worker"})]}),m.jsx(Ie,{variant:l.color,size:"sm",children:l.label})]}),u&&m.jsxs("div",{className:"text-xs text-base-content/40 text-center",children:["Pilot Shell ",u]})]})}const uC=k.createContext(null);let hL=0;function pL({children:e}){const[t,n]=k.useState([]),r=k.useCallback(d=>{const p=`toast-${++hL}`;return n(g=>[...g,{...d,id:p}]),p},[]),i=k.useCallback(d=>{n(p=>p.filter(g=>g.id!==d))},[]),a=k.useCallback(()=>{n([])},[]),l=k.useCallback((d,p)=>r({type:"success",message:d,title:p}),[r]),u=k.useCallback((d,p)=>r({type:"error",message:d,title:p,duration:8e3}),[r]),c=k.useCallback((d,p)=>r({type:"info",message:d,title:p}),[r]),f=k.useCallback((d,p)=>r({type:"warning",message:d,title:p,duration:7e3}),[r]);return m.jsxs(uC.Provider,{value:{addToast:r,removeToast:i,clearAll:a,success:l,error:u,info:c,warning:f},children:[e,m.jsx(sL,{toasts:t,onDismiss:i})]})}function cC(){const e=k.useContext(uC);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const Op="pilot-memory-selected-project",mL={selectedProject:null,projects:[],setSelectedProject:()=>{},setProjects:()=>{}},fC=k.createContext(mL);function gL({children:e}){const[t,n]=k.useState(()=>{try{return localStorage.getItem(Op)||null}catch{return null}}),[r,i]=k.useState([]),a=k.useCallback(u=>{n(u);try{u?localStorage.setItem(Op,u):localStorage.removeItem(Op)}catch{}},[]),l=k.useCallback(u=>{i(u)},[]);return k.useEffect(()=>{fetch("/api/projects").then(u=>u.json()).then(u=>{const c=u.projects||[];c.length>0&&i(c)}).catch(()=>{})},[]),k.useEffect(()=>{t&&r.length>0&&!r.includes(t)&&a(null)},[r,t,a]),m.jsx(fC.Provider,{value:{selectedProject:t,projects:r,setSelectedProject:a,setProjects:l},children:e})}function za(){return k.useContext(fC)}function vL({collapsed:e=!1}){const{selectedProject:t,projects:n,setSelectedProject:r}=za();return e?m.jsx("div",{className:"flex-shrink-0 px-3 py-3 border-b border-base-300/50",children:m.jsx(hr,{text:t??"All Projects",children:m.jsx("button",{className:`btn btn-ghost btn-sm btn-square w-full ${t?"text-primary":"text-base-content/50"}`,onClick:()=>r(null),children:m.jsx(le,{icon:"lucide:folder-open",size:20})})})}):m.jsxs("div",{className:"flex-shrink-0 px-3 py-3 border-b border-base-300/50 relative z-10",children:[m.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-wider text-base-content/40 px-1 mb-1.5 block",children:"Project"}),m.jsxs("select",{className:"select select-bordered select-sm w-full text-sm bg-base-100",value:t??"",onChange:i=>r(i.target.value||null),children:[m.jsx("option",{value:"",children:"All Projects"}),n.map(i=>m.jsx("option",{value:i,children:i},i))]})]})}function yL({currentPath:e,workerStatus:t,version:n,queueDepth:r,collapsed:i,onToggleCollapse:a}){return m.jsxs("aside",{className:`dashboard-sidebar flex flex-col border-r border-base-300 transition-all duration-300 h-screen sticky top-0 ${i?"w-[72px]":"w-64"}`,children:[m.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between p-4 border-b border-base-300/50",children:[!i&&m.jsx(HD,{}),m.jsx("button",{onClick:a,className:"btn btn-ghost btn-sm btn-square",title:i?"Expand sidebar":"Collapse sidebar",children:m.jsx(le,{icon:i?"lucide:panel-left-open":"lucide:panel-left-close",size:18})})]}),m.jsx(vL,{collapsed:i}),m.jsx("div",{className:"flex-1",children:m.jsx(fL,{currentPath:e,collapsed:i})}),m.jsx("div",{className:"flex-shrink-0",children:m.jsx(dL,{workerStatus:t,version:n,queueDepth:r,collapsed:i})})]})}const dC={solo:{label:"Solo",variant:"primary"},team:{label:"Team",variant:"accent"},trial:{label:"Trial",variant:"warning"},standard:{label:"Solo",variant:"primary"},enterprise:{label:"Team",variant:"accent"}};function Qw(e){const t=dC[e.tier??""],n=[(t==null?void 0:t.label)??e.tier??"Unknown"];return e.email&&n.push(e.email),e.tier==="trial"&&e.daysRemaining!=null&&n.push(`${e.daysRemaining} days remaining`),n.join(" ยท ")}function Zw(e){return e.isExpired||e.tier==="trial"}function xL({license:e,isLoading:t,onClick:n}){if(t||!e||!e.tier)return null;const i=Zw(e)&&!!n?{onClick:n,role:"button",className:"cursor-pointer"}:{};if(e.isExpired)return m.jsx(hr,{text:Qw(e),position:"bottom",children:m.jsx("span",{...i,children:m.jsx(Ie,{variant:"error",size:"xs",children:"Expired"})})});const a=dC[e.tier];if(!a)return null;let l=a.label;e.tier==="trial"&&e.daysRemaining!=null&&(l=`${a.label} ยท ${e.daysRemaining}d left`);const u=!Zw(e)&&e.email;return m.jsx(hr,{text:Qw(e),position:"bottom",children:m.jsxs("span",{...i,className:`${i.className??""} inline-flex items-center gap-1.5`,children:[m.jsx(Ie,{variant:a.variant,size:"xs",children:l}),u&&m.jsx("span",{className:"text-base-content/50",children:e.email})]})})}function bL({open:e,onClose:t,onActivated:n}){const[r,i]=k.useState(""),[a,l]=k.useState(null),[u,c]=k.useState(!1),f=k.useCallback(async()=>{const p=r.trim();if(p){l(null),c(!0);try{const y=await(await fetch("/api/license/activate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:p})})).json();y.success?(i(""),n(),t()):l(y.error??"Activation failed")}catch{l("Connection failed")}finally{c(!1)}}},[r,n,t]),d=k.useCallback(p=>{p.key==="Enter"&&!u&&f()},[f,u]);return m.jsxs(KE,{open:e,onClose:t,title:"Activate License",children:[m.jsxs("div",{className:"flex flex-col gap-3",children:[m.jsx("input",{id:"license-key-input",type:"text",className:"input input-bordered w-full",placeholder:"Enter your license key",value:r,onChange:p=>{i(p.target.value),l(null)},onKeyDown:d,disabled:u,autoFocus:!0}),a&&m.jsx("p",{className:"text-error text-sm",children:a}),m.jsx("div",{className:"bg-base-200/50 rounded-lg p-3 space-y-1.5",children:m.jsxs("p",{className:"text-xs text-base-content/60",children:["Don't have a key? Get one at"," ",m.jsx("a",{href:"https://pilot-shell.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline font-medium",children:"pilot-shell.com"})]})})]}),m.jsxs("div",{className:"modal-action",children:[m.jsx("button",{className:"btn btn-ghost btn-sm",onClick:t,disabled:u,children:"Cancel"}),m.jsx("button",{className:"btn btn-primary btn-sm",onClick:f,disabled:u||!r.trim(),children:u?"Activating...":"Activate"})]})]})}function hC(){const[e,t]=k.useState(null),[n,r]=k.useState(!0),i=k.useCallback((l=!1)=>{fetch(l?"/api/license?refresh=1":"/api/license").then(c=>c.json()).then(c=>{t(c),r(!1)}).catch(()=>{r(!1)})},[]);k.useEffect(()=>{i();const l=setInterval(()=>i(!0),6e4);return()=>clearInterval(l)},[i]);const a=k.useCallback(()=>i(!0),[i]);return{license:e,isLoading:n,refetch:a}}function wL(e){const t=e.endsWith("Z")?e:e+"Z",n=Date.now()-new Date(t).getTime();return n<6e4?"just now":n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}const kL={plan_approval:"lucide:file-check",verification_complete:"lucide:check-circle",attention_needed:"lucide:alert-circle"};function SL({notifications:e,unreadCount:t,onMarkAsRead:n,onMarkAllAsRead:r}){const[i,a]=k.useState(!1),l=k.useRef(null),u=k.useCallback(c=>{l.current&&!l.current.contains(c.target)&&a(!1)},[]);return k.useEffect(()=>{if(i)return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[i,u]),m.jsxs("div",{className:"relative",ref:l,children:[m.jsx(hr,{text:"Notifications",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:()=>a(!i),children:m.jsxs("div",{className:"relative",children:[m.jsx(le,{icon:"lucide:bell",size:18}),t>0&&m.jsx("span",{className:"absolute -top-1.5 -right-1.5 bg-error text-error-content text-[10px] font-bold rounded-full min-w-[16px] h-4 flex items-center justify-center px-0.5",children:t>99?"99+":t})]})})}),i&&m.jsxs("div",{className:"absolute right-0 top-full mt-2 w-80 max-h-96 overflow-y-auto rounded-xl border border-base-300 bg-base-100 shadow-xl z-50",children:[m.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-base-300",children:[m.jsx("span",{className:"text-sm font-semibold",children:"Notifications"}),t>0&&m.jsx("button",{className:"text-xs text-primary hover:underline",onClick:()=>{r()},children:"Mark all read"})]}),e.length===0?m.jsx("div",{className:"px-4 py-8 text-center text-sm text-base-content/50",children:"No notifications"}):m.jsx("div",{className:"divide-y divide-base-300",children:e.map(c=>m.jsx("button",{className:`w-full text-left px-4 py-3 hover:bg-base-200/50 transition-colors ${c.is_read===0?"bg-primary/5":""}`,onClick:()=>{c.is_read===0&&n(c.id)},children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx(le,{icon:kL[c.type]||"lucide:info",size:16,className:`mt-0.5 flex-shrink-0 ${c.is_read===0?"text-primary":"text-base-content/40"}`}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:`text-sm truncate ${c.is_read===0?"font-medium":""}`,children:c.title}),c.is_read===0&&m.jsx("span",{className:"w-2 h-2 rounded-full bg-primary flex-shrink-0"})]}),m.jsx("p",{className:"text-xs text-base-content/60 mt-0.5 line-clamp-2",children:c.message}),m.jsx("span",{className:"text-[10px] text-base-content/40 mt-1 block",children:wL(c.created_at)})]})]})},c.id))})]})]})}function jL(){const[e,t]=k.useState([]),[n,r]=k.useState(0),i=k.useRef(!0),a=k.useCallback(async()=>{try{const c=await fetch("/api/notifications?limit=50&include_read=true");if(!c.ok)return;const f=await c.json();i.current&&(t(f),r(f.filter(d=>d.is_read===0).length))}catch{}},[]),l=k.useCallback(async c=>{t(f=>f.map(d=>d.id===c?{...d,is_read:1}:d)),r(f=>Math.max(0,f-1));try{(await fetch(`/api/notifications/${c}/read`,{method:"PATCH"})).ok||(t(d=>d.map(p=>p.id===c?{...p,is_read:0}:p)),r(d=>d+1))}catch{t(f=>f.map(d=>d.id===c?{...d,is_read:0}:d)),r(f=>f+1)}},[]),u=k.useCallback(async()=>{const c=e,f=n;t(d=>d.map(p=>({...p,is_read:1}))),r(0);try{(await fetch("/api/notifications/read-all",{method:"POST"})).ok||(t(c),r(f))}catch{t(c),r(f)}},[e,n]);return k.useEffect(()=>{i.current=!0,a();const c=new EventSource("/stream");return c.addEventListener("open",()=>{a()}),c.onmessage=f=>{try{const d=JSON.parse(f.data);if(d.type==="new_notification"&&d.notification&&i.current){const p=d.notification;t(g=>g.some(y=>y.id===p.id)?g:[p,...g]),r(g=>g+1)}}catch{}},()=>{i.current=!1,c.close()}},[a]),{notifications:e,unreadCount:n,markAsRead:l,markAllAsRead:u,refresh:a}}function PL({theme:e,onToggleTheme:t,onToggleLogs:n}){const[r,i]=k.useState(!1),[a,l]=k.useState(!1);k.useEffect(()=>{fetch("/api/auth/status").then(g=>g.json()).then(g=>{i(g.authRequired)}).catch(()=>{i(!1)})},[]);const u=async()=>{l(!0);try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{l(!1)}},{notifications:c,unreadCount:f,markAsRead:d,markAllAsRead:p}=jL();return m.jsxs("div",{className:"flex items-center gap-2",children:[n&&m.jsx(hr,{text:"Toggle console logs",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:n,children:m.jsx(le,{icon:"lucide:terminal",size:18})})}),m.jsx(hr,{text:`Switch to ${e==="light"?"dark":"light"} mode`,position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:t,children:m.jsx(le,{icon:e==="light"?"lucide:moon":"lucide:sun",size:18})})}),m.jsx(hr,{text:"Repository",position:"bottom",children:m.jsx("a",{href:"https://github.com/maxritter/pilot-shell",target:"_blank",rel:"noopener noreferrer",className:"btn btn-ghost btn-sm",children:m.jsx(le,{icon:"lucide:git-branch",size:18})})}),r&&m.jsx(hr,{text:"Logout",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:u,disabled:a,children:m.jsx(le,{icon:"lucide:log-out",size:18})})}),m.jsx(SL,{notifications:c,unreadCount:f,onMarkAsRead:d,onMarkAllAsRead:p})]})}function EL({theme:e,onToggleTheme:t,onToggleLogs:n}){const{license:r,isLoading:i,refetch:a}=hC(),[l,u]=k.useState(!1);return m.jsxs("header",{className:"h-14 bg-base-100 border-b border-base-300/50 flex items-center justify-between px-6 gap-4",children:[m.jsxs("div",{className:"flex items-center gap-2 text-xs text-base-content/40",children:[m.jsx(le,{icon:"lucide:plane",size:14,className:"text-primary/60"}),m.jsxs("span",{children:["ยฉ ",new Date().getFullYear()," ",m.jsx("a",{href:"https://pilot-shell.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary/70 hover:text-primary transition-colors",children:"Pilot Shell"})]}),m.jsx("span",{className:"text-base-content/20",children:"|"}),m.jsxs("span",{children:["Created by"," ",m.jsx("a",{href:"https://maxritter.net",target:"_blank",rel:"noopener noreferrer",className:"text-primary/70 hover:text-primary transition-colors",children:"Max Ritter"})]}),!i&&(r==null?void 0:r.tier)&&m.jsx("span",{className:"text-base-content/20",children:"|"}),m.jsx(xL,{license:r,isLoading:i,onClick:()=>u(!0)}),!i&&(!r||!r.tier||r.tier==="trial"||r.isExpired)&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-base-content/20",children:"|"}),m.jsx("a",{href:"https://pilot-shell.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"text-primary/70 hover:text-primary transition-colors",children:"Get a license"}),m.jsxs("button",{onClick:()=>u(!0),className:"btn btn-primary btn-xs gap-1",children:[m.jsx(le,{icon:"lucide:key",size:12}),"Activate"]})]})]}),m.jsx(PL,{theme:e,onToggleTheme:t,onToggleLogs:n}),m.jsx(bL,{open:l,onClose:()=>u(!1),onActivated:a})]})}function CL({children:e,currentPath:t,workerStatus:n,version:r,queueDepth:i,theme:a,onToggleTheme:l,onToggleLogs:u,sidebarCollapsed:c,onToggleSidebar:f}){const d=a==="dark"?"pilot-shell":"pilot-shell-light";return m.jsxs("div",{className:"dashboard-layout flex h-screen","data-theme":d,children:[m.jsx(yL,{currentPath:t,workerStatus:n,version:r,queueDepth:i,collapsed:c,onToggleCollapse:f}),m.jsxs("div",{className:"flex-1 flex flex-col min-w-0 min-h-0",children:[m.jsx(EL,{theme:a,onToggleTheme:l,onToggleLogs:u}),m.jsx("main",{className:"flex-1 p-6 overflow-y-auto min-h-0",children:e})]})]})}function pC(){const[e,t]=k.useState(()=>Jw(window.location.hash));k.useEffect(()=>{const r=()=>{t(Jw(window.location.hash))};return window.addEventListener("hashchange",r),()=>window.removeEventListener("hashchange",r)},[]);const n=k.useCallback(r=>{window.location.hash=r},[]);return{path:e.path,params:e.params,navigate:n}}function Jw(e){const t=e.replace(/^#/,"")||"/",n={},[r,i]=t.split("?");return i&&new URLSearchParams(i).forEach((l,u)=>{n[u]=l}),{path:r,params:n}}function OL({routes:e,fallback:t}){const{path:n}=pC();for(const r of e){const i=NL(r.path,n);if(i){const a=r.component;return m.jsx(a,{...i.params})}}return t?m.jsx(m.Fragment,{children:t}):null}function NL(e,t){if(e===t)return{params:{}};const n=e.split("/"),r=t.split("/");if(n.length!==r.length)return null;const i={};for(let a=0;a=0?"text-success":"text-error"}`,children:[m.jsx(le,{icon:i.value>=0?"lucide:trending-up":"lucide:trending-down",size:16}),m.jsxs("span",{className:"ml-1",children:[Math.abs(i.value),"% ",i.label]})]})]})})}function AL({stats:e,specStats:t}){const n=t&&t.totalSpecs>0?`${Math.round(t.verified/t.totalSpecs*100)}% success`:void 0;return m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[m.jsx(Fi,{icon:"lucide:brain",label:"Observations",value:e.observations.toLocaleString()}),m.jsx(Fi,{icon:"lucide:scroll",label:"Total Specs",value:((t==null?void 0:t.totalSpecs)??0).toLocaleString()}),m.jsx(Fi,{icon:"lucide:shield-check",label:"Verified",value:((t==null?void 0:t.verified)??0).toLocaleString(),subtext:n}),m.jsx(Fi,{icon:"lucide:loader",label:"In Progress",value:((t==null?void 0:t.inProgress)??0).toLocaleString()}),m.jsx(Fi,{icon:"lucide:history",label:"Sessions",value:e.sessions.toLocaleString()}),m.jsx(Fi,{icon:"lucide:clock",label:"Last Observation",value:e.lastObservationAt||"None yet"}),m.jsx(Fi,{icon:"lucide:file-text",label:"Summaries",value:e.summaries.toLocaleString()}),m.jsx(Fi,{icon:"lucide:check-square",label:"Tasks Completed",value:((t==null?void 0:t.totalTasksCompleted)??0).toLocaleString(),subtext:t&&t.totalTasks>0?`of ${t.totalTasks} total`:void 0})]})}function _L({status:e,version:t,uptime:n,queueDepth:r=0}){const i=e==="processing",a=e!=="offline";return m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Worker Status"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsx(Ie,{variant:a?"success":"error",children:a?"Online":"Offline"})]}),m.jsxs("div",{className:"space-y-3",children:[t&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:tag",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Version:"}),m.jsx("span",{className:"font-mono",children:t})]}),n&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:clock",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Uptime:"}),m.jsx("span",{children:n})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:i?"lucide:loader-2":"lucide:layers",size:16,className:`${i?"text-warning animate-spin":"text-base-content/50"}`}),m.jsx("span",{className:"text-base-content/70",children:"Queue:"}),m.jsxs("span",{className:i?"text-warning font-medium":"",children:[r," items"]}),i&&m.jsx(Ie,{variant:"warning",size:"xs",children:"Processing"})]})]})]})})}function IL(e){if(!e)return"Never";try{const t=new Date(e),r=new Date().getTime()-t.getTime();return r<6e4?"just now":r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:`${Math.floor(r/864e5)}d ago`}catch{return"Unknown"}}function TL({isIndexed:e,files:t,generatedAt:n,isReindexing:r}){return m.jsx(wt,{children:m.jsxs(kt,{className:"flex flex-col",children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Codebase Indexing"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),r?m.jsxs(Ie,{variant:"warning",children:[m.jsx(le,{icon:"lucide:refresh-cw",size:12,className:"mr-1 animate-spin"}),"Indexing..."]}):m.jsx(Ie,{variant:e?"success":"warning",children:e?"Indexed":"Not Indexed"})]}),m.jsxs("div",{className:"space-y-3 flex-1",children:[m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:file-search",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Files:"}),m.jsx("span",{className:"font-semibold",children:t.toLocaleString()})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:clock",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Last indexed:"}),m.jsx("span",{children:IL(n)})]})]}),!r&&m.jsx("p",{className:"text-xs text-base-content/50 mt-3",children:t===0?m.jsxs(m.Fragment,{children:["Run ",m.jsx("code",{className:"bg-base-300/50 px-1 rounded",children:"/sync"})," in Claude Code to index your codebase."]}):m.jsxs(m.Fragment,{children:["Re-index with ",m.jsx("code",{className:"bg-base-300/50 px-1 rounded",children:"/sync"})," or ",m.jsx("code",{className:"bg-base-300/50 px-1 rounded",children:"vexor index --clear"})]})})]})})}function DL(e){try{const t=new URL(e);return(t.host+t.pathname).replace(/\.git$/,"")}catch{return e}}function ML(e){const{installed:t,version:n,configured:r,vaultUrl:i,assets:a,catalog:l,isLoading:u}=e;if(u)return m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsx(Vi,{children:"Vault"}),m.jsx(Ie,{variant:"ghost",children:"Loading..."})]}),m.jsxs("div",{className:"space-y-3 animate-pulse",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-3/4"}),m.jsx("div",{className:"h-4 bg-base-300 rounded w-1/2"})]})]})});const c=new Set(a.map(d=>d.name)),f=l.filter(d=>!c.has(d.name)).length;return t?r?m.jsx(wt,{children:m.jsxs(kt,{className:"flex flex-col",children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Vault"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsx(Ie,{variant:"success",children:"Connected"})]}),m.jsxs("div",{className:"space-y-3 flex-1",children:[i&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:git-branch",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Vault:"}),m.jsx("span",{className:"font-mono text-xs truncate",children:DL(i)})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:package",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"Installed:"}),m.jsx("span",{className:"font-semibold",children:a.length}),f>0&&m.jsxs("span",{className:"text-base-content/40",children:["(",f," available)"]})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[m.jsx(le,{icon:"lucide:cloud",size:16,className:"text-base-content/50"}),m.jsx("span",{className:"text-base-content/70",children:"In vault:"}),m.jsx("span",{className:"font-semibold",children:l.length})]})]})]})}):m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Vault"}),n&&m.jsxs(Ie,{variant:"ghost",size:"sm",children:["v",n]})]}),m.jsx(Ie,{variant:"warning",children:"Not Configured"})]}),m.jsx("div",{className:"text-sm text-base-content/60",children:m.jsxs("p",{children:["sx is installed but no vault is configured. Run ",m.jsx("span",{className:"font-mono text-primary",children:"/vault"})," to set up."]})})]})}):m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsx(Vi,{children:"Vault"}),m.jsx(Ie,{variant:"ghost",children:"Not Installed"})]}),m.jsx("div",{className:"text-sm text-base-content/60",children:m.jsxs("p",{children:["sx is not installed. Run the Pilot installer or install from ",m.jsx("span",{className:"font-mono text-primary",children:"skills.new"}),"."]})})]})})}const LL={plan:{label:"Planning",color:"info",border:"border-l-info"},implement:{label:"Implementing",color:"warning",border:"border-l-warning"},verify:{label:"Verifying",color:"accent",border:"border-l-accent"}};function RL({plan:e}){const t=LL[e.phase],n=e.total>0?e.completed/e.total*100:0,r=e.status==="PENDING"&&!e.approved;return m.jsxs("div",{className:`border-l-4 ${t.border} pl-3 py-2${r?" animate-pulse":""}`,children:[m.jsxs("div",{className:"flex items-center justify-between gap-2",children:[m.jsxs("span",{className:"font-medium text-sm truncate",title:e.name,children:[e.name,m.jsx("span",{className:`ml-1.5 text-xs font-normal ${e.specType==="Bugfix"?"text-warning":"text-info"}`,children:e.specType==="Bugfix"?"bugfix":"feature"})]}),m.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m.jsx(Ie,{variant:t.color,size:"xs",children:t.label}),m.jsxs("span",{className:"text-xs font-mono text-base-content/60",children:[e.completed,"/",e.total]})]})]}),m.jsx("div",{className:"w-full bg-base-300 rounded-full h-1.5 mt-1.5",children:m.jsx("div",{className:`h-1.5 rounded-full transition-all duration-300 ${n===100?"bg-success":"bg-primary"}`,style:{width:`${n}%`}})})]})}function zL({plans:e}){return e.length===0?m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Specification Status"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsx(Ie,{variant:"ghost",children:"Quick Mode"})]}),m.jsxs("div",{className:"text-sm text-base-content/60",children:[m.jsx("p",{children:"No active spec-driven plan."}),m.jsxs("p",{className:"mt-2",children:["Use ",m.jsx("code",{className:"text-primary",children:"/spec"})," for complex tasks."]})]})]})}):m.jsx(wt,{children:m.jsxs(kt,{children:[m.jsxs("div",{className:"flex items-center justify-between mb-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Vi,{children:"Specification Status"}),m.jsx(Ie,{variant:"ghost",size:"sm",children:"Workspace"})]}),m.jsxs(Ie,{variant:"info",children:[e.length," active"]})]}),m.jsx("div",{className:"space-y-2",children:e.map((t,n)=>m.jsx(RL,{plan:t},t.filePath??`${t.name}-${n}`))})]})})}const $L=6e4;function mC(){const{selectedProject:e,setProjects:t}=za(),[n,r]=k.useState({observations:0,summaries:0,sessions:0,lastObservationAt:null,projects:0}),[i,a]=k.useState({status:"offline"}),[l,u]=k.useState({isIndexed:!1,files:0,mode:"",model:"",generatedAt:null,isReindexing:!1}),[c,f]=k.useState([]),[d,p]=k.useState({active:!1,plans:[]}),[g,y]=k.useState({branch:null,staged:0,unstaged:0,untracked:0}),[w,S]=k.useState({totalSpecs:0,verified:0,inProgress:0,pending:0,avgIterations:0,totalTasksCompleted:0,totalTasks:0,completionTimeline:[],recentlyVerified:[]}),[b,P]=k.useState([]),[E,O]=k.useState({installed:!1,version:null,configured:!1,vaultUrl:null,profile:null,assets:[],catalog:[],isInstalling:!1}),[A,I]=k.useState(!0),C=k.useCallback(async()=>{try{const W=await(await fetch("/api/vault/status")).json();O(W)}catch{}},[]),M=k.useCallback(async()=>{try{const L=e?`?project=${encodeURIComponent(e)}`:"",R=await(await fetch(`/api/vexor/status${L}`)).json();u({isIndexed:R.isIndexed??!1,files:R.files??0,mode:R.mode??"",model:R.model??"",generatedAt:R.generatedAt??null,isReindexing:R.isReindexing??!1})}catch{}},[e]),B=k.useCallback(async()=>{var W,R,V,G,Q,de,ce;const L=e?`?project=${encodeURIComponent(e)}`:"";try{const[J,ae,T,$,U,_,te,he]=await Promise.all([fetch(`/api/stats${L}`),fetch("/health"),fetch(`/api/observations?limit=5${e?`&project=${encodeURIComponent(e)}`:""}`),fetch("/api/projects"),fetch(`/api/plan${L}`),fetch(`/api/git${L}`),fetch(`/api/plans/stats${L}`).catch(()=>null),fetch(`/api/analytics/timeline?range=30d${e?`&project=${encodeURIComponent(e)}`:""}`).catch(()=>null)]),fe=await J.json(),Se=await ae.json(),je=await T.json(),Z=await $.json(),we=await U.json(),Ae=await _.json();if(te!=null&&te.ok){const Pt=await te.json();S(Pt)}if(he!=null&&he.ok){const Pt=await he.json();P(Pt.data||[])}const ie=je.items||je.observations||je||[],rt=Array.isArray(ie)?ie:[],ze=rt.length>0&&((W=rt[0])==null?void 0:W.created_at)||null,ct=Z.projects||[];t(ct),r({observations:((R=fe.database)==null?void 0:R.observations)||0,summaries:((V=fe.database)==null?void 0:V.summaries)||0,sessions:((G=fe.database)==null?void 0:G.sessions)||0,lastObservationAt:ze?e1(ze):null,projects:ct.length}),a({status:Se.status==="ok"?Se.isProcessing?"processing":"online":"offline",version:(Q=fe.worker)==null?void 0:Q.version,uptime:(de=fe.worker)!=null&&de.uptime?FL(fe.worker.uptime):void 0,queueDepth:Se.queueDepth||0,workspaceProject:(ce=fe.worker)==null?void 0:ce.workspaceProject});const ft=je.items||je.observations||je||[];f((Array.isArray(ft)?ft:[]).slice(0,5).map(Pt=>{var Br;return{id:Pt.id,type:Pt.obs_type||Pt.type||"observation",title:Pt.title||((Br=Pt.content)==null?void 0:Br.slice(0,100))||"Untitled",project:Pt.project||"unknown",timestamp:e1(Pt.created_at)}}));const Wt=we.plans||(we.plan?[we.plan]:[]);p({active:Wt.length>0,plans:Wt}),y({branch:Ae.branch||null,staged:Ae.staged||0,unstaged:Ae.unstaged||0,untracked:Ae.untracked||0})}catch(J){console.error("Failed to load stats:",J),a({status:"offline"})}finally{I(!1)}},[e,t]),H=k.useRef(B);return k.useEffect(()=>{H.current=B},[B]),k.useEffect(()=>{B()},[B]),k.useEffect(()=>{M(),C();const L=setInterval(M,$L),W=new EventSource("/stream");return W.onmessage=R=>{try{const V=JSON.parse(R.data);V.type==="processing_status"&&a(G=>({...G,status:V.isProcessing?"processing":"online",queueDepth:V.queueDepth??G.queueDepth})),(V.type==="new_observation"||V.type==="new_summary"||V.type==="plan_association_changed")&&H.current()}catch{}},()=>{clearInterval(L),W.close()}},[M,C]),{stats:n,workerStatus:i,vexorStatus:l,vaultStatus:E,recentActivity:c,planStatus:d,gitInfo:g,specStats:w,observationTimeline:b,isLoading:A,refreshStats:B}}function e1(e){if(!e)return"";const t=new Date(e),r=new Date().getTime()-t.getTime();return r<6e4?"just now":r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:t.toLocaleDateString()}function FL(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:e<86400?`${Math.floor(e/3600)}h`:`${Math.floor(e/86400)}d`}function BL(){const{stats:e,workerStatus:t,vexorStatus:n,vaultStatus:r,planStatus:i,specStats:a,isLoading:l}=mC(),{selectedProject:u}=za();return l?m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx("span",{className:"loading loading-spinner loading-lg"})}):m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Dashboard"}),m.jsx("p",{className:"text-base-content/60",children:u?`Filtered by: ${u}`:"Overview of your Pilot Shell Console"})]}),m.jsx(AL,{stats:e,specStats:a}),m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 [&>*]:h-full",children:[m.jsx(TL,{isIndexed:n.isIndexed,files:n.files,generatedAt:n.generatedAt,isReindexing:n.isReindexing}),m.jsx(zL,{plans:i.plans}),m.jsx(ML,{...r,isLoading:l}),m.jsx(_L,{status:t.status,version:t.version,uptime:t.uptime,queueDepth:t.queueDepth})]})]})}const UL=[{value:"all",label:"All Types"},{value:"observation",label:"Observations"},{value:"summary",label:"Summaries"},{value:"prompt",label:"Prompts"}];function WL({viewMode:e,onViewModeChange:t,filterType:n,onFilterTypeChange:r,totalCount:i,selectionMode:a,onToggleSelectionMode:l,selectedCount:u,onSelectAll:c,onExport:f,onDelete:d,isExporting:p,isDeleting:g,allSelected:y}){const w=[{label:"Export as JSON",onClick:()=>f("json"),icon:m.jsx(le,{icon:"lucide:file-json",size:16})},{label:"Export as CSV",onClick:()=>f("csv"),icon:m.jsx(le,{icon:"lucide:file-spreadsheet",size:16})},{label:"Export as Markdown",onClick:()=>f("markdown"),icon:m.jsx(le,{icon:"lucide:file-text",size:16})}];return m.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[m.jsx("div",{className:"flex items-center gap-2",children:a?m.jsxs(m.Fragment,{children:[m.jsxs(Rt,{variant:"ghost",size:"sm",onClick:c,children:[m.jsx(le,{icon:y?"lucide:check-square":"lucide:square",size:16,className:"mr-1"}),y?"Deselect All":"Select All"]}),m.jsxs("span",{className:"text-sm text-base-content/60",children:[u," of ",i," selected"]})]}):m.jsxs("span",{className:"text-sm text-base-content/60",children:[i," items"]})}),m.jsx("div",{className:"flex items-center gap-2",children:a?m.jsxs(m.Fragment,{children:[m.jsx(GE,{trigger:m.jsxs(Rt,{variant:"primary",size:"sm",loading:p,disabled:u===0,children:[m.jsx(le,{icon:"lucide:download",size:16,className:"mr-1"}),"Export"]}),items:w}),m.jsxs(Rt,{variant:"error",size:"sm",onClick:d,loading:g,disabled:u===0,children:[m.jsx(le,{icon:"lucide:trash-2",size:16,className:"mr-1"}),"Delete"]}),m.jsx(Rt,{variant:"ghost",size:"sm",onClick:l,children:"Cancel"})]}):m.jsxs(m.Fragment,{children:[m.jsxs(Rt,{variant:"ghost",size:"sm",onClick:l,children:[m.jsx(le,{icon:"lucide:check-square",size:16,className:"mr-1"}),"Select"]}),m.jsx(QD,{options:UL,value:n,onChange:S=>r(S.target.value),selectSize:"sm",className:"w-40"}),m.jsxs("div",{className:"btn-group",children:[m.jsx(Rt,{variant:e==="grid"?"primary":"ghost",size:"sm",onClick:()=>t("grid"),children:m.jsx(le,{icon:"lucide:grid-3x3",size:16})}),m.jsx(Rt,{variant:e==="list"?"primary":"ghost",size:"sm",onClick:()=>t("list"),children:m.jsx(le,{icon:"lucide:list",size:16})})]})]})})]})}const qL={observation:{icon:"lucide:brain",variant:"info",color:"text-info"},summary:{icon:"lucide:file-text",variant:"warning",color:"text-warning"},prompt:{icon:"lucide:message-square",variant:"secondary",color:"text-secondary"},bugfix:{icon:"lucide:bug",variant:"error",color:"text-error"},feature:{icon:"lucide:sparkles",variant:"success",color:"text-success"},refactor:{icon:"lucide:refresh-cw",variant:"accent",color:"text-accent"},discovery:{icon:"lucide:search",variant:"info",color:"text-info"},decision:{icon:"lucide:git-branch",variant:"warning",color:"text-warning"},change:{icon:"lucide:pencil",variant:"secondary",color:"text-secondary"}},HL={icon:"lucide:circle",variant:"secondary",color:"text-secondary"};function VL({memory:e,viewMode:t,onDelete:n,onView:r,selectionMode:i,isSelected:a,onToggleSelection:l}){const u=qL[e.type]||HL,c=t==="grid",f=[{label:"View Details",onClick:()=>r==null?void 0:r(e.id),icon:m.jsx(le,{icon:"lucide:eye",size:16})},{label:"Copy ID",onClick:()=>navigator.clipboard.writeText(String(e.id)),icon:m.jsx(le,{icon:"lucide:copy",size:16})},{label:"Delete",onClick:()=>n==null?void 0:n(e.id),icon:m.jsx(le,{icon:"lucide:trash-2",size:16})}],d=()=>{i&&(l==null||l(e.id))};return m.jsx(wt,{className:`hover:shadow-md transition-shadow ${c?"":"flex flex-row"} ${i?"cursor-pointer":""} ${a?"ring-2 ring-primary":""}`,onClick:d,children:m.jsxs(kt,{className:c?"":"flex flex-row items-start gap-4 flex-1",children:[m.jsxs("div",{className:`flex items-start gap-3 ${c?"mb-3":"flex-1"}`,children:[i?m.jsx("div",{className:"flex items-center justify-center w-8 h-8 flex-shrink-0",children:m.jsx("input",{type:"checkbox",className:"checkbox checkbox-primary",checked:a,onChange:()=>l==null?void 0:l(e.id),onClick:p=>p.stopPropagation()})}):m.jsx("div",{className:`p-2 rounded-lg bg-base-200 ${u.color}`,children:m.jsx(le,{icon:u.icon,size:18})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:u.variant,size:"xs",children:e.type}),m.jsxs("span",{className:"text-xs text-base-content/50",children:["#",e.id]})]}),m.jsx("h3",{className:"font-medium text-sm line-clamp-2",children:e.title}),c&&e.facts&&e.facts.length>0?m.jsxs("ul",{className:"text-xs text-base-content/60 mt-1 space-y-0.5 list-disc list-inside",children:[e.facts.slice(0,3).map((p,g)=>m.jsx("li",{className:"line-clamp-1",children:p},g)),e.facts.length>3&&m.jsxs("li",{className:"text-base-content/40",children:["+",e.facts.length-3," more"]})]}):c&&e.content?m.jsx("p",{className:"text-xs text-base-content/60 mt-1 line-clamp-3",children:e.content}):null]})]}),m.jsxs("div",{className:`flex items-center gap-2 ${c?"justify-between mt-3 pt-3 border-t border-base-200":""}`,children:[m.jsxs("div",{className:"flex items-center gap-2 text-xs text-base-content/50",children:[m.jsx(le,{icon:"lucide:folder",size:14}),m.jsx("span",{className:"truncate max-w-24",children:e.project})]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-xs text-base-content/50",children:e.timestamp}),m.jsx(GE,{trigger:m.jsx(Rt,{variant:"ghost",size:"xs",className:"btn-square",children:m.jsx(le,{icon:"lucide:more-vertical",size:14})}),items:f})]})]}),c&&e.concepts&&e.concepts.length>0&&m.jsxs("div",{className:"flex flex-wrap gap-1 mt-2",children:[e.concepts.slice(0,3).map(p=>m.jsx(Ie,{variant:"ghost",size:"xs",children:p},p)),e.concepts.length>3&&m.jsxs(Ie,{variant:"ghost",size:"xs",children:["+",e.concepts.length-3]})]})]})})}const KL={observation:{icon:"lucide:brain",variant:"info"},summary:{icon:"lucide:file-text",variant:"warning"},prompt:{icon:"lucide:message-square",variant:"secondary"},bugfix:{icon:"lucide:bug",variant:"error"},feature:{icon:"lucide:sparkles",variant:"success"},refactor:{icon:"lucide:refresh-cw",variant:"accent"},discovery:{icon:"lucide:search",variant:"info"},decision:{icon:"lucide:git-branch",variant:"warning"},change:{icon:"lucide:pencil",variant:"secondary"}};function GL({memory:e,onClose:t}){const[n,r]=k.useState("content"),i=e?KL[e.type]||{icon:"lucide:circle",variant:"secondary"}:{icon:"lucide:circle",variant:"secondary"};return m.jsx(KE,{open:!!e,onClose:t,title:"Memory Details",children:e&&m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx("div",{className:`p-3 rounded-lg bg-base-200 text-${i.variant}`,children:m.jsx(le,{icon:i.icon,size:24})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:i.variant,size:"sm",children:e.type}),m.jsxs("span",{className:"text-sm text-base-content/50",children:["#",e.id]})]}),m.jsx("h3",{className:"text-lg font-semibold",children:e.title}),m.jsxs("div",{className:"flex items-center gap-2 mt-1 text-sm text-base-content/60",children:[m.jsx(le,{icon:"lucide:folder",size:14}),m.jsx("span",{children:e.project}),m.jsx("span",{children:"โ€ข"}),m.jsx("span",{children:e.timestamp})]})]})]}),m.jsxs("div",{className:"tabs tabs-boxed",children:[m.jsx("button",{className:`tab ${n==="content"?"tab-active":""}`,onClick:()=>r("content"),children:"Content"}),m.jsx("button",{className:`tab ${n==="metadata"?"tab-active":""}`,onClick:()=>r("metadata"),children:"Metadata"})]}),n==="content"&&m.jsx("div",{className:"bg-base-200 rounded-lg p-4 max-h-96 overflow-y-auto",children:e.facts&&e.facts.length>0?m.jsx("ul",{className:"text-sm space-y-2 list-disc list-inside",children:e.facts.map((a,l)=>m.jsx("li",{children:a},l))}):m.jsx("pre",{className:"text-sm whitespace-pre-wrap break-words",children:e.content||"No content available"})}),n==="metadata"&&m.jsxs("div",{className:"space-y-4",children:[e.concepts&&e.concepts.length>0&&m.jsxs("div",{children:[m.jsx("h4",{className:"text-sm font-medium mb-2",children:"Concepts"}),m.jsx("div",{className:"flex flex-wrap gap-1",children:e.concepts.map(a=>m.jsx(Ie,{variant:"ghost",size:"sm",children:a},a))})]}),m.jsxs("div",{children:[m.jsx("h4",{className:"text-sm font-medium mb-2",children:"ID"}),m.jsx("code",{className:"text-xs bg-base-200 px-2 py-1 rounded",children:e.id})]})]})]})})}function YL({onSearch:e,isSearching:t,placeholder:n="Search your memories semantically..."}){const[r,i]=k.useState(""),a=l=>{l.preventDefault(),r.trim()&&e(r.trim())};return m.jsxs("form",{onSubmit:a,className:"flex gap-2",children:[m.jsxs("div",{className:"relative flex-1",children:[m.jsx(le,{icon:"lucide:search",size:20,className:"absolute left-4 top-1/2 -translate-y-1/2 text-base-content/50"}),m.jsx("input",{type:"search",placeholder:n,value:r,onChange:l=>i(l.target.value),className:"input input-bordered w-full pl-12 pr-4"})]}),m.jsx(Rt,{type:"submit",loading:t,disabled:!r.trim(),children:"Search"})]})}const XL={observation:{icon:"lucide:brain",variant:"info",label:"Observation"},summary:{icon:"lucide:file-text",variant:"warning",label:"Summary"},prompt:{icon:"lucide:message-square",variant:"secondary",label:"Prompt"},bugfix:{icon:"lucide:bug",variant:"error",label:"Bug Fix"},feature:{icon:"lucide:sparkles",variant:"success",label:"Feature"},refactor:{icon:"lucide:refresh-cw",variant:"accent",label:"Refactor"},discovery:{icon:"lucide:search",variant:"info",label:"Discovery"},decision:{icon:"lucide:git-branch",variant:"warning",label:"Decision"},change:{icon:"lucide:pencil",variant:"secondary",label:"Change"}},QL={icon:"lucide:circle",variant:"secondary",label:"Unknown"};function ZL(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function JL({result:e}){const t=e.obsType||e.type,n=XL[t]||QL,r=Math.round(e.score*100),i=a=>a>=.7?"text-success":a>=.4?"text-warning":"text-base-content/50";return m.jsx(wt,{className:"hover:shadow-md transition-shadow",children:m.jsx(kt,{children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx("div",{className:"p-2 rounded-lg bg-base-200 shrink-0",children:m.jsx(le,{icon:n.icon,size:18})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[m.jsx(Ie,{variant:n.variant,size:"xs",children:n.label}),m.jsxs("span",{className:"text-xs text-base-content/50",children:["#",e.id]}),e.score>0&&m.jsxs("span",{className:`ml-auto text-xs font-mono ${i(e.score)}`,children:[r,"% match"]})]}),m.jsx("h3",{className:"font-medium truncate",children:e.title}),m.jsx("p",{className:"text-sm text-base-content/60 mt-1 line-clamp-2",children:e.content}),m.jsxs("div",{className:"flex items-center gap-4 mt-3 text-xs text-base-content/50",children:[e.project&&m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:folder",size:12}),e.project]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:clock",size:12}),ZL(e.timestamp)]})]})]}),e.score>0&&m.jsxs("div",{className:"w-16 shrink-0 hidden sm:block",children:[m.jsx("div",{className:"h-2 bg-base-200 rounded-full overflow-hidden",children:m.jsx("div",{className:`h-full rounded-full transition-all ${e.score>=.7?"bg-success":e.score>=.4?"bg-warning":"bg-base-content/30"}`,style:{width:`${r}%`}})}),m.jsx("div",{className:"text-[10px] text-center mt-1 text-base-content/50",children:"similarity"})]})]})})})}const eR=12e4;function tR(){const{selectedProject:e}=za(),[t,n]=k.useState(!1),[r,i]=k.useState([]),[a,l]=k.useState(!1),[u,c]=k.useState(null),[f,d]=k.useState(null),p=k.useRef(null),g=k.useRef(!1),y=k.useCallback(async S=>{var E;(E=p.current)==null||E.abort(),g.current=!1;const b=new AbortController;p.current=b;const P=setTimeout(()=>b.abort(),eR);l(!0),n(!0),c(null);try{const O=new URLSearchParams({query:S,limit:"30"});e&&O.set("project",e);const A=await fetch(`/api/search/semantic?${O}`,{signal:b.signal});if(!A.ok)throw new Error(`Search failed with status ${A.status}`);const I=await A.json();i(I.results||[]),d({usedSemantic:I.usedSemantic,vectorDbAvailable:I.vectorDbAvailable})}catch(O){if(g.current)return;O.name==="AbortError"?c("Search timed out. Please try again."):c("Search failed. Please try again."),i([]),d(null)}finally{clearTimeout(P),g.current||l(!1)}},[e]),w=k.useCallback(()=>{var S;g.current=!0,(S=p.current)==null||S.abort(),n(!1),i([]),d(null),c(null),l(!1)},[]);return k.useEffect(()=>()=>{var S;(S=p.current)==null||S.abort()},[]),{isSearchMode:t,searchResults:r,isSearching:a,searchError:u,searchMeta:f,handleSearch:y,handleClearSearch:w}}function t1(){var $;const[e,t]=k.useState([]),[n,r]=k.useState(!0),[i,a]=k.useState("grid"),[l,u]=k.useState("all"),[c,f]=k.useState(null),[d,p]=k.useState(!1),[g,y]=k.useState(new Set),[w,S]=k.useState(!1),[b,P]=k.useState(!1),E=cC(),{selectedProject:O}=za(),{isSearchMode:A,searchResults:I,isSearching:C,searchError:M,searchMeta:B,handleSearch:H,handleClearSearch:L}=tR(),W=k.useCallback(async U=>{d&&(p(!1),y(new Set)),await H(U)},[d,H]),R=k.useCallback(async()=>{r(!0);try{const U=new URLSearchParams;l!=="all"&&U.set("type",l),O&&U.set("project",O),U.set("limit","50");const te=await(await fetch(`/api/observations?${U}`)).json(),he=te.items||te.observations||[];t(he.map(fe=>({id:fe.id,type:fe.type||"observation",title:fe.title||"Untitled",content:fe.narrative||fe.content||"",facts:fe.facts?typeof fe.facts=="string"?JSON.parse(fe.facts):fe.facts:[],project:fe.project||"unknown",timestamp:V(fe.created_at),concepts:fe.concepts?typeof fe.concepts=="string"?JSON.parse(fe.concepts):fe.concepts:[]})))}catch(U){console.error("Failed to fetch memories:",U)}finally{r(!1)}},[l,O]);function V(U){if(!U)return"";const _=new Date(U),he=new Date().getTime()-_.getTime();return he<6e4?"just now":he<36e5?`${Math.floor(he/6e4)}m ago`:he<864e5?`${Math.floor(he/36e5)}h ago`:_.toLocaleDateString()}k.useEffect(()=>{R()},[R]);const G=async U=>{if(confirm("Delete this memory?"))try{await fetch(`/api/observation/${U}`,{method:"DELETE"}),t(_=>_.filter(te=>te.id!==U))}catch(_){console.error("Failed to delete:",_)}},Q=U=>{const _=e.find(te=>te.id===U);_&&f(_)},de=U=>{y(_=>{const te=new Set(_);return te.has(U)?te.delete(U):te.add(U),te})},ce=()=>{g.size===e.length?y(new Set):y(new Set(e.map(U=>U.id)))},J=()=>{p(!1),y(new Set)},ae=async U=>{if(g.size===0){E.error("No memories selected");return}S(!0);try{const _=Array.from(g).join(","),te=`/api/export?format=${U}&ids=${_}`,fe=await(await fetch(te)).blob(),Se=window.URL.createObjectURL(fe),je=document.createElement("a");je.href=Se,je.download=`pilot-memory-export-${new Date().toISOString().split("T")[0]}.${U==="markdown"?"md":U}`,document.body.appendChild(je),je.click(),document.body.removeChild(je),window.URL.revokeObjectURL(Se),E.success(`Exported ${g.size} memories`)}catch{E.error("Export failed")}finally{S(!1)}},T=async()=>{if(g.size===0){E.error("No memories selected");return}if(confirm(`Delete ${g.size} memories? This cannot be undone.`)){P(!0);try{const U=await fetch("/api/observations/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:Array.from(g)})});if(U.ok){const _=await U.json();E.success(`Deleted ${_.deletedCount} memories`),t(te=>te.filter(he=>!g.has(he.id))),y(new Set),p(!1)}else E.error("Delete failed")}catch{E.error("Delete failed")}finally{P(!1)}}};return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Memories"}),m.jsx(sC,{project:O})]}),m.jsx("p",{className:"text-base-content/60",children:A?"Search results":"Browse and manage your stored memories"})]}),m.jsx(YL,{onSearch:W,isSearching:C,placeholder:"Search memories semantically..."}),A&&m.jsx("div",{className:"flex items-center gap-2",children:m.jsxs(Rt,{variant:"ghost",size:"sm",onClick:L,children:[m.jsx(le,{icon:"lucide:x",size:16,className:"mr-1"}),"Clear search"]})}),A&&B&&m.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[B.vectorDbAvailable?B.usedSemantic?m.jsxs(Ie,{variant:"success",outline:!0,size:"sm",children:[m.jsx(le,{icon:"lucide:brain",size:14,className:"mr-1"}),"Semantic Search Active"]}):m.jsxs(Ie,{variant:"warning",outline:!0,size:"sm",children:[m.jsx(le,{icon:"lucide:filter",size:14,className:"mr-1"}),"Filter-only Mode"]}):m.jsxs(Ie,{variant:"error",outline:!0,size:"sm",children:[m.jsx(le,{icon:"lucide:alert-triangle",size:14,className:"mr-1"}),"Vector DB Unavailable"]}),m.jsx("span",{className:"text-base-content/50",children:B.usedSemantic?"Results ranked by semantic similarity":B.vectorDbAvailable?"Enter a query for semantic ranking":"Install Chroma for semantic search"})]}),!A&&m.jsx(WL,{viewMode:i,onViewModeChange:a,filterType:l,onFilterTypeChange:u,totalCount:e.length,selectionMode:d,onToggleSelectionMode:()=>d?J():p(!0),selectedCount:g.size,onSelectAll:ce,onExport:ae,onDelete:T,isExporting:w,isDeleting:b,allSelected:e.length>0&&g.size===e.length}),M&&!C&&m.jsxs("div",{className:"alert alert-error",children:[m.jsx(le,{icon:"lucide:alert-circle",size:16}),m.jsx("span",{children:M})]}),A?C?m.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-3",children:[m.jsx(Xi,{size:"lg"}),m.jsx("span",{className:"text-sm text-base-content/50",children:"Searching memories..."})]}):M?null:I.length===0?m.jsx(Eo,{icon:"lucide:search-x",title:"No results found",description:"Try a different query"}):m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"text-sm text-base-content/60",children:[I.length," results",(B==null?void 0:B.usedSemantic)&&(($=I[0])==null?void 0:$.score)>0&&m.jsxs("span",{className:"ml-2",children:["(best match: ",Math.round(I[0].score*100),"% similarity)"]})]}),I.map(U=>m.jsx(JL,{result:U},`${U.type}-${U.id}`))]}):n?m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx(Xi,{size:"lg"})}):e.length===0?m.jsx(Eo,{icon:"lucide:brain",title:"No memories found",description:"Memories will appear here as you use Claude Code"}):m.jsx("div",{className:i==="grid"?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4":"space-y-3",children:e.map(U=>m.jsx(VL,{memory:U,viewMode:i,onDelete:G,onView:Q,selectionMode:d,isSelected:g.has(U.id),onToggleSelection:de},U.id))}),m.jsx(GL,{memory:c,onClose:()=>f(null)})]})}const n1={active:{variant:"warning",icon:"lucide:play"},completed:{variant:"success",icon:"lucide:check"},failed:{variant:"error",icon:"lucide:x"}};function nR(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function rR(e,t){if(!t)return"ongoing";const n=t-e,r=Math.floor(n/6e4);if(r<1)return"< 1 min";if(r<60)return`${r} min`;const i=Math.floor(r/60),a=r%60;return`${i}h ${a}m`}function iR({session:e,isExpanded:t,onToggle:n}){const r=n1[e.status]||n1.active;return m.jsx(wt,{className:`cursor-pointer hover:shadow-md transition-shadow ${t?"ring-2 ring-primary":""}`,onClick:n,children:m.jsx(kt,{children:m.jsxs("div",{className:"flex items-start gap-4",children:[m.jsx("div",{className:"p-2 rounded-lg bg-base-200",children:m.jsx(le,{icon:r.icon,size:20,className:`text-${r.variant}`})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:r.variant,size:"sm",children:e.status}),m.jsxs("span",{className:"text-xs text-base-content/50",children:["#",e.id]})]}),m.jsx("h3",{className:"font-medium line-clamp-1",children:e.user_prompt||e.project||"Untitled Session"}),m.jsxs("div",{className:"flex items-center gap-4 mt-2 text-sm text-base-content/60",children:[m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:folder",size:14}),e.project]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:calendar",size:14}),nR(e.started_at)]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:clock",size:14}),rR(e.started_at_epoch,e.completed_at_epoch)]})]})]}),m.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[m.jsxs("div",{className:"text-center",children:[m.jsx("div",{className:"font-semibold",children:e.observation_count}),m.jsx("div",{className:"text-xs text-base-content/50",children:"observations"})]}),m.jsxs("div",{className:"text-center",children:[m.jsx("div",{className:"font-semibold",children:e.prompt_count}),m.jsx("div",{className:"text-xs text-base-content/50",children:"prompts"})]}),m.jsx(le,{icon:t?"lucide:chevron-up":"lucide:chevron-down",size:20,className:"text-base-content/50"})]})]})})})}const Np={prompt:{icon:"lucide:message-square",color:"text-primary"},observation:{icon:"lucide:brain",color:"text-info"},bugfix:{icon:"lucide:bug",color:"text-error"},feature:{icon:"lucide:sparkles",color:"text-success"},refactor:{icon:"lucide:refresh-cw",color:"text-accent"},discovery:{icon:"lucide:search",color:"text-info"},decision:{icon:"lucide:git-branch",color:"text-warning"},change:{icon:"lucide:pencil",color:"text-secondary"}};function aR(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}function oR({sessionId:e}){const[t,n]=k.useState(null),[r,i]=k.useState(!0),[a,l]=k.useState(new Set);k.useEffect(()=>{async function f(){i(!0);try{const p=await(await fetch(`/api/sessions/${e}/timeline`)).json();n(p)}catch(d){console.error("Failed to fetch timeline:",d)}finally{i(!1)}}f()},[e]);const u=f=>{l(d=>{const p=new Set(d);return p.has(f)?p.delete(f):p.add(f),p})};if(r)return m.jsx("div",{className:"flex items-center justify-center py-8",children:m.jsx(Xi,{size:"md"})});if(!t)return m.jsx("div",{className:"text-center py-8 text-base-content/50",children:"Failed to load timeline"});const c={active:"badge-success",completed:"badge-info",failed:"badge-error"};return m.jsxs("div",{className:"mt-4 space-y-4",children:[m.jsx(wt,{className:"bg-base-200/50",children:m.jsxs(kt,{className:"py-3",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[m.jsx(Ie,{variant:"ghost",size:"sm",className:c[t.session.status]||"",children:t.session.status}),m.jsx("span",{className:"text-sm text-base-content/60",children:new Date(t.session.started_at).toLocaleString()}),t.session.completed_at&&m.jsxs("span",{className:"text-sm text-base-content/60",children:["โ†’ ",new Date(t.session.completed_at).toLocaleString()]})]}),m.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:message-square",size:14,className:"text-primary"}),m.jsx("span",{className:"font-medium",children:t.stats.prompts}),m.jsx("span",{className:"text-base-content/60",children:"prompts"})]}),m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:brain",size:14,className:"text-info"}),m.jsx("span",{className:"font-medium",children:t.stats.observations}),m.jsx("span",{className:"text-base-content/60",children:"observations"})]})]})]})}),t.summary&&m.jsx(wt,{className:"bg-warning/10 border-warning/30",children:m.jsxs(kt,{className:"py-3",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(le,{icon:"lucide:file-text",size:16,className:"text-warning"}),m.jsx("span",{className:"font-medium text-sm",children:"Session Summary"}),m.jsx("span",{className:"text-xs text-base-content/50",children:new Date(t.summary.created_at).toLocaleTimeString()})]}),m.jsxs("div",{className:"space-y-3 text-sm",children:[t.summary.request&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-warning mb-1",children:"Request"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.request})]}),t.summary.investigated&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-info mb-1",children:"Investigated"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.investigated})]}),t.summary.learned&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-success mb-1",children:"Learned"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.learned})]}),t.summary.completed&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-primary mb-1",children:"Completed"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.completed})]}),t.summary.next_steps&&m.jsxs("div",{children:[m.jsx("div",{className:"font-medium text-accent mb-1",children:"Next Steps"}),m.jsx("div",{className:"text-base-content/80",children:t.summary.next_steps})]})]})]})}),m.jsxs("div",{className:"ml-8 border-l-2 border-base-300 pl-6 space-y-4",children:[[...t.timeline].reverse().map((f,d)=>{var S,b;const p=`${f.type}-${f.id}`,g=a.has(p),y=f.type==="prompt"?Np.prompt:Np[f.data.type]||Np.observation;let w=[];if(f.type==="observation"&&f.data.concepts)try{w=JSON.parse(f.data.concepts)}catch{}return m.jsxs("div",{className:"relative",children:[m.jsx("div",{className:`absolute -left-9 top-3 w-4 h-4 rounded-full border-2 border-base-100 ${f.type==="prompt"?"bg-primary":"bg-info"}`}),m.jsx(wt,{className:"cursor-pointer hover:shadow-sm transition-shadow",onClick:P=>{P.stopPropagation(),u(p)},children:m.jsx(kt,{className:"py-3",children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx("div",{className:`p-1.5 rounded bg-base-200 ${y.color}`,children:m.jsx(le,{icon:y.icon,size:14})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[m.jsx(Ie,{variant:f.type==="prompt"?"primary":"info",size:"xs",children:f.type==="prompt"?`prompt #${f.data.prompt_number||"?"}`:f.data.type||"observation"}),m.jsx("span",{className:"text-xs text-base-content/50",children:aR(f.timestamp)}),m.jsxs("span",{className:"text-xs text-base-content/40",children:["#",f.id]}),w.length>0&&w.map(P=>m.jsx(Ie,{variant:"ghost",size:"xs",className:"text-base-content/50",children:P},P))]}),m.jsx("p",{className:"text-sm font-medium",children:f.type==="prompt"?((S=f.data.prompt_text)==null?void 0:S.length)>100?f.data.prompt_text.substring(0,100)+"...":f.data.prompt_text:f.data.title||"Untitled"}),f.type==="observation"&&f.data.narrative&&m.jsx("p",{className:`text-sm text-base-content/70 mt-1 ${g?"":"line-clamp-3"}`,children:f.data.narrative}),f.type==="prompt"&&((b=f.data.prompt_text)==null?void 0:b.length)>100&&m.jsx("p",{className:`text-sm text-base-content/70 mt-1 ${g?"whitespace-pre-wrap":"line-clamp-3"}`,children:g?f.data.prompt_text:f.data.prompt_text.substring(100)}),f.type==="observation"&&(f.data.files_read||f.data.files_modified)&&m.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[f.data.files_read&&(()=>{try{const P=JSON.parse(f.data.files_read);if(P.length>0)return m.jsxs("span",{className:"text-xs text-base-content/50",children:[m.jsx(le,{icon:"lucide:file",size:12,className:"inline mr-1"}),P.length," read"]})}catch{return null}})(),f.data.files_modified&&(()=>{try{const P=JSON.parse(f.data.files_modified);if(P.length>0)return m.jsxs("span",{className:"text-xs text-base-content/50",children:[m.jsx(le,{icon:"lucide:pencil",size:12,className:"inline mr-1"}),P.length," modified"]})}catch{return null}})()]}),g&&f.type==="observation"&&f.data.text&&m.jsxs("div",{className:"mt-3 pt-3 border-t border-base-200",children:[m.jsx("p",{className:"text-sm text-base-content/70 whitespace-pre-wrap",children:f.data.text}),(f.data.files_read||f.data.files_modified)&&m.jsxs("div",{className:"mt-3 space-y-1",children:[f.data.files_read&&(()=>{try{const P=JSON.parse(f.data.files_read);if(P.length>0)return m.jsxs("div",{children:[m.jsx("span",{className:"text-xs font-medium",children:"Files Read:"}),m.jsx("div",{className:"text-xs text-base-content/50 mt-1",children:P.map((E,O)=>m.jsx("div",{className:"truncate",children:E},O))})]})}catch{return null}})(),f.data.files_modified&&(()=>{try{const P=JSON.parse(f.data.files_modified);if(P.length>0)return m.jsxs("div",{children:[m.jsx("span",{className:"text-xs font-medium",children:"Files Modified:"}),m.jsx("div",{className:"text-xs text-base-content/50 mt-1",children:P.map((E,O)=>m.jsx("div",{className:"truncate",children:E},O))})]})}catch{return null}})()]})]})]}),m.jsx(le,{icon:g?"lucide:chevron-up":"lucide:chevron-down",size:16,className:"text-base-content/30"})]})})})]},p)}),t.timeline.length===0&&m.jsx("div",{className:"text-center py-8 text-base-content/50",children:"No activity in this session"})]})]})}function lR(){const[e,t]=k.useState([]),[n,r]=k.useState(!0),[i,a]=k.useState(null),{selectedProject:l}=za(),u=k.useCallback(async()=>{r(!0);try{const f=new URLSearchParams;f.set("limit","50"),l&&f.set("project",l);const p=await(await fetch(`/api/sessions?${f}`)).json();t(p.items||[])}catch(f){console.error("Failed to fetch sessions:",f)}finally{r(!1)}},[l]);k.useEffect(()=>{u()},[u]);const c=f=>{a(i===f?null:f)};return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Sessions"}),m.jsx(sC,{project:l})]}),m.jsx("p",{className:"text-base-content/60",children:"Browse sessions and explore their timeline"})]}),m.jsx("div",{className:"flex items-center gap-2",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:u,children:m.jsx(le,{icon:"lucide:refresh-cw",size:16})})})]}),n?m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx(Xi,{size:"lg"})}):e.length===0?m.jsx(Eo,{icon:"lucide:history",title:"No sessions found",description:"Sessions will appear here as you use Claude Code"}):m.jsx("div",{className:"space-y-4",children:e.map(f=>m.jsxs("div",{children:[m.jsx(iR,{session:f,isExpanded:i===f.id,onToggle:()=>c(f.id)}),i===f.id&&m.jsx(oR,{sessionId:f.id})]},f.id))})]})}const Ap=["sonnet","opus"],gC={sonnet:"Sonnet 4.6",opus:"Opus 4.6"},Ui={model:"opus",extendedContext:!1,commands:{spec:"sonnet","spec-plan":"opus","spec-implement":"sonnet","spec-verify":"opus",vault:"sonnet",sync:"sonnet",learn:"sonnet"},agents:{"plan-challenger":"sonnet","plan-verifier":"sonnet","spec-reviewer-compliance":"sonnet","spec-reviewer-quality":"opus"}};function sR(){const[e,t]=k.useState(Ui),[n,r]=k.useState(!0),[i,a]=k.useState(null),[l,u]=k.useState(!1),[c,f]=k.useState(!1);k.useEffect(()=>{fetch("/api/settings").then(S=>{if(!S.ok)throw new Error(`API error: ${S.status}`);return S.json()}).then(S=>{t(S),r(!1)}).catch(S=>{a(S.message||"Failed to load settings"),r(!1)})},[]);const d=k.useCallback(S=>{t(b=>({...b,model:S})),u(!0),f(!1)},[]),p=k.useCallback(S=>{t(b=>({...b,extendedContext:S})),u(!0),f(!1)},[]),g=k.useCallback((S,b)=>{t(P=>({...P,commands:{...P.commands,[S]:b}})),u(!0),f(!1)},[]),y=k.useCallback((S,b)=>{t(P=>({...P,agents:{...P.agents,[S]:b}})),u(!0),f(!1)},[]),w=k.useCallback(async()=>{await fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(S=>{if(!S.ok)throw new Error(`Save failed: ${S.status}`);return S.json()}).then(S=>{t(S),u(!1),f(!0)})},[e]);return{settings:e,isLoading:n,error:i,isDirty:l,saved:c,updateModel:d,updateExtendedContext:p,updateCommand:g,updateAgent:y,save:w}}function _p({value:e,choices:t,onChange:n,disabled:r=!1,id:i}){return m.jsx("select",{id:i,className:"select select-sm select-bordered w-full max-w-xs",value:e,onChange:a=>n(a.target.value),disabled:r,children:t.map(a=>m.jsx("option",{value:a,children:gC[a]??a},a))})}const uR=[{key:"main",label:"Main session",sub:"Quick Mode / direct chat"},{key:"vault",label:"/vault"},{key:"sync",label:"/sync"},{key:"learn",label:"/learn"}],cR=[{key:"spec",label:"/spec (dispatcher)"},{key:"spec-plan",label:"/spec planning"},{key:"spec-implement",label:"/spec implement"},{key:"spec-verify",label:"/spec verify"}],fR=[{key:"plan-challenger",label:"plan-challenger"},{key:"plan-verifier",label:"plan-verifier"},{key:"spec-reviewer-compliance",label:"spec-reviewer-compliance"},{key:"spec-reviewer-quality",label:"spec-reviewer-quality"}];function Ip({model:e}){return m.jsx("span",{className:"text-xs text-base-content/40",children:gC[e]??e})}function Tp({children:e}){return m.jsx("tr",{children:m.jsx("td",{colSpan:3,className:"font-semibold text-sm pt-5 pb-1 px-0 border-b border-base-300",children:e})})}function dR(){const{settings:e,isLoading:t,error:n,isDirty:r,saved:i,updateModel:a,updateExtendedContext:l,updateCommand:u,updateAgent:c,save:f}=sR(),[d,p]=k.useState(null),[g,y]=k.useState(!1),w=async()=>{y(!0),p(null);try{await f()}catch(S){p(S instanceof Error?S.message:"Failed to save")}finally{y(!1)}};return t?m.jsxs("div",{className:"space-y-4",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),m.jsx("div",{className:"card bg-base-200 animate-pulse",children:m.jsxs("div",{className:"card-body p-4",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-32 mb-3"}),m.jsx("div",{className:"h-8 bg-base-300 rounded w-48"})]})})]}):n?m.jsxs("div",{className:"space-y-4",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),m.jsx("div",{className:"alert alert-error",children:m.jsxs("span",{children:["Failed to load settings: ",n]})})]}):m.jsxs("div",{className:"space-y-4 pb-16",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),m.jsx("p",{className:"text-base-content/60 text-sm",children:"Model selection for Pilot Shell. Restart Pilot after saving."})]}),d&&m.jsx("div",{className:"alert alert-error py-2",children:m.jsx("span",{children:d})}),m.jsxs("div",{className:"flex items-start gap-3 bg-base-200 rounded-lg px-4 py-3",children:[m.jsx("input",{type:"checkbox",className:"toggle toggle-primary toggle-sm mt-0.5",checked:e.extendedContext,onChange:S=>l(S.target.checked)}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("div",{className:"text-sm font-semibold leading-tight",children:"Extended Context (1M)"}),m.jsx("div",{className:"text-xs text-base-content/50 mt-0.5",children:"Enables 1M token context for all models, commands, and sub-agents."}),m.jsx("div",{className:"text-xs text-warning/80 mt-0.5",children:"Requires Max (20x) or Enterprise subscription โ€” only enable if you have confirmed access."})]})]}),m.jsx("div",{className:"card bg-base-200",children:m.jsx("div",{className:"card-body p-4",children:m.jsxs("table",{className:"table table-sm",children:[m.jsxs("colgroup",{children:[m.jsx("col",{className:"w-[45%]"}),m.jsx("col",{className:"w-[35%]"}),m.jsx("col",{className:"w-[20%]"})]}),m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{className:"text-xs",children:"Setting"}),m.jsx("th",{className:"text-xs",children:"Model"}),m.jsx("th",{className:"text-xs text-base-content/40",children:"Default"})]})}),m.jsxs("tbody",{children:[m.jsx(Tp,{children:"General"}),uR.map(S=>{const b=S.key==="main",P=b?e.model:e.commands[S.key]??Ui.commands[S.key],E=b?Ui.model:Ui.commands[S.key];return m.jsxs("tr",{children:[m.jsxs("td",{children:[m.jsx("span",{className:"font-mono text-sm",children:S.label}),S.sub&&m.jsx("div",{className:"text-xs text-base-content/50",children:S.sub})]}),m.jsx("td",{children:m.jsx(_p,{value:P,choices:Ap,onChange:b?a:O=>u(S.key,O),id:b?"main-model":`cmd-${S.key}`})}),m.jsx("td",{children:m.jsx(Ip,{model:E})})]},S.key)}),m.jsx(Tp,{children:"Spec Flow"}),cR.map(S=>m.jsxs("tr",{children:[m.jsx("td",{children:m.jsx("span",{className:"font-mono text-sm",children:S.label})}),m.jsx("td",{children:m.jsx(_p,{value:e.commands[S.key]??Ui.commands[S.key],choices:Ap,onChange:b=>u(S.key,b),id:`cmd-${S.key}`})}),m.jsx("td",{children:m.jsx(Ip,{model:Ui.commands[S.key]})})]},S.key)),m.jsx(Tp,{children:"Sub-Agents"}),fR.map(S=>m.jsxs("tr",{children:[m.jsx("td",{children:m.jsx("span",{className:"font-mono text-sm",children:S.label})}),m.jsx("td",{children:m.jsx(_p,{value:e.agents[S.key]??Ui.agents[S.key],choices:Ap,onChange:b=>c(S.key,b),id:`agent-${S.key}`})}),m.jsx("td",{children:m.jsx(Ip,{model:Ui.agents[S.key]})})]},S.key))]})]})})}),m.jsxs("details",{className:"collapse collapse-arrow bg-base-200 rounded-lg",children:[m.jsx("summary",{className:"collapse-title text-sm font-medium py-2 min-h-0",children:"Pricing reference"}),m.jsxs("div",{className:"collapse-content text-xs text-base-content/50",children:[m.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-0.5 mb-1",children:[m.jsxs("span",{children:[m.jsx("span",{className:"font-mono",children:"Sonnet 4.6"})," โ€” $3 / $15 per MTok"]}),m.jsxs("span",{children:[m.jsx("span",{className:"font-mono",children:"Opus 4.6"})," โ€” $5 / $25 per MTok"]})]}),m.jsx("p",{className:"text-base-content/40 mt-1",children:"With Extended Context (1M), standard rates apply up to 200K tokens, then 2x input / 1.5x output above."})]})]}),m.jsxs("div",{className:"fixed bottom-0 left-0 right-0 bg-base-100 border-t border-base-300 px-6 py-2 flex items-center gap-4 z-50",children:[m.jsx("button",{className:`btn btn-primary btn-sm ${g?"loading":""}`,onClick:w,disabled:g||!r,children:g?"Saving...":"Save Settings"}),r&&!i&&m.jsx("span",{className:"text-sm text-base-content/50",children:"Unsaved changes"}),i&&m.jsx("span",{className:"text-sm text-success",children:"Saved โ€” restart Pilot to apply"})]})]})}function hR(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const pR=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,mR=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,gR={};function r1(e,t){return(gR.jsx?mR:pR).test(e)}const vR=/[ \t\n\f\r]/g;function yR(e){return typeof e=="object"?e.type==="text"?i1(e.value):!1:i1(e)}function i1(e){return e.replace(vR,"")===""}class Cs{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Cs.prototype.normal={};Cs.prototype.property={};Cs.prototype.space=void 0;function vC(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Cs(n,r,t)}function Rg(e){return e.toLowerCase()}class Cn{constructor(t,n){this.attribute=n,this.property=t}}Cn.prototype.attribute="";Cn.prototype.booleanish=!1;Cn.prototype.boolean=!1;Cn.prototype.commaOrSpaceSeparated=!1;Cn.prototype.commaSeparated=!1;Cn.prototype.defined=!1;Cn.prototype.mustUseProperty=!1;Cn.prototype.number=!1;Cn.prototype.overloadedBoolean=!1;Cn.prototype.property="";Cn.prototype.spaceSeparated=!1;Cn.prototype.space=void 0;let xR=0;const Te=$a(),bt=$a(),zg=$a(),se=$a(),Ze=$a(),Co=$a(),Dn=$a();function $a(){return 2**++xR}const $g=Object.freeze(Object.defineProperty({__proto__:null,boolean:Te,booleanish:bt,commaOrSpaceSeparated:Dn,commaSeparated:Co,number:se,overloadedBoolean:zg,spaceSeparated:Ze},Symbol.toStringTag,{value:"Module"})),Dp=Object.keys($g);class Jv extends Cn{constructor(t,n,r,i){let a=-1;if(super(t,n),a1(this,"space",i),typeof r=="number")for(;++a4&&n.slice(0,4)==="data"&&jR.test(t)){if(t.charAt(4)==="-"){const a=t.slice(5).replace(o1,CR);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=t.slice(4);if(!o1.test(a)){let l=a.replace(SR,ER);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Jv}return new i(r,t)}function ER(e){return"-"+e.toLowerCase()}function CR(e){return e.charAt(1).toUpperCase()}const OR=vC([yC,bR,wC,kC,SC],"html"),ey=vC([yC,wR,wC,kC,SC],"svg");function NR(e){return e.join(" ").trim()}var mo={},Mp,l1;function AR(){if(l1)return Mp;l1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,u=/^\s+|\s+$/g,c=` +`,f="/",d="*",p="",g="comment",y="declaration";function w(b,P){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];P=P||{};var E=1,O=1;function A(G){var Q=G.match(t);Q&&(E+=Q.length);var de=G.lastIndexOf(c);O=~de?G.length-de:O+G.length}function I(){var G={line:E,column:O};return function(Q){return Q.position=new C(G),H(),Q}}function C(G){this.start=G,this.end={line:E,column:O},this.source=P.source}C.prototype.content=b;function M(G){var Q=new Error(P.source+":"+E+":"+O+": "+G);if(Q.reason=G,Q.filename=P.source,Q.line=E,Q.column=O,Q.source=b,!P.silent)throw Q}function B(G){var Q=G.exec(b);if(Q){var de=Q[0];return A(de),b=b.slice(de.length),Q}}function H(){B(n)}function L(G){var Q;for(G=G||[];Q=W();)Q!==!1&&G.push(Q);return G}function W(){var G=I();if(!(f!=b.charAt(0)||d!=b.charAt(1))){for(var Q=2;p!=b.charAt(Q)&&(d!=b.charAt(Q)||f!=b.charAt(Q+1));)++Q;if(Q+=2,p===b.charAt(Q-1))return M("End of comment missing");var de=b.slice(2,Q-2);return O+=2,A(de),b=b.slice(Q),O+=2,G({type:g,comment:de})}}function R(){var G=I(),Q=B(r);if(Q){if(W(),!B(i))return M("property missing ':'");var de=B(a),ce=G({type:y,property:S(Q[0].replace(e,p)),value:de?S(de[0].replace(e,p)):p});return B(l),ce}}function V(){var G=[];L(G);for(var Q;Q=R();)Q!==!1&&(G.push(Q),L(G));return G}return H(),V()}function S(b){return b?b.replace(u,p):p}return Mp=w,Mp}var s1;function _R(){if(s1)return mo;s1=1;var e=mo&&mo.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mo,"__esModule",{value:!0}),mo.default=n;const t=e(AR());function n(r,i){let a=null;if(!r||typeof r!="string")return a;const l=(0,t.default)(r),u=typeof i=="function";return l.forEach(c=>{if(c.type!=="declaration")return;const{property:f,value:d}=c;u?i(f,d,c):d&&(a=a||{},a[f]=d)}),a}return mo}var zl={},u1;function IR(){if(u1)return zl;u1=1,Object.defineProperty(zl,"__esModule",{value:!0}),zl.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,a=function(f){return!f||n.test(f)||e.test(f)},l=function(f,d){return d.toUpperCase()},u=function(f,d){return"".concat(d,"-")},c=function(f,d){return d===void 0&&(d={}),a(f)?f:(f=f.toLowerCase(),d.reactCompat?f=f.replace(i,u):f=f.replace(r,u),f.replace(t,l))};return zl.camelCase=c,zl}var $l,c1;function TR(){if(c1)return $l;c1=1;var e=$l&&$l.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(_R()),n=IR();function r(i,a){var l={};return!i||typeof i!="string"||(0,t.default)(i,function(u,c){u&&c&&(l[(0,n.camelCase)(u,a)]=c)}),l}return r.default=r,$l=r,$l}var DR=TR();const MR=xr(DR),jC=PC("end"),ty=PC("start");function PC(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function LR(e){const t=ty(e),n=jC(e);if(t&&n)return{start:t,end:n}}function rs(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?f1(e.position):"start"in e||"end"in e?f1(e):"line"in e||"column"in e?Fg(e):""}function Fg(e){return d1(e&&e.line)+":"+d1(e&&e.column)}function f1(e){return Fg(e&&e.start)+"-"+Fg(e&&e.end)}function d1(e){return e&&typeof e=="number"?e:1}class an extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",a={},l=!1;if(n&&("line"in n&&"column"in n?a={place:n}:"start"in n&&"end"in n?a={place:n}:"type"in n?a={ancestors:[n],place:n.position}:a={...n}),typeof t=="string"?i=t:!a.cause&&t&&(l=!0,i=t.message,a.cause=t),!a.ruleId&&!a.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?a.ruleId=r:(a.source=r.slice(0,c),a.ruleId=r.slice(c+1))}if(!a.place&&a.ancestors&&a.ancestors){const c=a.ancestors[a.ancestors.length-1];c&&(a.place=c.position)}const u=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=u?u.line:void 0,this.name=rs(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=l&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}an.prototype.file="";an.prototype.name="";an.prototype.reason="";an.prototype.message="";an.prototype.stack="";an.prototype.column=void 0;an.prototype.line=void 0;an.prototype.ancestors=void 0;an.prototype.cause=void 0;an.prototype.fatal=void 0;an.prototype.place=void 0;an.prototype.ruleId=void 0;an.prototype.source=void 0;const ny={}.hasOwnProperty,RR=new Map,zR=/[A-Z]/g,$R=new Set(["table","tbody","thead","tfoot","tr"]),FR=new Set(["td","th"]),EC="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function BR(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=YR(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=GR(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ey:OR,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=CC(i,e,void 0);return a&&typeof a!="string"?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function CC(e,t,n){if(t.type==="element")return UR(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return WR(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return HR(e,t,n);if(t.type==="mdxjsEsm")return qR(e,t);if(t.type==="root")return VR(e,t,n);if(t.type==="text")return KR(e,t)}function UR(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=ey,e.schema=i),e.ancestors.push(t);const a=NC(e,t.tagName,!1),l=XR(e,t);let u=iy(e,t);return $R.has(t.tagName)&&(u=u.filter(function(c){return typeof c=="string"?!yR(c):!0})),OC(e,l,a,t),ry(l,u),e.ancestors.pop(),e.schema=r,e.create(t,a,l,n)}function WR(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}us(e,t.position)}function qR(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);us(e,t.position)}function HR(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=ey,e.schema=i),e.ancestors.push(t);const a=t.name===null?e.Fragment:NC(e,t.name,!0),l=QR(e,t),u=iy(e,t);return OC(e,l,a,t),ry(l,u),e.ancestors.pop(),e.schema=r,e.create(t,a,l,n)}function VR(e,t,n){const r={};return ry(r,iy(e,t)),e.create(t,e.Fragment,r,n)}function KR(e,t){return t.value}function OC(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function ry(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function GR(e,t,n){return r;function r(i,a,l,u){const f=Array.isArray(l.children)?n:t;return u?f(a,l,u):f(a,l)}}function YR(e,t){return n;function n(r,i,a,l){const u=Array.isArray(a.children),c=ty(r);return t(i,a,l,u,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function XR(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&ny.call(t.properties,i)){const a=ZR(e,i,t.properties[i]);if(a){const[l,u]=a;e.tableCellAlignToStyle&&l==="align"&&typeof u=="string"&&FR.has(t.tagName)?r=u:n[l]=u}}if(r){const a=n.style||(n.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function QR(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const a=r.data.estree.body[0];a.type;const l=a.expression;l.type;const u=l.properties[0];u.type,Object.assign(n,e.evaluater.evaluateExpression(u.argument))}else us(e,t.position);else{const i=r.name;let a;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const u=r.value.data.estree.body[0];u.type,a=e.evaluater.evaluateExpression(u.expression)}else us(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function iy(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:RR;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);a0?(Rn(e,e.length,0,t),e):t}const m1={}.hasOwnProperty;function _C(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"๏ฟฝ":String.fromCodePoint(n)}function pr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const cn=Ji(/[A-Za-z]/),rn=Ji(/[\dA-Za-z]/),lz=Ji(/[#-'*+\--9=?A-Z^-~]/);function Rc(e){return e!==null&&(e<32||e===127)}const Bg=Ji(/\d/),sz=Ji(/[\dA-Fa-f]/),uz=Ji(/[!-/:-@[-`{-~]/);function Oe(e){return e!==null&&e<-2}function Xe(e){return e!==null&&(e<0||e===32)}function Re(e){return e===-2||e===-1||e===32}const $f=Ji(new RegExp("\\p{P}|\\p{S}","u")),Na=Ji(/\s/);function Ji(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Uo(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&a<57344){const u=e.charCodeAt(n+1);a<56320&&u>56319&&u<57344?(l=String.fromCharCode(a,u),i=1):l="๏ฟฝ"}else l=String.fromCharCode(a);l&&(t.push(e.slice(r,n),encodeURIComponent(l)),r=n+i+1,l=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function $e(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let a=0;return l;function l(c){return Re(c)?(e.enter(n),u(c)):t(c)}function u(c){return Re(c)&&a++l))return;const M=t.events.length;let B=M,H,L;for(;B--;)if(t.events[B][0]==="exit"&&t.events[B][1].type==="chunkFlow"){if(H){L=t.events[B][1].end;break}H=!0}for(P(r),C=M;CO;){const I=n[A];t.containerState=I[1],I[0].exit.call(t,e)}n.length=O}function E(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function pz(e,t,n){return $e(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function _o(e){if(e===null||Xe(e)||Na(e))return 1;if($f(e))return 2}function Ff(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const p={...e[r][1].end},g={...e[n][1].start};v1(p,-c),v1(g,c),l={type:c>1?"strongSequence":"emphasisSequence",start:p,end:{...e[r][1].end}},u={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:g},a={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?"strong":"emphasis",start:{...l.start},end:{...u.end}},e[r][1].end={...l.start},e[n][1].start={...u.end},f=[],e[r][1].end.offset-e[r][1].start.offset&&(f=Xn(f,[["enter",e[r][1],t],["exit",e[r][1],t]])),f=Xn(f,[["enter",i,t],["enter",l,t],["exit",l,t],["enter",a,t]]),f=Xn(f,Ff(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),f=Xn(f,[["exit",a,t],["enter",u,t],["exit",u,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,f=Xn(f,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,Rn(e,r-1,n-r+3,f),n=r+f.length-d-2;break}}for(n=-1;++n0&&Re(C)?$e(e,E,"linePrefix",a+1)(C):E(C)}function E(C){return C===null||Oe(C)?e.check(y1,S,A)(C):(e.enter("codeFlowValue"),O(C))}function O(C){return C===null||Oe(C)?(e.exit("codeFlowValue"),E(C)):(e.consume(C),O)}function A(C){return e.exit("codeFenced"),t(C)}function I(C,M,B){let H=0;return L;function L(Q){return C.enter("lineEnding"),C.consume(Q),C.exit("lineEnding"),W}function W(Q){return C.enter("codeFencedFence"),Re(Q)?$e(C,R,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Q):R(Q)}function R(Q){return Q===u?(C.enter("codeFencedFenceSequence"),V(Q)):B(Q)}function V(Q){return Q===u?(H++,C.consume(Q),V):H>=l?(C.exit("codeFencedFenceSequence"),Re(Q)?$e(C,G,"whitespace")(Q):G(Q)):B(Q)}function G(Q){return Q===null||Oe(Q)?(C.exit("codeFencedFence"),M(Q)):B(Q)}}}function Ez(e,t,n){const r=this;return i;function i(l){return l===null?n(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),a)}function a(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}const Rp={name:"codeIndented",tokenize:Oz},Cz={partial:!0,tokenize:Nz};function Oz(e,t,n){const r=this;return i;function i(f){return e.enter("codeIndented"),$e(e,a,"linePrefix",5)(f)}function a(f){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?l(f):n(f)}function l(f){return f===null?c(f):Oe(f)?e.attempt(Cz,l,c)(f):(e.enter("codeFlowValue"),u(f))}function u(f){return f===null||Oe(f)?(e.exit("codeFlowValue"),l(f)):(e.consume(f),u)}function c(f){return e.exit("codeIndented"),t(f)}}function Nz(e,t,n){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?n(l):Oe(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):$e(e,a,"linePrefix",5)(l)}function a(l){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(l):Oe(l)?i(l):n(l)}}const Az={name:"codeText",previous:Iz,resolve:_z,tokenize:Tz};function _z(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const a=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Fl(this.left,r),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Fl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Fl(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}function RC(e,t,n,r,i,a,l,u,c){const f=c||Number.POSITIVE_INFINITY;let d=0;return p;function p(P){return P===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(P),e.exit(a),g):P===null||P===32||P===41||Rc(P)?n(P):(e.enter(r),e.enter(l),e.enter(u),e.enter("chunkString",{contentType:"string"}),S(P))}function g(P){return P===62?(e.enter(a),e.consume(P),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),y(P))}function y(P){return P===62?(e.exit("chunkString"),e.exit(u),g(P)):P===null||P===60||Oe(P)?n(P):(e.consume(P),P===92?w:y)}function w(P){return P===60||P===62||P===92?(e.consume(P),y):y(P)}function S(P){return!d&&(P===null||P===41||Xe(P))?(e.exit("chunkString"),e.exit(u),e.exit(l),e.exit(r),t(P)):d999||y===null||y===91||y===93&&!c||y===94&&!u&&"_hiddenFootnoteSupport"in l.parser.constructs?n(y):y===93?(e.exit(a),e.enter(i),e.consume(y),e.exit(i),e.exit(r),t):Oe(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===null||y===91||y===93||Oe(y)||u++>999?(e.exit("chunkString"),d(y)):(e.consume(y),c||(c=!Re(y)),y===92?g:p)}function g(y){return y===91||y===92||y===93?(e.consume(y),u++,p):p(y)}}function $C(e,t,n,r,i,a){let l;return u;function u(g){return g===34||g===39||g===40?(e.enter(r),e.enter(i),e.consume(g),e.exit(i),l=g===40?41:g,c):n(g)}function c(g){return g===l?(e.enter(i),e.consume(g),e.exit(i),e.exit(r),t):(e.enter(a),f(g))}function f(g){return g===l?(e.exit(a),c(l)):g===null?n(g):Oe(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),$e(e,f,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(g))}function d(g){return g===l||g===null||Oe(g)?(e.exit("chunkString"),f(g)):(e.consume(g),g===92?p:d)}function p(g){return g===l||g===92?(e.consume(g),d):d(g)}}function is(e,t){let n;return r;function r(i){return Oe(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Re(i)?$e(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const Bz={name:"definition",tokenize:Wz},Uz={partial:!0,tokenize:qz};function Wz(e,t,n){const r=this;let i;return a;function a(y){return e.enter("definition"),l(y)}function l(y){return zC.call(r,e,u,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function u(y){return i=pr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),c):n(y)}function c(y){return Xe(y)?is(e,f)(y):f(y)}function f(y){return RC(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function d(y){return e.attempt(Uz,p,p)(y)}function p(y){return Re(y)?$e(e,g,"whitespace")(y):g(y)}function g(y){return y===null||Oe(y)?(e.exit("definition"),r.parser.defined.push(i),t(y)):n(y)}}function qz(e,t,n){return r;function r(u){return Xe(u)?is(e,i)(u):n(u)}function i(u){return $C(e,a,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function a(u){return Re(u)?$e(e,l,"whitespace")(u):l(u)}function l(u){return u===null||Oe(u)?t(u):n(u)}}const Hz={name:"hardBreakEscape",tokenize:Vz};function Vz(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),i}function i(a){return Oe(a)?(e.exit("hardBreakEscape"),t(a)):n(a)}}const Kz={name:"headingAtx",resolve:Gz,tokenize:Yz};function Gz(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},a={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Rn(e,r,n-r+1,[["enter",i,t],["enter",a,t],["exit",a,t],["exit",i,t]])),e}function Yz(e,t,n){let r=0;return i;function i(d){return e.enter("atxHeading"),a(d)}function a(d){return e.enter("atxHeadingSequence"),l(d)}function l(d){return d===35&&r++<6?(e.consume(d),l):d===null||Xe(d)?(e.exit("atxHeadingSequence"),u(d)):n(d)}function u(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||Oe(d)?(e.exit("atxHeading"),t(d)):Re(d)?$e(e,u,"whitespace")(d):(e.enter("atxHeadingText"),f(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),u(d))}function f(d){return d===null||d===35||Xe(d)?(e.exit("atxHeadingText"),u(d)):(e.consume(d),f)}}const Xz=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],b1=["pre","script","style","textarea"],Qz={concrete:!0,name:"htmlFlow",resolveTo:e3,tokenize:t3},Zz={partial:!0,tokenize:r3},Jz={partial:!0,tokenize:n3};function e3(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function t3(e,t,n){const r=this;let i,a,l,u,c;return f;function f(_){return d(_)}function d(_){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(_),p}function p(_){return _===33?(e.consume(_),g):_===47?(e.consume(_),a=!0,S):_===63?(e.consume(_),i=3,r.interrupt?t:T):cn(_)?(e.consume(_),l=String.fromCharCode(_),b):n(_)}function g(_){return _===45?(e.consume(_),i=2,y):_===91?(e.consume(_),i=5,u=0,w):cn(_)?(e.consume(_),i=4,r.interrupt?t:T):n(_)}function y(_){return _===45?(e.consume(_),r.interrupt?t:T):n(_)}function w(_){const te="CDATA[";return _===te.charCodeAt(u++)?(e.consume(_),u===te.length?r.interrupt?t:R:w):n(_)}function S(_){return cn(_)?(e.consume(_),l=String.fromCharCode(_),b):n(_)}function b(_){if(_===null||_===47||_===62||Xe(_)){const te=_===47,he=l.toLowerCase();return!te&&!a&&b1.includes(he)?(i=1,r.interrupt?t(_):R(_)):Xz.includes(l.toLowerCase())?(i=6,te?(e.consume(_),P):r.interrupt?t(_):R(_)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(_):a?E(_):O(_))}return _===45||rn(_)?(e.consume(_),l+=String.fromCharCode(_),b):n(_)}function P(_){return _===62?(e.consume(_),r.interrupt?t:R):n(_)}function E(_){return Re(_)?(e.consume(_),E):L(_)}function O(_){return _===47?(e.consume(_),L):_===58||_===95||cn(_)?(e.consume(_),A):Re(_)?(e.consume(_),O):L(_)}function A(_){return _===45||_===46||_===58||_===95||rn(_)?(e.consume(_),A):I(_)}function I(_){return _===61?(e.consume(_),C):Re(_)?(e.consume(_),I):O(_)}function C(_){return _===null||_===60||_===61||_===62||_===96?n(_):_===34||_===39?(e.consume(_),c=_,M):Re(_)?(e.consume(_),C):B(_)}function M(_){return _===c?(e.consume(_),c=null,H):_===null||Oe(_)?n(_):(e.consume(_),M)}function B(_){return _===null||_===34||_===39||_===47||_===60||_===61||_===62||_===96||Xe(_)?I(_):(e.consume(_),B)}function H(_){return _===47||_===62||Re(_)?O(_):n(_)}function L(_){return _===62?(e.consume(_),W):n(_)}function W(_){return _===null||Oe(_)?R(_):Re(_)?(e.consume(_),W):n(_)}function R(_){return _===45&&i===2?(e.consume(_),de):_===60&&i===1?(e.consume(_),ce):_===62&&i===4?(e.consume(_),$):_===63&&i===3?(e.consume(_),T):_===93&&i===5?(e.consume(_),ae):Oe(_)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Zz,U,V)(_)):_===null||Oe(_)?(e.exit("htmlFlowData"),V(_)):(e.consume(_),R)}function V(_){return e.check(Jz,G,U)(_)}function G(_){return e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),Q}function Q(_){return _===null||Oe(_)?V(_):(e.enter("htmlFlowData"),R(_))}function de(_){return _===45?(e.consume(_),T):R(_)}function ce(_){return _===47?(e.consume(_),l="",J):R(_)}function J(_){if(_===62){const te=l.toLowerCase();return b1.includes(te)?(e.consume(_),$):R(_)}return cn(_)&&l.length<8?(e.consume(_),l+=String.fromCharCode(_),J):R(_)}function ae(_){return _===93?(e.consume(_),T):R(_)}function T(_){return _===62?(e.consume(_),$):_===45&&i===2?(e.consume(_),T):R(_)}function $(_){return _===null||Oe(_)?(e.exit("htmlFlowData"),U(_)):(e.consume(_),$)}function U(_){return e.exit("htmlFlow"),t(_)}}function n3(e,t,n){const r=this;return i;function i(l){return Oe(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),a):n(l)}function a(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}function r3(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Os,t,n)}}const i3={name:"htmlText",tokenize:a3};function a3(e,t,n){const r=this;let i,a,l;return u;function u(T){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(T),c}function c(T){return T===33?(e.consume(T),f):T===47?(e.consume(T),I):T===63?(e.consume(T),O):cn(T)?(e.consume(T),B):n(T)}function f(T){return T===45?(e.consume(T),d):T===91?(e.consume(T),a=0,w):cn(T)?(e.consume(T),E):n(T)}function d(T){return T===45?(e.consume(T),y):n(T)}function p(T){return T===null?n(T):T===45?(e.consume(T),g):Oe(T)?(l=p,ce(T)):(e.consume(T),p)}function g(T){return T===45?(e.consume(T),y):p(T)}function y(T){return T===62?de(T):T===45?g(T):p(T)}function w(T){const $="CDATA[";return T===$.charCodeAt(a++)?(e.consume(T),a===$.length?S:w):n(T)}function S(T){return T===null?n(T):T===93?(e.consume(T),b):Oe(T)?(l=S,ce(T)):(e.consume(T),S)}function b(T){return T===93?(e.consume(T),P):S(T)}function P(T){return T===62?de(T):T===93?(e.consume(T),P):S(T)}function E(T){return T===null||T===62?de(T):Oe(T)?(l=E,ce(T)):(e.consume(T),E)}function O(T){return T===null?n(T):T===63?(e.consume(T),A):Oe(T)?(l=O,ce(T)):(e.consume(T),O)}function A(T){return T===62?de(T):O(T)}function I(T){return cn(T)?(e.consume(T),C):n(T)}function C(T){return T===45||rn(T)?(e.consume(T),C):M(T)}function M(T){return Oe(T)?(l=M,ce(T)):Re(T)?(e.consume(T),M):de(T)}function B(T){return T===45||rn(T)?(e.consume(T),B):T===47||T===62||Xe(T)?H(T):n(T)}function H(T){return T===47?(e.consume(T),de):T===58||T===95||cn(T)?(e.consume(T),L):Oe(T)?(l=H,ce(T)):Re(T)?(e.consume(T),H):de(T)}function L(T){return T===45||T===46||T===58||T===95||rn(T)?(e.consume(T),L):W(T)}function W(T){return T===61?(e.consume(T),R):Oe(T)?(l=W,ce(T)):Re(T)?(e.consume(T),W):H(T)}function R(T){return T===null||T===60||T===61||T===62||T===96?n(T):T===34||T===39?(e.consume(T),i=T,V):Oe(T)?(l=R,ce(T)):Re(T)?(e.consume(T),R):(e.consume(T),G)}function V(T){return T===i?(e.consume(T),i=void 0,Q):T===null?n(T):Oe(T)?(l=V,ce(T)):(e.consume(T),V)}function G(T){return T===null||T===34||T===39||T===60||T===61||T===96?n(T):T===47||T===62||Xe(T)?H(T):(e.consume(T),G)}function Q(T){return T===47||T===62||Xe(T)?H(T):n(T)}function de(T){return T===62?(e.consume(T),e.exit("htmlTextData"),e.exit("htmlText"),t):n(T)}function ce(T){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),J}function J(T){return Re(T)?$e(e,ae,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):ae(T)}function ae(T){return e.enter("htmlTextData"),l(T)}}const ly={name:"labelEnd",resolveAll:u3,resolveTo:c3,tokenize:f3},o3={tokenize:d3},l3={tokenize:h3},s3={tokenize:p3};function u3(e){let t=-1;const n=[];for(;++t=3&&(f===null||Oe(f))?(e.exit("thematicBreak"),t(f)):n(f)}function c(f){return f===i?(e.consume(f),r++,c):(e.exit("thematicBreakSequence"),Re(f)?$e(e,u,"whitespace")(f):u(f))}}const Sn={continuation:{tokenize:j3},exit:E3,name:"list",tokenize:S3},w3={partial:!0,tokenize:C3},k3={partial:!0,tokenize:P3};function S3(e,t,n){const r=this,i=r.events[r.events.length-1];let a=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return u;function u(y){const w=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:Bg(y)){if(r.containerState.type||(r.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Nc,n,f)(y):f(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(y)}return n(y)}function c(y){return Bg(y)&&++l<10?(e.consume(y),c):(!r.interrupt||l<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),f(y)):n(y)}function f(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(Os,r.interrupt?n:d,e.attempt(w3,g,p))}function d(y){return r.containerState.initialBlankLine=!0,a++,g(y)}function p(y){return Re(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),g):n(y)}function g(y){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function j3(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Os,i,a);function i(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,$e(e,t,"listItemIndent",r.containerState.size+1)(u)}function a(u){return r.containerState.furtherBlankLines||!Re(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(k3,t,l)(u))}function l(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,$e(e,e.attempt(Sn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function P3(e,t,n){const r=this;return $e(e,i,"listItemIndent",r.containerState.size+1);function i(a){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(a):n(a)}}function E3(e){e.exit(this.containerState.type)}function C3(e,t,n){const r=this;return $e(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(a){const l=r.events[r.events.length-1];return!Re(a)&&l&&l[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}const w1={name:"setextUnderline",resolveTo:O3,tokenize:N3};function O3(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!a&&e[n][1].type==="definition"&&(a=n);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",a?(e.splice(i,0,["enter",l,t]),e.splice(a+1,0,["exit",e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=l,e.push(["exit",l,t]),e}function N3(e,t,n){const r=this;let i;return a;function a(f){let d=r.events.length,p;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){p=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||p)?(e.enter("setextHeadingLine"),i=f,l(f)):n(f)}function l(f){return e.enter("setextHeadingLineSequence"),u(f)}function u(f){return f===i?(e.consume(f),u):(e.exit("setextHeadingLineSequence"),Re(f)?$e(e,c,"lineSuffix")(f):c(f))}function c(f){return f===null||Oe(f)?(e.exit("setextHeadingLine"),t(f)):n(f)}}const A3={tokenize:_3};function _3(e){const t=this,n=e.attempt(Os,r,e.attempt(this.parser.constructs.flowInitial,i,$e(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Lz,i)),"linePrefix")));return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const I3={resolveAll:BC()},T3=FC("string"),D3=FC("text");function FC(e){return{resolveAll:BC(e==="text"?M3:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],a=n.attempt(i,l,u);return l;function l(d){return f(d)?a(d):u(d)}function u(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return f(d)?(n.exit("data"),a(d)):(n.consume(d),c)}function f(d){if(d===null)return!0;const p=i[d];let g=-1;if(p)for(;++g-1){const u=l[0];typeof u=="string"?l[0]=u.slice(r):l.shift()}a>0&&l.push(e[i].slice(0,a))}return l}function G3(e,t){let n=-1;const r=[];let i;for(;++n0){const qt=Ne.tokenStack[Ne.tokenStack.length-1];(qt[1]||S1).call(Ne,void 0,qt[0])}for(pe.position={start:Bi(J.length>0?J[0][1].start:{line:1,column:1,offset:0}),end:Bi(J.length>0?J[J.length-2][1].end:{line:1,column:1,offset:0})},Fe=-1;++Fe0){const qt=Ne.tokenStack[Ne.tokenStack.length-1];(qt[1]||S1).call(Ne,void 0,qt[0])}for(pe.position={start:Bi(ee.length>0?ee[0][1].start:{line:1,column:1,offset:0}),end:Bi(ee.length>0?ee[ee.length-2][1].end:{line:1,column:1,offset:0})},Fe=-1;++Fe0&&(r.className=["language-"+i[0]]);let a={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a}function s$(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function u$(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function c$(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=Uo(r.toLowerCase()),a=e.footnoteOrder.indexOf(r);let l,u=e.footnoteCounts.get(r);u===void 0?(u=0,e.footnoteOrder.push(r),l=e.footnoteOrder.length):l=a+1,u+=1,e.footnoteCounts.set(r,u);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(u>1?"-"+u:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(l)}]};e.patch(t,c);const f={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,f),e.applyData(t,f)}function f$(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function d$(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function qC(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),a=i[0];a&&a.type==="text"?a.value="["+a.value:i.unshift({type:"text",value:"["});const l=i[i.length-1];return l&&l.type==="text"?l.value+=r:i.push({type:"text",value:r}),i}function p$(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return qC(e,t);const i={src:Uo(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const a={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function h$(e,t){const n={src:Uo(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function m$(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function g$(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return qC(e,t);const i={href:Uo(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const a={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function v$(e,t){const n={href:Uo(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function y$(e,t,n){const r=e.all(t),i=n?x$(n):HC(t),a={},l=[];if(typeof t.checked=="boolean"){const d=r[0];let h;d&&d.type==="element"&&d.tagName==="p"?h=d:(h={type:"element",tagName:"p",properties:{},children:[]},r.unshift(h)),h.children.length>0&&h.children.unshift({type:"text",value:" "}),h.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let u=-1;for(;++u0&&(r.className=["language-"+i[0]]);let a={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a}function s$(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function u$(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function c$(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=Uo(r.toLowerCase()),a=e.footnoteOrder.indexOf(r);let l,u=e.footnoteCounts.get(r);u===void 0?(u=0,e.footnoteOrder.push(r),l=e.footnoteOrder.length):l=a+1,u+=1,e.footnoteCounts.set(r,u);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(u>1?"-"+u:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(l)}]};e.patch(t,c);const f={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,f),e.applyData(t,f)}function f$(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function d$(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function qC(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),a=i[0];a&&a.type==="text"?a.value="["+a.value:i.unshift({type:"text",value:"["});const l=i[i.length-1];return l&&l.type==="text"?l.value+=r:i.push({type:"text",value:r}),i}function h$(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return qC(e,t);const i={src:Uo(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const a={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function p$(e,t){const n={src:Uo(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function m$(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function g$(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return qC(e,t);const i={href:Uo(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const a={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function v$(e,t){const n={href:Uo(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function y$(e,t,n){const r=e.all(t),i=n?x$(n):HC(t),a={},l=[];if(typeof t.checked=="boolean"){const d=r[0];let p;d&&d.type==="element"&&d.tagName==="p"?p=d:(p={type:"element",tagName:"p",properties:{},children:[]},r.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let u=-1;for(;++u1}function b$(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const l={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},u=ty(t.children[1]),c=jC(t.children[t.children.length-1]);u&&c&&(l.position={start:u,end:c}),i.push(l)}const a={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function P$(e,t,n){const r=n?n.children:void 0,a=(r?r.indexOf(t):1)===0?"th":"td",l=n&&n.type==="table"?n.align:void 0,u=l?l.length:t.children.length;let c=-1;const f=[];for(;++c0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(E1(t.slice(i),i>0,!1)),a.join("")}function E1(e,t,n){let r=0,i=e.length;if(t){let a=e.codePointAt(r);for(;a===j1||a===P1;)r++,a=e.codePointAt(r)}if(n){let a=e.codePointAt(i-1);for(;a===j1||a===P1;)i--,a=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function O$(e,t){const n={type:"text",value:C$(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function N$(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const A$={blockquote:a$,break:o$,code:l$,delete:s$,emphasis:u$,footnoteReference:c$,heading:f$,html:d$,imageReference:p$,image:h$,inlineCode:m$,linkReference:g$,link:v$,listItem:y$,list:b$,paragraph:w$,root:k$,strong:S$,table:j$,tableCell:E$,tableRow:P$,text:O$,thematicBreak:N$,toml:oc,yaml:oc,definition:oc,footnoteDefinition:oc};function oc(){}const VC=-1,Bf=0,as=1,zc=2,sy=3,uy=4,cy=5,fy=6,KC=7,GC=8,C1=typeof self=="object"?self:globalThis,_$=(e,t)=>{const n=(i,a)=>(e.set(a,i),i),r=i=>{if(e.has(i))return e.get(i);const[a,l]=t[i];switch(a){case Bf:case VC:return n(l,i);case as:{const u=n([],i);for(const c of l)u.push(r(c));return u}case zc:{const u=n({},i);for(const[c,f]of l)u[r(c)]=r(f);return u}case sy:return n(new Date(l),i);case uy:{const{source:u,flags:c}=l;return n(new RegExp(u,c),i)}case cy:{const u=n(new Map,i);for(const[c,f]of l)u.set(r(c),r(f));return u}case fy:{const u=n(new Set,i);for(const c of l)u.add(r(c));return u}case KC:{const{name:u,message:c}=l;return n(new C1[u](c),i)}case GC:return n(BigInt(l),i);case"BigInt":return n(Object(BigInt(l)),i);case"ArrayBuffer":return n(new Uint8Array(l).buffer,l);case"DataView":{const{buffer:u}=new Uint8Array(l);return n(new DataView(u),l)}}return n(new C1[a](l),i)};return r},O1=e=>_$(new Map,e)(0),go="",{toString:I$}={},{keys:T$}=Object,Bl=e=>{const t=typeof e;if(t!=="object"||!e)return[Bf,t];const n=I$.call(e).slice(8,-1);switch(n){case"Array":return[as,go];case"Object":return[zc,go];case"Date":return[sy,go];case"RegExp":return[uy,go];case"Map":return[cy,go];case"Set":return[fy,go];case"DataView":return[as,n]}return n.includes("Array")?[as,n]:n.includes("Error")?[KC,n]:[zc,n]},lc=([e,t])=>e===Bf&&(t==="function"||t==="symbol"),D$=(e,t,n,r)=>{const i=(l,u)=>{const c=r.push(l)-1;return n.set(u,c),c},a=l=>{if(n.has(l))return n.get(l);let[u,c]=Bl(l);switch(u){case Bf:{let d=l;switch(c){case"bigint":u=GC,d=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return i([VC],l)}return i([u,d],l)}case as:{if(c){let g=l;return c==="DataView"?g=new Uint8Array(l.buffer):c==="ArrayBuffer"&&(g=new Uint8Array(l)),i([c,[...g]],l)}const d=[],h=i([u,d],l);for(const g of l)d.push(a(g));return h}case zc:{if(c)switch(c){case"BigInt":return i([c,l.toString()],l);case"Boolean":case"Number":case"String":return i([c,l.valueOf()],l)}if(t&&"toJSON"in l)return a(l.toJSON());const d=[],h=i([u,d],l);for(const g of T$(l))(e||!lc(Bl(l[g])))&&d.push([a(g),a(l[g])]);return h}case sy:return i([u,l.toISOString()],l);case uy:{const{source:d,flags:h}=l;return i([u,{source:d,flags:h}],l)}case cy:{const d=[],h=i([u,d],l);for(const[g,y]of l)(e||!(lc(Bl(g))||lc(Bl(y))))&&d.push([a(g),a(y)]);return h}case fy:{const d=[],h=i([u,d],l);for(const g of l)(e||!lc(Bl(g)))&&d.push(a(g));return h}}const{message:f}=l;return i([u,{name:c,message:f}],l)};return a},N1=(e,{json:t,lossy:n}={})=>{const r=[];return D$(!(t||n),!!t,new Map,r)(e),r},$c=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?O1(N1(e,t)):structuredClone(e):(e,t)=>O1(N1(e,t));function M$(e,t){const n=[{type:"text",value:"โ†ฉ"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function L$(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function R$(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||M$,r=e.options.footnoteBackLabel||L$,i=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",l=e.options.footnoteLabelProperties||{className:["sr-only"]},u=[];let c=-1;for(;++c0&&w.push({type:"text",value:" "});let E=typeof n=="string"?n:n(c,y);typeof E=="string"&&(E={type:"text",value:E}),w.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+g+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,y),className:["data-footnote-backref"]},children:Array.isArray(E)?E:[E]})}const b=d[d.length-1];if(b&&b.type==="element"&&b.tagName==="p"){const E=b.children[b.children.length-1];E&&E.type==="text"?E.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...w)}else d.push(...w);const P={type:"element",tagName:"li",properties:{id:t+"fn-"+g},children:e.wrap(d,!0)};e.patch(f,P),u.push(P)}if(u.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...$c(l),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`});const f={type:"element",tagName:"li",properties:a,children:l};return e.patch(t,f),e.applyData(t,f)}function x$(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r1}function b$(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const l={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},u=ty(t.children[1]),c=jC(t.children[t.children.length-1]);u&&c&&(l.position={start:u,end:c}),i.push(l)}const a={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function P$(e,t,n){const r=n?n.children:void 0,a=(r?r.indexOf(t):1)===0?"th":"td",l=n&&n.type==="table"?n.align:void 0,u=l?l.length:t.children.length;let c=-1;const f=[];for(;++c0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(E1(t.slice(i),i>0,!1)),a.join("")}function E1(e,t,n){let r=0,i=e.length;if(t){let a=e.codePointAt(r);for(;a===j1||a===P1;)r++,a=e.codePointAt(r)}if(n){let a=e.codePointAt(i-1);for(;a===j1||a===P1;)i--,a=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function O$(e,t){const n={type:"text",value:C$(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function N$(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const A$={blockquote:a$,break:o$,code:l$,delete:s$,emphasis:u$,footnoteReference:c$,heading:f$,html:d$,imageReference:h$,image:p$,inlineCode:m$,linkReference:g$,link:v$,listItem:y$,list:b$,paragraph:w$,root:k$,strong:S$,table:j$,tableCell:E$,tableRow:P$,text:O$,thematicBreak:N$,toml:oc,yaml:oc,definition:oc,footnoteDefinition:oc};function oc(){}const VC=-1,Bf=0,as=1,zc=2,sy=3,uy=4,cy=5,fy=6,KC=7,GC=8,C1=typeof self=="object"?self:globalThis,_$=(e,t)=>{const n=(i,a)=>(e.set(a,i),i),r=i=>{if(e.has(i))return e.get(i);const[a,l]=t[i];switch(a){case Bf:case VC:return n(l,i);case as:{const u=n([],i);for(const c of l)u.push(r(c));return u}case zc:{const u=n({},i);for(const[c,f]of l)u[r(c)]=r(f);return u}case sy:return n(new Date(l),i);case uy:{const{source:u,flags:c}=l;return n(new RegExp(u,c),i)}case cy:{const u=n(new Map,i);for(const[c,f]of l)u.set(r(c),r(f));return u}case fy:{const u=n(new Set,i);for(const c of l)u.add(r(c));return u}case KC:{const{name:u,message:c}=l;return n(new C1[u](c),i)}case GC:return n(BigInt(l),i);case"BigInt":return n(Object(BigInt(l)),i);case"ArrayBuffer":return n(new Uint8Array(l).buffer,l);case"DataView":{const{buffer:u}=new Uint8Array(l);return n(new DataView(u),l)}}return n(new C1[a](l),i)};return r},O1=e=>_$(new Map,e)(0),go="",{toString:I$}={},{keys:T$}=Object,Bl=e=>{const t=typeof e;if(t!=="object"||!e)return[Bf,t];const n=I$.call(e).slice(8,-1);switch(n){case"Array":return[as,go];case"Object":return[zc,go];case"Date":return[sy,go];case"RegExp":return[uy,go];case"Map":return[cy,go];case"Set":return[fy,go];case"DataView":return[as,n]}return n.includes("Array")?[as,n]:n.includes("Error")?[KC,n]:[zc,n]},lc=([e,t])=>e===Bf&&(t==="function"||t==="symbol"),D$=(e,t,n,r)=>{const i=(l,u)=>{const c=r.push(l)-1;return n.set(u,c),c},a=l=>{if(n.has(l))return n.get(l);let[u,c]=Bl(l);switch(u){case Bf:{let d=l;switch(c){case"bigint":u=GC,d=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return i([VC],l)}return i([u,d],l)}case as:{if(c){let g=l;return c==="DataView"?g=new Uint8Array(l.buffer):c==="ArrayBuffer"&&(g=new Uint8Array(l)),i([c,[...g]],l)}const d=[],p=i([u,d],l);for(const g of l)d.push(a(g));return p}case zc:{if(c)switch(c){case"BigInt":return i([c,l.toString()],l);case"Boolean":case"Number":case"String":return i([c,l.valueOf()],l)}if(t&&"toJSON"in l)return a(l.toJSON());const d=[],p=i([u,d],l);for(const g of T$(l))(e||!lc(Bl(l[g])))&&d.push([a(g),a(l[g])]);return p}case sy:return i([u,l.toISOString()],l);case uy:{const{source:d,flags:p}=l;return i([u,{source:d,flags:p}],l)}case cy:{const d=[],p=i([u,d],l);for(const[g,y]of l)(e||!(lc(Bl(g))||lc(Bl(y))))&&d.push([a(g),a(y)]);return p}case fy:{const d=[],p=i([u,d],l);for(const g of l)(e||!lc(Bl(g)))&&d.push(a(g));return p}}const{message:f}=l;return i([u,{name:c,message:f}],l)};return a},N1=(e,{json:t,lossy:n}={})=>{const r=[];return D$(!(t||n),!!t,new Map,r)(e),r},$c=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?O1(N1(e,t)):structuredClone(e):(e,t)=>O1(N1(e,t));function M$(e,t){const n=[{type:"text",value:"โ†ฉ"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function L$(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function R$(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||M$,r=e.options.footnoteBackLabel||L$,i=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",l=e.options.footnoteLabelProperties||{className:["sr-only"]},u=[];let c=-1;for(;++c0&&w.push({type:"text",value:" "});let E=typeof n=="string"?n:n(c,y);typeof E=="string"&&(E={type:"text",value:E}),w.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+g+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,y),className:["data-footnote-backref"]},children:Array.isArray(E)?E:[E]})}const b=d[d.length-1];if(b&&b.type==="element"&&b.tagName==="p"){const E=b.children[b.children.length-1];E&&E.type==="text"?E.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...w)}else d.push(...w);const P={type:"element",tagName:"li",properties:{id:t+"fn-"+g},children:e.wrap(d,!0)};e.patch(f,P),u.push(P)}if(u.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...$c(l),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(u,!0)},{type:"text",value:` -`}]}}const Uf=(function(e){if(e==null)return B$;if(typeof e=="function")return Wf(e);if(typeof e=="object")return Array.isArray(e)?z$(e):$$(e);if(typeof e=="string")return F$(e);throw new Error("Expected function, string, or object as test")});function z$(e){const t=[];let n=-1;for(;++n":""))+")"})}return g;function g(){let y=YC,w,S,b;if((!t||a(c,f,d[d.length-1]||void 0))&&(y=H$(n(c,d)),y[0]===Wg))return y;if("children"in c&&c.children){const P=c;if(P.children&&y[0]!==q$)for(S=(r?P.children.length:-1)+l,b=d.concat(P);S>-1&&S":""))+")"})}return g;function g(){let y=YC,w,S,b;if((!t||a(c,f,d[d.length-1]||void 0))&&(y=H$(n(c,d)),y[0]===Wg))return y;if("children"in c&&c.children){const P=c;if(P.children&&y[0]!==q$)for(S=(r?P.children.length:-1)+l,b=d.concat(P);S>-1&&S0&&n.push({type:"text",value:` `}),n}function A1(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function _1(e,t){const n=K$(e,t),r=n.one(e,void 0),i=R$(n),a=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&a.children.push({type:"text",value:` -`},i),a}function Z$(e,t){return e&&"run"in e?async function(n,r){const i=_1(n,{file:r,...t});await e.run(i,r)}:function(n,r){return _1(n,{file:r,...e||t})}}function I1(e){if(e)throw e}var $h,T1;function J$(){if(T1)return $h;T1=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(f){return typeof Array.isArray=="function"?Array.isArray(f):t.call(f)==="[object Array]"},a=function(f){if(!f||t.call(f)!=="[object Object]")return!1;var d=e.call(f,"constructor"),h=f.constructor&&f.constructor.prototype&&e.call(f.constructor.prototype,"isPrototypeOf");if(f.constructor&&!d&&!h)return!1;var g;for(g in f);return typeof g>"u"||e.call(f,g)},l=function(f,d){n&&d.name==="__proto__"?n(f,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):f[d.name]=d.newValue},u=function(f,d){if(d==="__proto__")if(e.call(f,d)){if(r)return r(f,d).value}else return;return f[d]};return $h=function c(){var f,d,h,g,y,w,S=arguments[0],b=1,P=arguments.length,E=!1;for(typeof S=="boolean"&&(E=S,S=arguments[1]||{},b=2),(S==null||typeof S!="object"&&typeof S!="function")&&(S={});bl.length;let c;u&&l.push(i);try{c=e.apply(this,l)}catch(f){const d=f;if(u&&n)throw d;return i(d)}u||(c&&c.then&&typeof c.then=="function"?c.then(a,i):c instanceof Error?i(c):a(c))}function i(l,...u){n||(n=!0,t(l,...u))}function a(l){i(null,l)}}const Ar={basename:r4,dirname:i4,extname:a4,join:o4,sep:"/"};function r4(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Ns(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let l=-1,u=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else l<0&&(a=!0,l=i+1),u>-1&&(e.codePointAt(i)===t.codePointAt(u--)?u<0&&(r=i):(u=-1,r=l));return n===r?r=l:r<0&&(r=e.length),e.slice(n,r)}function i4(e){if(Ns(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function a4(e){Ns(e);let t=e.length,n=-1,r=0,i=-1,a=0,l;for(;t--;){const u=e.codePointAt(t);if(u===47){if(l){r=t+1;break}continue}n<0&&(l=!0,n=t+1),u===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function o4(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function s4(e,t){let n="",r=0,i=-1,a=0,l=-1,u,c;for(;++l<=e.length;){if(l2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf("/")),i=l,a=0;continue}}else if(n.length>0){n="",r=0,i=l,a=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,l):n=e.slice(i+1,l),r=l-i-1;i=l,a=0}else u===46&&a>-1?a++:a=-1}return n}function Ns(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const u4={cwd:c4};function c4(){return"/"}function Vg(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function f4(e){if(typeof e=="string")e=new URL(e);else if(!Vg(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return d4(e)}function d4(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[y,...w]=d;const S=r[g][1];Hg(S)&&Hg(y)&&(y=Fh(!0,S,y)),r[g]=[f,y,...w]}}}}const g4=new py().freeze();function qh(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Hh(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Vh(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function M1(e){if(!Hg(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function L1(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function sc(e){return v4(e)?e:new QC(e)}function v4(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function y4(e){return typeof e=="string"||x4(e)}function x4(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const b4="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",R1=[],z1={allowDangerousHtml:!0},w4=/^(https?|ircs?|mailto|xmpp)$/i,k4=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function S4(e){const t=j4(e),n=P4(e);return E4(t.runSync(t.parse(n),n),e)}function j4(e){const t=e.rehypePlugins||R1,n=e.remarkPlugins||R1,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...z1}:z1;return g4().use(i$).use(n).use(Z$,r).use(t)}function P4(e){const t=e.children||"",n=new QC;return typeof t=="string"&&(n.value=t),n}function E4(e,t){const n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,l=t.skipHtml,u=t.unwrapDisallowed,c=t.urlTransform||C4;for(const d of k4)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+b4+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),dy(e,f),BR(e,{Fragment:m.Fragment,components:i,ignoreInvalidStyle:!0,jsx:m.jsx,jsxs:m.jsxs,passKeys:!0,passNode:!0});function f(d,h,g){if(d.type==="raw"&&g&&typeof h=="number")return l?g.children.splice(h,1):g.children[h]={type:"text",value:d.value},h;if(d.type==="element"){let y;for(y in Lh)if(Object.hasOwn(Lh,y)&&Object.hasOwn(d.properties,y)){const w=d.properties[y],S=Lh[y];(S===null||S.includes(d.tagName))&&(d.properties[y]=c(String(w||""),y,d))}}if(d.type==="element"){let y=n?!n.includes(d.tagName):a?a.includes(d.tagName):!1;if(!y&&r&&typeof h=="number"&&(y=!r(d,h,g)),y&&g&&typeof h=="number")return u&&d.children?g.children.splice(h,1,...d.children):g.children.splice(h,1),h}}}function C4(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||w4.test(e.slice(0,t))?e:""}function $1(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function O4(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function N4(e,t,n){const i=Uf((n||{}).ignore||[]),a=A4(t);let l=-1;for(;++l0?{type:"text",value:C}:void 0),C===!1?g.lastIndex=A+1:(w!==A&&E.push({type:"text",value:f.value.slice(w,A)}),Array.isArray(C)?E.push(...C):C&&E.push(C),w=A+O[0].length,P=!0),!g.global)break;O=g.exec(f.value)}return P?(w?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const i=$1(e,"(");let a=$1(e,")");for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),a++;return[e,n]}function ZC(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Na(n)||$f(n))&&(!t||n!==47)}JC.peek=J4;function H4(){this.buffer()}function V4(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function K4(){this.buffer()}function G4(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Y4(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=hr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function X4(e){this.exit(e)}function Q4(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=hr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Z4(e){this.exit(e)}function J4(){return"["}function JC(e,t,n,r){const i=n.createTracker(r);let a=i.move("[^");const l=n.enter("footnoteReference"),u=n.enter("reference");return a+=i.move(n.safe(n.associationId(e),{after:"]",before:a})),u(),l(),a+=i.move("]"),a}function eF(){return{enter:{gfmFootnoteCallString:H4,gfmFootnoteCall:V4,gfmFootnoteDefinitionLabelString:K4,gfmFootnoteDefinition:G4},exit:{gfmFootnoteCallString:Y4,gfmFootnoteCall:X4,gfmFootnoteDefinitionLabelString:Q4,gfmFootnoteDefinition:Z4}}}function tF(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:JC},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,a,l){const u=a.createTracker(l);let c=u.move("[^");const f=a.enter("footnoteDefinition"),d=a.enter("label");return c+=u.move(a.safe(a.associationId(r),{before:c,after:"]"})),d(),c+=u.move("]:"),r.children&&r.children.length>0&&(u.shift(4),c+=u.move((t?` -`:" ")+a.indentLines(a.containerFlow(r,u.current()),t?eO:nF))),f(),c}}function nF(e,t,n){return t===0?e:eO(e,t,n)}function eO(e,t,n){return(n?"":" ")+e}const rF=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];tO.peek=sF;function iF(){return{canContainEols:["delete"],enter:{strikethrough:oF},exit:{strikethrough:lF}}}function aF(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:rF}],handlers:{delete:tO}}}function oF(e){this.enter({type:"delete",children:[]},e)}function lF(e){this.exit(e)}function tO(e,t,n,r){const i=n.createTracker(r),a=n.enter("strikethrough");let l=i.move("~~");return l+=n.containerPhrasing(e,{...i.current(),before:l,after:"~"}),l+=i.move("~~"),a(),l}function sF(){return"~"}function uF(e){return e.length}function cF(e,t){const n=t||{},r=(n.align||[]).concat(),i=n.stringLength||uF,a=[],l=[],u=[],c=[];let f=0,d=-1;for(;++df&&(f=e[d].length);++Pc[P])&&(c[P]=O)}S.push(E)}l[d]=S,u[d]=b}let h=-1;if(typeof r=="object"&&"length"in r)for(;++hc[h]&&(c[h]=E),y[h]=E),g[h]=O}l.splice(1,0,g),u.splice(1,0,y),d=-1;const w=[];for(;++d "),a.shift(2);const l=n.indentLines(n.containerFlow(e,a.current()),pF);return i(),l}function pF(e,t,n){return">"+(n?"":" ")+e}function hF(e,t){return B1(e,t.inConstruct,!0)&&!B1(e,t.notInConstruct,!1)}function B1(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++rl&&(l=a):a=1,i=r+t.length,r=n.indexOf(t,i);return l}function gF(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function vF(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function yF(e,t,n,r){const i=vF(n),a=e.value||"",l=i==="`"?"GraveAccent":"Tilde";if(gF(e,n)){const h=n.enter("codeIndented"),g=n.indentLines(a,xF);return h(),g}const u=n.createTracker(r),c=i.repeat(Math.max(mF(a,i)+1,3)),f=n.enter("codeFenced");let d=u.move(c);if(e.lang){const h=n.enter(`codeFencedLang${l}`);d+=u.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...u.current()})),h()}if(e.lang&&e.meta){const h=n.enter(`codeFencedMeta${l}`);d+=u.move(" "),d+=u.move(n.safe(e.meta,{before:d,after:` -`,encode:["`"],...u.current()})),h()}return d+=u.move(` +`},i),a}function Z$(e,t){return e&&"run"in e?async function(n,r){const i=_1(n,{file:r,...t});await e.run(i,r)}:function(n,r){return _1(n,{file:r,...e||t})}}function I1(e){if(e)throw e}var $p,T1;function J$(){if(T1)return $p;T1=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(f){return typeof Array.isArray=="function"?Array.isArray(f):t.call(f)==="[object Array]"},a=function(f){if(!f||t.call(f)!=="[object Object]")return!1;var d=e.call(f,"constructor"),p=f.constructor&&f.constructor.prototype&&e.call(f.constructor.prototype,"isPrototypeOf");if(f.constructor&&!d&&!p)return!1;var g;for(g in f);return typeof g>"u"||e.call(f,g)},l=function(f,d){n&&d.name==="__proto__"?n(f,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):f[d.name]=d.newValue},u=function(f,d){if(d==="__proto__")if(e.call(f,d)){if(r)return r(f,d).value}else return;return f[d]};return $p=function c(){var f,d,p,g,y,w,S=arguments[0],b=1,P=arguments.length,E=!1;for(typeof S=="boolean"&&(E=S,S=arguments[1]||{},b=2),(S==null||typeof S!="object"&&typeof S!="function")&&(S={});bl.length;let c;u&&l.push(i);try{c=e.apply(this,l)}catch(f){const d=f;if(u&&n)throw d;return i(d)}u||(c&&c.then&&typeof c.then=="function"?c.then(a,i):c instanceof Error?i(c):a(c))}function i(l,...u){n||(n=!0,t(l,...u))}function a(l){i(null,l)}}const Ar={basename:r4,dirname:i4,extname:a4,join:o4,sep:"/"};function r4(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Ns(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let l=-1,u=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else l<0&&(a=!0,l=i+1),u>-1&&(e.codePointAt(i)===t.codePointAt(u--)?u<0&&(r=i):(u=-1,r=l));return n===r?r=l:r<0&&(r=e.length),e.slice(n,r)}function i4(e){if(Ns(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function a4(e){Ns(e);let t=e.length,n=-1,r=0,i=-1,a=0,l;for(;t--;){const u=e.codePointAt(t);if(u===47){if(l){r=t+1;break}continue}n<0&&(l=!0,n=t+1),u===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function o4(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function s4(e,t){let n="",r=0,i=-1,a=0,l=-1,u,c;for(;++l<=e.length;){if(l2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf("/")),i=l,a=0;continue}}else if(n.length>0){n="",r=0,i=l,a=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,l):n=e.slice(i+1,l),r=l-i-1;i=l,a=0}else u===46&&a>-1?a++:a=-1}return n}function Ns(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const u4={cwd:c4};function c4(){return"/"}function Vg(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function f4(e){if(typeof e=="string")e=new URL(e);else if(!Vg(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return d4(e)}function d4(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[y,...w]=d;const S=r[g][1];Hg(S)&&Hg(y)&&(y=Fp(!0,S,y)),r[g]=[f,y,...w]}}}}const g4=new hy().freeze();function qp(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Hp(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Vp(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function M1(e){if(!Hg(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function L1(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function sc(e){return v4(e)?e:new QC(e)}function v4(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function y4(e){return typeof e=="string"||x4(e)}function x4(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const b4="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",R1=[],z1={allowDangerousHtml:!0},w4=/^(https?|ircs?|mailto|xmpp)$/i,k4=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function S4(e){const t=j4(e),n=P4(e);return E4(t.runSync(t.parse(n),n),e)}function j4(e){const t=e.rehypePlugins||R1,n=e.remarkPlugins||R1,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...z1}:z1;return g4().use(i$).use(n).use(Z$,r).use(t)}function P4(e){const t=e.children||"",n=new QC;return typeof t=="string"&&(n.value=t),n}function E4(e,t){const n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,l=t.skipHtml,u=t.unwrapDisallowed,c=t.urlTransform||C4;for(const d of k4)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+b4+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),dy(e,f),BR(e,{Fragment:m.Fragment,components:i,ignoreInvalidStyle:!0,jsx:m.jsx,jsxs:m.jsxs,passKeys:!0,passNode:!0});function f(d,p,g){if(d.type==="raw"&&g&&typeof p=="number")return l?g.children.splice(p,1):g.children[p]={type:"text",value:d.value},p;if(d.type==="element"){let y;for(y in Lp)if(Object.hasOwn(Lp,y)&&Object.hasOwn(d.properties,y)){const w=d.properties[y],S=Lp[y];(S===null||S.includes(d.tagName))&&(d.properties[y]=c(String(w||""),y,d))}}if(d.type==="element"){let y=n?!n.includes(d.tagName):a?a.includes(d.tagName):!1;if(!y&&r&&typeof p=="number"&&(y=!r(d,p,g)),y&&g&&typeof p=="number")return u&&d.children?g.children.splice(p,1,...d.children):g.children.splice(p,1),p}}}function C4(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||w4.test(e.slice(0,t))?e:""}function $1(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function O4(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function N4(e,t,n){const i=Uf((n||{}).ignore||[]),a=A4(t);let l=-1;for(;++l0?{type:"text",value:C}:void 0),C===!1?g.lastIndex=A+1:(w!==A&&E.push({type:"text",value:f.value.slice(w,A)}),Array.isArray(C)?E.push(...C):C&&E.push(C),w=A+O[0].length,P=!0),!g.global)break;O=g.exec(f.value)}return P?(w?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const i=$1(e,"(");let a=$1(e,")");for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),a++;return[e,n]}function ZC(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Na(n)||$f(n))&&(!t||n!==47)}JC.peek=J4;function H4(){this.buffer()}function V4(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function K4(){this.buffer()}function G4(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Y4(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=pr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function X4(e){this.exit(e)}function Q4(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=pr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Z4(e){this.exit(e)}function J4(){return"["}function JC(e,t,n,r){const i=n.createTracker(r);let a=i.move("[^");const l=n.enter("footnoteReference"),u=n.enter("reference");return a+=i.move(n.safe(n.associationId(e),{after:"]",before:a})),u(),l(),a+=i.move("]"),a}function eF(){return{enter:{gfmFootnoteCallString:H4,gfmFootnoteCall:V4,gfmFootnoteDefinitionLabelString:K4,gfmFootnoteDefinition:G4},exit:{gfmFootnoteCallString:Y4,gfmFootnoteCall:X4,gfmFootnoteDefinitionLabelString:Q4,gfmFootnoteDefinition:Z4}}}function tF(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:JC},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,a,l){const u=a.createTracker(l);let c=u.move("[^");const f=a.enter("footnoteDefinition"),d=a.enter("label");return c+=u.move(a.safe(a.associationId(r),{before:c,after:"]"})),d(),c+=u.move("]:"),r.children&&r.children.length>0&&(u.shift(4),c+=u.move((t?` +`:" ")+a.indentLines(a.containerFlow(r,u.current()),t?eO:nF))),f(),c}}function nF(e,t,n){return t===0?e:eO(e,t,n)}function eO(e,t,n){return(n?"":" ")+e}const rF=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];tO.peek=sF;function iF(){return{canContainEols:["delete"],enter:{strikethrough:oF},exit:{strikethrough:lF}}}function aF(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:rF}],handlers:{delete:tO}}}function oF(e){this.enter({type:"delete",children:[]},e)}function lF(e){this.exit(e)}function tO(e,t,n,r){const i=n.createTracker(r),a=n.enter("strikethrough");let l=i.move("~~");return l+=n.containerPhrasing(e,{...i.current(),before:l,after:"~"}),l+=i.move("~~"),a(),l}function sF(){return"~"}function uF(e){return e.length}function cF(e,t){const n=t||{},r=(n.align||[]).concat(),i=n.stringLength||uF,a=[],l=[],u=[],c=[];let f=0,d=-1;for(;++df&&(f=e[d].length);++Pc[P])&&(c[P]=O)}S.push(E)}l[d]=S,u[d]=b}let p=-1;if(typeof r=="object"&&"length"in r)for(;++pc[p]&&(c[p]=E),y[p]=E),g[p]=O}l.splice(1,0,g),u.splice(1,0,y),d=-1;const w=[];for(;++d "),a.shift(2);const l=n.indentLines(n.containerFlow(e,a.current()),hF);return i(),l}function hF(e,t,n){return">"+(n?"":" ")+e}function pF(e,t){return B1(e,t.inConstruct,!0)&&!B1(e,t.notInConstruct,!1)}function B1(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++rl&&(l=a):a=1,i=r+t.length,r=n.indexOf(t,i);return l}function gF(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function vF(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function yF(e,t,n,r){const i=vF(n),a=e.value||"",l=i==="`"?"GraveAccent":"Tilde";if(gF(e,n)){const p=n.enter("codeIndented"),g=n.indentLines(a,xF);return p(),g}const u=n.createTracker(r),c=i.repeat(Math.max(mF(a,i)+1,3)),f=n.enter("codeFenced");let d=u.move(c);if(e.lang){const p=n.enter(`codeFencedLang${l}`);d+=u.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...u.current()})),p()}if(e.lang&&e.meta){const p=n.enter(`codeFencedMeta${l}`);d+=u.move(" "),d+=u.move(n.safe(e.meta,{before:d,after:` +`,encode:["`"],...u.current()})),p()}return d+=u.move(` `),a&&(d+=u.move(a+` -`)),d+=u.move(c),f(),d}function xF(e,t,n){return(n?"":" ")+e}function hy(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function bF(e,t,n,r){const i=hy(n),a=i==='"'?"Quote":"Apostrophe",l=n.enter("definition");let u=n.enter("label");const c=n.createTracker(r);let f=c.move("[");return f+=c.move(n.safe(n.associationId(e),{before:f,after:"]",...c.current()})),f+=c.move("]: "),u(),!e.url||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),f+=c.move("<"),f+=c.move(n.safe(e.url,{before:f,after:">",...c.current()})),f+=c.move(">")):(u=n.enter("destinationRaw"),f+=c.move(n.safe(e.url,{before:f,after:e.title?" ":` -`,...c.current()}))),u(),e.title&&(u=n.enter(`title${a}`),f+=c.move(" "+i),f+=c.move(n.safe(e.title,{before:f,after:i,...c.current()})),f+=c.move(i),u()),l(),f}function wF(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function cs(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Fc(e,t,n){const r=_o(e),i=_o(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}nO.peek=kF;function nO(e,t,n,r){const i=wF(n),a=n.enter("emphasis"),l=n.createTracker(r),u=l.move(i);let c=l.move(n.containerPhrasing(e,{after:i,before:u,...l.current()}));const f=c.charCodeAt(0),d=Fc(r.before.charCodeAt(r.before.length-1),f,i);d.inside&&(c=cs(f)+c.slice(1));const h=c.charCodeAt(c.length-1),g=Fc(r.after.charCodeAt(0),h,i);g.inside&&(c=c.slice(0,-1)+cs(h));const y=l.move(i);return a(),n.attentionEncodeSurroundingInfo={after:g.outside,before:d.outside},u+c+y}function kF(e,t,n){return n.options.emphasis||"*"}function SF(e,t){let n=!1;return dy(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Wg}),!!((!e.depth||e.depth<3)&&ay(e)&&(t.options.setext||n))}function jF(e,t,n,r){const i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(SF(e,n)){const d=n.enter("headingSetext"),h=n.enter("phrasing"),g=n.containerPhrasing(e,{...a.current(),before:` +`)),d+=u.move(c),f(),d}function xF(e,t,n){return(n?"":" ")+e}function py(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function bF(e,t,n,r){const i=py(n),a=i==='"'?"Quote":"Apostrophe",l=n.enter("definition");let u=n.enter("label");const c=n.createTracker(r);let f=c.move("[");return f+=c.move(n.safe(n.associationId(e),{before:f,after:"]",...c.current()})),f+=c.move("]: "),u(),!e.url||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),f+=c.move("<"),f+=c.move(n.safe(e.url,{before:f,after:">",...c.current()})),f+=c.move(">")):(u=n.enter("destinationRaw"),f+=c.move(n.safe(e.url,{before:f,after:e.title?" ":` +`,...c.current()}))),u(),e.title&&(u=n.enter(`title${a}`),f+=c.move(" "+i),f+=c.move(n.safe(e.title,{before:f,after:i,...c.current()})),f+=c.move(i),u()),l(),f}function wF(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function cs(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Fc(e,t,n){const r=_o(e),i=_o(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}nO.peek=kF;function nO(e,t,n,r){const i=wF(n),a=n.enter("emphasis"),l=n.createTracker(r),u=l.move(i);let c=l.move(n.containerPhrasing(e,{after:i,before:u,...l.current()}));const f=c.charCodeAt(0),d=Fc(r.before.charCodeAt(r.before.length-1),f,i);d.inside&&(c=cs(f)+c.slice(1));const p=c.charCodeAt(c.length-1),g=Fc(r.after.charCodeAt(0),p,i);g.inside&&(c=c.slice(0,-1)+cs(p));const y=l.move(i);return a(),n.attentionEncodeSurroundingInfo={after:g.outside,before:d.outside},u+c+y}function kF(e,t,n){return n.options.emphasis||"*"}function SF(e,t){let n=!1;return dy(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Wg}),!!((!e.depth||e.depth<3)&&ay(e)&&(t.options.setext||n))}function jF(e,t,n,r){const i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(SF(e,n)){const d=n.enter("headingSetext"),p=n.enter("phrasing"),g=n.containerPhrasing(e,{...a.current(),before:` `,after:` -`});return h(),d(),g+` +`});return p(),d(),g+` `+(i===1?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf(` `))+1))}const l="#".repeat(i),u=n.enter("headingAtx"),c=n.enter("phrasing");a.move(l+" ");let f=n.containerPhrasing(e,{before:"# ",after:` -`,...a.current()});return/^[\t ]/.test(f)&&(f=cs(f.charCodeAt(0))+f.slice(1)),f=f?l+" "+f:l,n.options.closeAtx&&(f+=" "+l),c(),u(),f}rO.peek=PF;function rO(e){return e.value||""}function PF(){return"<"}iO.peek=EF;function iO(e,t,n,r){const i=hy(n),a=i==='"'?"Quote":"Apostrophe",l=n.enter("image");let u=n.enter("label");const c=n.createTracker(r);let f=c.move("![");return f+=c.move(n.safe(e.alt,{before:f,after:"]",...c.current()})),f+=c.move("]("),u(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),f+=c.move("<"),f+=c.move(n.safe(e.url,{before:f,after:">",...c.current()})),f+=c.move(">")):(u=n.enter("destinationRaw"),f+=c.move(n.safe(e.url,{before:f,after:e.title?" ":")",...c.current()}))),u(),e.title&&(u=n.enter(`title${a}`),f+=c.move(" "+i),f+=c.move(n.safe(e.title,{before:f,after:i,...c.current()})),f+=c.move(i),u()),f+=c.move(")"),l(),f}function EF(){return"!"}aO.peek=CF;function aO(e,t,n,r){const i=e.referenceType,a=n.enter("imageReference");let l=n.enter("label");const u=n.createTracker(r);let c=u.move("![");const f=n.safe(e.alt,{before:c,after:"]",...u.current()});c+=u.move(f+"]["),l();const d=n.stack;n.stack=[],l=n.enter("reference");const h=n.safe(n.associationId(e),{before:c,after:"]",...u.current()});return l(),n.stack=d,a(),i==="full"||!f||f!==h?c+=u.move(h+"]"):i==="shortcut"?c=c.slice(0,-1):c+=u.move("]"),c}function CF(){return"!"}oO.peek=OF;function oO(e,t,n){let r=e.value||"",i="`",a=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a\u007F]/.test(e.url))}sO.peek=NF;function sO(e,t,n,r){const i=hy(n),a=i==='"'?"Quote":"Apostrophe",l=n.createTracker(r);let u,c;if(lO(e,n)){const d=n.stack;n.stack=[],u=n.enter("autolink");let h=l.move("<");return h+=l.move(n.containerPhrasing(e,{before:h,after:">",...l.current()})),h+=l.move(">"),u(),n.stack=d,h}u=n.enter("link"),c=n.enter("label");let f=l.move("[");return f+=l.move(n.containerPhrasing(e,{before:f,after:"](",...l.current()})),f+=l.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),f+=l.move("<"),f+=l.move(n.safe(e.url,{before:f,after:">",...l.current()})),f+=l.move(">")):(c=n.enter("destinationRaw"),f+=l.move(n.safe(e.url,{before:f,after:e.title?" ":")",...l.current()}))),c(),e.title&&(c=n.enter(`title${a}`),f+=l.move(" "+i),f+=l.move(n.safe(e.title,{before:f,after:i,...l.current()})),f+=l.move(i),c()),f+=l.move(")"),u(),f}function NF(e,t,n){return lO(e,n)?"<":"["}uO.peek=AF;function uO(e,t,n,r){const i=e.referenceType,a=n.enter("linkReference");let l=n.enter("label");const u=n.createTracker(r);let c=u.move("[");const f=n.containerPhrasing(e,{before:c,after:"]",...u.current()});c+=u.move(f+"]["),l();const d=n.stack;n.stack=[],l=n.enter("reference");const h=n.safe(n.associationId(e),{before:c,after:"]",...u.current()});return l(),n.stack=d,a(),i==="full"||!f||f!==h?c+=u.move(h+"]"):i==="shortcut"?c=c.slice(0,-1):c+=u.move("]"),c}function AF(){return"["}function my(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function _F(e){const t=my(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function IF(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function cO(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function TF(e,t,n,r){const i=n.enter("list"),a=n.bulletCurrent;let l=e.ordered?IF(n):my(n);const u=e.ordered?l==="."?")":".":_F(n);let c=t&&n.bulletLastUsed?l===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((l==="*"||l==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),cO(n)===l&&d){let h=-1;for(;++h-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let l=a.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(l=Math.ceil(l/4)*4);const u=n.createTracker(r);u.move(a+" ".repeat(l-a.length)),u.shift(l);const c=n.enter("listItem"),f=n.indentLines(n.containerFlow(e,u.current()),d);return c(),f;function d(h,g,y){return g?(y?"":" ".repeat(l))+h:(y?a:a+" ".repeat(l-a.length))+h}}function LF(e,t,n,r){const i=n.enter("paragraph"),a=n.enter("phrasing"),l=n.containerPhrasing(e,r);return a(),i(),l}const RF=Uf(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function zF(e,t,n,r){return(e.children.some(function(l){return RF(l)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function $F(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}fO.peek=FF;function fO(e,t,n,r){const i=$F(n),a=n.enter("strong"),l=n.createTracker(r),u=l.move(i+i);let c=l.move(n.containerPhrasing(e,{after:i,before:u,...l.current()}));const f=c.charCodeAt(0),d=Fc(r.before.charCodeAt(r.before.length-1),f,i);d.inside&&(c=cs(f)+c.slice(1));const h=c.charCodeAt(c.length-1),g=Fc(r.after.charCodeAt(0),h,i);g.inside&&(c=c.slice(0,-1)+cs(h));const y=l.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:g.outside,before:d.outside},u+c+y}function FF(e,t,n){return n.options.strong||"*"}function BF(e,t,n,r){return n.safe(e.value,r)}function UF(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function WF(e,t,n){const r=(cO(n)+(n.options.ruleSpaces?" ":"")).repeat(UF(n));return n.options.ruleSpaces?r.slice(0,-1):r}const dO={blockquote:dF,break:U1,code:yF,definition:bF,emphasis:nO,hardBreak:U1,heading:jF,html:rO,image:iO,imageReference:aO,inlineCode:oO,link:sO,linkReference:uO,list:TF,listItem:MF,paragraph:LF,root:zF,strong:fO,text:BF,thematicBreak:WF};function qF(){return{enter:{table:HF,tableData:W1,tableHeader:W1,tableRow:KF},exit:{codeText:GF,table:VF,tableData:Xh,tableHeader:Xh,tableRow:Xh}}}function HF(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function VF(e){this.exit(e),this.data.inTable=void 0}function KF(e){this.enter({type:"tableRow",children:[]},e)}function Xh(e){this.exit(e)}function W1(e){this.enter({type:"tableCell",children:[]},e)}function GF(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,YF));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function YF(e,t){return t==="|"?t:e}function XF(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` -`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:l,tableCell:c,tableRow:u}};function l(y,w,S,b){return f(d(y,S,b),y.align)}function u(y,w,S,b){const P=h(y,S,b),E=f([P]);return E.slice(0,E.indexOf(` -`))}function c(y,w,S,b){const P=S.enter("tableCell"),E=S.enter("phrasing"),O=S.containerPhrasing(y,{...b,before:a,after:a});return E(),P(),O}function f(y,w){return cF(y,{align:w,alignDelimiters:r,padding:n,stringLength:i})}function d(y,w,S){const b=y.children;let P=-1;const E=[],O=w.enter("table");for(;++P0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const hB={tokenize:kB,partial:!0};function mB(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:xB,continuation:{tokenize:bB},exit:wB}},text:{91:{name:"gfmFootnoteCall",tokenize:yB},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:gB,resolveTo:vB}}}}function gB(e,t,n){const r=this;let i=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l;for(;i--;){const c=r.events[i][1];if(c.type==="labelImage"){l=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return u;function u(c){if(!l||!l._balanced)return n(c);const f=hr(r.sliceSerialize({start:l.end,end:r.now()}));return f.codePointAt(0)!==94||!a.includes(f.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function vB(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},l={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},u=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",a,t],["enter",l,t],["exit",l,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...u),e}function yB(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a=0,l;return u;function u(h){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),c}function c(h){return h!==94?n(h):(e.enter("gfmFootnoteCallMarker"),e.consume(h),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(h){if(a>999||h===93&&!l||h===null||h===91||Xe(h))return n(h);if(h===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return i.includes(hr(r.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(h)}return Xe(h)||(l=!0),a++,e.consume(h),h===92?d:f}function d(h){return h===91||h===92||h===93?(e.consume(h),a++,f):f(h)}}function xB(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,l=0,u;return c;function c(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(w)}function d(w){if(l>999||w===93&&!u||w===null||w===91||Xe(w))return n(w);if(w===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return a=hr(r.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return Xe(w)||(u=!0),l++,e.consume(w),w===92?h:d}function h(w){return w===91||w===92||w===93?(e.consume(w),l++,d):d(w)}function g(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),i.includes(a)||i.push(a),$e(e,y,"gfmFootnoteDefinitionWhitespace")):n(w)}function y(w){return t(w)}}function bB(e,t,n){return e.check(Os,t,e.attempt(hB,t,n))}function wB(e){e.exit("gfmFootnoteDefinition")}function kB(e,t,n){const r=this;return $e(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?t(a):n(a)}}function SB(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:a,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(l,u){let c=-1;for(;++c1?c(w):(l.consume(w),h++,y);if(h<2&&!n)return c(w);const b=l.exit("strikethroughSequenceTemporary"),P=_o(w);return b._open=!P||P===2&&!!S,b._close=!S||S===2&&!!P,u(w)}}}class jB{constructor(){this.map=[]}add(t,n,r){PB(this,t,n,r)}consume(t){if(this.map.sort(function(a,l){return a[0]-l[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const a of i)t.push(a);i=r.pop()}this.map.length=0}}function PB(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){const X=r.events[q][1].type;if(X==="lineEnding"||X==="linePrefix")q--;else break}const z=q>-1?r.events[q][1].type:null,ee=z==="tableHead"||z==="tableRow"?C:c;return ee===C&&r.parser.lazy[r.now().line]?n(D):ee(D)}function c(D){return e.enter("tableHead"),e.enter("tableRow"),f(D)}function f(D){return D===124||(l=!0,a+=1),d(D)}function d(D){return D===null?n(D):Oe(D)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),y):n(D):Re(D)?$e(e,d,"whitespace")(D):(a+=1,l&&(l=!1,i+=1),D===124?(e.enter("tableCellDivider"),e.consume(D),e.exit("tableCellDivider"),l=!0,d):(e.enter("data"),h(D)))}function h(D){return D===null||D===124||Xe(D)?(e.exit("data"),d(D)):(e.consume(D),D===92?g:h)}function g(D){return D===92||D===124?(e.consume(D),h):h(D)}function y(D){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(D):(e.enter("tableDelimiterRow"),l=!1,Re(D)?$e(e,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):w(D))}function w(D){return D===45||D===58?b(D):D===124?(l=!0,e.enter("tableCellDivider"),e.consume(D),e.exit("tableCellDivider"),S):I(D)}function S(D){return Re(D)?$e(e,b,"whitespace")(D):b(D)}function b(D){return D===58?(a+=1,l=!0,e.enter("tableDelimiterMarker"),e.consume(D),e.exit("tableDelimiterMarker"),P):D===45?(a+=1,P(D)):D===null||Oe(D)?A(D):I(D)}function P(D){return D===45?(e.enter("tableDelimiterFiller"),E(D)):I(D)}function E(D){return D===45?(e.consume(D),E):D===58?(l=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(D),e.exit("tableDelimiterMarker"),O):(e.exit("tableDelimiterFiller"),O(D))}function O(D){return Re(D)?$e(e,A,"whitespace")(D):A(D)}function A(D){return D===124?w(D):D===null||Oe(D)?!l||i!==a?I(D):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(D)):I(D)}function I(D){return n(D)}function C(D){return e.enter("tableRow"),L(D)}function L(D){return D===124?(e.enter("tableCellDivider"),e.consume(D),e.exit("tableCellDivider"),L):D===null||Oe(D)?(e.exit("tableRow"),t(D)):Re(D)?$e(e,L,"whitespace")(D):(e.enter("data"),R(D))}function R(D){return D===null||D===124||Xe(D)?(e.exit("data"),L(D)):(e.consume(D),D===92?U:R)}function U(D){return D===92||D===124?(e.consume(D),R):R(D)}}function NB(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],l=[0,0,0,0],u=!1,c=0,f,d,h;const g=new jB;for(;++nn[2]+1){const w=n[2]+1,S=n[3]-n[2]-1;e.add(w,S,[])}}e.add(n[3]+1,0,[["exit",h,t]])}return i!==void 0&&(a.end=Object.assign({},wo(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function H1(e,t,n,r,i){const a=[],l=wo(t.events,n);i&&(i.end=Object.assign({},l),a.push(["exit",i,t])),r.end=Object.assign({},l),a.push(["exit",r,t]),e.add(n+1,0,a)}function wo(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const AB={name:"tasklistCheck",tokenize:IB};function _B(){return{text:{91:AB}}}function IB(e,t,n){const r=this;return i;function i(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),a)}function a(c){return Xe(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),l):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),l):n(c)}function l(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):n(c)}function u(c){return Oe(c)?t(c):Re(c)?e.check({tokenize:TB},t,n)(c):n(c)}}function TB(e,t,n){return $e(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function DB(e){return _C([aB(),mB(),SB(e),CB(),_B()])}const MB={};function LB(e){const t=this,n=e||MB,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(DB(n)),a.push(tB()),l.push(nB(n))}function RB({content:e}){return m.jsx("div",{className:"spec-markdown",children:m.jsx(S4,{remarkPlugins:[LB],components:{h3:({children:t})=>m.jsx("h3",{className:"text-lg font-semibold mt-6 mb-3 pb-2 border-b border-base-300/50 first:mt-0",children:t}),h4:({children:t})=>m.jsx("h4",{className:"text-base font-medium mt-4 mb-2 text-base-content/90",children:t}),p:({children:t})=>m.jsx("p",{className:"text-sm text-base-content/80 mb-3 leading-relaxed",children:t}),ul:({children:t})=>m.jsx("ul",{className:"text-sm space-y-1.5 mb-4 ml-1",children:t}),ol:({children:t})=>m.jsx("ol",{className:"text-sm space-y-1.5 mb-4 ml-1 list-decimal list-inside",children:t}),li:({children:t})=>m.jsxs("li",{className:"text-base-content/80 flex items-start gap-2",children:[m.jsx("span",{className:"text-primary mt-0.5 text-xs select-none",children:"โ–ธ"}),m.jsx("span",{className:"flex-1",children:t})]}),code:({className:t,children:n})=>t?m.jsx("code",{className:"block bg-base-300 p-3 rounded-lg text-xs font-mono overflow-x-auto mb-4 border border-base-content/10",children:n}):m.jsx("code",{className:"bg-base-300 text-primary px-1.5 py-0.5 rounded text-xs font-mono",children:n}),pre:({children:t})=>m.jsx("pre",{className:"bg-base-300 p-3 rounded-lg text-xs font-mono overflow-x-auto mb-4 border border-base-content/10",children:t}),strong:({children:t})=>m.jsx("strong",{className:"font-semibold text-base-content",children:t}),table:({children:t})=>m.jsx("div",{className:"overflow-x-auto mb-4",children:m.jsx("table",{className:"table table-sm w-full",children:t})}),thead:({children:t})=>m.jsx("thead",{className:"bg-base-200",children:t}),th:({children:t})=>m.jsx("th",{className:"text-left text-xs font-medium text-base-content/70 p-2",children:t}),td:({children:t})=>m.jsx("td",{className:"text-sm p-2 border-t border-base-300/50",children:t}),blockquote:({children:t})=>m.jsx("blockquote",{className:"border-l-4 border-primary/50 pl-4 py-1 my-3 text-sm text-base-content/70 italic",children:t}),hr:()=>m.jsx("hr",{className:"my-6 border-base-300"})},children:e})})}const zB={PENDING:{color:"warning",icon:"lucide:clock",label:"In Progress"},COMPLETE:{color:"info",icon:"lucide:check-circle",label:"Complete"},VERIFIED:{color:"success",icon:"lucide:shield-check",label:"Verified"}};function $B({parsed:e,spec:t}){const n=zB[t.status],r=e.tasks.filter(l=>l.completed).length,i=e.tasks.length,a=i>0?r/i*100:0;return m.jsx(wt,{children:m.jsxs(kt,{className:"p-5",children:[m.jsxs("div",{className:"flex items-start justify-between mb-4",children:[m.jsxs("div",{children:[m.jsx("h2",{className:"text-xl font-semibold",children:e.title}),e.goal&&m.jsx("p",{className:"text-base-content/60 text-sm mt-1",children:e.goal})]}),m.jsxs(Ie,{variant:n.color,size:"sm",className:"whitespace-nowrap",children:[m.jsx(le,{icon:n.icon,size:12,className:"mr-1"}),n.label]})]}),m.jsxs("div",{className:"mb-4",children:[m.jsxs("div",{className:"flex justify-between text-sm mb-1.5",children:[m.jsx("span",{className:"text-base-content/70",children:"Progress"}),m.jsxs("span",{className:"font-medium",children:[r," / ",i," tasks"]})]}),m.jsx(tM,{value:a,max:100,variant:"primary"})]}),m.jsx("div",{className:"space-y-2",children:e.tasks.map(l=>m.jsxs("div",{className:`flex items-center gap-3 p-2 rounded-lg ${l.completed?"bg-success/10":"bg-base-200/50"}`,children:[m.jsx("div",{className:`w-5 h-5 rounded-md flex items-center justify-center ${l.completed?"bg-success text-success-content":"bg-base-300"}`,children:l.completed?m.jsx(le,{icon:"lucide:check",size:14}):m.jsx("span",{className:"text-xs text-base-content/50",children:l.number})}),m.jsxs("span",{className:`text-sm ${l.completed?"text-base-content/70":"text-base-content"}`,children:["Task ",l.number,": ",l.title]})]},l.number))}),m.jsxs("div",{className:"flex items-center gap-4 mt-4 pt-4 border-t border-base-300/50 text-xs text-base-content/50",children:[m.jsx(Ie,{variant:t.specType==="Bugfix"?"warning":"info",size:"xs",children:t.specType==="Bugfix"?"Bugfix":"Feature"}),t.iterations>0&&m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:repeat",size:12}),m.jsxs("span",{children:[t.iterations," iteration",t.iterations>1?"s":""]})]}),!t.approved&&t.status==="PENDING"&&m.jsx(Ie,{variant:"warning",size:"xs",children:"Awaiting Approval"}),t.worktree?m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:git-branch",size:12}),m.jsx("span",{children:"Worktree"})]}):m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:git-commit",size:12}),m.jsx("span",{children:"Direct"})]}),t.modifiedAt&&m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:calendar",size:12}),m.jsx("span",{children:new Date(t.modifiedAt).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]}),m.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[m.jsx(le,{icon:"lucide:file",size:12}),m.jsx("span",{className:"font-mono",children:t.filePath.split("/").pop()})]})]})]})})}const wO={SPEC_REFRESH_INTERVAL_MS:5e3},FB={A:"lucide:file-plus",M:"lucide:file-edit",D:"lucide:file-minus"},BB={A:"text-success",M:"text-warning",D:"text-error"};function UB(){const[e,t]=k.useState(null),[n,r]=k.useState([]),[i,a]=k.useState(!0),[l,u]=k.useState(!1),[c,f]=k.useState(!1),[d,h]=k.useState(null),g=k.useCallback(async()=>{try{const E=await(await fetch("/api/worktree/status")).json();if(t(E),E.active){const A=await(await fetch("/api/worktree/diff")).json();r(A.files||[])}else r([])}catch{t(null)}finally{a(!1)}},[]);k.useEffect(()=>{g();const P=setInterval(g,wO.SPEC_REFRESH_INTERVAL_MS);return()=>clearInterval(P)},[g]);const y=async()=>{var P;if(confirm("Sync worktree changes to the base branch via squash merge?")){u(!0),h(null);try{const O=await(await fetch("/api/worktree/sync",{method:"POST"})).json();O.success?(h(`Synced ${O.files_changed} files โ€” commit ${(P=O.commit_hash)==null?void 0:P.slice(0,7)}`),await g()):h(`Sync failed: ${O.error}`)}catch{h("Sync failed")}finally{u(!1)}}},w=async()=>{if(confirm("Discard all worktree changes? This cannot be undone.")){f(!0),h(null);try{const E=await(await fetch("/api/worktree/discard",{method:"POST"})).json();E.success?(h("Worktree discarded"),await g()):h(`Discard failed: ${E.error}`)}catch{h("Discard failed")}finally{f(!1)}}};if(i||!(e!=null&&e.active))return null;const S=n.reduce((P,E)=>P+E.additions,0),b=n.reduce((P,E)=>P+E.deletions,0);return m.jsx(wt,{children:m.jsxs(kt,{className:"p-4",children:[m.jsxs("div",{className:"flex items-center justify-between mb-3",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(le,{icon:"lucide:git-branch",size:16,className:"text-primary"}),m.jsx("span",{className:"text-sm font-medium",children:"Worktree Isolation"}),m.jsx(Ie,{variant:"info",size:"xs",children:e.branch})]}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsxs(Rt,{variant:"primary",size:"xs",onClick:y,disabled:l||c||n.length===0,children:[l?m.jsx(Xi,{size:"xs"}):m.jsx(le,{icon:"lucide:git-merge",size:12}),m.jsx("span",{className:"ml-1",children:"Sync"})]}),m.jsxs(Rt,{variant:"ghost",size:"xs",onClick:w,disabled:l||c,children:[c?m.jsx(Xi,{size:"xs"}):m.jsx(le,{icon:"lucide:trash-2",size:12,className:"text-error"}),m.jsx("span",{className:"ml-1",children:"Discard"})]})]})]}),m.jsxs("div",{className:"flex items-center gap-3 text-xs text-base-content/60 mb-2",children:[m.jsxs("span",{children:[n.length," file",n.length!==1?"s":""," changed"]}),S>0&&m.jsxs("span",{className:"text-success",children:["+",S]}),b>0&&m.jsxs("span",{className:"text-error",children:["-",b]}),m.jsxs("span",{className:"ml-auto",children:["base: ",m.jsx("span",{className:"font-mono text-base-content/80",children:e.baseBranch})]})]}),n.length>0&&m.jsx("div",{className:"space-y-0.5 max-h-40 overflow-y-auto",children:n.map(P=>m.jsxs("div",{className:"flex items-center gap-2 text-xs py-0.5",children:[m.jsx(le,{icon:FB[P.status]||"lucide:file",size:12,className:BB[P.status]||"text-base-content/50"}),m.jsx("span",{className:"font-mono text-base-content/80 truncate",children:P.path}),m.jsxs("span",{className:"ml-auto flex items-center gap-1 flex-shrink-0",children:[P.additions>0&&m.jsxs("span",{className:"text-success",children:["+",P.additions]}),P.deletions>0&&m.jsxs("span",{className:"text-error",children:["-",P.deletions]})]})]},P.path))}),d&&m.jsx("div",{className:`mt-2 text-xs px-2 py-1 rounded ${d.includes("failed")?"bg-error/10 text-error":"bg-success/10 text-success"}`,children:d})]})})}const WB={PENDING:"lucide:clock",COMPLETE:"lucide:check-circle",VERIFIED:"lucide:shield-check"};function qB(e){const t=e.match(/^#\s+(.+)$/m),n=t?t[1].replace(" Implementation Plan",""):"Untitled",r=e.match(/\*\*Goal:\*\*\s*(.+?)(?:\n|$)/),i=r?r[1]:"",a=[],l=/^- \[(x| )\] Task (\d+):\s*(.+)$/gm;let u;for(;(u=l.exec(e))!==null;)a.push({number:parseInt(u[2],10),title:u[3],completed:u[1]==="x"});const c=e.match(/## Implementation Tasks\n([\s\S]*?)(?=\n## [^#]|$)/),f=c?c[1].trim():"";return{title:n,goal:i,tasks:a,implementationSection:f}}function HB(){const{selectedProject:e}=za(),[t,n]=k.useState([]),[r,i]=k.useState(null),[a,l]=k.useState(null),[u,c]=k.useState(!0),[f,d]=k.useState(!1),[h,g]=k.useState(null),[y,w]=k.useState(!1),S=e?`?project=${encodeURIComponent(e)}`:"",b=k.useRef(e);b.current!==e&&(b.current=e,i(null),l(null),g(null),c(!0));const P=k.useCallback(async()=>{var R;try{const D=await(await fetch(`/api/plans/active${S}`)).json();if(n(D.specs||[]),((R=D.specs)==null?void 0:R.length)>0&&!r){const q=D.specs.find(z=>z.status==="PENDING"||z.status==="COMPLETE");i(q?q.filePath:D.specs[0].filePath)}}catch(U){g("Failed to load specs"),console.error("Failed to load specs:",U)}finally{c(!1)}},[r,S]),E=k.useCallback(async(R,U=!1)=>{U||d(!0),g(null);try{const D=await fetch(`/api/plan/content?path=${encodeURIComponent(R)}${e?`&project=${encodeURIComponent(e)}`:""}`);if(!D.ok)throw new Error("Failed to load spec content");l(await D.json())}catch(D){g("Failed to load spec content"),console.error("Failed to load spec content:",D)}finally{U||d(!1)}},[e]),O=k.useCallback(async R=>{if(confirm(`Delete spec "${R.split("/").pop()}"? This cannot be undone.`)){w(!0);try{if(!(await fetch(`/api/plan?path=${encodeURIComponent(R)}${e?`&project=${encodeURIComponent(e)}`:""}`,{method:"DELETE"})).ok)throw new Error("Failed to delete spec");i(null),l(null),await P()}catch(U){g("Failed to delete spec"),console.error("Failed to delete spec:",U)}finally{w(!1)}}},[P,e]);if(k.useEffect(()=>{P();const R=setInterval(()=>{P(),r&&E(r,!0)},wO.SPEC_REFRESH_INTERVAL_MS);return()=>clearInterval(R)},[P,E,r]),k.useEffect(()=>{r&&E(r)},[r,E]),u)return m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx(Xi,{size:"lg"})});if(t.length===0)return m.jsx("div",{className:"space-y-6",children:m.jsx(wt,{children:m.jsx(kt,{children:m.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[m.jsx(le,{icon:"lucide:file-text",size:48,className:"text-base-content/30 mb-4"}),m.jsx("h3",{className:"text-lg font-medium mb-2",children:"No Active Specs"}),m.jsxs("p",{className:"text-base-content/60 max-w-md",children:["Use"," ",m.jsx("code",{className:"text-primary bg-base-300 px-1 rounded",children:"/spec"})," ","in Claude Pilot to start a spec-driven development workflow."]})]})})})});const A=t.filter(R=>R.status==="PENDING"||R.status==="COMPLETE"),I=t.filter(R=>R.status==="VERIFIED"),C=t.find(R=>R.filePath===r),L=a?qB(a.content):null;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[m.jsx("h1",{className:"text-2xl font-bold mr-auto",children:"Specifications"}),A.length>0&&m.jsx("div",{role:"tablist",className:"flex items-center gap-1.5 flex-shrink-0",children:A.map(R=>{const U=r===R.filePath;return m.jsxs("button",{role:"tab","aria-selected":U,className:`px-3 py-1.5 rounded-lg text-xs font-medium border transition-colors cursor-pointer flex items-center gap-1.5 ${U?"bg-primary/10 border-primary/30 text-primary":"bg-base-200/60 border-base-300/50 text-base-content/70 hover:bg-base-200"}`,onClick:()=>i(R.filePath),children:[m.jsx(le,{icon:WB[R.status],size:12,className:R.status==="PENDING"?"text-warning":"text-info"}),m.jsx("span",{className:"truncate max-w-32",children:R.name}),m.jsx("span",{className:`text-[10px] font-normal ${R.specType==="Bugfix"?"text-warning":"text-info"}`,children:R.specType==="Bugfix"?"bugfix":"feature"}),R.total>0&&m.jsxs("span",{className:"text-[10px] opacity-60",children:[R.completed,"/",R.total]})]},R.filePath)})}),I.length>0&&m.jsxs("select",{className:"select select-bordered select-sm",value:(C==null?void 0:C.status)==="VERIFIED"&&r||"",onChange:R=>i(R.target.value),children:[m.jsxs("option",{value:"",disabled:!0,children:["Archived (",I.length,")"]}),I.map(R=>{const U=R.modifiedAt?new Date(R.modifiedAt):null,D=U?U.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):"";return m.jsxs("option",{value:R.filePath,children:[R.name,D?` - ${D}`:""]},R.filePath)})]}),r&&m.jsx(pr,{text:"Delete spec",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:()=>O(r),disabled:y,children:m.jsx(le,{icon:"lucide:trash-2",size:16,className:"text-error"})})})]}),f?m.jsx("div",{className:"flex items-center justify-center py-12",children:m.jsx(Xi,{size:"md"})}):h?m.jsx(wt,{children:m.jsx(kt,{children:m.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[m.jsx(le,{icon:"lucide:alert-circle",size:48,className:"text-error mb-4"}),m.jsx("p",{className:"text-error",children:h})]})})}):L&&C?m.jsxs(m.Fragment,{children:[m.jsx($B,{parsed:L,spec:C}),m.jsx(UB,{}),L.implementationSection&&m.jsx(wt,{children:m.jsxs(kt,{className:"p-6",children:[m.jsxs("h3",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[m.jsx(le,{icon:"lucide:list-tree",size:18}),"Implementation Details"]}),m.jsx(RB,{content:L.implementationSection})]})})]}):null]})}const VB=300*1e3;function KB(){const[e,t]=k.useState([]),[n,r]=k.useState([]),[i,a]=k.useState([]),[l,u]=k.useState(!0),[c,f]=k.useState(null),[d,h]=k.useState(!0),[g,y]=k.useState(!0),w=k.useCallback(async()=>{var S,b;try{const[P,E,O]=await Promise.all([fetch("/api/usage/daily"),fetch("/api/usage/monthly"),fetch("/api/usage/models")]),[A,I,C]=await Promise.all([P.json(),E.json(),O.json()]);if(A.available===!1){h(!1),y(!1),t([]),r([]),a([]),f(null);return}h(!0);const L=(((S=A.daily)==null?void 0:S.length)??0)>0||(((b=I.monthly)==null?void 0:b.length)??0)>0;y(L),t(A.daily||[]),r(I.monthly||[]),a(C.models||[]),f(null)}catch(P){f(P instanceof Error?P.message:"Failed to load usage data"),h(!0),y(!1)}finally{u(!1)}},[]);return k.useEffect(()=>{w();const S=setInterval(w,VB);return()=>{clearInterval(S)}},[w]),{daily:e,monthly:n,models:i,isLoading:l,error:c,available:d,dataExists:g}}function Io(e){return e<1e3?e.toString():e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function GB({daily:e}){const t=e.length>0?e[e.length-1]:null,n=(t==null?void 0:t.totalCost)||0,r=(t==null?void 0:t.totalTokens)||0,i=e.filter(d=>d.totalCost>0||d.totalTokens>0),a=i.reduce((d,h)=>d+(h.totalCost||0),0),l=i.reduce((d,h)=>d+(h.totalTokens||0),0),u=i.length||1,c=a/u,f=Math.round(l/u);return m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Daily Cost"}),m.jsxs("div",{className:"stat-value text-primary",children:[n.toFixed(2),"$"]}),m.jsx("div",{className:"stat-desc",children:"Today"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Avg Daily Cost"}),m.jsxs("div",{className:"stat-value",children:["โŒ€ ",c.toFixed(2),"$"]}),m.jsxs("div",{className:"stat-desc",children:["Last ",u," working days"]})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Daily Tokens"}),m.jsx("div",{className:"stat-value text-primary",children:Io(r)}),m.jsx("div",{className:"stat-desc",children:"Today"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Avg Daily Tokens"}),m.jsxs("div",{className:"stat-value",children:["โŒ€ ",Io(f)]}),m.jsxs("div",{className:"stat-desc",children:["Last ",u," working days"]})]})})]})}function kO(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{var{children:n,width:r,height:i,viewBox:a,className:l,style:u,title:c,desc:f}=e,d=e5(e,JB),h=a||{width:r,height:i,x:0,y:0},g=Ge("recharts-surface",l);return k.createElement("svg",Gg({},dn(d),{className:g,width:r,height:i,style:u,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height),ref:t}),k.createElement("title",null,c),k.createElement("desc",null,f),n)}),n5=["children","className"];function Yg(){return Yg=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{children:n,className:r}=e,i=r5(e,n5),a=Ge("recharts-layer",r);return k.createElement("g",Yg({className:a},dn(i),{ref:t}),n)}),EO=VE(),a5=k.createContext(null);function Je(e){return function(){return e}}const CO=Math.cos,Bc=Math.sin,br=Math.sqrt,Uc=Math.PI,qf=2*Uc,Xg=Math.PI,Qg=2*Xg,ya=1e-6,o5=Qg-ya;function OO(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return OO;const n=10**t;return function(r){this._+=r[0];for(let i=1,a=r.length;iya)if(!(Math.abs(h*c-f*d)>ya)||!a)this._append`L${this._x1=t},${this._y1=n}`;else{let y=r-l,w=i-u,S=c*c+f*f,b=y*y+w*w,P=Math.sqrt(S),E=Math.sqrt(g),O=a*Math.tan((Xg-Math.acos((S+g-b)/(2*P*E)))/2),A=O/E,I=O/P;Math.abs(A-1)>ya&&this._append`L${t+A*d},${n+A*h}`,this._append`A${a},${a},0,0,${+(h*y>d*w)},${this._x1=t+I*c},${this._y1=n+I*f}`}}arc(t,n,r,i,a,l){if(t=+t,n=+n,r=+r,l=!!l,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(i),c=r*Math.sin(i),f=t+u,d=n+c,h=1^l,g=l?i-a:a-i;this._x1===null?this._append`M${f},${d}`:(Math.abs(this._x1-f)>ya||Math.abs(this._y1-d)>ya)&&this._append`L${f},${d}`,r&&(g<0&&(g=g%Qg+Qg),g>o5?this._append`A${r},${r},0,1,${h},${t-u},${n-c}A${r},${r},0,1,${h},${this._x1=f},${this._y1=d}`:g>ya&&this._append`A${r},${r},0,${+(g>=Xg)},${h},${this._x1=t+r*Math.cos(a)},${this._y1=n+r*Math.sin(a)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function yy(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new s5(t)}function xy(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function NO(e){this._context=e}NO.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 Hf(e){return new NO(e)}function AO(e){return e[0]}function _O(e){return e[1]}function IO(e,t){var n=Je(!0),r=null,i=Hf,a=null,l=yy(u);e=typeof e=="function"?e:e===void 0?AO:Je(e),t=typeof t=="function"?t:t===void 0?_O:Je(t);function u(c){var f,d=(c=xy(c)).length,h,g=!1,y;for(r==null&&(a=i(y=l())),f=0;f<=d;++f)!(f=y;--w)u.point(O[w],A[w]);u.lineEnd(),u.areaEnd()}P&&(O[g]=+e(b,g,h),A[g]=+t(b,g,h),u.point(r?+r(b,g,h):O[g],n?+n(b,g,h):A[g]))}if(E)return u=null,E+""||null}function d(){return IO().defined(i).curve(l).context(a)}return f.x=function(h){return arguments.length?(e=typeof h=="function"?h:Je(+h),r=null,f):e},f.x0=function(h){return arguments.length?(e=typeof h=="function"?h:Je(+h),f):e},f.x1=function(h){return arguments.length?(r=h==null?null:typeof h=="function"?h:Je(+h),f):r},f.y=function(h){return arguments.length?(t=typeof h=="function"?h:Je(+h),n=null,f):t},f.y0=function(h){return arguments.length?(t=typeof h=="function"?h:Je(+h),f):t},f.y1=function(h){return arguments.length?(n=h==null?null:typeof h=="function"?h:Je(+h),f):n},f.lineX0=f.lineY0=function(){return d().x(e).y(t)},f.lineY1=function(){return d().x(e).y(n)},f.lineX1=function(){return d().x(r).y(t)},f.defined=function(h){return arguments.length?(i=typeof h=="function"?h:Je(!!h),f):i},f.curve=function(h){return arguments.length?(l=h,a!=null&&(u=l(a)),f):l},f.context=function(h){return arguments.length?(h==null?a=u=null:u=l(a=h),f):a},f}class TO{constructor(t,n){this._context=t,this._x=n}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,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function u5(e){return new TO(e,!0)}function c5(e){return new TO(e,!1)}const by={draw(e,t){const n=br(t/Uc);e.moveTo(n,0),e.arc(0,0,n,0,qf)}},f5={draw(e,t){const n=br(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},DO=br(1/3),d5=DO*2,p5={draw(e,t){const n=br(t/d5),r=n*DO;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},h5={draw(e,t){const n=br(t),r=-n/2;e.rect(r,r,n,n)}},m5=.8908130915292852,MO=Bc(Uc/10)/Bc(7*Uc/10),g5=Bc(qf/10)*MO,v5=-CO(qf/10)*MO,y5={draw(e,t){const n=br(t*m5),r=g5*n,i=v5*n;e.moveTo(0,-n),e.lineTo(r,i);for(let a=1;a<5;++a){const l=qf*a/5,u=CO(l),c=Bc(l);e.lineTo(c*n,-u*n),e.lineTo(u*r-c*i,c*r+u*i)}e.closePath()}},Qh=br(3),x5={draw(e,t){const n=-br(t/(Qh*3));e.moveTo(0,n*2),e.lineTo(-Qh*n,-n),e.lineTo(Qh*n,-n),e.closePath()}},Kn=-.5,Gn=br(3)/2,Zg=1/br(12),b5=(Zg/2+1)*3,w5={draw(e,t){const n=br(t/b5),r=n/2,i=n*Zg,a=r,l=n*Zg+n,u=-a,c=l;e.moveTo(r,i),e.lineTo(a,l),e.lineTo(u,c),e.lineTo(Kn*r-Gn*i,Gn*r+Kn*i),e.lineTo(Kn*a-Gn*l,Gn*a+Kn*l),e.lineTo(Kn*u-Gn*c,Gn*u+Kn*c),e.lineTo(Kn*r+Gn*i,Kn*i-Gn*r),e.lineTo(Kn*a+Gn*l,Kn*l-Gn*a),e.lineTo(Kn*u+Gn*c,Kn*c-Gn*u),e.closePath()}};function k5(e,t){let n=null,r=yy(i);e=typeof e=="function"?e:Je(e||by),t=typeof t=="function"?t:Je(t===void 0?64:+t);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:Je(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:Je(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function Wc(){}function qc(e,t,n){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+n)/6)}function LO(e){this._context=e}LO.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:qc(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:qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function S5(e){return new LO(e)}function RO(e){this._context=e}RO.prototype={areaStart:Wc,areaEnd:Wc,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:qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function j5(e){return new RO(e)}function zO(e){this._context=e}zO.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 n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function P5(e){return new zO(e)}function $O(e){this._context=e}$O.prototype={areaStart:Wc,areaEnd:Wc,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 E5(e){return new $O(e)}function V1(e){return e<0?-1:1}function K1(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),l=(n-e._y1)/(i||r<0&&-0),u=(a*i+l*r)/(r+i);return(V1(a)+V1(l))*Math.min(Math.abs(a),Math.abs(l),.5*Math.abs(u))||0}function G1(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Zh(e,t,n){var r=e._x0,i=e._y0,a=e._x1,l=e._y1,u=(a-r)/3;e._context.bezierCurveTo(r+u,i+u*t,a-u,l-u*n,a,l)}function Hc(e){this._context=e}Hc.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:Zh(this,this._t0,G1(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 n=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,Zh(this,G1(this,n=K1(this,e,t)),n);break;default:Zh(this,this._t0,n=K1(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function FO(e){this._context=new BO(e)}(FO.prototype=Object.create(Hc.prototype)).point=function(e,t){Hc.prototype.point.call(this,t,e)};function BO(e){this._context=e}BO.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,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function C5(e){return new Hc(e)}function O5(e){return new FO(e)}function UO(e){this._context=e}UO.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,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Y1(e),i=Y1(t),a=0,l=1;l=0;--t)i[t]=(l[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-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 n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function A5(e){return new Vf(e,.5)}function _5(e){return new Vf(e,0)}function I5(e){return new Vf(e,1)}function Aa(e,t){if((l=e.length)>1)for(var n=1,r,i,a=e[t[0]],l,u=a.length;n=0;)n[t]=t;return n}function T5(e,t){return e[t]}function D5(e){const t=[];return t.key=e,t}function M5(){var e=Je([]),t=Jg,n=Aa,r=T5;function i(a){var l=Array.from(e.apply(this,arguments),D5),u,c=l.length,f=-1,d;for(const h of a)for(u=0,++f;u0){for(var n,r,i=0,a=e[0].length,l;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,l;r1&&arguments[1]!==void 0?arguments[1]:W5,n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function ht(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var u=n[l-1];return typeof u=="string"?i+u+a:u!==void 0?i+Ki(u)+a:i+a},"")}var jn=e=>e===0?0:e>0?1:-1,gr=e=>typeof e=="number"&&e!=+e,_a=e=>typeof e=="string"&&e.indexOf("%")===e.length-1,ge=e=>(typeof e=="number"||e instanceof Number)&&!gr(e),Dr=e=>ge(e)||typeof e=="string",q5=0,fs=e=>{var t=++q5;return"".concat(e||"").concat(t)},vr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ge(t)&&typeof t!="string")return r;var a;if(_a(t)){if(n==null)return r;var l=t.indexOf("%");a=n*parseFloat(t.slice(0,l))/100}else a=+t;return gr(a)&&(a=r),i&&n!=null&&a>n&&(a=n),a},qO=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;rr&&(typeof t=="function"?t(r):To(r,t))===n)}var mt=e=>e===null||typeof e>"u",_s=e=>mt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Pn(e){return e!=null}function Fa(){}var H5=["type","size","sizeType"];function ev(){return ev=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t="symbol".concat(_s(e));return VO[t]||by},J5=(e,t,n)=>{if(t==="area")return e;switch(n){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var r=18*Q5;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},e6=(e,t)=>{VO["symbol".concat(_s(e))]=t},KO=e=>{var{type:t="circle",size:n=64,sizeType:r="area"}=e,i=Y5(e,H5),a=ik(ik({},i),{},{type:t,size:n,sizeType:r}),l="circle";typeof t=="string"&&(l=t);var u=()=>{var g=Z5(l),y=k5().type(g).size(J5(n,r,l)),w=y();if(w!==null)return w},{className:c,cx:f,cy:d}=a,h=dn(a);return ge(f)&&ge(d)&&ge(n)?k.createElement("path",ev({},h,{className:Ge("recharts-symbols",c),transform:"translate(".concat(f,", ").concat(d,")"),d:u()})):null};KO.registerSymbol=e6;var GO=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,jy=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var n=e;if(k.isValidElement(e)&&(n=e.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(i=>{vy(i)&&(r[i]=(a=>n[i](n,a)))}),r},t6=(e,t,n)=>r=>(e(t,n,r),null),Py=(e,t,n)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];vy(i)&&typeof a=="function"&&(r||(r={}),r[i]=t6(a,t,n))}),r};function ak(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function n6(e){for(var t=1;t(l[u]===void 0&&r[u]!==void 0&&(l[u]=r[u]),l),n);return a}var om={},lm={},ok;function o6(){return ok||(ok=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){const i=new Map;for(let a=0;a=0}e.isLength=t})(dm)),dm}var ck;function Ey(){return ck||(ck=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=s6();function n(r){return r!=null&&typeof r!="function"&&t.isLength(r.length)}e.isArrayLike=n})(fm)),fm}var pm={},fk;function u6(){return fk||(fk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return typeof n=="object"&&n!==null}e.isObjectLike=t})(pm)),pm}var dk;function c6(){return dk||(dk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Ey(),n=u6();function r(i){return n.isObjectLike(i)&&t.isArrayLike(i)}e.isArrayLikeObject=r})(cm)),cm}var hm={},mm={},pk;function f6(){return pk||(pk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Sy();function n(r){return function(i){return t.get(i,r)}}e.property=n})(mm)),mm}var gm={},vm={},ym={},xm={},hk;function XO(){return hk||(hk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n!==null&&(typeof n=="object"||typeof n=="function")}e.isObject=t})(xm)),xm}var bm={},mk;function QO(){return mk||(mk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==null||typeof n!="object"&&typeof n!="function"}e.isPrimitive=t})(bm)),bm}var wm={},gk;function ZO(){return gk||(gk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){return n===r||Number.isNaN(n)&&Number.isNaN(r)}e.isEqualsSameValueZero=t})(wm)),wm}var vk;function d6(){return vk||(vk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=XO(),n=QO(),r=ZO();function i(d,h,g){return typeof g!="function"?i(d,h,()=>{}):a(d,h,function y(w,S,b,P,E,O){const A=g(w,S,b,P,E,O);return A!==void 0?!!A:a(w,S,y,O)},new Map)}function a(d,h,g,y){if(h===d)return!0;switch(typeof h){case"object":return l(d,h,g,y);case"function":return Object.keys(h).length>0?a(d,{...h},g,y):r.isEqualsSameValueZero(d,h);default:return t.isObject(d)?typeof h=="string"?h==="":!0:r.isEqualsSameValueZero(d,h)}}function l(d,h,g,y){if(h==null)return!0;if(Array.isArray(h))return c(d,h,g,y);if(h instanceof Map)return u(d,h,g,y);if(h instanceof Set)return f(d,h,g,y);const w=Object.keys(h);if(d==null||n.isPrimitive(d))return w.length===0;if(w.length===0)return!0;if(y!=null&&y.has(h))return y.get(h)===d;y==null||y.set(h,d);try{for(let S=0;S{})}e.isMatch=n})(vm)),vm}var km={},Sm={},jm={},xk;function p6(){return xk||(xk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return Object.getOwnPropertySymbols(n).filter(r=>Object.prototype.propertyIsEnumerable.call(n,r))}e.getSymbols=t})(jm)),jm}var Pm={},bk;function Cy(){return bk||(bk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}e.getTag=t})(Pm)),Pm}var Em={},wk;function eN(){return wk||(wk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t="[object RegExp]",n="[object String]",r="[object Number]",i="[object Boolean]",a="[object Arguments]",l="[object Symbol]",u="[object Date]",c="[object Map]",f="[object Set]",d="[object Array]",h="[object Function]",g="[object ArrayBuffer]",y="[object Object]",w="[object Error]",S="[object DataView]",b="[object Uint8Array]",P="[object Uint8ClampedArray]",E="[object Uint16Array]",O="[object Uint32Array]",A="[object BigUint64Array]",I="[object Int8Array]",C="[object Int16Array]",L="[object Int32Array]",R="[object BigInt64Array]",U="[object Float32Array]",D="[object Float64Array]";e.argumentsTag=a,e.arrayBufferTag=g,e.arrayTag=d,e.bigInt64ArrayTag=R,e.bigUint64ArrayTag=A,e.booleanTag=i,e.dataViewTag=S,e.dateTag=u,e.errorTag=w,e.float32ArrayTag=U,e.float64ArrayTag=D,e.functionTag=h,e.int16ArrayTag=C,e.int32ArrayTag=L,e.int8ArrayTag=I,e.mapTag=c,e.numberTag=r,e.objectTag=y,e.regexpTag=t,e.setTag=f,e.stringTag=n,e.symbolTag=l,e.uint16ArrayTag=E,e.uint32ArrayTag=O,e.uint8ArrayTag=b,e.uint8ClampedArrayTag=P})(Em)),Em}var Cm={},kk;function h6(){return kk||(kk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}e.isTypedArray=t})(Cm)),Cm}var Sk;function tN(){return Sk||(Sk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=p6(),n=Cy(),r=eN(),i=QO(),a=h6();function l(d,h){return u(d,void 0,d,new Map,h)}function u(d,h,g,y=new Map,w=void 0){const S=w==null?void 0:w(d,h,g,y);if(S!==void 0)return S;if(i.isPrimitive(d))return d;if(y.has(d))return y.get(d);if(Array.isArray(d)){const b=new Array(d.length);y.set(d,b);for(let P=0;Pt.isMatch(a,i)}e.matches=r})(gm)),gm}var Om={},Nm={},Am={},Ek;function v6(){return Ek||(Ek=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=tN(),n=Cy(),r=eN();function i(a,l){return t.cloneDeepWith(a,(u,c,f,d)=>{const h=l==null?void 0:l(u,c,f,d);if(h!==void 0)return h;if(typeof a=="object"){if(n.getTag(a)===r.objectTag&&typeof a.constructor!="function"){const g={};return d.set(a,g),t.copyProperties(g,a,f,d),g}switch(Object.prototype.toString.call(a)){case r.numberTag:case r.stringTag:case r.booleanTag:{const g=new a.constructor(a==null?void 0:a.valueOf());return t.copyProperties(g,a),g}case r.argumentsTag:{const g={};return t.copyProperties(g,a),g.length=a.length,g[Symbol.iterator]=a[Symbol.iterator],g}default:return}}})}e.cloneDeepWith=i})(Am)),Am}var Ck;function y6(){return Ck||(Ck=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=v6();function n(r){return t.cloneDeepWith(r)}e.cloneDeep=n})(Nm)),Nm}var _m={},Im={},Ok;function nN(){return Ok||(Ok=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=/^(?:0|[1-9]\d*)$/;function n(r,i=Number.MAX_SAFE_INTEGER){switch(typeof r){case"number":return Number.isInteger(r)&&r>=0&&r",...c.current()})),f+=c.move(">")):(u=n.enter("destinationRaw"),f+=c.move(n.safe(e.url,{before:f,after:e.title?" ":")",...c.current()}))),u(),e.title&&(u=n.enter(`title${a}`),f+=c.move(" "+i),f+=c.move(n.safe(e.title,{before:f,after:i,...c.current()})),f+=c.move(i),u()),f+=c.move(")"),l(),f}function EF(){return"!"}aO.peek=CF;function aO(e,t,n,r){const i=e.referenceType,a=n.enter("imageReference");let l=n.enter("label");const u=n.createTracker(r);let c=u.move("![");const f=n.safe(e.alt,{before:c,after:"]",...u.current()});c+=u.move(f+"]["),l();const d=n.stack;n.stack=[],l=n.enter("reference");const p=n.safe(n.associationId(e),{before:c,after:"]",...u.current()});return l(),n.stack=d,a(),i==="full"||!f||f!==p?c+=u.move(p+"]"):i==="shortcut"?c=c.slice(0,-1):c+=u.move("]"),c}function CF(){return"!"}oO.peek=OF;function oO(e,t,n){let r=e.value||"",i="`",a=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a\u007F]/.test(e.url))}sO.peek=NF;function sO(e,t,n,r){const i=py(n),a=i==='"'?"Quote":"Apostrophe",l=n.createTracker(r);let u,c;if(lO(e,n)){const d=n.stack;n.stack=[],u=n.enter("autolink");let p=l.move("<");return p+=l.move(n.containerPhrasing(e,{before:p,after:">",...l.current()})),p+=l.move(">"),u(),n.stack=d,p}u=n.enter("link"),c=n.enter("label");let f=l.move("[");return f+=l.move(n.containerPhrasing(e,{before:f,after:"](",...l.current()})),f+=l.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),f+=l.move("<"),f+=l.move(n.safe(e.url,{before:f,after:">",...l.current()})),f+=l.move(">")):(c=n.enter("destinationRaw"),f+=l.move(n.safe(e.url,{before:f,after:e.title?" ":")",...l.current()}))),c(),e.title&&(c=n.enter(`title${a}`),f+=l.move(" "+i),f+=l.move(n.safe(e.title,{before:f,after:i,...l.current()})),f+=l.move(i),c()),f+=l.move(")"),u(),f}function NF(e,t,n){return lO(e,n)?"<":"["}uO.peek=AF;function uO(e,t,n,r){const i=e.referenceType,a=n.enter("linkReference");let l=n.enter("label");const u=n.createTracker(r);let c=u.move("[");const f=n.containerPhrasing(e,{before:c,after:"]",...u.current()});c+=u.move(f+"]["),l();const d=n.stack;n.stack=[],l=n.enter("reference");const p=n.safe(n.associationId(e),{before:c,after:"]",...u.current()});return l(),n.stack=d,a(),i==="full"||!f||f!==p?c+=u.move(p+"]"):i==="shortcut"?c=c.slice(0,-1):c+=u.move("]"),c}function AF(){return"["}function my(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function _F(e){const t=my(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function IF(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function cO(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function TF(e,t,n,r){const i=n.enter("list"),a=n.bulletCurrent;let l=e.ordered?IF(n):my(n);const u=e.ordered?l==="."?")":".":_F(n);let c=t&&n.bulletLastUsed?l===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((l==="*"||l==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),cO(n)===l&&d){let p=-1;for(;++p-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let l=a.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(l=Math.ceil(l/4)*4);const u=n.createTracker(r);u.move(a+" ".repeat(l-a.length)),u.shift(l);const c=n.enter("listItem"),f=n.indentLines(n.containerFlow(e,u.current()),d);return c(),f;function d(p,g,y){return g?(y?"":" ".repeat(l))+p:(y?a:a+" ".repeat(l-a.length))+p}}function LF(e,t,n,r){const i=n.enter("paragraph"),a=n.enter("phrasing"),l=n.containerPhrasing(e,r);return a(),i(),l}const RF=Uf(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function zF(e,t,n,r){return(e.children.some(function(l){return RF(l)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function $F(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}fO.peek=FF;function fO(e,t,n,r){const i=$F(n),a=n.enter("strong"),l=n.createTracker(r),u=l.move(i+i);let c=l.move(n.containerPhrasing(e,{after:i,before:u,...l.current()}));const f=c.charCodeAt(0),d=Fc(r.before.charCodeAt(r.before.length-1),f,i);d.inside&&(c=cs(f)+c.slice(1));const p=c.charCodeAt(c.length-1),g=Fc(r.after.charCodeAt(0),p,i);g.inside&&(c=c.slice(0,-1)+cs(p));const y=l.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:g.outside,before:d.outside},u+c+y}function FF(e,t,n){return n.options.strong||"*"}function BF(e,t,n,r){return n.safe(e.value,r)}function UF(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function WF(e,t,n){const r=(cO(n)+(n.options.ruleSpaces?" ":"")).repeat(UF(n));return n.options.ruleSpaces?r.slice(0,-1):r}const dO={blockquote:dF,break:U1,code:yF,definition:bF,emphasis:nO,hardBreak:U1,heading:jF,html:rO,image:iO,imageReference:aO,inlineCode:oO,link:sO,linkReference:uO,list:TF,listItem:MF,paragraph:LF,root:zF,strong:fO,text:BF,thematicBreak:WF};function qF(){return{enter:{table:HF,tableData:W1,tableHeader:W1,tableRow:KF},exit:{codeText:GF,table:VF,tableData:Xp,tableHeader:Xp,tableRow:Xp}}}function HF(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function VF(e){this.exit(e),this.data.inTable=void 0}function KF(e){this.enter({type:"tableRow",children:[]},e)}function Xp(e){this.exit(e)}function W1(e){this.enter({type:"tableCell",children:[]},e)}function GF(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,YF));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function YF(e,t){return t==="|"?t:e}function XF(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:l,tableCell:c,tableRow:u}};function l(y,w,S,b){return f(d(y,S,b),y.align)}function u(y,w,S,b){const P=p(y,S,b),E=f([P]);return E.slice(0,E.indexOf(` +`))}function c(y,w,S,b){const P=S.enter("tableCell"),E=S.enter("phrasing"),O=S.containerPhrasing(y,{...b,before:a,after:a});return E(),P(),O}function f(y,w){return cF(y,{align:w,alignDelimiters:r,padding:n,stringLength:i})}function d(y,w,S){const b=y.children;let P=-1;const E=[],O=w.enter("table");for(;++P0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const pB={tokenize:kB,partial:!0};function mB(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:xB,continuation:{tokenize:bB},exit:wB}},text:{91:{name:"gfmFootnoteCall",tokenize:yB},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:gB,resolveTo:vB}}}}function gB(e,t,n){const r=this;let i=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l;for(;i--;){const c=r.events[i][1];if(c.type==="labelImage"){l=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return u;function u(c){if(!l||!l._balanced)return n(c);const f=pr(r.sliceSerialize({start:l.end,end:r.now()}));return f.codePointAt(0)!==94||!a.includes(f.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function vB(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},l={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},u=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",a,t],["enter",l,t],["exit",l,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...u),e}function yB(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a=0,l;return u;function u(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),c}function c(p){return p!==94?n(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(p){if(a>999||p===93&&!l||p===null||p===91||Xe(p))return n(p);if(p===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return i.includes(pr(r.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(p)}return Xe(p)||(l=!0),a++,e.consume(p),p===92?d:f}function d(p){return p===91||p===92||p===93?(e.consume(p),a++,f):f(p)}}function xB(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,l=0,u;return c;function c(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(w)}function d(w){if(l>999||w===93&&!u||w===null||w===91||Xe(w))return n(w);if(w===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return a=pr(r.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return Xe(w)||(u=!0),l++,e.consume(w),w===92?p:d}function p(w){return w===91||w===92||w===93?(e.consume(w),l++,d):d(w)}function g(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),i.includes(a)||i.push(a),$e(e,y,"gfmFootnoteDefinitionWhitespace")):n(w)}function y(w){return t(w)}}function bB(e,t,n){return e.check(Os,t,e.attempt(pB,t,n))}function wB(e){e.exit("gfmFootnoteDefinition")}function kB(e,t,n){const r=this;return $e(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?t(a):n(a)}}function SB(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:a,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(l,u){let c=-1;for(;++c1?c(w):(l.consume(w),p++,y);if(p<2&&!n)return c(w);const b=l.exit("strikethroughSequenceTemporary"),P=_o(w);return b._open=!P||P===2&&!!S,b._close=!S||S===2&&!!P,u(w)}}}class jB{constructor(){this.map=[]}add(t,n,r){PB(this,t,n,r)}consume(t){if(this.map.sort(function(a,l){return a[0]-l[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const a of i)t.push(a);i=r.pop()}this.map.length=0}}function PB(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){const G=r.events[W][1].type;if(G==="lineEnding"||G==="linePrefix")W--;else break}const R=W>-1?r.events[W][1].type:null,V=R==="tableHead"||R==="tableRow"?C:c;return V===C&&r.parser.lazy[r.now().line]?n(L):V(L)}function c(L){return e.enter("tableHead"),e.enter("tableRow"),f(L)}function f(L){return L===124||(l=!0,a+=1),d(L)}function d(L){return L===null?n(L):Oe(L)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),y):n(L):Re(L)?$e(e,d,"whitespace")(L):(a+=1,l&&(l=!1,i+=1),L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),l=!0,d):(e.enter("data"),p(L)))}function p(L){return L===null||L===124||Xe(L)?(e.exit("data"),d(L)):(e.consume(L),L===92?g:p)}function g(L){return L===92||L===124?(e.consume(L),p):p(L)}function y(L){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(L):(e.enter("tableDelimiterRow"),l=!1,Re(L)?$e(e,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):w(L))}function w(L){return L===45||L===58?b(L):L===124?(l=!0,e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),S):I(L)}function S(L){return Re(L)?$e(e,b,"whitespace")(L):b(L)}function b(L){return L===58?(a+=1,l=!0,e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),P):L===45?(a+=1,P(L)):L===null||Oe(L)?A(L):I(L)}function P(L){return L===45?(e.enter("tableDelimiterFiller"),E(L)):I(L)}function E(L){return L===45?(e.consume(L),E):L===58?(l=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),O):(e.exit("tableDelimiterFiller"),O(L))}function O(L){return Re(L)?$e(e,A,"whitespace")(L):A(L)}function A(L){return L===124?w(L):L===null||Oe(L)?!l||i!==a?I(L):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(L)):I(L)}function I(L){return n(L)}function C(L){return e.enter("tableRow"),M(L)}function M(L){return L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),M):L===null||Oe(L)?(e.exit("tableRow"),t(L)):Re(L)?$e(e,M,"whitespace")(L):(e.enter("data"),B(L))}function B(L){return L===null||L===124||Xe(L)?(e.exit("data"),M(L)):(e.consume(L),L===92?H:B)}function H(L){return L===92||L===124?(e.consume(L),B):B(L)}}function NB(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],l=[0,0,0,0],u=!1,c=0,f,d,p;const g=new jB;for(;++nn[2]+1){const w=n[2]+1,S=n[3]-n[2]-1;e.add(w,S,[])}}e.add(n[3]+1,0,[["exit",p,t]])}return i!==void 0&&(a.end=Object.assign({},wo(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function H1(e,t,n,r,i){const a=[],l=wo(t.events,n);i&&(i.end=Object.assign({},l),a.push(["exit",i,t])),r.end=Object.assign({},l),a.push(["exit",r,t]),e.add(n+1,0,a)}function wo(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const AB={name:"tasklistCheck",tokenize:IB};function _B(){return{text:{91:AB}}}function IB(e,t,n){const r=this;return i;function i(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),a)}function a(c){return Xe(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),l):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),l):n(c)}function l(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):n(c)}function u(c){return Oe(c)?t(c):Re(c)?e.check({tokenize:TB},t,n)(c):n(c)}}function TB(e,t,n){return $e(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function DB(e){return _C([aB(),mB(),SB(e),CB(),_B()])}const MB={};function LB(e){const t=this,n=e||MB,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(DB(n)),a.push(tB()),l.push(nB(n))}function RB({content:e}){return m.jsx("div",{className:"spec-markdown",children:m.jsx(S4,{remarkPlugins:[LB],components:{h3:({children:t})=>{const r=String(t??"").match(/Task\s+(\d+)/),i=r?`task-${r[1]}`:void 0;return m.jsx("h3",{id:i,className:"text-lg font-semibold mt-6 mb-3 pb-2 border-b border-base-300/50 first:mt-0 scroll-mt-4",children:t})},h4:({children:t})=>m.jsx("h4",{className:"text-base font-medium mt-4 mb-2 text-base-content/90",children:t}),p:({children:t})=>m.jsx("p",{className:"text-sm text-base-content/80 mb-3 leading-relaxed",children:t}),ul:({children:t})=>m.jsx("ul",{className:"text-sm space-y-1.5 mb-4 ml-1",children:t}),ol:({children:t})=>m.jsx("ol",{className:"text-sm space-y-1.5 mb-4 ml-1 list-decimal list-inside",children:t}),li:({children:t})=>m.jsxs("li",{className:"text-base-content/80 flex items-start gap-2",children:[m.jsx("span",{className:"text-primary mt-0.5 text-xs select-none",children:"โ–ธ"}),m.jsx("span",{className:"flex-1",children:t})]}),code:({className:t,children:n})=>t?m.jsx("code",{className:"block bg-base-300 p-3 rounded-lg text-xs font-mono overflow-x-auto mb-4 border border-base-content/10",children:n}):m.jsx("code",{className:"bg-base-300 text-primary px-1.5 py-0.5 rounded text-xs font-mono",children:n}),pre:({children:t})=>m.jsx("pre",{className:"bg-base-300 p-3 rounded-lg text-xs font-mono overflow-x-auto mb-4 border border-base-content/10",children:t}),strong:({children:t})=>m.jsx("strong",{className:"font-semibold text-base-content",children:t}),table:({children:t})=>m.jsx("div",{className:"overflow-x-auto mb-4",children:m.jsx("table",{className:"table table-sm w-full",children:t})}),thead:({children:t})=>m.jsx("thead",{className:"bg-base-200",children:t}),th:({children:t})=>m.jsx("th",{className:"text-left text-xs font-medium text-base-content/70 p-2",children:t}),td:({children:t})=>m.jsx("td",{className:"text-sm p-2 border-t border-base-300/50",children:t}),blockquote:({children:t})=>m.jsx("blockquote",{className:"border-l-4 border-primary/50 pl-4 py-1 my-3 text-sm text-base-content/70 italic",children:t}),hr:()=>m.jsx("hr",{className:"my-6 border-base-300"})},children:e})})}const zB={PENDING:{color:"warning",icon:"lucide:clock",label:"In Progress"},COMPLETE:{color:"info",icon:"lucide:check-circle",label:"Complete"},VERIFIED:{color:"success",icon:"lucide:shield-check",label:"Verified"}};function $B({parsed:e,spec:t,onTaskClick:n}){const r=zB[t.status],i=e.tasks.filter(u=>u.completed).length,a=e.tasks.length,l=a>0?i/a*100:0;return m.jsx(wt,{children:m.jsxs(kt,{className:"p-5",children:[m.jsxs("div",{className:"flex items-start justify-between mb-4",children:[m.jsxs("div",{children:[m.jsx("h2",{className:"text-xl font-semibold",children:e.title}),e.goal&&m.jsx("p",{className:"text-base-content/60 text-sm mt-1",children:e.goal})]}),m.jsxs(Ie,{variant:r.color,size:"sm",className:"whitespace-nowrap",children:[m.jsx(le,{icon:r.icon,size:12,className:"mr-1"}),r.label]})]}),m.jsxs("div",{className:"mb-4",children:[m.jsxs("div",{className:"flex justify-between text-sm mb-1.5",children:[m.jsx("span",{className:"text-base-content/70",children:"Progress"}),m.jsxs("span",{className:"font-medium",children:[i," / ",a," tasks"]})]}),m.jsx(tM,{value:l,max:100,variant:"primary"})]}),m.jsx("div",{className:"space-y-2",children:e.tasks.map(u=>m.jsxs("div",{className:`flex items-center gap-3 p-2 rounded-lg cursor-pointer transition-colors ${u.completed?"bg-success/10 hover:bg-success/15":"bg-base-200/50 hover:bg-base-200"}`,onClick:()=>n==null?void 0:n(u.number),children:[m.jsx("div",{className:`w-5 h-5 rounded-md flex items-center justify-center ${u.completed?"bg-success text-success-content":"bg-base-300"}`,children:u.completed?m.jsx(le,{icon:"lucide:check",size:14}):m.jsx("span",{className:"text-xs text-base-content/50",children:u.number})}),m.jsxs("span",{className:`text-sm ${u.completed?"text-base-content/70":"text-base-content"}`,children:["Task ",u.number,": ",u.title]})]},u.number))}),m.jsxs("div",{className:"flex items-center gap-4 mt-4 pt-4 border-t border-base-300/50 text-xs text-base-content/50",children:[m.jsx(Ie,{variant:t.specType==="Bugfix"?"warning":"info",size:"xs",children:t.specType==="Bugfix"?"Bugfix":"Feature"}),t.iterations>0&&m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:repeat",size:12}),m.jsxs("span",{children:[t.iterations," iteration",t.iterations>1?"s":""]})]}),!t.approved&&t.status==="PENDING"&&m.jsx(Ie,{variant:"warning",size:"xs",children:"Awaiting Approval"}),t.worktree?m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:git-branch",size:12}),m.jsx("span",{children:"Worktree"})]}):m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:git-commit",size:12}),m.jsx("span",{children:"Direct"})]}),t.modifiedAt&&m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx(le,{icon:"lucide:calendar",size:12}),m.jsx("span",{children:new Date(t.modifiedAt).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]}),m.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[m.jsx(le,{icon:"lucide:file",size:12}),m.jsx("span",{className:"font-mono",children:t.filePath.split("/").pop()})]})]})]})})}const wO={SPEC_REFRESH_INTERVAL_MS:5e3},FB={A:"lucide:file-plus",M:"lucide:file-edit",D:"lucide:file-minus"},BB={A:"text-success",M:"text-warning",D:"text-error"};function UB(){const[e,t]=k.useState(null),[n,r]=k.useState([]),[i,a]=k.useState(!0),[l,u]=k.useState(!1),[c,f]=k.useState(!1),[d,p]=k.useState(null),g=k.useCallback(async()=>{try{const E=await(await fetch("/api/worktree/status")).json();if(t(E),E.active){const A=await(await fetch("/api/worktree/diff")).json();r(A.files||[])}else r([])}catch{t(null)}finally{a(!1)}},[]);k.useEffect(()=>{g();const P=setInterval(g,wO.SPEC_REFRESH_INTERVAL_MS);return()=>clearInterval(P)},[g]);const y=async()=>{var P;if(confirm("Sync worktree changes to the base branch via squash merge?")){u(!0),p(null);try{const O=await(await fetch("/api/worktree/sync",{method:"POST"})).json();O.success?(p(`Synced ${O.files_changed} files โ€” commit ${(P=O.commit_hash)==null?void 0:P.slice(0,7)}`),await g()):p(`Sync failed: ${O.error}`)}catch{p("Sync failed")}finally{u(!1)}}},w=async()=>{if(confirm("Discard all worktree changes? This cannot be undone.")){f(!0),p(null);try{const E=await(await fetch("/api/worktree/discard",{method:"POST"})).json();E.success?(p("Worktree discarded"),await g()):p(`Discard failed: ${E.error}`)}catch{p("Discard failed")}finally{f(!1)}}};if(i||!(e!=null&&e.active))return null;const S=n.reduce((P,E)=>P+E.additions,0),b=n.reduce((P,E)=>P+E.deletions,0);return m.jsx(wt,{children:m.jsxs(kt,{className:"p-4",children:[m.jsxs("div",{className:"flex items-center justify-between mb-3",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(le,{icon:"lucide:git-branch",size:16,className:"text-primary"}),m.jsx("span",{className:"text-sm font-medium",children:"Worktree Isolation"}),m.jsx(Ie,{variant:"info",size:"xs",children:e.branch})]}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsxs(Rt,{variant:"primary",size:"xs",onClick:y,disabled:l||c||n.length===0,children:[l?m.jsx(Xi,{size:"xs"}):m.jsx(le,{icon:"lucide:git-merge",size:12}),m.jsx("span",{className:"ml-1",children:"Sync"})]}),m.jsxs(Rt,{variant:"ghost",size:"xs",onClick:w,disabled:l||c,children:[c?m.jsx(Xi,{size:"xs"}):m.jsx(le,{icon:"lucide:trash-2",size:12,className:"text-error"}),m.jsx("span",{className:"ml-1",children:"Discard"})]})]})]}),m.jsxs("div",{className:"flex items-center gap-3 text-xs text-base-content/60 mb-2",children:[m.jsxs("span",{children:[n.length," file",n.length!==1?"s":""," changed"]}),S>0&&m.jsxs("span",{className:"text-success",children:["+",S]}),b>0&&m.jsxs("span",{className:"text-error",children:["-",b]}),m.jsxs("span",{className:"ml-auto",children:["base: ",m.jsx("span",{className:"font-mono text-base-content/80",children:e.baseBranch})]})]}),n.length>0&&m.jsx("div",{className:"space-y-0.5 max-h-40 overflow-y-auto",children:n.map(P=>m.jsxs("div",{className:"flex items-center gap-2 text-xs py-0.5",children:[m.jsx(le,{icon:FB[P.status]||"lucide:file",size:12,className:BB[P.status]||"text-base-content/50"}),m.jsx("span",{className:"font-mono text-base-content/80 truncate",children:P.path}),m.jsxs("span",{className:"ml-auto flex items-center gap-1 flex-shrink-0",children:[P.additions>0&&m.jsxs("span",{className:"text-success",children:["+",P.additions]}),P.deletions>0&&m.jsxs("span",{className:"text-error",children:["-",P.deletions]})]})]},P.path))}),d&&m.jsx("div",{className:`mt-2 text-xs px-2 py-1 rounded ${d.includes("failed")?"bg-error/10 text-error":"bg-success/10 text-success"}`,children:d})]})})}const WB={PENDING:"lucide:clock",COMPLETE:"lucide:check-circle",VERIFIED:"lucide:shield-check"};function qB(e){const t=e.match(/^#\s+(.+)$/m),n=t?t[1].replace(" Implementation Plan",""):"Untitled",r=e.match(/\*\*Goal:\*\*\s*(.+?)(?:\n|$)/),i=r?r[1]:"",a=[],l=/^- \[(x| )\] Task (\d+):\s*(.+)$/gm;let u;for(;(u=l.exec(e))!==null;)a.push({number:parseInt(u[2],10),title:u[3],completed:u[1]==="x"});const c=e.match(/## Implementation Tasks\n([\s\S]*?)(?=\n## [^#]|$)/),f=c?c[1].trim():"";return{title:n,goal:i,tasks:a,implementationSection:f}}function HB(){const{selectedProject:e}=za(),[t,n]=k.useState([]),[r,i]=k.useState(null),[a,l]=k.useState(null),[u,c]=k.useState(!0),[f,d]=k.useState(!1),[p,g]=k.useState(null),[y,w]=k.useState(!1),S=k.useRef(null),[b,P]=k.useState(!1),E=k.useCallback(V=>{const G=document.getElementById(`task-${V}`);G&&G.scrollIntoView({behavior:"smooth",block:"start"})},[]),O=k.useCallback(()=>{var V;(V=S.current)==null||V.scrollIntoView({behavior:"smooth",block:"start"})},[]);k.useEffect(()=>{const V=document.querySelector("main");if(!V)return;const G=()=>{if(!S.current)return;const Q=S.current.getBoundingClientRect(),de=V.getBoundingClientRect().top;P(Q.bottomV.removeEventListener("scroll",G)},[]);const A=e?`?project=${encodeURIComponent(e)}`:"",I=k.useRef(e);I.current!==e&&(I.current=e,i(null),l(null),g(null),c(!0));const C=k.useCallback(async()=>{var V;try{const Q=await(await fetch(`/api/plans/active${A}`)).json();if(n(Q.specs||[]),((V=Q.specs)==null?void 0:V.length)>0&&!r){const de=Q.specs.find(ce=>ce.status==="PENDING"||ce.status==="COMPLETE");i(de?de.filePath:Q.specs[0].filePath)}}catch(G){g("Failed to load specs"),console.error("Failed to load specs:",G)}finally{c(!1)}},[r,A]),M=k.useCallback(async(V,G=!1)=>{G||d(!0),g(null);try{const Q=await fetch(`/api/plan/content?path=${encodeURIComponent(V)}${e?`&project=${encodeURIComponent(e)}`:""}`);if(!Q.ok)throw new Error("Failed to load spec content");l(await Q.json())}catch(Q){g("Failed to load spec content"),console.error("Failed to load spec content:",Q)}finally{G||d(!1)}},[e]),B=k.useCallback(async V=>{if(confirm(`Delete spec "${V.split("/").pop()}"? This cannot be undone.`)){w(!0);try{if(!(await fetch(`/api/plan?path=${encodeURIComponent(V)}${e?`&project=${encodeURIComponent(e)}`:""}`,{method:"DELETE"})).ok)throw new Error("Failed to delete spec");i(null),l(null),await C()}catch(G){g("Failed to delete spec"),console.error("Failed to delete spec:",G)}finally{w(!1)}}},[C,e]);if(k.useEffect(()=>{C();const V=setInterval(()=>{C(),r&&M(r,!0)},wO.SPEC_REFRESH_INTERVAL_MS);return()=>clearInterval(V)},[C,M,r]),k.useEffect(()=>{r&&M(r)},[r,M]),u)return m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsx(Xi,{size:"lg"})});if(t.length===0)return m.jsx("div",{className:"space-y-6",children:m.jsx(wt,{children:m.jsx(kt,{children:m.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[m.jsx(le,{icon:"lucide:file-text",size:48,className:"text-base-content/30 mb-4"}),m.jsx("h3",{className:"text-lg font-medium mb-2",children:"No Active Specs"}),m.jsxs("p",{className:"text-base-content/60 max-w-md",children:["Use"," ",m.jsx("code",{className:"text-primary bg-base-300 px-1 rounded",children:"/spec"})," ","in Pilot Shell to start a spec-driven development workflow."]})]})})})});const H=t.filter(V=>V.status==="PENDING"||V.status==="COMPLETE"),L=t.filter(V=>V.status==="VERIFIED"),W=t.find(V=>V.filePath===r),R=a?qB(a.content):null;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[m.jsx("h1",{className:"text-2xl font-bold mr-auto",children:"Specifications"}),H.length>0&&m.jsx("div",{role:"tablist",className:"flex items-center gap-1.5 flex-shrink-0",children:H.map(V=>{const G=r===V.filePath;return m.jsxs("button",{role:"tab","aria-selected":G,className:`px-3 py-1.5 rounded-lg text-xs font-medium border transition-colors cursor-pointer flex items-center gap-1.5 ${G?"bg-primary/10 border-primary/30 text-primary":"bg-base-200/60 border-base-300/50 text-base-content/70 hover:bg-base-200"}`,onClick:()=>i(V.filePath),children:[m.jsx(le,{icon:WB[V.status],size:12,className:V.status==="PENDING"?"text-warning":"text-info"}),m.jsx("span",{className:"truncate max-w-32",children:V.name}),m.jsx("span",{className:`text-[10px] font-normal ${V.specType==="Bugfix"?"text-warning":"text-info"}`,children:V.specType==="Bugfix"?"bugfix":"feature"}),V.total>0&&m.jsxs("span",{className:"text-[10px] opacity-60",children:[V.completed,"/",V.total]})]},V.filePath)})}),L.length>0&&m.jsxs("select",{className:"select select-bordered select-sm",value:(W==null?void 0:W.status)==="VERIFIED"&&r||"",onChange:V=>i(V.target.value),children:[m.jsxs("option",{value:"",disabled:!0,children:["Archived (",L.length,")"]}),L.map(V=>{const G=V.modifiedAt?new Date(V.modifiedAt):null,Q=G?G.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):"";return m.jsxs("option",{value:V.filePath,children:[V.name,Q?` - ${Q}`:""]},V.filePath)})]}),r&&m.jsx(hr,{text:"Delete spec",position:"bottom",children:m.jsx(Rt,{variant:"ghost",size:"sm",onClick:()=>B(r),disabled:y,children:m.jsx(le,{icon:"lucide:trash-2",size:16,className:"text-error"})})})]}),f?m.jsx("div",{className:"flex items-center justify-center py-12",children:m.jsx(Xi,{size:"md"})}):p?m.jsx(wt,{children:m.jsx(kt,{children:m.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[m.jsx(le,{icon:"lucide:alert-circle",size:48,className:"text-error mb-4"}),m.jsx("p",{className:"text-error",children:p})]})})}):R&&W?m.jsxs(m.Fragment,{children:[m.jsx("div",{ref:S,children:m.jsx($B,{parsed:R,spec:W,onTaskClick:E})}),m.jsx(UB,{}),R.implementationSection&&m.jsx(wt,{children:m.jsxs(kt,{className:"p-6",children:[m.jsxs("h3",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[m.jsx(le,{icon:"lucide:list-tree",size:18}),"Implementation Details"]}),m.jsx(RB,{content:R.implementationSection})]})}),b&&m.jsxs("button",{onClick:O,className:"fixed bottom-6 right-6 btn btn-primary btn-sm shadow-lg gap-1.5 z-50",children:[m.jsx(le,{icon:"lucide:arrow-up",size:14}),"Task List"]})]}):null]})}const VB=300*1e3;function KB(){const[e,t]=k.useState([]),[n,r]=k.useState([]),[i,a]=k.useState([]),[l,u]=k.useState(!0),[c,f]=k.useState(null),[d,p]=k.useState(!0),[g,y]=k.useState(!0),w=k.useCallback(async()=>{var S,b;try{const[P,E,O]=await Promise.all([fetch("/api/usage/daily"),fetch("/api/usage/monthly"),fetch("/api/usage/models")]),[A,I,C]=await Promise.all([P.json(),E.json(),O.json()]);if(A.available===!1){p(!1),y(!1),t([]),r([]),a([]),f(null);return}p(!0);const M=(((S=A.daily)==null?void 0:S.length)??0)>0||(((b=I.monthly)==null?void 0:b.length)??0)>0;y(M),t(A.daily||[]),r(I.monthly||[]),a(C.models||[]),f(null)}catch(P){f(P instanceof Error?P.message:"Failed to load usage data"),p(!0),y(!1)}finally{u(!1)}},[]);return k.useEffect(()=>{w();const S=setInterval(w,VB);return()=>{clearInterval(S)}},[w]),{daily:e,monthly:n,models:i,isLoading:l,error:c,available:d,dataExists:g}}function Io(e){return e<1e3?e.toString():e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function GB({daily:e}){const t=e.length>0?e[e.length-1]:null,n=(t==null?void 0:t.totalCost)||0,r=(t==null?void 0:t.totalTokens)||0,i=e.filter(d=>d.totalCost>0||d.totalTokens>0),a=i.reduce((d,p)=>d+(p.totalCost||0),0),l=i.reduce((d,p)=>d+(p.totalTokens||0),0),u=i.length||1,c=a/u,f=Math.round(l/u);return m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Daily Cost"}),m.jsxs("div",{className:"stat-value text-primary",children:[n.toFixed(2),"$"]}),m.jsx("div",{className:"stat-desc",children:"Today"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Avg Daily Cost"}),m.jsxs("div",{className:"stat-value",children:["โŒ€ ",c.toFixed(2),"$"]}),m.jsxs("div",{className:"stat-desc",children:["Last ",u," working days"]})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Daily Tokens"}),m.jsx("div",{className:"stat-value text-primary",children:Io(r)}),m.jsx("div",{className:"stat-desc",children:"Today"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Avg Daily Tokens"}),m.jsxs("div",{className:"stat-value",children:["โŒ€ ",Io(f)]}),m.jsxs("div",{className:"stat-desc",children:["Last ",u," working days"]})]})})]})}function kO(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{var{children:n,width:r,height:i,viewBox:a,className:l,style:u,title:c,desc:f}=e,d=e5(e,JB),p=a||{width:r,height:i,x:0,y:0},g=Ge("recharts-surface",l);return k.createElement("svg",Gg({},dn(d),{className:g,width:r,height:i,style:u,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),ref:t}),k.createElement("title",null,c),k.createElement("desc",null,f),n)}),n5=["children","className"];function Yg(){return Yg=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{children:n,className:r}=e,i=r5(e,n5),a=Ge("recharts-layer",r);return k.createElement("g",Yg({className:a},dn(i),{ref:t}),n)}),EO=VE(),a5=k.createContext(null);function Je(e){return function(){return e}}const CO=Math.cos,Bc=Math.sin,br=Math.sqrt,Uc=Math.PI,qf=2*Uc,Xg=Math.PI,Qg=2*Xg,ya=1e-6,o5=Qg-ya;function OO(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return OO;const n=10**t;return function(r){this._+=r[0];for(let i=1,a=r.length;iya)if(!(Math.abs(p*c-f*d)>ya)||!a)this._append`L${this._x1=t},${this._y1=n}`;else{let y=r-l,w=i-u,S=c*c+f*f,b=y*y+w*w,P=Math.sqrt(S),E=Math.sqrt(g),O=a*Math.tan((Xg-Math.acos((S+g-b)/(2*P*E)))/2),A=O/E,I=O/P;Math.abs(A-1)>ya&&this._append`L${t+A*d},${n+A*p}`,this._append`A${a},${a},0,0,${+(p*y>d*w)},${this._x1=t+I*c},${this._y1=n+I*f}`}}arc(t,n,r,i,a,l){if(t=+t,n=+n,r=+r,l=!!l,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(i),c=r*Math.sin(i),f=t+u,d=n+c,p=1^l,g=l?i-a:a-i;this._x1===null?this._append`M${f},${d}`:(Math.abs(this._x1-f)>ya||Math.abs(this._y1-d)>ya)&&this._append`L${f},${d}`,r&&(g<0&&(g=g%Qg+Qg),g>o5?this._append`A${r},${r},0,1,${p},${t-u},${n-c}A${r},${r},0,1,${p},${this._x1=f},${this._y1=d}`:g>ya&&this._append`A${r},${r},0,${+(g>=Xg)},${p},${this._x1=t+r*Math.cos(a)},${this._y1=n+r*Math.sin(a)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function yy(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new s5(t)}function xy(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function NO(e){this._context=e}NO.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 Hf(e){return new NO(e)}function AO(e){return e[0]}function _O(e){return e[1]}function IO(e,t){var n=Je(!0),r=null,i=Hf,a=null,l=yy(u);e=typeof e=="function"?e:e===void 0?AO:Je(e),t=typeof t=="function"?t:t===void 0?_O:Je(t);function u(c){var f,d=(c=xy(c)).length,p,g=!1,y;for(r==null&&(a=i(y=l())),f=0;f<=d;++f)!(f=y;--w)u.point(O[w],A[w]);u.lineEnd(),u.areaEnd()}P&&(O[g]=+e(b,g,p),A[g]=+t(b,g,p),u.point(r?+r(b,g,p):O[g],n?+n(b,g,p):A[g]))}if(E)return u=null,E+""||null}function d(){return IO().defined(i).curve(l).context(a)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:Je(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Je(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Je(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:Je(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Je(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Je(+p),f):n},f.lineX0=f.lineY0=function(){return d().x(e).y(t)},f.lineY1=function(){return d().x(e).y(n)},f.lineX1=function(){return d().x(r).y(t)},f.defined=function(p){return arguments.length?(i=typeof p=="function"?p:Je(!!p),f):i},f.curve=function(p){return arguments.length?(l=p,a!=null&&(u=l(a)),f):l},f.context=function(p){return arguments.length?(p==null?a=u=null:u=l(a=p),f):a},f}class TO{constructor(t,n){this._context=t,this._x=n}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,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function u5(e){return new TO(e,!0)}function c5(e){return new TO(e,!1)}const by={draw(e,t){const n=br(t/Uc);e.moveTo(n,0),e.arc(0,0,n,0,qf)}},f5={draw(e,t){const n=br(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},DO=br(1/3),d5=DO*2,h5={draw(e,t){const n=br(t/d5),r=n*DO;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},p5={draw(e,t){const n=br(t),r=-n/2;e.rect(r,r,n,n)}},m5=.8908130915292852,MO=Bc(Uc/10)/Bc(7*Uc/10),g5=Bc(qf/10)*MO,v5=-CO(qf/10)*MO,y5={draw(e,t){const n=br(t*m5),r=g5*n,i=v5*n;e.moveTo(0,-n),e.lineTo(r,i);for(let a=1;a<5;++a){const l=qf*a/5,u=CO(l),c=Bc(l);e.lineTo(c*n,-u*n),e.lineTo(u*r-c*i,c*r+u*i)}e.closePath()}},Qp=br(3),x5={draw(e,t){const n=-br(t/(Qp*3));e.moveTo(0,n*2),e.lineTo(-Qp*n,-n),e.lineTo(Qp*n,-n),e.closePath()}},Kn=-.5,Gn=br(3)/2,Zg=1/br(12),b5=(Zg/2+1)*3,w5={draw(e,t){const n=br(t/b5),r=n/2,i=n*Zg,a=r,l=n*Zg+n,u=-a,c=l;e.moveTo(r,i),e.lineTo(a,l),e.lineTo(u,c),e.lineTo(Kn*r-Gn*i,Gn*r+Kn*i),e.lineTo(Kn*a-Gn*l,Gn*a+Kn*l),e.lineTo(Kn*u-Gn*c,Gn*u+Kn*c),e.lineTo(Kn*r+Gn*i,Kn*i-Gn*r),e.lineTo(Kn*a+Gn*l,Kn*l-Gn*a),e.lineTo(Kn*u+Gn*c,Kn*c-Gn*u),e.closePath()}};function k5(e,t){let n=null,r=yy(i);e=typeof e=="function"?e:Je(e||by),t=typeof t=="function"?t:Je(t===void 0?64:+t);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:Je(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:Je(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function Wc(){}function qc(e,t,n){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+n)/6)}function LO(e){this._context=e}LO.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:qc(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:qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function S5(e){return new LO(e)}function RO(e){this._context=e}RO.prototype={areaStart:Wc,areaEnd:Wc,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:qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function j5(e){return new RO(e)}function zO(e){this._context=e}zO.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 n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function P5(e){return new zO(e)}function $O(e){this._context=e}$O.prototype={areaStart:Wc,areaEnd:Wc,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 E5(e){return new $O(e)}function V1(e){return e<0?-1:1}function K1(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),l=(n-e._y1)/(i||r<0&&-0),u=(a*i+l*r)/(r+i);return(V1(a)+V1(l))*Math.min(Math.abs(a),Math.abs(l),.5*Math.abs(u))||0}function G1(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Zp(e,t,n){var r=e._x0,i=e._y0,a=e._x1,l=e._y1,u=(a-r)/3;e._context.bezierCurveTo(r+u,i+u*t,a-u,l-u*n,a,l)}function Hc(e){this._context=e}Hc.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:Zp(this,this._t0,G1(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 n=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,Zp(this,G1(this,n=K1(this,e,t)),n);break;default:Zp(this,this._t0,n=K1(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function FO(e){this._context=new BO(e)}(FO.prototype=Object.create(Hc.prototype)).point=function(e,t){Hc.prototype.point.call(this,t,e)};function BO(e){this._context=e}BO.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,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function C5(e){return new Hc(e)}function O5(e){return new FO(e)}function UO(e){this._context=e}UO.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,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Y1(e),i=Y1(t),a=0,l=1;l=0;--t)i[t]=(l[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-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 n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function A5(e){return new Vf(e,.5)}function _5(e){return new Vf(e,0)}function I5(e){return new Vf(e,1)}function Aa(e,t){if((l=e.length)>1)for(var n=1,r,i,a=e[t[0]],l,u=a.length;n=0;)n[t]=t;return n}function T5(e,t){return e[t]}function D5(e){const t=[];return t.key=e,t}function M5(){var e=Je([]),t=Jg,n=Aa,r=T5;function i(a){var l=Array.from(e.apply(this,arguments),D5),u,c=l.length,f=-1,d;for(const p of a)for(u=0,++f;u0){for(var n,r,i=0,a=e[0].length,l;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,l;r1&&arguments[1]!==void 0?arguments[1]:W5,n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function pt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var u=n[l-1];return typeof u=="string"?i+u+a:u!==void 0?i+Ki(u)+a:i+a},"")}var jn=e=>e===0?0:e>0?1:-1,gr=e=>typeof e=="number"&&e!=+e,_a=e=>typeof e=="string"&&e.indexOf("%")===e.length-1,ge=e=>(typeof e=="number"||e instanceof Number)&&!gr(e),Dr=e=>ge(e)||typeof e=="string",q5=0,fs=e=>{var t=++q5;return"".concat(e||"").concat(t)},vr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ge(t)&&typeof t!="string")return r;var a;if(_a(t)){if(n==null)return r;var l=t.indexOf("%");a=n*parseFloat(t.slice(0,l))/100}else a=+t;return gr(a)&&(a=r),i&&n!=null&&a>n&&(a=n),a},qO=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;rr&&(typeof t=="function"?t(r):To(r,t))===n)}var mt=e=>e===null||typeof e>"u",_s=e=>mt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Pn(e){return e!=null}function Fa(){}var H5=["type","size","sizeType"];function ev(){return ev=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t="symbol".concat(_s(e));return VO[t]||by},J5=(e,t,n)=>{if(t==="area")return e;switch(n){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var r=18*Q5;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},e6=(e,t)=>{VO["symbol".concat(_s(e))]=t},KO=e=>{var{type:t="circle",size:n=64,sizeType:r="area"}=e,i=Y5(e,H5),a=ik(ik({},i),{},{type:t,size:n,sizeType:r}),l="circle";typeof t=="string"&&(l=t);var u=()=>{var g=Z5(l),y=k5().type(g).size(J5(n,r,l)),w=y();if(w!==null)return w},{className:c,cx:f,cy:d}=a,p=dn(a);return ge(f)&&ge(d)&&ge(n)?k.createElement("path",ev({},p,{className:Ge("recharts-symbols",c),transform:"translate(".concat(f,", ").concat(d,")"),d:u()})):null};KO.registerSymbol=e6;var GO=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,jy=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var n=e;if(k.isValidElement(e)&&(n=e.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(i=>{vy(i)&&(r[i]=(a=>n[i](n,a)))}),r},t6=(e,t,n)=>r=>(e(t,n,r),null),Py=(e,t,n)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];vy(i)&&typeof a=="function"&&(r||(r={}),r[i]=t6(a,t,n))}),r};function ak(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function n6(e){for(var t=1;t(l[u]===void 0&&r[u]!==void 0&&(l[u]=r[u]),l),n);return a}var om={},lm={},ok;function o6(){return ok||(ok=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){const i=new Map;for(let a=0;a=0}e.isLength=t})(dm)),dm}var ck;function Ey(){return ck||(ck=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=s6();function n(r){return r!=null&&typeof r!="function"&&t.isLength(r.length)}e.isArrayLike=n})(fm)),fm}var hm={},fk;function u6(){return fk||(fk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return typeof n=="object"&&n!==null}e.isObjectLike=t})(hm)),hm}var dk;function c6(){return dk||(dk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Ey(),n=u6();function r(i){return n.isObjectLike(i)&&t.isArrayLike(i)}e.isArrayLikeObject=r})(cm)),cm}var pm={},mm={},hk;function f6(){return hk||(hk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Sy();function n(r){return function(i){return t.get(i,r)}}e.property=n})(mm)),mm}var gm={},vm={},ym={},xm={},pk;function XO(){return pk||(pk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n!==null&&(typeof n=="object"||typeof n=="function")}e.isObject=t})(xm)),xm}var bm={},mk;function QO(){return mk||(mk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==null||typeof n!="object"&&typeof n!="function"}e.isPrimitive=t})(bm)),bm}var wm={},gk;function ZO(){return gk||(gk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){return n===r||Number.isNaN(n)&&Number.isNaN(r)}e.isEqualsSameValueZero=t})(wm)),wm}var vk;function d6(){return vk||(vk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=XO(),n=QO(),r=ZO();function i(d,p,g){return typeof g!="function"?i(d,p,()=>{}):a(d,p,function y(w,S,b,P,E,O){const A=g(w,S,b,P,E,O);return A!==void 0?!!A:a(w,S,y,O)},new Map)}function a(d,p,g,y){if(p===d)return!0;switch(typeof p){case"object":return l(d,p,g,y);case"function":return Object.keys(p).length>0?a(d,{...p},g,y):r.isEqualsSameValueZero(d,p);default:return t.isObject(d)?typeof p=="string"?p==="":!0:r.isEqualsSameValueZero(d,p)}}function l(d,p,g,y){if(p==null)return!0;if(Array.isArray(p))return c(d,p,g,y);if(p instanceof Map)return u(d,p,g,y);if(p instanceof Set)return f(d,p,g,y);const w=Object.keys(p);if(d==null||n.isPrimitive(d))return w.length===0;if(w.length===0)return!0;if(y!=null&&y.has(p))return y.get(p)===d;y==null||y.set(p,d);try{for(let S=0;S{})}e.isMatch=n})(vm)),vm}var km={},Sm={},jm={},xk;function h6(){return xk||(xk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return Object.getOwnPropertySymbols(n).filter(r=>Object.prototype.propertyIsEnumerable.call(n,r))}e.getSymbols=t})(jm)),jm}var Pm={},bk;function Cy(){return bk||(bk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}e.getTag=t})(Pm)),Pm}var Em={},wk;function eN(){return wk||(wk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t="[object RegExp]",n="[object String]",r="[object Number]",i="[object Boolean]",a="[object Arguments]",l="[object Symbol]",u="[object Date]",c="[object Map]",f="[object Set]",d="[object Array]",p="[object Function]",g="[object ArrayBuffer]",y="[object Object]",w="[object Error]",S="[object DataView]",b="[object Uint8Array]",P="[object Uint8ClampedArray]",E="[object Uint16Array]",O="[object Uint32Array]",A="[object BigUint64Array]",I="[object Int8Array]",C="[object Int16Array]",M="[object Int32Array]",B="[object BigInt64Array]",H="[object Float32Array]",L="[object Float64Array]";e.argumentsTag=a,e.arrayBufferTag=g,e.arrayTag=d,e.bigInt64ArrayTag=B,e.bigUint64ArrayTag=A,e.booleanTag=i,e.dataViewTag=S,e.dateTag=u,e.errorTag=w,e.float32ArrayTag=H,e.float64ArrayTag=L,e.functionTag=p,e.int16ArrayTag=C,e.int32ArrayTag=M,e.int8ArrayTag=I,e.mapTag=c,e.numberTag=r,e.objectTag=y,e.regexpTag=t,e.setTag=f,e.stringTag=n,e.symbolTag=l,e.uint16ArrayTag=E,e.uint32ArrayTag=O,e.uint8ArrayTag=b,e.uint8ClampedArrayTag=P})(Em)),Em}var Cm={},kk;function p6(){return kk||(kk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}e.isTypedArray=t})(Cm)),Cm}var Sk;function tN(){return Sk||(Sk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=h6(),n=Cy(),r=eN(),i=QO(),a=p6();function l(d,p){return u(d,void 0,d,new Map,p)}function u(d,p,g,y=new Map,w=void 0){const S=w==null?void 0:w(d,p,g,y);if(S!==void 0)return S;if(i.isPrimitive(d))return d;if(y.has(d))return y.get(d);if(Array.isArray(d)){const b=new Array(d.length);y.set(d,b);for(let P=0;Pt.isMatch(a,i)}e.matches=r})(gm)),gm}var Om={},Nm={},Am={},Ek;function v6(){return Ek||(Ek=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=tN(),n=Cy(),r=eN();function i(a,l){return t.cloneDeepWith(a,(u,c,f,d)=>{const p=l==null?void 0:l(u,c,f,d);if(p!==void 0)return p;if(typeof a=="object"){if(n.getTag(a)===r.objectTag&&typeof a.constructor!="function"){const g={};return d.set(a,g),t.copyProperties(g,a,f,d),g}switch(Object.prototype.toString.call(a)){case r.numberTag:case r.stringTag:case r.booleanTag:{const g=new a.constructor(a==null?void 0:a.valueOf());return t.copyProperties(g,a),g}case r.argumentsTag:{const g={};return t.copyProperties(g,a),g.length=a.length,g[Symbol.iterator]=a[Symbol.iterator],g}default:return}}})}e.cloneDeepWith=i})(Am)),Am}var Ck;function y6(){return Ck||(Ck=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=v6();function n(r){return t.cloneDeepWith(r)}e.cloneDeep=n})(Nm)),Nm}var _m={},Im={},Ok;function nN(){return Ok||(Ok=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=/^(?:0|[1-9]\d*)$/;function n(r,i=Number.MAX_SAFE_INTEGER){switch(typeof r){case"number":return Number.isInteger(r)&&r>=0&&r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return zm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:d,zm}var Rk;function O6(){return Rk||(Rk=1,Rm.exports=C6()),Rm.exports}/** + */var Lk;function C6(){if(Lk)return zm;Lk=1;var e=Fo();function t(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue;function u(p,g){var y=g(),w=r({inst:{value:y,getSnapshot:g}}),S=w[0].inst,b=w[1];return a(function(){S.value=y,S.getSnapshot=g,c(S)&&b({inst:S})},[p,y,g]),i(function(){return c(S)&&b({inst:S}),p(function(){c(S)&&b({inst:S})})},[p]),l(y),y}function c(p){var g=p.getSnapshot;p=p.value;try{var y=g();return!n(p,y)}catch{return!0}}function f(p,g){return g()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return zm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:d,zm}var Rk;function O6(){return Rk||(Rk=1,Rm.exports=C6()),Rm.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -81,39 +81,39 @@ Error generating stack: `+j.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zk;function N6(){if(zk)return Lm;zk=1;var e=Fo(),t=O6();function n(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,a=e.useRef,l=e.useEffect,u=e.useMemo,c=e.useDebugValue;return Lm.useSyncExternalStoreWithSelector=function(f,d,h,g,y){var w=a(null);if(w.current===null){var S={hasValue:!1,value:null};w.current=S}else S=w.current;w=u(function(){function P(C){if(!E){if(E=!0,O=C,C=g(C),y!==void 0&&S.hasValue){var L=S.value;if(y(L,C))return A=L}return A=C}if(L=A,r(O,C))return L;var R=g(C);return y!==void 0&&y(L,R)?(O=C,L):(O=C,A=R)}var E=!1,O,A,I=h===void 0?null:h;return[function(){return P(d())},I===null?void 0:function(){return P(I())}]},[d,h,g,y]);var b=i(f,w[0],w[1]);return l(function(){S.hasValue=!0,S.value=b},[b]),c(b),b},Lm}var $k;function A6(){return $k||($k=1,Mm.exports=N6()),Mm.exports}var _6=A6(),Oy=k.createContext(null),I6=e=>e,yt=()=>{var e=k.useContext(Oy);return e?e.store.dispatch:I6},Ac=()=>{},T6=()=>Ac,D6=(e,t)=>e===t;function Pe(e){var t=k.useContext(Oy),n=k.useMemo(()=>t?r=>{if(r!=null)return e(r)}:Ac,[t,e]);return _6.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:T6,t?t.store.getState:Ac,t?t.store.getState:Ac,n,D6)}function M6(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function L6(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function R6(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var Fk=e=>Array.isArray(e)?e:[e];function z6(e){const t=Array.isArray(e[0])?e[0]:e;return R6(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function $6(e,t){const n=[],{length:r}=e;for(let i=0;i{n=fc(),l.resetResultsCount()},l.resultsCount=()=>a,l.resetResultsCount=()=>{a=0},l}function W6(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...i)=>{let a=0,l=0,u,c={},f=i.pop();typeof f=="object"&&(c=f,f=i.pop()),M6(f,`createSelector expects an output function after the inputs, but received: [${typeof f}]`);const d={...n,...c},{memoize:h,memoizeOptions:g=[],argsMemoize:y=rN,argsMemoizeOptions:w=[]}=d,S=Fk(g),b=Fk(w),P=z6(i),E=h(function(){return a++,f.apply(null,arguments)},...S),O=y(function(){l++;const I=$6(P,arguments);return u=E.apply(null,I),u},...b);return Object.assign(O,{resultFunc:f,memoizedResultFunc:E,dependencies:P,dependencyRecomputations:()=>l,resetDependencyRecomputations:()=>{l=0},lastResult:()=>u,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:h,argsMemoize:y})};return Object.assign(r,{withTypes:()=>r}),r}var G=W6(rN),q6=Object.assign((e,t=G)=>{L6(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(a=>e[a]);return t(r,(...a)=>a.reduce((l,u,c)=>(l[n[c]]=u,l),{}))},{withTypes:()=>q6}),$m={},Fm={},Bm={},Uk;function H6(){return Uk||(Uk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return typeof r=="symbol"?1:r===null?2:r===void 0?3:r!==r?4:0}const n=(r,i,a)=>{if(r!==i){const l=t(r),u=t(i);if(l===u&&l===0){if(ri)return a==="desc"?-1:1}return a==="desc"?u-l:l-u}return 0};e.compareValues=n})(Bm)),Bm}var Um={},Wm={},Wk;function iN(){return Wk||(Wk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return typeof n=="symbol"||n instanceof Symbol}e.isSymbol=t})(Wm)),Wm}var qk;function V6(){return qk||(qk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=iN(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(a,l){return Array.isArray(a)?!1:typeof a=="number"||typeof a=="boolean"||a==null||t.isSymbol(a)?!0:typeof a=="string"&&(r.test(a)||!n.test(a))||l!=null&&Object.hasOwn(l,a)}e.isKey=i})(Um)),Um}var Hk;function K6(){return Hk||(Hk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=H6(),n=V6(),r=ky();function i(a,l,u,c){if(a==null)return[];u=c?void 0:u,Array.isArray(a)||(a=Object.values(a)),Array.isArray(l)||(l=l==null?[null]:[l]),l.length===0&&(l=[null]),Array.isArray(u)||(u=u==null?[]:[u]),u=u.map(y=>String(y));const f=(y,w)=>{let S=y;for(let b=0;bw==null||y==null?w:typeof y=="object"&&"key"in y?Object.hasOwn(w,y.key)?w[y.key]:f(w,y.path):typeof y=="function"?y(w):Array.isArray(y)?f(w,y):typeof w=="object"?w[y]:w,h=l.map(y=>(Array.isArray(y)&&y.length===1&&(y=y[0]),y==null||typeof y=="function"||Array.isArray(y)||n.isKey(y)?y:{key:y,path:r.toPath(y)}));return a.map(y=>({original:y,criteria:h.map(w=>d(w,y))})).slice().sort((y,w)=>{for(let S=0;Sy.original)}e.orderBy=i})(Fm)),Fm}var qm={},Vk;function G6(){return Vk||(Vk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r=1){const i=[],a=Math.floor(r),l=(u,c)=>{for(let f=0;f1&&r.isIterateeCall(a,l[0],l[1])?l=[]:u>2&&r.isIterateeCall(l[0],l[1],l[2])&&(l=[l[0]]),t.orderBy(a,n.flatten(l),["asc"])}e.sortBy=i})($m)),$m}var Vm,Yk;function X6(){return Yk||(Yk=1,Vm=Y6().sortBy),Vm}var Q6=X6();const Kf=xr(Q6);var oN=e=>e.legend.settings,Z6=e=>e.legend.size,J6=e=>e.legend.payload;G([J6,oN],(e,t)=>{var{itemSorter:n}=t,r=e.flat(1);return n?Kf(r,n):r});var dc=1;function eU(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],[t,n]=k.useState({height:0,left:0,top:0,width:0}),r=k.useCallback(i=>{if(i!=null){var a=i.getBoundingClientRect(),l={height:a.height,left:a.left,top:a.top,width:a.width};(Math.abs(l.height-t.height)>dc||Math.abs(l.left-t.left)>dc||Math.abs(l.top-t.top)>dc||Math.abs(l.width-t.width)>dc)&&n({height:l.height,left:l.left,top:l.top,width:l.width})}},[t.width,t.height,t.top,t.left,...e]);return[t,r]}function Gt(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 tU=typeof Symbol=="function"&&Symbol.observable||"@@observable",Xk=tU,Km=()=>Math.random().toString(36).substring(7).split("").join("."),nU={INIT:`@@redux/INIT${Km()}`,REPLACE:`@@redux/REPLACE${Km()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Km()}`},Vc=nU;function Ny(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 lN(e,t,n){if(typeof e!="function")throw new Error(Gt(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Gt(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Gt(1));return n(lN)(e,t)}let r=e,i=t,a=new Map,l=a,u=0,c=!1;function f(){l===a&&(l=new Map,a.forEach((b,P)=>{l.set(P,b)}))}function d(){if(c)throw new Error(Gt(3));return i}function h(b){if(typeof b!="function")throw new Error(Gt(4));if(c)throw new Error(Gt(5));let P=!0;f();const E=u++;return l.set(E,b),function(){if(P){if(c)throw new Error(Gt(6));P=!1,f(),l.delete(E),a=null}}}function g(b){if(!Ny(b))throw new Error(Gt(7));if(typeof b.type>"u")throw new Error(Gt(8));if(typeof b.type!="string")throw new Error(Gt(17));if(c)throw new Error(Gt(9));try{c=!0,i=r(i,b)}finally{c=!1}return(a=l).forEach(E=>{E()}),b}function y(b){if(typeof b!="function")throw new Error(Gt(10));r=b,g({type:Vc.REPLACE})}function w(){const b=h;return{subscribe(P){if(typeof P!="object"||P===null)throw new Error(Gt(11));function E(){const A=P;A.next&&A.next(d())}return E(),{unsubscribe:b(E)}},[Xk](){return this}}}return g({type:Vc.INIT}),{dispatch:g,subscribe:h,getState:d,replaceReducer:y,[Xk]:w}}function rU(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:Vc.INIT})>"u")throw new Error(Gt(12));if(typeof n(void 0,{type:Vc.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Gt(13))})}function sN(e){const t=Object.keys(e),n={};for(let a=0;a"u")throw u&&u.type,new Error(Gt(14));f[h]=w,c=c||w!==y}return c=c||r.length!==Object.keys(l).length,c?f:l}}function Kc(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function iU(...e){return t=>(n,r)=>{const i=t(n,r);let a=()=>{throw new Error(Gt(15))};const l={getState:i.getState,dispatch:(c,...f)=>a(c,...f)},u=e.map(c=>c(l));return a=Kc(...u)(i.dispatch),{...i,dispatch:a}}}function uN(e){return Ny(e)&&"type"in e&&typeof e.type=="string"}var cN=Symbol.for("immer-nothing"),Qk=Symbol.for("immer-draftable"),hn=Symbol.for("immer-state");function cr(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ln=Object,Do=Ln.getPrototypeOf,Gc="constructor",Gf="prototype",tv="configurable",Yc="enumerable",_c="writable",ds="value",ri=e=>!!e&&!!e[hn];function yr(e){var t;return e?fN(e)||Xf(e)||!!e[Qk]||!!((t=e[Gc])!=null&&t[Qk])||Qf(e)||Zf(e):!1}var aU=Ln[Gf][Gc].toString(),Zk=new WeakMap;function fN(e){if(!e||!Ay(e))return!1;const t=Do(e);if(t===null||t===Ln[Gf])return!0;const n=Ln.hasOwnProperty.call(t,Gc)&&t[Gc];if(n===Object)return!0;if(!ko(n))return!1;let r=Zk.get(n);return r===void 0&&(r=Function.toString.call(n),Zk.set(n,r)),r===aU}function Yf(e,t,n=!0){Is(e)===0?(n?Reflect.ownKeys(e):Ln.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((r,i)=>t(i,r,e))}function Is(e){const t=e[hn];return t?t.type_:Xf(e)?1:Qf(e)?2:Zf(e)?3:0}var Jk=(e,t,n=Is(e))=>n===2?e.has(t):Ln[Gf].hasOwnProperty.call(e,t),nv=(e,t,n=Is(e))=>n===2?e.get(t):e[t],Xc=(e,t,n,r=Is(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function oU(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Xf=Array.isArray,Qf=e=>e instanceof Map,Zf=e=>e instanceof Set,Ay=e=>typeof e=="object",ko=e=>typeof e=="function",Gm=e=>typeof e=="boolean";function lU(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var Qr=e=>e.copy_||e.base_,_y=e=>e.modified_?e.copy_:e.base_;function rv(e,t){if(Qf(e))return new Map(e);if(Zf(e))return new Set(e);if(Xf(e))return Array[Gf].slice.call(e);const n=fN(e);if(t===!0||t==="class_only"&&!n){const r=Ln.getOwnPropertyDescriptors(e);delete r[hn];let i=Reflect.ownKeys(r);for(let a=0;a1&&Ln.defineProperties(e,{set:pc,add:pc,clear:pc,delete:pc}),Ln.freeze(e),t&&Yf(e,(n,r)=>{Iy(r,!0)},!1)),e}function sU(){cr(2)}var pc={[ds]:sU};function Jf(e){return e===null||!Ay(e)?!0:Ln.isFrozen(e)}var Qc="MapSet",iv="Patches",eS="ArrayMethods",dN={};function Ia(e){const t=dN[e];return t||cr(0,e),t}var tS=e=>!!dN[e],ps,pN=()=>ps,uU=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:tS(Qc)?Ia(Qc):void 0,arrayMethodsPlugin_:tS(eS)?Ia(eS):void 0});function nS(e,t){t&&(e.patchPlugin_=Ia(iv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function av(e){ov(e),e.drafts_.forEach(cU),e.drafts_=null}function ov(e){e===ps&&(ps=e.parent_)}var rS=e=>ps=uU(ps,e);function cU(e){const t=e[hn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function iS(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(e!==void 0&&e!==n){n[hn].modified_&&(av(t),cr(4)),yr(e)&&(e=aS(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(n[hn].base_,e,t)}else e=aS(t,n);return fU(t,e,!0),av(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==cN?e:void 0}function aS(e,t){if(Jf(t))return t;const n=t[hn];if(!n)return Zc(t,e.handledSet_,e);if(!ed(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(e);gN(n,e)}return n.copy_}function fU(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Iy(t,n)}function hN(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ed=(e,t)=>e.scope_===t,dU=[];function mN(e,t,n,r){const i=Qr(e),a=e.type_;if(r!==void 0&&nv(i,r,a)===t){Xc(i,r,n,a);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;Yf(i,(c,f)=>{if(ri(f)){const d=u.get(f)||[];d.push(c),u.set(f,d)}})}const l=e.draftLocations_.get(t)??dU;for(const u of l)Xc(i,u,n,a)}function pU(e,t,n){e.callbacks_.push(function(i){var u;const a=t;if(!a||!ed(a,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(a);const l=_y(a);mN(e,a.draft_??a,l,n),gN(a,i)})}function gN(e,t){var r;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((r=e.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const a=i.getPath(e);a&&i.generatePatches_(e,a,t)}hN(e)}}function hU(e,t,n){const{scope_:r}=e;if(ri(n)){const i=n[hn];ed(i,r)&&i.callbacks_.push(function(){Ic(e);const l=_y(i);mN(e,n,l,t)})}else yr(n)&&e.callbacks_.push(function(){const a=Qr(e);e.type_===3?a.has(n)&&Zc(n,r.handledSet_,r):nv(a,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Zc(nv(e.copy_,t,e.type_),r.handledSet_,r)})}function Zc(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||ri(e)||t.has(e)||!yr(e)||Jf(e)||(t.add(e),Yf(e,(r,i)=>{if(ri(i)){const a=i[hn];if(ed(a,n)){const l=_y(a);Xc(e,r,l,e.type_),hN(a)}}else yr(i)&&Zc(i,t,n)})),e}function mU(e,t){const n=Xf(e),r={type_:n?1:0,scope_:t?t.scope_:pN(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,a=Jc;n&&(i=[r],a=hs);const{revoke:l,proxy:u}=Proxy.revocable(i,a);return r.draft_=u,r.revoke_=l,[u,r]}var Jc={get(e,t){if(t===hn)return e;let n=e.scope_.arrayMethodsPlugin_;const r=e.type_===1&&typeof t=="string";if(r&&n!=null&&n.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Qr(e);if(!Jk(i,t,e.type_))return gU(e,i,t);const a=i[t];if(e.finalized_||!yr(a)||r&&e.operationMethod&&(n!=null&&n.isMutatingArrayMethod(e.operationMethod))&&lU(t))return a;if(a===Ym(e.base_,t)){Ic(e);const l=e.type_===1?+t:t,u=sv(e.scope_,a,e,l);return e.copy_[l]=u}return a},has(e,t){return t in Qr(e)},ownKeys(e){return Reflect.ownKeys(Qr(e))},set(e,t,n){const r=vN(Qr(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=Ym(Qr(e),t),a=i==null?void 0:i[hn];if(a&&a.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(oU(n,i)&&(n!==void 0||Jk(e.base_,t,e.type_)))return!0;Ic(e),lv(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),hU(e,t,n)),!0},deleteProperty(e,t){return Ic(e),Ym(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),lv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=Qr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[_c]:!0,[tv]:e.type_!==1||t!=="length",[Yc]:r[Yc],[ds]:n[t]}},defineProperty(){cr(11)},getPrototypeOf(e){return Do(e.base_)},setPrototypeOf(){cr(12)}},hs={};for(let e in Jc){let t=Jc[e];hs[e]=function(){const n=arguments;return n[0]=n[0][0],t.apply(this,n)}}hs.deleteProperty=function(e,t){return hs.set.call(this,e,t,void 0)};hs.set=function(e,t,n){return Jc.set.call(this,e[0],t,n,e[0])};function Ym(e,t){const n=e[hn];return(n?Qr(n):e)[t]}function gU(e,t,n){var i;const r=vN(t,n);return r?ds in r?r[ds]:(i=r.get)==null?void 0:i.call(e.draft_):void 0}function vN(e,t){if(!(t in e))return;let n=Do(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Do(n)}}function lv(e){e.modified_||(e.modified_=!0,e.parent_&&lv(e.parent_))}function Ic(e){e.copy_||(e.assigned_=new Map,e.copy_=rv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var vU=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,i)=>{if(ko(n)&&!ko(r)){const l=r;r=n;const u=this;return function(f=l,...d){return u.produce(f,h=>r.call(this,h,...d))}}ko(r)||cr(6),i!==void 0&&!ko(i)&&cr(7);let a;if(yr(n)){const l=rS(this),u=sv(l,n,void 0);let c=!0;try{a=r(u),c=!1}finally{c?av(l):ov(l)}return nS(l,i),iS(a,l)}else if(!n||!Ay(n)){if(a=r(n),a===void 0&&(a=n),a===cN&&(a=void 0),this.autoFreeze_&&Iy(a,!0),i){const l=[],u=[];Ia(iv).generateReplacementPatches_(n,a,{patches_:l,inversePatches_:u}),i(l,u)}return a}else cr(1,n)},this.produceWithPatches=(n,r)=>{if(ko(n))return(u,...c)=>this.produceWithPatches(u,f=>n(f,...c));let i,a;return[this.produce(n,r,(u,c)=>{i=u,a=c}),i,a]},Gm(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Gm(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Gm(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){yr(t)||cr(8),ri(t)&&(t=mr(t));const n=rS(this),r=sv(n,t,void 0);return r[hn].isManual_=!0,ov(n),r}finishDraft(t,n){const r=t&&t[hn];(!r||!r.isManual_)&&cr(9);const{scope_:i}=r;return nS(i,n),iS(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,n){let r;for(r=n.length-1;r>=0;r--){const a=n[r];if(a.path.length===0&&a.op==="replace"){t=a.value;break}}r>-1&&(n=n.slice(r+1));const i=Ia(iv).applyPatches_;return ri(t)?i(t,n):this.produce(t,a=>i(a,n))}};function sv(e,t,n,r){const[i,a]=Qf(t)?Ia(Qc).proxyMap_(t,n):Zf(t)?Ia(Qc).proxySet_(t,n):mU(t,n);return((n==null?void 0:n.scope_)??pN()).drafts_.push(i),a.callbacks_=(n==null?void 0:n.callbacks_)??[],a.key_=r,n&&r!==void 0?pU(n,a,r):a.callbacks_.push(function(c){var d;(d=c.mapSetPlugin_)==null||d.fixSetContents(a);const{patchPlugin_:f}=c;a.modified_&&f&&f.generatePatches_(a,[],c)}),i}function mr(e){return ri(e)||cr(10,e),yN(e)}function yN(e){if(!yr(e)||Jf(e))return e;const t=e[hn];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=rv(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=rv(e,!0);return Yf(n,(i,a)=>{Xc(n,i,yN(a))},r),t&&(t.finalized_=!1),n}var yU=new vU,xN=yU.produce;function bN(e){return({dispatch:n,getState:r})=>i=>a=>typeof a=="function"?a(n,r,e):i(a)}var xU=bN(),bU=bN,wU=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Kc:Kc.apply(null,arguments)};function Jn(e,t){function n(...r){if(t){let i=t(...r);if(!i)throw new Error(zn(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>uN(r)&&r.type===e,n}var wN=class Jl extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Jl.prototype)}static get[Symbol.species](){return Jl}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Jl(...t[0].concat(this)):new Jl(...t.concat(this))}};function oS(e){return yr(e)?xN(e,()=>{}):e}function hc(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function kU(e){return typeof e=="boolean"}var SU=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=t??{};let l=new wN;return n&&(kU(n)?l.push(xU):l.push(bU(n.extraArgument))),l},kN="RTK_autoBatch",at=()=>e=>({payload:e,meta:{[kN]:!0}}),lS=e=>t=>{setTimeout(t,e)},SN=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let i=!0,a=!1,l=!1;const u=new Set,c=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:lS(10):e.type==="callback"?e.queueNotification:lS(e.timeout),f=()=>{l=!1,a&&(a=!1,u.forEach(d=>d()))};return Object.assign({},r,{subscribe(d){const h=()=>i&&d(),g=r.subscribe(h);return u.add(d),()=>{g(),u.delete(d)}},dispatch(d){var h;try{return i=!((h=d==null?void 0:d.meta)!=null&&h[kN]),a=!i,a&&(l||(l=!0,c(f))),r.dispatch(d)}finally{i=!0}}})},jU=e=>function(n){const{autoBatch:r=!0}=n??{};let i=new wN(e);return r&&i.push(SN(typeof r=="object"?r:void 0)),i};function PU(e){const t=SU(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:a=void 0,enhancers:l=void 0}=e||{};let u;if(typeof n=="function")u=n;else if(Ny(n))u=sN(n);else throw new Error(zn(1));let c;typeof r=="function"?c=r(t):c=t();let f=Kc;i&&(f=wU({trace:!1,...typeof i=="object"&&i}));const d=iU(...c),h=jU(d);let g=typeof l=="function"?l(h):h();const y=f(...g);return lN(u,a,y)}function jN(e){const t={},n=[];let r;const i={addCase(a,l){const u=typeof a=="string"?a:a.type;if(!u)throw new Error(zn(28));if(u in t)throw new Error(zn(29));return t[u]=l,i},addAsyncThunk(a,l){return l.pending&&(t[a.pending.type]=l.pending),l.rejected&&(t[a.rejected.type]=l.rejected),l.fulfilled&&(t[a.fulfilled.type]=l.fulfilled),l.settled&&n.push({matcher:a.settled,reducer:l.settled}),i},addMatcher(a,l){return n.push({matcher:a,reducer:l}),i},addDefaultCase(a){return r=a,i}};return e(i),[t,n,r]}function EU(e){return typeof e=="function"}function CU(e,t){let[n,r,i]=jN(t),a;if(EU(e))a=()=>oS(e());else{const u=oS(e);a=()=>u}function l(u=a(),c){let f=[n[c.type],...r.filter(({matcher:d})=>d(c)).map(({reducer:d})=>d)];return f.filter(d=>!!d).length===0&&(f=[i]),f.reduce((d,h)=>{if(h)if(ri(d)){const y=h(d,c);return y===void 0?d:y}else{if(yr(d))return xN(d,g=>h(g,c));{const g=h(d,c);if(g===void 0){if(d===null)return d;throw Error("A case reducer on a non-draftable value must not return undefined")}return g}}return d},u)}return l.getInitialState=a,l}var OU="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",NU=(e=21)=>{let t="",n=e;for(;n--;)t+=OU[Math.random()*64|0];return t},AU=Symbol.for("rtk-slice-createasyncthunk");function _U(e,t){return`${e}/${t}`}function IU({creators:e}={}){var n;const t=(n=e==null?void 0:e.asyncThunk)==null?void 0:n[AU];return function(i){const{name:a,reducerPath:l=a}=i;if(!a)throw new Error(zn(11));const u=(typeof i.reducers=="function"?i.reducers(DU()):i.reducers)||{},c=Object.keys(u),f={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},d={addCase(A,I){const C=typeof A=="string"?A:A.type;if(!C)throw new Error(zn(12));if(C in f.sliceCaseReducersByType)throw new Error(zn(13));return f.sliceCaseReducersByType[C]=I,d},addMatcher(A,I){return f.sliceMatchers.push({matcher:A,reducer:I}),d},exposeAction(A,I){return f.actionCreators[A]=I,d},exposeCaseReducer(A,I){return f.sliceCaseReducersByName[A]=I,d}};c.forEach(A=>{const I=u[A],C={reducerName:A,type:_U(a,A),createNotation:typeof i.reducers=="function"};LU(I)?zU(C,I,d,t):MU(C,I,d)});function h(){const[A={},I=[],C=void 0]=typeof i.extraReducers=="function"?jN(i.extraReducers):[i.extraReducers],L={...A,...f.sliceCaseReducersByType};return CU(i.initialState,R=>{for(let U in L)R.addCase(U,L[U]);for(let U of f.sliceMatchers)R.addMatcher(U.matcher,U.reducer);for(let U of I)R.addMatcher(U.matcher,U.reducer);C&&R.addDefaultCase(C)})}const g=A=>A,y=new Map,w=new WeakMap;let S;function b(A,I){return S||(S=h()),S(A,I)}function P(){return S||(S=h()),S.getInitialState()}function E(A,I=!1){function C(R){let U=R[A];return typeof U>"u"&&I&&(U=hc(w,C,P)),U}function L(R=g){const U=hc(y,I,()=>new WeakMap);return hc(U,R,()=>{const D={};for(const[q,z]of Object.entries(i.selectors??{}))D[q]=TU(z,R,()=>hc(w,R,P),I);return D})}return{reducerPath:A,getSelectors:L,get selectors(){return L(C)},selectSlice:C}}const O={name:a,reducer:b,actions:f.actionCreators,caseReducers:f.sliceCaseReducersByName,getInitialState:P,...E(l),injectInto(A,{reducerPath:I,...C}={}){const L=I??l;return A.inject({reducerPath:L,reducer:b},C),{...O,...E(L,!0)}}};return O}}function TU(e,t,n,r){function i(a,...l){let u=t(a);return typeof u>"u"&&r&&(u=n()),e(u,...l)}return i.unwrapped=e,i}var On=IU();function DU(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function MU({type:e,reducerName:t,createNotation:n},r,i){let a,l;if("reducer"in r){if(n&&!RU(r))throw new Error(zn(17));a=r.reducer,l=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,l?Jn(e,l):Jn(e))}function LU(e){return e._reducerDefinitionType==="asyncThunk"}function RU(e){return e._reducerDefinitionType==="reducerWithPrepare"}function zU({type:e,reducerName:t},n,r,i){if(!i)throw new Error(zn(18));const{payloadCreator:a,fulfilled:l,pending:u,rejected:c,settled:f,options:d}=n,h=i(e,a,d);r.exposeAction(t,h),l&&r.addCase(h.fulfilled,l),u&&r.addCase(h.pending,u),c&&r.addCase(h.rejected,c),f&&r.addMatcher(h.settled,f),r.exposeCaseReducer(t,{fulfilled:l||mc,pending:u||mc,rejected:c||mc,settled:f||mc})}function mc(){}var $U="task",PN="listener",EN="completed",Ty="cancelled",FU=`task-${Ty}`,BU=`task-${EN}`,uv=`${PN}-${Ty}`,UU=`${PN}-${EN}`,td=class{constructor(e){bh(this,"name","TaskAbortError");bh(this,"message");this.code=e,this.message=`${$U} ${Ty} (reason: ${e})`}},Dy=(e,t)=>{if(typeof e!="function")throw new TypeError(zn(32))},ef=()=>{},CN=(e,t=ef)=>(e.catch(t),e),ON=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Pa=e=>{if(e.aborted)throw new td(e.reason)};function NN(e,t){let n=ef;return new Promise((r,i)=>{const a=()=>i(new td(e.reason));if(e.aborted){a();return}n=ON(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=ef})}var WU=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(n){return{status:n instanceof td?"cancelled":"rejected",error:n}}finally{t==null||t()}},tf=e=>t=>CN(NN(e,t).then(n=>(Pa(e),n))),AN=e=>{const t=tf(e);return n=>t(new Promise(r=>setTimeout(r,n)))},{assign:Oo}=Object,sS={},nd="listenerMiddleware",qU=(e,t)=>{const n=r=>ON(e,()=>r.abort(e.reason));return(r,i)=>{Dy(r);const a=new AbortController;n(a);const l=WU(async()=>{Pa(e),Pa(a.signal);const u=await r({pause:tf(a.signal),delay:AN(a.signal),signal:a.signal});return Pa(a.signal),u},()=>a.abort(BU));return i!=null&&i.autoJoin&&t.push(l.catch(ef)),{result:tf(e)(l),cancel(){a.abort(FU)}}}},HU=(e,t)=>{const n=async(r,i)=>{Pa(t);let a=()=>{};const u=[new Promise((c,f)=>{let d=e({predicate:r,effect:(h,g)=>{g.unsubscribe(),c([h,g.getState(),g.getOriginalState()])}});a=()=>{d(),f()}})];i!=null&&u.push(new Promise(c=>setTimeout(c,i,null)));try{const c=await NN(t,Promise.race(u));return Pa(t),c}finally{a()}};return(r,i)=>CN(n(r,i))},_N=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=Jn(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(zn(21));return Dy(a),{predicate:i,type:t,effect:a}},IN=Oo(e=>{const{type:t,predicate:n,effect:r}=_N(e);return{id:NU(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(zn(22))}}},{withTypes:()=>IN}),uS=(e,t)=>{const{type:n,effect:r,predicate:i}=_N(t);return Array.from(e.values()).find(a=>(typeof n=="string"?a.type===n:a.predicate===i)&&a.effect===r)},cv=e=>{e.pending.forEach(t=>{t.abort(uv)})},VU=(e,t)=>()=>{for(const n of t.keys())cv(n);e.clear()},cS=(e,t,n)=>{try{e(t,n)}catch(r){setTimeout(()=>{throw r},0)}},TN=Oo(Jn(`${nd}/add`),{withTypes:()=>TN}),KU=Jn(`${nd}/removeAll`),DN=Oo(Jn(`${nd}/remove`),{withTypes:()=>DN}),GU=(...e)=>{console.error(`${nd}/error`,...e)},Ts=(e={})=>{const t=new Map,n=new Map,r=y=>{const w=n.get(y)??0;n.set(y,w+1)},i=y=>{const w=n.get(y)??1;w===1?n.delete(y):n.set(y,w-1)},{extra:a,onError:l=GU}=e;Dy(l);const u=y=>(y.unsubscribe=()=>t.delete(y.id),t.set(y.id,y),w=>{y.unsubscribe(),w!=null&&w.cancelActive&&cv(y)}),c=y=>{const w=uS(t,y)??IN(y);return u(w)};Oo(c,{withTypes:()=>c});const f=y=>{const w=uS(t,y);return w&&(w.unsubscribe(),y.cancelActive&&cv(w)),!!w};Oo(f,{withTypes:()=>f});const d=async(y,w,S,b)=>{const P=new AbortController,E=HU(c,P.signal),O=[];try{y.pending.add(P),r(y),await Promise.resolve(y.effect(w,Oo({},S,{getOriginalState:b,condition:(A,I)=>E(A,I).then(Boolean),take:E,delay:AN(P.signal),pause:tf(P.signal),extra:a,signal:P.signal,fork:qU(P.signal,O),unsubscribe:y.unsubscribe,subscribe:()=>{t.set(y.id,y)},cancelActiveListeners:()=>{y.pending.forEach((A,I,C)=>{A!==P&&(A.abort(uv),C.delete(A))})},cancel:()=>{P.abort(uv),y.pending.delete(P)},throwIfCancelled:()=>{Pa(P.signal)}})))}catch(A){A instanceof td||cS(l,A,{raisedBy:"effect"})}finally{await Promise.all(O),P.abort(UU),i(y),y.pending.delete(P)}},h=VU(t,n);return{middleware:y=>w=>S=>{if(!uN(S))return w(S);if(TN.match(S))return c(S.payload);if(KU.match(S)){h();return}if(DN.match(S))return f(S.payload);let b=y.getState();const P=()=>{if(b===sS)throw new Error(zn(23));return b};let E;try{if(E=w(S),t.size>0){const O=y.getState(),A=Array.from(t.values());for(const I of A){let C=!1;try{C=I.predicate(S,O,b)}catch(L){C=!1,cS(l,L,{raisedBy:"predicate"})}C&&d(I,S,y,P)}}}finally{b=sS}return E},startListening:c,stopListening:f,clearListeners:h}};function zn(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 YU={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},MN=On({name:"chartLayout",initialState:YU,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 n,r,i,a;e.margin.top=(n=t.payload.top)!==null&&n!==void 0?n:0,e.margin.right=(r=t.payload.right)!==null&&r!==void 0?r:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),{setMargin:XU,setLayout:QU,setChartSize:ZU,setScale:JU}=MN.actions,e8=MN.reducer;function LN(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function De(e){return Number.isFinite(e)}function Mr(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function fS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function So(e){for(var t=1;t{if(t&&n){var{width:r,height:i}=n,{align:a,verticalAlign:l,layout:u}=t;if((u==="vertical"||u==="horizontal"&&l==="middle")&&a!=="center"&&ge(e[a]))return So(So({},e),{},{[a]:e[a]+(r||0)});if((u==="horizontal"||u==="vertical"&&a==="center")&&l!=="middle"&&ge(e[l]))return So(So({},e),{},{[l]:e[l]+(i||0)})}return e},zr=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",RN=(e,t,n,r)=>{if(r)return e.map(u=>u.coordinate);var i,a,l=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===n&&(a=!0),u.coordinate));return i||l.push(t),a||l.push(n),l},zN=(e,t,n)=>{if(!e)return null;var{duplicateDomain:r,type:i,range:a,scale:l,realScaleType:u,isCategorical:c,categoricalDomain:f,tickCount:d,ticks:h,niceTicks:g,axisType:y}=e;if(!l)return null;var w=u==="scaleBand"&&l.bandwidth?l.bandwidth()/2:2,S=i==="category"&&l.bandwidth?l.bandwidth()/w:0;if(S=y==="angleAxis"&&a&&a.length>=2?jn(a[0]-a[1])*2*S:S,h||g){var b=(h||g||[]).map((P,E)=>{var O=r?r.indexOf(P):P,A=l.map(O);return De(A)?{coordinate:A+S,value:P,offset:S,index:E}:null}).filter(Pn);return b}return c&&f?f.map((P,E)=>{var O=l.map(P);return De(O)?{coordinate:O+S,value:P,index:E,offset:S}:null}).filter(Pn):l.ticks&&d!=null?l.ticks(d).map((P,E)=>{var O=l.map(P);return De(O)?{coordinate:O+S,value:P,index:E,offset:S}:null}).filter(Pn):l.domain().map((P,E)=>{var O=l.map(P);return De(O)?{coordinate:O+S,value:r?r[P]:P,index:E,offset:S}:null}).filter(Pn)},a8=(e,t)=>{if(!t||t.length!==2||!ge(t[0])||!ge(t[1]))return e;var n=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]),i=[e[0],e[1]];return(!ge(e[0])||e[0]r)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var i=0;i=0?(f[0]=a,a+=g,f[1]=a):(f[0]=l,l+=g,f[1]=l)}}}},l8=e=>{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var i=0;i=0?(c[0]=a,a+=f,c[1]=a):(c[0]=0,c[1]=0)}}}},s8={sign:o8,expand:L5,none:Aa,silhouette:R5,wiggle:z5,positive:l8},u8=(e,t,n)=>{var r,i=(r=s8[n])!==null&&r!==void 0?r:Aa,a=M5().keys(t).value((u,c)=>Number(St(u,c,0))).order(Jg).offset(i),l=a(e);return l.forEach((u,c)=>{u.forEach((f,d)=>{var h=St(e[d],t[c],0);Array.isArray(h)&&h.length===2&&ge(h[0])&&ge(h[1])&&(f[0]=h[0],f[1]=h[1])})}),l};function $N(e){return e==null?void 0:String(e)}function dS(e){var{axis:t,ticks:n,bandSize:r,entry:i,index:a,dataKey:l}=e;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!mt(i[t.dataKey])){var u=HO(n,"value",i[t.dataKey]);if(u)return u.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=St(i,mt(l)?t.dataKey:l),f=t.scale.map(c);return ge(f)?f:null}var pS=e=>{var{axis:t,ticks:n,offset:r,bandSize:i,entry:a,index:l}=e;if(t.type==="category")return n[l]?n[l].coordinate+r:null;var u=St(a,t.dataKey,t.scale.domain()[l]);if(mt(u))return null;var c=t.scale.map(u);return ge(c)?c-i/2+r:null},c8=e=>{var{numericAxis:t}=e,n=t.scale.domain();if(t.type==="number"){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},f8=e=>{var t=e.flat(2).filter(ge);return[Math.min(...t),Math.max(...t)]},d8=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],p8=(e,t,n)=>{if(e!=null)return d8(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var{stackedData:l}=a,u=l.reduce((c,f)=>{var d=LN(f,t,n),h=f8(d);return!De(h[0])||!De(h[1])?c:[Math.min(c[0],h[0]),Math.max(c[1],h[1])]},[1/0,-1/0]);return[Math.min(u[0],r[0]),Math.max(u[1],r[1])]},[1/0,-1/0]))},hS=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,mS=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Mo=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=Kf(t,d=>d.coordinate),a=1/0,l=1,u=i.length;l{if(t==="horizontal")return e.chartX;if(t==="vertical")return e.chartY},m8=(e,t)=>t==="centric"?e.angle:e.radius,fi=e=>e.layout.width,di=e=>e.layout.height,g8=e=>e.layout.scale,FN=e=>e.layout.margin,id=G(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),ad=G(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),v8="data-recharts-item-index",y8="data-recharts-item-id",Ds=60;function vS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function gc(e){for(var t=1;te.brush.height;function S8(e){var t=ad(e);return t.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Ds;return n+i}return n},0)}function j8(e){var t=ad(e);return t.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Ds;return n+i}return n},0)}function P8(e){var t=id(e);return t.reduce((n,r)=>r.orientation==="top"&&!r.mirror&&!r.hide?n+r.height:n,0)}function E8(e){var t=id(e);return t.reduce((n,r)=>r.orientation==="bottom"&&!r.mirror&&!r.hide?n+r.height:n,0)}var $t=G([fi,di,FN,k8,S8,j8,P8,E8,oN,Z6],(e,t,n,r,i,a,l,u,c,f)=>{var d={left:(n.left||0)+i,right:(n.right||0)+a},h={top:(n.top||0)+l,bottom:(n.bottom||0)+u},g=gc(gc({},h),d),y=g.bottom;g.bottom+=r,g=i8(g,c,f);var w=e-g.left-g.right,S=t-g.top-g.bottom;return gc(gc({brushBottom:y},g),{},{width:Math.max(w,0),height:Math.max(S,0)})}),C8=G($t,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),My=G(fi,di,(e,t)=>({x:0,y:0,width:e,height:t})),O8=k.createContext(null),on=()=>k.useContext(O8)!=null,od=e=>e.brush,ld=G([od,$t,FN],(e,t,n)=>({height:e.height,x:ge(e.x)?e.x:t.left,y:ge(e.y)?e.y:t.top+t.height+t.brushBottom-((n==null?void 0:n.bottom)||0),width:ge(e.width)?e.width:t.width})),Xm={},Qm={},Zm={},yS;function N8(){return yS||(yS=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r,{signal:i,edges:a}={}){let l,u=null;const c=a!=null&&a.includes("leading"),f=a==null||a.includes("trailing"),d=()=>{u!==null&&(n.apply(l,u),l=void 0,u=null)},h=()=>{f&&d(),S()};let g=null;const y=()=>{g!=null&&clearTimeout(g),g=setTimeout(()=>{g=null,h()},r)},w=()=>{g!==null&&(clearTimeout(g),g=null)},S=()=>{w(),l=void 0,u=null},b=()=>{d()},P=function(...E){if(i!=null&&i.aborted)return;l=this,u=E;const O=g==null;y(),c&&O&&d()};return P.schedule=y,P.cancel=S,P.flush=b,i==null||i.addEventListener("abort",S,{once:!0}),P}e.debounce=t})(Zm)),Zm}var xS;function A8(){return xS||(xS=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=N8();function n(r,i=0,a={}){typeof a!="object"&&(a={});const{leading:l=!1,trailing:u=!0,maxWait:c}=a,f=Array(2);l&&(f[0]="leading"),u&&(f[1]="trailing");let d,h=null;const g=t.debounce(function(...S){d=r.apply(this,S),h=null},i,{edges:f}),y=function(...S){return c!=null&&(h===null&&(h=Date.now()),Date.now()-h>=c)?(d=r.apply(this,S),h=Date.now(),g.cancel(),g.schedule(),d):(g.apply(this,S),d)},w=()=>(g.flush(),d);return y.cancel=g.cancel,y.flush=w,y}e.debounce=n})(Qm)),Qm}var bS;function _8(){return bS||(bS=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=A8();function n(r,i=0,a={}){const{leading:l=!0,trailing:u=!0}=a;return t.debounce(r,i,{leading:l,maxWait:i,trailing:u})}e.throttle=n})(Xm)),Xm}var Jm,wS;function I8(){return wS||(wS=1,Jm=_8().throttle),Jm}var T8=I8();const D8=xr(T8);var nf=function(t,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;ai[l++]))}},_r={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},BN=(e,t,n)=>{var{width:r=_r.width,height:i=_r.height,aspect:a,maxHeight:l}=n,u=_a(r)?e:Number(r),c=_a(i)?t:Number(i);return a&&a>0&&(u?c=u/a:c&&(u=c*a),l&&c!=null&&c>l&&(c=l)),{calculatedWidth:u,calculatedHeight:c}},M8={width:0,height:0,overflow:"visible"},L8={width:0,overflowX:"visible"},R8={height:0,overflowY:"visible"},z8={},$8=e=>{var{width:t,height:n}=e,r=_a(t),i=_a(n);return r&&i?M8:r?L8:i?R8:z8};function F8(e){var{width:t,height:n,aspect:r}=e,i=t,a=n;return i===void 0&&a===void 0?(i=_r.width,a=_r.height):i===void 0?i=r&&r>0?void 0:_r.width:a===void 0&&(a=r&&r>0?void 0:_r.height),{width:i,height:a}}function fv(){return fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t({width:n,height:r}),[n,r]);return q8(i)?k.createElement(UN.Provider,{value:i},t):null}var Ly=()=>k.useContext(UN),H8=k.forwardRef((e,t)=>{var{aspect:n,initialDimension:r=_r.initialDimension,width:i,height:a,minWidth:l=_r.minWidth,minHeight:u,maxHeight:c,children:f,debounce:d=_r.debounce,id:h,className:g,onResize:y,style:w={}}=e,S=k.useRef(null),b=k.useRef();b.current=y,k.useImperativeHandle(t,()=>S.current);var[P,E]=k.useState({containerWidth:r.width,containerHeight:r.height}),O=k.useCallback((R,U)=>{E(D=>{var q=Math.round(R),z=Math.round(U);return D.containerWidth===q&&D.containerHeight===z?D:{containerWidth:q,containerHeight:z}})},[]);k.useEffect(()=>{if(S.current==null||typeof ResizeObserver>"u")return Fa;var R=z=>{var ee,X=z[0];if(X!=null){var{width:Q,height:he}=X.contentRect;O(Q,he),(ee=b.current)===null||ee===void 0||ee.call(b,Q,he)}};d>0&&(R=D8(R,d,{trailing:!0,leading:!1}));var U=new ResizeObserver(R),{width:D,height:q}=S.current.getBoundingClientRect();return O(D,q),U.observe(S.current),()=>{U.disconnect()}},[O,d]);var{containerWidth:A,containerHeight:I}=P;nf(!n||n>0,"The aspect(%s) must be greater than zero.",n);var{calculatedWidth:C,calculatedHeight:L}=BN(A,I,{width:i,height:a,aspect:n,maxHeight:c});return nf(C!=null&&C>0||L!=null&&L>0,`The width(%s) and height(%s) of chart should be greater than 0, + */var zk;function N6(){if(zk)return Lm;zk=1;var e=Fo(),t=O6();function n(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,a=e.useRef,l=e.useEffect,u=e.useMemo,c=e.useDebugValue;return Lm.useSyncExternalStoreWithSelector=function(f,d,p,g,y){var w=a(null);if(w.current===null){var S={hasValue:!1,value:null};w.current=S}else S=w.current;w=u(function(){function P(C){if(!E){if(E=!0,O=C,C=g(C),y!==void 0&&S.hasValue){var M=S.value;if(y(M,C))return A=M}return A=C}if(M=A,r(O,C))return M;var B=g(C);return y!==void 0&&y(M,B)?(O=C,M):(O=C,A=B)}var E=!1,O,A,I=p===void 0?null:p;return[function(){return P(d())},I===null?void 0:function(){return P(I())}]},[d,p,g,y]);var b=i(f,w[0],w[1]);return l(function(){S.hasValue=!0,S.value=b},[b]),c(b),b},Lm}var $k;function A6(){return $k||($k=1,Mm.exports=N6()),Mm.exports}var _6=A6(),Oy=k.createContext(null),I6=e=>e,yt=()=>{var e=k.useContext(Oy);return e?e.store.dispatch:I6},Ac=()=>{},T6=()=>Ac,D6=(e,t)=>e===t;function Pe(e){var t=k.useContext(Oy),n=k.useMemo(()=>t?r=>{if(r!=null)return e(r)}:Ac,[t,e]);return _6.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:T6,t?t.store.getState:Ac,t?t.store.getState:Ac,n,D6)}function M6(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function L6(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function R6(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var Fk=e=>Array.isArray(e)?e:[e];function z6(e){const t=Array.isArray(e[0])?e[0]:e;return R6(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function $6(e,t){const n=[],{length:r}=e;for(let i=0;i{n=fc(),l.resetResultsCount()},l.resultsCount=()=>a,l.resetResultsCount=()=>{a=0},l}function W6(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...i)=>{let a=0,l=0,u,c={},f=i.pop();typeof f=="object"&&(c=f,f=i.pop()),M6(f,`createSelector expects an output function after the inputs, but received: [${typeof f}]`);const d={...n,...c},{memoize:p,memoizeOptions:g=[],argsMemoize:y=rN,argsMemoizeOptions:w=[]}=d,S=Fk(g),b=Fk(w),P=z6(i),E=p(function(){return a++,f.apply(null,arguments)},...S),O=y(function(){l++;const I=$6(P,arguments);return u=E.apply(null,I),u},...b);return Object.assign(O,{resultFunc:f,memoizedResultFunc:E,dependencies:P,dependencyRecomputations:()=>l,resetDependencyRecomputations:()=>{l=0},lastResult:()=>u,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:p,argsMemoize:y})};return Object.assign(r,{withTypes:()=>r}),r}var X=W6(rN),q6=Object.assign((e,t=X)=>{L6(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(a=>e[a]);return t(r,(...a)=>a.reduce((l,u,c)=>(l[n[c]]=u,l),{}))},{withTypes:()=>q6}),$m={},Fm={},Bm={},Uk;function H6(){return Uk||(Uk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return typeof r=="symbol"?1:r===null?2:r===void 0?3:r!==r?4:0}const n=(r,i,a)=>{if(r!==i){const l=t(r),u=t(i);if(l===u&&l===0){if(ri)return a==="desc"?-1:1}return a==="desc"?u-l:l-u}return 0};e.compareValues=n})(Bm)),Bm}var Um={},Wm={},Wk;function iN(){return Wk||(Wk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return typeof n=="symbol"||n instanceof Symbol}e.isSymbol=t})(Wm)),Wm}var qk;function V6(){return qk||(qk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=iN(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(a,l){return Array.isArray(a)?!1:typeof a=="number"||typeof a=="boolean"||a==null||t.isSymbol(a)?!0:typeof a=="string"&&(r.test(a)||!n.test(a))||l!=null&&Object.hasOwn(l,a)}e.isKey=i})(Um)),Um}var Hk;function K6(){return Hk||(Hk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=H6(),n=V6(),r=ky();function i(a,l,u,c){if(a==null)return[];u=c?void 0:u,Array.isArray(a)||(a=Object.values(a)),Array.isArray(l)||(l=l==null?[null]:[l]),l.length===0&&(l=[null]),Array.isArray(u)||(u=u==null?[]:[u]),u=u.map(y=>String(y));const f=(y,w)=>{let S=y;for(let b=0;bw==null||y==null?w:typeof y=="object"&&"key"in y?Object.hasOwn(w,y.key)?w[y.key]:f(w,y.path):typeof y=="function"?y(w):Array.isArray(y)?f(w,y):typeof w=="object"?w[y]:w,p=l.map(y=>(Array.isArray(y)&&y.length===1&&(y=y[0]),y==null||typeof y=="function"||Array.isArray(y)||n.isKey(y)?y:{key:y,path:r.toPath(y)}));return a.map(y=>({original:y,criteria:p.map(w=>d(w,y))})).slice().sort((y,w)=>{for(let S=0;Sy.original)}e.orderBy=i})(Fm)),Fm}var qm={},Vk;function G6(){return Vk||(Vk=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r=1){const i=[],a=Math.floor(r),l=(u,c)=>{for(let f=0;f1&&r.isIterateeCall(a,l[0],l[1])?l=[]:u>2&&r.isIterateeCall(l[0],l[1],l[2])&&(l=[l[0]]),t.orderBy(a,n.flatten(l),["asc"])}e.sortBy=i})($m)),$m}var Vm,Yk;function X6(){return Yk||(Yk=1,Vm=Y6().sortBy),Vm}var Q6=X6();const Kf=xr(Q6);var oN=e=>e.legend.settings,Z6=e=>e.legend.size,J6=e=>e.legend.payload;X([J6,oN],(e,t)=>{var{itemSorter:n}=t,r=e.flat(1);return n?Kf(r,n):r});var dc=1;function eU(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],[t,n]=k.useState({height:0,left:0,top:0,width:0}),r=k.useCallback(i=>{if(i!=null){var a=i.getBoundingClientRect(),l={height:a.height,left:a.left,top:a.top,width:a.width};(Math.abs(l.height-t.height)>dc||Math.abs(l.left-t.left)>dc||Math.abs(l.top-t.top)>dc||Math.abs(l.width-t.width)>dc)&&n({height:l.height,left:l.left,top:l.top,width:l.width})}},[t.width,t.height,t.top,t.left,...e]);return[t,r]}function Gt(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 tU=typeof Symbol=="function"&&Symbol.observable||"@@observable",Xk=tU,Km=()=>Math.random().toString(36).substring(7).split("").join("."),nU={INIT:`@@redux/INIT${Km()}`,REPLACE:`@@redux/REPLACE${Km()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Km()}`},Vc=nU;function Ny(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 lN(e,t,n){if(typeof e!="function")throw new Error(Gt(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Gt(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Gt(1));return n(lN)(e,t)}let r=e,i=t,a=new Map,l=a,u=0,c=!1;function f(){l===a&&(l=new Map,a.forEach((b,P)=>{l.set(P,b)}))}function d(){if(c)throw new Error(Gt(3));return i}function p(b){if(typeof b!="function")throw new Error(Gt(4));if(c)throw new Error(Gt(5));let P=!0;f();const E=u++;return l.set(E,b),function(){if(P){if(c)throw new Error(Gt(6));P=!1,f(),l.delete(E),a=null}}}function g(b){if(!Ny(b))throw new Error(Gt(7));if(typeof b.type>"u")throw new Error(Gt(8));if(typeof b.type!="string")throw new Error(Gt(17));if(c)throw new Error(Gt(9));try{c=!0,i=r(i,b)}finally{c=!1}return(a=l).forEach(E=>{E()}),b}function y(b){if(typeof b!="function")throw new Error(Gt(10));r=b,g({type:Vc.REPLACE})}function w(){const b=p;return{subscribe(P){if(typeof P!="object"||P===null)throw new Error(Gt(11));function E(){const A=P;A.next&&A.next(d())}return E(),{unsubscribe:b(E)}},[Xk](){return this}}}return g({type:Vc.INIT}),{dispatch:g,subscribe:p,getState:d,replaceReducer:y,[Xk]:w}}function rU(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:Vc.INIT})>"u")throw new Error(Gt(12));if(typeof n(void 0,{type:Vc.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Gt(13))})}function sN(e){const t=Object.keys(e),n={};for(let a=0;a"u")throw u&&u.type,new Error(Gt(14));f[p]=w,c=c||w!==y}return c=c||r.length!==Object.keys(l).length,c?f:l}}function Kc(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function iU(...e){return t=>(n,r)=>{const i=t(n,r);let a=()=>{throw new Error(Gt(15))};const l={getState:i.getState,dispatch:(c,...f)=>a(c,...f)},u=e.map(c=>c(l));return a=Kc(...u)(i.dispatch),{...i,dispatch:a}}}function uN(e){return Ny(e)&&"type"in e&&typeof e.type=="string"}var cN=Symbol.for("immer-nothing"),Qk=Symbol.for("immer-draftable"),pn=Symbol.for("immer-state");function cr(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ln=Object,Do=Ln.getPrototypeOf,Gc="constructor",Gf="prototype",tv="configurable",Yc="enumerable",_c="writable",ds="value",ri=e=>!!e&&!!e[pn];function yr(e){var t;return e?fN(e)||Xf(e)||!!e[Qk]||!!((t=e[Gc])!=null&&t[Qk])||Qf(e)||Zf(e):!1}var aU=Ln[Gf][Gc].toString(),Zk=new WeakMap;function fN(e){if(!e||!Ay(e))return!1;const t=Do(e);if(t===null||t===Ln[Gf])return!0;const n=Ln.hasOwnProperty.call(t,Gc)&&t[Gc];if(n===Object)return!0;if(!ko(n))return!1;let r=Zk.get(n);return r===void 0&&(r=Function.toString.call(n),Zk.set(n,r)),r===aU}function Yf(e,t,n=!0){Is(e)===0?(n?Reflect.ownKeys(e):Ln.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((r,i)=>t(i,r,e))}function Is(e){const t=e[pn];return t?t.type_:Xf(e)?1:Qf(e)?2:Zf(e)?3:0}var Jk=(e,t,n=Is(e))=>n===2?e.has(t):Ln[Gf].hasOwnProperty.call(e,t),nv=(e,t,n=Is(e))=>n===2?e.get(t):e[t],Xc=(e,t,n,r=Is(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function oU(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Xf=Array.isArray,Qf=e=>e instanceof Map,Zf=e=>e instanceof Set,Ay=e=>typeof e=="object",ko=e=>typeof e=="function",Gm=e=>typeof e=="boolean";function lU(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var Qr=e=>e.copy_||e.base_,_y=e=>e.modified_?e.copy_:e.base_;function rv(e,t){if(Qf(e))return new Map(e);if(Zf(e))return new Set(e);if(Xf(e))return Array[Gf].slice.call(e);const n=fN(e);if(t===!0||t==="class_only"&&!n){const r=Ln.getOwnPropertyDescriptors(e);delete r[pn];let i=Reflect.ownKeys(r);for(let a=0;a1&&Ln.defineProperties(e,{set:hc,add:hc,clear:hc,delete:hc}),Ln.freeze(e),t&&Yf(e,(n,r)=>{Iy(r,!0)},!1)),e}function sU(){cr(2)}var hc={[ds]:sU};function Jf(e){return e===null||!Ay(e)?!0:Ln.isFrozen(e)}var Qc="MapSet",iv="Patches",eS="ArrayMethods",dN={};function Ia(e){const t=dN[e];return t||cr(0,e),t}var tS=e=>!!dN[e],hs,hN=()=>hs,uU=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:tS(Qc)?Ia(Qc):void 0,arrayMethodsPlugin_:tS(eS)?Ia(eS):void 0});function nS(e,t){t&&(e.patchPlugin_=Ia(iv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function av(e){ov(e),e.drafts_.forEach(cU),e.drafts_=null}function ov(e){e===hs&&(hs=e.parent_)}var rS=e=>hs=uU(hs,e);function cU(e){const t=e[pn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function iS(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(e!==void 0&&e!==n){n[pn].modified_&&(av(t),cr(4)),yr(e)&&(e=aS(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(n[pn].base_,e,t)}else e=aS(t,n);return fU(t,e,!0),av(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==cN?e:void 0}function aS(e,t){if(Jf(t))return t;const n=t[pn];if(!n)return Zc(t,e.handledSet_,e);if(!ed(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(e);gN(n,e)}return n.copy_}function fU(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Iy(t,n)}function pN(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ed=(e,t)=>e.scope_===t,dU=[];function mN(e,t,n,r){const i=Qr(e),a=e.type_;if(r!==void 0&&nv(i,r,a)===t){Xc(i,r,n,a);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;Yf(i,(c,f)=>{if(ri(f)){const d=u.get(f)||[];d.push(c),u.set(f,d)}})}const l=e.draftLocations_.get(t)??dU;for(const u of l)Xc(i,u,n,a)}function hU(e,t,n){e.callbacks_.push(function(i){var u;const a=t;if(!a||!ed(a,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(a);const l=_y(a);mN(e,a.draft_??a,l,n),gN(a,i)})}function gN(e,t){var r;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((r=e.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const a=i.getPath(e);a&&i.generatePatches_(e,a,t)}pN(e)}}function pU(e,t,n){const{scope_:r}=e;if(ri(n)){const i=n[pn];ed(i,r)&&i.callbacks_.push(function(){Ic(e);const l=_y(i);mN(e,n,l,t)})}else yr(n)&&e.callbacks_.push(function(){const a=Qr(e);e.type_===3?a.has(n)&&Zc(n,r.handledSet_,r):nv(a,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Zc(nv(e.copy_,t,e.type_),r.handledSet_,r)})}function Zc(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||ri(e)||t.has(e)||!yr(e)||Jf(e)||(t.add(e),Yf(e,(r,i)=>{if(ri(i)){const a=i[pn];if(ed(a,n)){const l=_y(a);Xc(e,r,l,e.type_),pN(a)}}else yr(i)&&Zc(i,t,n)})),e}function mU(e,t){const n=Xf(e),r={type_:n?1:0,scope_:t?t.scope_:hN(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,a=Jc;n&&(i=[r],a=ps);const{revoke:l,proxy:u}=Proxy.revocable(i,a);return r.draft_=u,r.revoke_=l,[u,r]}var Jc={get(e,t){if(t===pn)return e;let n=e.scope_.arrayMethodsPlugin_;const r=e.type_===1&&typeof t=="string";if(r&&n!=null&&n.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Qr(e);if(!Jk(i,t,e.type_))return gU(e,i,t);const a=i[t];if(e.finalized_||!yr(a)||r&&e.operationMethod&&(n!=null&&n.isMutatingArrayMethod(e.operationMethod))&&lU(t))return a;if(a===Ym(e.base_,t)){Ic(e);const l=e.type_===1?+t:t,u=sv(e.scope_,a,e,l);return e.copy_[l]=u}return a},has(e,t){return t in Qr(e)},ownKeys(e){return Reflect.ownKeys(Qr(e))},set(e,t,n){const r=vN(Qr(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=Ym(Qr(e),t),a=i==null?void 0:i[pn];if(a&&a.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(oU(n,i)&&(n!==void 0||Jk(e.base_,t,e.type_)))return!0;Ic(e),lv(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),pU(e,t,n)),!0},deleteProperty(e,t){return Ic(e),Ym(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),lv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=Qr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[_c]:!0,[tv]:e.type_!==1||t!=="length",[Yc]:r[Yc],[ds]:n[t]}},defineProperty(){cr(11)},getPrototypeOf(e){return Do(e.base_)},setPrototypeOf(){cr(12)}},ps={};for(let e in Jc){let t=Jc[e];ps[e]=function(){const n=arguments;return n[0]=n[0][0],t.apply(this,n)}}ps.deleteProperty=function(e,t){return ps.set.call(this,e,t,void 0)};ps.set=function(e,t,n){return Jc.set.call(this,e[0],t,n,e[0])};function Ym(e,t){const n=e[pn];return(n?Qr(n):e)[t]}function gU(e,t,n){var i;const r=vN(t,n);return r?ds in r?r[ds]:(i=r.get)==null?void 0:i.call(e.draft_):void 0}function vN(e,t){if(!(t in e))return;let n=Do(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Do(n)}}function lv(e){e.modified_||(e.modified_=!0,e.parent_&&lv(e.parent_))}function Ic(e){e.copy_||(e.assigned_=new Map,e.copy_=rv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var vU=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,i)=>{if(ko(n)&&!ko(r)){const l=r;r=n;const u=this;return function(f=l,...d){return u.produce(f,p=>r.call(this,p,...d))}}ko(r)||cr(6),i!==void 0&&!ko(i)&&cr(7);let a;if(yr(n)){const l=rS(this),u=sv(l,n,void 0);let c=!0;try{a=r(u),c=!1}finally{c?av(l):ov(l)}return nS(l,i),iS(a,l)}else if(!n||!Ay(n)){if(a=r(n),a===void 0&&(a=n),a===cN&&(a=void 0),this.autoFreeze_&&Iy(a,!0),i){const l=[],u=[];Ia(iv).generateReplacementPatches_(n,a,{patches_:l,inversePatches_:u}),i(l,u)}return a}else cr(1,n)},this.produceWithPatches=(n,r)=>{if(ko(n))return(u,...c)=>this.produceWithPatches(u,f=>n(f,...c));let i,a;return[this.produce(n,r,(u,c)=>{i=u,a=c}),i,a]},Gm(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Gm(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Gm(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){yr(t)||cr(8),ri(t)&&(t=mr(t));const n=rS(this),r=sv(n,t,void 0);return r[pn].isManual_=!0,ov(n),r}finishDraft(t,n){const r=t&&t[pn];(!r||!r.isManual_)&&cr(9);const{scope_:i}=r;return nS(i,n),iS(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,n){let r;for(r=n.length-1;r>=0;r--){const a=n[r];if(a.path.length===0&&a.op==="replace"){t=a.value;break}}r>-1&&(n=n.slice(r+1));const i=Ia(iv).applyPatches_;return ri(t)?i(t,n):this.produce(t,a=>i(a,n))}};function sv(e,t,n,r){const[i,a]=Qf(t)?Ia(Qc).proxyMap_(t,n):Zf(t)?Ia(Qc).proxySet_(t,n):mU(t,n);return((n==null?void 0:n.scope_)??hN()).drafts_.push(i),a.callbacks_=(n==null?void 0:n.callbacks_)??[],a.key_=r,n&&r!==void 0?hU(n,a,r):a.callbacks_.push(function(c){var d;(d=c.mapSetPlugin_)==null||d.fixSetContents(a);const{patchPlugin_:f}=c;a.modified_&&f&&f.generatePatches_(a,[],c)}),i}function mr(e){return ri(e)||cr(10,e),yN(e)}function yN(e){if(!yr(e)||Jf(e))return e;const t=e[pn];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=rv(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=rv(e,!0);return Yf(n,(i,a)=>{Xc(n,i,yN(a))},r),t&&(t.finalized_=!1),n}var yU=new vU,xN=yU.produce;function bN(e){return({dispatch:n,getState:r})=>i=>a=>typeof a=="function"?a(n,r,e):i(a)}var xU=bN(),bU=bN,wU=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Kc:Kc.apply(null,arguments)};function Jn(e,t){function n(...r){if(t){let i=t(...r);if(!i)throw new Error(zn(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>uN(r)&&r.type===e,n}var wN=class Jl extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Jl.prototype)}static get[Symbol.species](){return Jl}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Jl(...t[0].concat(this)):new Jl(...t.concat(this))}};function oS(e){return yr(e)?xN(e,()=>{}):e}function pc(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function kU(e){return typeof e=="boolean"}var SU=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=t??{};let l=new wN;return n&&(kU(n)?l.push(xU):l.push(bU(n.extraArgument))),l},kN="RTK_autoBatch",at=()=>e=>({payload:e,meta:{[kN]:!0}}),lS=e=>t=>{setTimeout(t,e)},SN=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let i=!0,a=!1,l=!1;const u=new Set,c=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:lS(10):e.type==="callback"?e.queueNotification:lS(e.timeout),f=()=>{l=!1,a&&(a=!1,u.forEach(d=>d()))};return Object.assign({},r,{subscribe(d){const p=()=>i&&d(),g=r.subscribe(p);return u.add(d),()=>{g(),u.delete(d)}},dispatch(d){var p;try{return i=!((p=d==null?void 0:d.meta)!=null&&p[kN]),a=!i,a&&(l||(l=!0,c(f))),r.dispatch(d)}finally{i=!0}}})},jU=e=>function(n){const{autoBatch:r=!0}=n??{};let i=new wN(e);return r&&i.push(SN(typeof r=="object"?r:void 0)),i};function PU(e){const t=SU(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:a=void 0,enhancers:l=void 0}=e||{};let u;if(typeof n=="function")u=n;else if(Ny(n))u=sN(n);else throw new Error(zn(1));let c;typeof r=="function"?c=r(t):c=t();let f=Kc;i&&(f=wU({trace:!1,...typeof i=="object"&&i}));const d=iU(...c),p=jU(d);let g=typeof l=="function"?l(p):p();const y=f(...g);return lN(u,a,y)}function jN(e){const t={},n=[];let r;const i={addCase(a,l){const u=typeof a=="string"?a:a.type;if(!u)throw new Error(zn(28));if(u in t)throw new Error(zn(29));return t[u]=l,i},addAsyncThunk(a,l){return l.pending&&(t[a.pending.type]=l.pending),l.rejected&&(t[a.rejected.type]=l.rejected),l.fulfilled&&(t[a.fulfilled.type]=l.fulfilled),l.settled&&n.push({matcher:a.settled,reducer:l.settled}),i},addMatcher(a,l){return n.push({matcher:a,reducer:l}),i},addDefaultCase(a){return r=a,i}};return e(i),[t,n,r]}function EU(e){return typeof e=="function"}function CU(e,t){let[n,r,i]=jN(t),a;if(EU(e))a=()=>oS(e());else{const u=oS(e);a=()=>u}function l(u=a(),c){let f=[n[c.type],...r.filter(({matcher:d})=>d(c)).map(({reducer:d})=>d)];return f.filter(d=>!!d).length===0&&(f=[i]),f.reduce((d,p)=>{if(p)if(ri(d)){const y=p(d,c);return y===void 0?d:y}else{if(yr(d))return xN(d,g=>p(g,c));{const g=p(d,c);if(g===void 0){if(d===null)return d;throw Error("A case reducer on a non-draftable value must not return undefined")}return g}}return d},u)}return l.getInitialState=a,l}var OU="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",NU=(e=21)=>{let t="",n=e;for(;n--;)t+=OU[Math.random()*64|0];return t},AU=Symbol.for("rtk-slice-createasyncthunk");function _U(e,t){return`${e}/${t}`}function IU({creators:e}={}){var n;const t=(n=e==null?void 0:e.asyncThunk)==null?void 0:n[AU];return function(i){const{name:a,reducerPath:l=a}=i;if(!a)throw new Error(zn(11));const u=(typeof i.reducers=="function"?i.reducers(DU()):i.reducers)||{},c=Object.keys(u),f={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},d={addCase(A,I){const C=typeof A=="string"?A:A.type;if(!C)throw new Error(zn(12));if(C in f.sliceCaseReducersByType)throw new Error(zn(13));return f.sliceCaseReducersByType[C]=I,d},addMatcher(A,I){return f.sliceMatchers.push({matcher:A,reducer:I}),d},exposeAction(A,I){return f.actionCreators[A]=I,d},exposeCaseReducer(A,I){return f.sliceCaseReducersByName[A]=I,d}};c.forEach(A=>{const I=u[A],C={reducerName:A,type:_U(a,A),createNotation:typeof i.reducers=="function"};LU(I)?zU(C,I,d,t):MU(C,I,d)});function p(){const[A={},I=[],C=void 0]=typeof i.extraReducers=="function"?jN(i.extraReducers):[i.extraReducers],M={...A,...f.sliceCaseReducersByType};return CU(i.initialState,B=>{for(let H in M)B.addCase(H,M[H]);for(let H of f.sliceMatchers)B.addMatcher(H.matcher,H.reducer);for(let H of I)B.addMatcher(H.matcher,H.reducer);C&&B.addDefaultCase(C)})}const g=A=>A,y=new Map,w=new WeakMap;let S;function b(A,I){return S||(S=p()),S(A,I)}function P(){return S||(S=p()),S.getInitialState()}function E(A,I=!1){function C(B){let H=B[A];return typeof H>"u"&&I&&(H=pc(w,C,P)),H}function M(B=g){const H=pc(y,I,()=>new WeakMap);return pc(H,B,()=>{const L={};for(const[W,R]of Object.entries(i.selectors??{}))L[W]=TU(R,B,()=>pc(w,B,P),I);return L})}return{reducerPath:A,getSelectors:M,get selectors(){return M(C)},selectSlice:C}}const O={name:a,reducer:b,actions:f.actionCreators,caseReducers:f.sliceCaseReducersByName,getInitialState:P,...E(l),injectInto(A,{reducerPath:I,...C}={}){const M=I??l;return A.inject({reducerPath:M,reducer:b},C),{...O,...E(M,!0)}}};return O}}function TU(e,t,n,r){function i(a,...l){let u=t(a);return typeof u>"u"&&r&&(u=n()),e(u,...l)}return i.unwrapped=e,i}var On=IU();function DU(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function MU({type:e,reducerName:t,createNotation:n},r,i){let a,l;if("reducer"in r){if(n&&!RU(r))throw new Error(zn(17));a=r.reducer,l=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,l?Jn(e,l):Jn(e))}function LU(e){return e._reducerDefinitionType==="asyncThunk"}function RU(e){return e._reducerDefinitionType==="reducerWithPrepare"}function zU({type:e,reducerName:t},n,r,i){if(!i)throw new Error(zn(18));const{payloadCreator:a,fulfilled:l,pending:u,rejected:c,settled:f,options:d}=n,p=i(e,a,d);r.exposeAction(t,p),l&&r.addCase(p.fulfilled,l),u&&r.addCase(p.pending,u),c&&r.addCase(p.rejected,c),f&&r.addMatcher(p.settled,f),r.exposeCaseReducer(t,{fulfilled:l||mc,pending:u||mc,rejected:c||mc,settled:f||mc})}function mc(){}var $U="task",PN="listener",EN="completed",Ty="cancelled",FU=`task-${Ty}`,BU=`task-${EN}`,uv=`${PN}-${Ty}`,UU=`${PN}-${EN}`,td=class{constructor(e){bp(this,"name","TaskAbortError");bp(this,"message");this.code=e,this.message=`${$U} ${Ty} (reason: ${e})`}},Dy=(e,t)=>{if(typeof e!="function")throw new TypeError(zn(32))},ef=()=>{},CN=(e,t=ef)=>(e.catch(t),e),ON=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Pa=e=>{if(e.aborted)throw new td(e.reason)};function NN(e,t){let n=ef;return new Promise((r,i)=>{const a=()=>i(new td(e.reason));if(e.aborted){a();return}n=ON(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=ef})}var WU=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(n){return{status:n instanceof td?"cancelled":"rejected",error:n}}finally{t==null||t()}},tf=e=>t=>CN(NN(e,t).then(n=>(Pa(e),n))),AN=e=>{const t=tf(e);return n=>t(new Promise(r=>setTimeout(r,n)))},{assign:Oo}=Object,sS={},nd="listenerMiddleware",qU=(e,t)=>{const n=r=>ON(e,()=>r.abort(e.reason));return(r,i)=>{Dy(r);const a=new AbortController;n(a);const l=WU(async()=>{Pa(e),Pa(a.signal);const u=await r({pause:tf(a.signal),delay:AN(a.signal),signal:a.signal});return Pa(a.signal),u},()=>a.abort(BU));return i!=null&&i.autoJoin&&t.push(l.catch(ef)),{result:tf(e)(l),cancel(){a.abort(FU)}}}},HU=(e,t)=>{const n=async(r,i)=>{Pa(t);let a=()=>{};const u=[new Promise((c,f)=>{let d=e({predicate:r,effect:(p,g)=>{g.unsubscribe(),c([p,g.getState(),g.getOriginalState()])}});a=()=>{d(),f()}})];i!=null&&u.push(new Promise(c=>setTimeout(c,i,null)));try{const c=await NN(t,Promise.race(u));return Pa(t),c}finally{a()}};return(r,i)=>CN(n(r,i))},_N=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=Jn(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(zn(21));return Dy(a),{predicate:i,type:t,effect:a}},IN=Oo(e=>{const{type:t,predicate:n,effect:r}=_N(e);return{id:NU(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(zn(22))}}},{withTypes:()=>IN}),uS=(e,t)=>{const{type:n,effect:r,predicate:i}=_N(t);return Array.from(e.values()).find(a=>(typeof n=="string"?a.type===n:a.predicate===i)&&a.effect===r)},cv=e=>{e.pending.forEach(t=>{t.abort(uv)})},VU=(e,t)=>()=>{for(const n of t.keys())cv(n);e.clear()},cS=(e,t,n)=>{try{e(t,n)}catch(r){setTimeout(()=>{throw r},0)}},TN=Oo(Jn(`${nd}/add`),{withTypes:()=>TN}),KU=Jn(`${nd}/removeAll`),DN=Oo(Jn(`${nd}/remove`),{withTypes:()=>DN}),GU=(...e)=>{console.error(`${nd}/error`,...e)},Ts=(e={})=>{const t=new Map,n=new Map,r=y=>{const w=n.get(y)??0;n.set(y,w+1)},i=y=>{const w=n.get(y)??1;w===1?n.delete(y):n.set(y,w-1)},{extra:a,onError:l=GU}=e;Dy(l);const u=y=>(y.unsubscribe=()=>t.delete(y.id),t.set(y.id,y),w=>{y.unsubscribe(),w!=null&&w.cancelActive&&cv(y)}),c=y=>{const w=uS(t,y)??IN(y);return u(w)};Oo(c,{withTypes:()=>c});const f=y=>{const w=uS(t,y);return w&&(w.unsubscribe(),y.cancelActive&&cv(w)),!!w};Oo(f,{withTypes:()=>f});const d=async(y,w,S,b)=>{const P=new AbortController,E=HU(c,P.signal),O=[];try{y.pending.add(P),r(y),await Promise.resolve(y.effect(w,Oo({},S,{getOriginalState:b,condition:(A,I)=>E(A,I).then(Boolean),take:E,delay:AN(P.signal),pause:tf(P.signal),extra:a,signal:P.signal,fork:qU(P.signal,O),unsubscribe:y.unsubscribe,subscribe:()=>{t.set(y.id,y)},cancelActiveListeners:()=>{y.pending.forEach((A,I,C)=>{A!==P&&(A.abort(uv),C.delete(A))})},cancel:()=>{P.abort(uv),y.pending.delete(P)},throwIfCancelled:()=>{Pa(P.signal)}})))}catch(A){A instanceof td||cS(l,A,{raisedBy:"effect"})}finally{await Promise.all(O),P.abort(UU),i(y),y.pending.delete(P)}},p=VU(t,n);return{middleware:y=>w=>S=>{if(!uN(S))return w(S);if(TN.match(S))return c(S.payload);if(KU.match(S)){p();return}if(DN.match(S))return f(S.payload);let b=y.getState();const P=()=>{if(b===sS)throw new Error(zn(23));return b};let E;try{if(E=w(S),t.size>0){const O=y.getState(),A=Array.from(t.values());for(const I of A){let C=!1;try{C=I.predicate(S,O,b)}catch(M){C=!1,cS(l,M,{raisedBy:"predicate"})}C&&d(I,S,y,P)}}}finally{b=sS}return E},startListening:c,stopListening:f,clearListeners:p}};function zn(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 YU={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},MN=On({name:"chartLayout",initialState:YU,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 n,r,i,a;e.margin.top=(n=t.payload.top)!==null&&n!==void 0?n:0,e.margin.right=(r=t.payload.right)!==null&&r!==void 0?r:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),{setMargin:XU,setLayout:QU,setChartSize:ZU,setScale:JU}=MN.actions,e8=MN.reducer;function LN(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function De(e){return Number.isFinite(e)}function Mr(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function fS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function So(e){for(var t=1;t{if(t&&n){var{width:r,height:i}=n,{align:a,verticalAlign:l,layout:u}=t;if((u==="vertical"||u==="horizontal"&&l==="middle")&&a!=="center"&&ge(e[a]))return So(So({},e),{},{[a]:e[a]+(r||0)});if((u==="horizontal"||u==="vertical"&&a==="center")&&l!=="middle"&&ge(e[l]))return So(So({},e),{},{[l]:e[l]+(i||0)})}return e},zr=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",RN=(e,t,n,r)=>{if(r)return e.map(u=>u.coordinate);var i,a,l=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===n&&(a=!0),u.coordinate));return i||l.push(t),a||l.push(n),l},zN=(e,t,n)=>{if(!e)return null;var{duplicateDomain:r,type:i,range:a,scale:l,realScaleType:u,isCategorical:c,categoricalDomain:f,tickCount:d,ticks:p,niceTicks:g,axisType:y}=e;if(!l)return null;var w=u==="scaleBand"&&l.bandwidth?l.bandwidth()/2:2,S=i==="category"&&l.bandwidth?l.bandwidth()/w:0;if(S=y==="angleAxis"&&a&&a.length>=2?jn(a[0]-a[1])*2*S:S,p||g){var b=(p||g||[]).map((P,E)=>{var O=r?r.indexOf(P):P,A=l.map(O);return De(A)?{coordinate:A+S,value:P,offset:S,index:E}:null}).filter(Pn);return b}return c&&f?f.map((P,E)=>{var O=l.map(P);return De(O)?{coordinate:O+S,value:P,index:E,offset:S}:null}).filter(Pn):l.ticks&&d!=null?l.ticks(d).map((P,E)=>{var O=l.map(P);return De(O)?{coordinate:O+S,value:P,index:E,offset:S}:null}).filter(Pn):l.domain().map((P,E)=>{var O=l.map(P);return De(O)?{coordinate:O+S,value:r?r[P]:P,index:E,offset:S}:null}).filter(Pn)},a8=(e,t)=>{if(!t||t.length!==2||!ge(t[0])||!ge(t[1]))return e;var n=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]),i=[e[0],e[1]];return(!ge(e[0])||e[0]r)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var i=0;i=0?(f[0]=a,a+=g,f[1]=a):(f[0]=l,l+=g,f[1]=l)}}}},l8=e=>{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var i=0;i=0?(c[0]=a,a+=f,c[1]=a):(c[0]=0,c[1]=0)}}}},s8={sign:o8,expand:L5,none:Aa,silhouette:R5,wiggle:z5,positive:l8},u8=(e,t,n)=>{var r,i=(r=s8[n])!==null&&r!==void 0?r:Aa,a=M5().keys(t).value((u,c)=>Number(St(u,c,0))).order(Jg).offset(i),l=a(e);return l.forEach((u,c)=>{u.forEach((f,d)=>{var p=St(e[d],t[c],0);Array.isArray(p)&&p.length===2&&ge(p[0])&&ge(p[1])&&(f[0]=p[0],f[1]=p[1])})}),l};function $N(e){return e==null?void 0:String(e)}function dS(e){var{axis:t,ticks:n,bandSize:r,entry:i,index:a,dataKey:l}=e;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!mt(i[t.dataKey])){var u=HO(n,"value",i[t.dataKey]);if(u)return u.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=St(i,mt(l)?t.dataKey:l),f=t.scale.map(c);return ge(f)?f:null}var hS=e=>{var{axis:t,ticks:n,offset:r,bandSize:i,entry:a,index:l}=e;if(t.type==="category")return n[l]?n[l].coordinate+r:null;var u=St(a,t.dataKey,t.scale.domain()[l]);if(mt(u))return null;var c=t.scale.map(u);return ge(c)?c-i/2+r:null},c8=e=>{var{numericAxis:t}=e,n=t.scale.domain();if(t.type==="number"){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},f8=e=>{var t=e.flat(2).filter(ge);return[Math.min(...t),Math.max(...t)]},d8=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],h8=(e,t,n)=>{if(e!=null)return d8(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var{stackedData:l}=a,u=l.reduce((c,f)=>{var d=LN(f,t,n),p=f8(d);return!De(p[0])||!De(p[1])?c:[Math.min(c[0],p[0]),Math.max(c[1],p[1])]},[1/0,-1/0]);return[Math.min(u[0],r[0]),Math.max(u[1],r[1])]},[1/0,-1/0]))},pS=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,mS=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Mo=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=Kf(t,d=>d.coordinate),a=1/0,l=1,u=i.length;l{if(t==="horizontal")return e.chartX;if(t==="vertical")return e.chartY},m8=(e,t)=>t==="centric"?e.angle:e.radius,fi=e=>e.layout.width,di=e=>e.layout.height,g8=e=>e.layout.scale,FN=e=>e.layout.margin,id=X(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),ad=X(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),v8="data-recharts-item-index",y8="data-recharts-item-id",Ds=60;function vS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function gc(e){for(var t=1;te.brush.height;function S8(e){var t=ad(e);return t.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Ds;return n+i}return n},0)}function j8(e){var t=ad(e);return t.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Ds;return n+i}return n},0)}function P8(e){var t=id(e);return t.reduce((n,r)=>r.orientation==="top"&&!r.mirror&&!r.hide?n+r.height:n,0)}function E8(e){var t=id(e);return t.reduce((n,r)=>r.orientation==="bottom"&&!r.mirror&&!r.hide?n+r.height:n,0)}var $t=X([fi,di,FN,k8,S8,j8,P8,E8,oN,Z6],(e,t,n,r,i,a,l,u,c,f)=>{var d={left:(n.left||0)+i,right:(n.right||0)+a},p={top:(n.top||0)+l,bottom:(n.bottom||0)+u},g=gc(gc({},p),d),y=g.bottom;g.bottom+=r,g=i8(g,c,f);var w=e-g.left-g.right,S=t-g.top-g.bottom;return gc(gc({brushBottom:y},g),{},{width:Math.max(w,0),height:Math.max(S,0)})}),C8=X($t,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),My=X(fi,di,(e,t)=>({x:0,y:0,width:e,height:t})),O8=k.createContext(null),on=()=>k.useContext(O8)!=null,od=e=>e.brush,ld=X([od,$t,FN],(e,t,n)=>({height:e.height,x:ge(e.x)?e.x:t.left,y:ge(e.y)?e.y:t.top+t.height+t.brushBottom-((n==null?void 0:n.bottom)||0),width:ge(e.width)?e.width:t.width})),Xm={},Qm={},Zm={},yS;function N8(){return yS||(yS=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r,{signal:i,edges:a}={}){let l,u=null;const c=a!=null&&a.includes("leading"),f=a==null||a.includes("trailing"),d=()=>{u!==null&&(n.apply(l,u),l=void 0,u=null)},p=()=>{f&&d(),S()};let g=null;const y=()=>{g!=null&&clearTimeout(g),g=setTimeout(()=>{g=null,p()},r)},w=()=>{g!==null&&(clearTimeout(g),g=null)},S=()=>{w(),l=void 0,u=null},b=()=>{d()},P=function(...E){if(i!=null&&i.aborted)return;l=this,u=E;const O=g==null;y(),c&&O&&d()};return P.schedule=y,P.cancel=S,P.flush=b,i==null||i.addEventListener("abort",S,{once:!0}),P}e.debounce=t})(Zm)),Zm}var xS;function A8(){return xS||(xS=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=N8();function n(r,i=0,a={}){typeof a!="object"&&(a={});const{leading:l=!1,trailing:u=!0,maxWait:c}=a,f=Array(2);l&&(f[0]="leading"),u&&(f[1]="trailing");let d,p=null;const g=t.debounce(function(...S){d=r.apply(this,S),p=null},i,{edges:f}),y=function(...S){return c!=null&&(p===null&&(p=Date.now()),Date.now()-p>=c)?(d=r.apply(this,S),p=Date.now(),g.cancel(),g.schedule(),d):(g.apply(this,S),d)},w=()=>(g.flush(),d);return y.cancel=g.cancel,y.flush=w,y}e.debounce=n})(Qm)),Qm}var bS;function _8(){return bS||(bS=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=A8();function n(r,i=0,a={}){const{leading:l=!0,trailing:u=!0}=a;return t.debounce(r,i,{leading:l,maxWait:i,trailing:u})}e.throttle=n})(Xm)),Xm}var Jm,wS;function I8(){return wS||(wS=1,Jm=_8().throttle),Jm}var T8=I8();const D8=xr(T8);var nf=function(t,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;ai[l++]))}},_r={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},BN=(e,t,n)=>{var{width:r=_r.width,height:i=_r.height,aspect:a,maxHeight:l}=n,u=_a(r)?e:Number(r),c=_a(i)?t:Number(i);return a&&a>0&&(u?c=u/a:c&&(u=c*a),l&&c!=null&&c>l&&(c=l)),{calculatedWidth:u,calculatedHeight:c}},M8={width:0,height:0,overflow:"visible"},L8={width:0,overflowX:"visible"},R8={height:0,overflowY:"visible"},z8={},$8=e=>{var{width:t,height:n}=e,r=_a(t),i=_a(n);return r&&i?M8:r?L8:i?R8:z8};function F8(e){var{width:t,height:n,aspect:r}=e,i=t,a=n;return i===void 0&&a===void 0?(i=_r.width,a=_r.height):i===void 0?i=r&&r>0?void 0:_r.width:a===void 0&&(a=r&&r>0?void 0:_r.height),{width:i,height:a}}function fv(){return fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t({width:n,height:r}),[n,r]);return q8(i)?k.createElement(UN.Provider,{value:i},t):null}var Ly=()=>k.useContext(UN),H8=k.forwardRef((e,t)=>{var{aspect:n,initialDimension:r=_r.initialDimension,width:i,height:a,minWidth:l=_r.minWidth,minHeight:u,maxHeight:c,children:f,debounce:d=_r.debounce,id:p,className:g,onResize:y,style:w={}}=e,S=k.useRef(null),b=k.useRef();b.current=y,k.useImperativeHandle(t,()=>S.current);var[P,E]=k.useState({containerWidth:r.width,containerHeight:r.height}),O=k.useCallback((B,H)=>{E(L=>{var W=Math.round(B),R=Math.round(H);return L.containerWidth===W&&L.containerHeight===R?L:{containerWidth:W,containerHeight:R}})},[]);k.useEffect(()=>{if(S.current==null||typeof ResizeObserver>"u")return Fa;var B=R=>{var V,G=R[0];if(G!=null){var{width:Q,height:de}=G.contentRect;O(Q,de),(V=b.current)===null||V===void 0||V.call(b,Q,de)}};d>0&&(B=D8(B,d,{trailing:!0,leading:!1}));var H=new ResizeObserver(B),{width:L,height:W}=S.current.getBoundingClientRect();return O(L,W),H.observe(S.current),()=>{H.disconnect()}},[O,d]);var{containerWidth:A,containerHeight:I}=P;nf(!n||n>0,"The aspect(%s) must be greater than zero.",n);var{calculatedWidth:C,calculatedHeight:M}=BN(A,I,{width:i,height:a,aspect:n,maxHeight:c});return nf(C!=null&&C>0||M!=null&&M>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.`,C,L,i,a,l,u,n),k.createElement("div",{id:h?"".concat(h):void 0,className:Ge("recharts-responsive-container",g),style:SS(SS({},w),{},{width:i,height:a,minWidth:l,minHeight:u,maxHeight:c}),ref:S},k.createElement("div",{style:$8({width:i,height:a})},k.createElement(WN,{width:C,height:L},f)))}),qN=k.forwardRef((e,t)=>{var n=Ly();if(Mr(n.width)&&Mr(n.height))return e.children;var{width:r,height:i}=F8({width:e.width,height:e.height,aspect:e.aspect}),{calculatedWidth:a,calculatedHeight:l}=BN(void 0,void 0,{width:r,height:i,aspect:e.aspect,maxHeight:e.maxHeight});return ge(a)&&ge(l)?k.createElement(WN,{width:a,height:l},e.children):k.createElement(H8,fv({},e,{width:r,height:i,ref:t}))});function Ry(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 sd=()=>{var e,t=on(),n=Pe(C8),r=Pe(ld),i=(e=Pe(od))===null||e===void 0?void 0:e.padding;return!t||!r||!i?n:{width:r.width-i.left-i.right,height:r.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},HN=()=>{var e;return(e=Pe($t))!==null&&e!==void 0?e:V8},VN=()=>Pe(fi),KN=()=>Pe(di),He=e=>e.layout.layoutType,Ba=()=>Pe(He),zy=()=>{var e=Ba();if(e==="horizontal"||e==="vertical")return e},GN=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},K8=()=>{var e=Ba();return e!==void 0},Ms=e=>{var t=yt(),n=on(),{width:r,height:i}=e,a=Ly(),l=r,u=i;return a&&(l=a.width>0?a.width:r,u=a.height>0?a.height:i),k.useEffect(()=>{!n&&Mr(l)&&Mr(u)&&t(ZU({width:l,height:u}))},[t,n,l,u]),null},YN=Symbol.for("immer-nothing"),jS=Symbol.for("immer-draftable"),$n=Symbol.for("immer-state");function fr(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ms=Object.getPrototypeOf;function Lo(e){return!!e&&!!e[$n]}function Ta(e){var t;return e?XN(e)||Array.isArray(e)||!!e[jS]||!!((t=e.constructor)!=null&&t[jS])||Ls(e)||cd(e):!1}var G8=Object.prototype.constructor.toString(),PS=new WeakMap;function XN(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(n===Object)return!0;if(typeof n!="function")return!1;let r=PS.get(n);return r===void 0&&(r=Function.toString.call(n),PS.set(n,r)),r===G8}function rf(e,t,n=!0){ud(e)===0?(n?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((r,i)=>t(i,r,e))}function ud(e){const t=e[$n];return t?t.type_:Array.isArray(e)?1:Ls(e)?2:cd(e)?3:0}function dv(e,t){return ud(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function QN(e,t,n){const r=ud(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function Y8(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Ls(e){return e instanceof Map}function cd(e){return e instanceof Set}function xa(e){return e.copy_||e.base_}function pv(e,t){if(Ls(e))return new Map(e);if(cd(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=XN(e);if(t===!0||t==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(e);delete r[$n];let i=Reflect.ownKeys(r);for(let a=0;a1&&Object.defineProperties(e,{set:vc,add:vc,clear:vc,delete:vc}),Object.freeze(e),t&&Object.values(e).forEach(n=>$y(n,!0))),e}function X8(){fr(2)}var vc={value:X8};function fd(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var Q8={};function Da(e){const t=Q8[e];return t||fr(0,e),t}var gs;function ZN(){return gs}function Z8(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ES(e,t){t&&(Da("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function hv(e){mv(e),e.drafts_.forEach(J8),e.drafts_=null}function mv(e){e===gs&&(gs=e.parent_)}function CS(e){return gs=Z8(gs,e)}function J8(e){const t=e[$n];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function OS(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[$n].modified_&&(hv(t),fr(4)),Ta(e)&&(e=af(t,e),t.parent_||of(t,e)),t.patches_&&Da("Patches").generateReplacementPatches_(n[$n].base_,e,t.patches_,t.inversePatches_)):e=af(t,n,[]),hv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==YN?e:void 0}function af(e,t,n){if(fd(t))return t;const r=e.immer_.shouldUseStrictIteration(),i=t[$n];if(!i)return rf(t,(a,l)=>NS(e,i,t,a,l,n),r),t;if(i.scope_!==e)return t;if(!i.modified_)return of(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const a=i.copy_;let l=a,u=!1;i.type_===3&&(l=new Set(a),a.clear(),u=!0),rf(l,(c,f)=>NS(e,i,a,c,f,n,u),r),of(e,a,!1),n&&e.patches_&&Da("Patches").generatePatches_(i,n,e.patches_,e.inversePatches_)}return i.copy_}function NS(e,t,n,r,i,a,l){if(i==null||typeof i!="object"&&!l)return;const u=fd(i);if(!(u&&!l)){if(Lo(i)){const c=a&&t&&t.type_!==3&&!dv(t.assigned_,r)?a.concat(r):void 0,f=af(e,i,c);if(QN(n,r,f),Lo(f))e.canAutoFreeze_=!1;else return}else l&&n.add(i);if(Ta(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[r]===i&&u)return;af(e,i),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&(Ls(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&of(e,i)}}}function of(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&$y(t,n)}function eW(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:ZN(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,a=Fy;n&&(i=[r],a=vs);const{revoke:l,proxy:u}=Proxy.revocable(i,a);return r.draft_=u,r.revoke_=l,u}var Fy={get(e,t){if(t===$n)return e;const n=xa(e);if(!dv(n,t))return tW(e,n,t);const r=n[t];return e.finalized_||!Ta(r)?r:r===eg(e.base_,t)?(tg(e),e.copy_[t]=vv(r,e)):r},has(e,t){return t in xa(e)},ownKeys(e){return Reflect.ownKeys(xa(e))},set(e,t,n){const r=JN(xa(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=eg(xa(e),t),a=i==null?void 0:i[$n];if(a&&a.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(Y8(n,i)&&(n!==void 0||dv(e.base_,t)))return!0;tg(e),gv(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return eg(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,tg(e),gv(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=xa(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){fr(11)},getPrototypeOf(e){return ms(e.base_)},setPrototypeOf(){fr(12)}},vs={};rf(Fy,(e,t)=>{vs[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});vs.deleteProperty=function(e,t){return vs.set.call(this,e,t,void 0)};vs.set=function(e,t,n){return Fy.set.call(this,e[0],t,n,e[0])};function eg(e,t){const n=e[$n];return(n?xa(n):e)[t]}function tW(e,t,n){var i;const r=JN(t,n);return r?"value"in r?r.value:(i=r.get)==null?void 0:i.call(e.draft_):void 0}function JN(e,t){if(!(t in e))return;let n=ms(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=ms(n)}}function gv(e){e.modified_||(e.modified_=!0,e.parent_&&gv(e.parent_))}function tg(e){e.copy_||(e.copy_=pv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var nW=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const a=n;n=t;const l=this;return function(c=a,...f){return l.produce(c,d=>n.call(this,d,...f))}}typeof n!="function"&&fr(6),r!==void 0&&typeof r!="function"&&fr(7);let i;if(Ta(t)){const a=CS(this),l=vv(t,void 0);let u=!0;try{i=n(l),u=!1}finally{u?hv(a):mv(a)}return ES(a,r),OS(i,a)}else if(!t||typeof t!="object"){if(i=n(t),i===void 0&&(i=t),i===YN&&(i=void 0),this.autoFreeze_&&$y(i,!0),r){const a=[],l=[];Da("Patches").generateReplacementPatches_(t,i,a,l),r(a,l)}return i}else fr(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(l,...u)=>this.produceWithPatches(l,c=>t(c,...u));let r,i;return[this.produce(t,n,(l,u)=>{r=l,i=u}),r,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){Ta(e)||fr(8),Lo(e)&&(e=rW(e));const t=CS(this),n=vv(e,void 0);return n[$n].isManual_=!0,mv(t),n}finishDraft(e,t){const n=e&&e[$n];(!n||!n.isManual_)&&fr(9);const{scope_:r}=n;return ES(r,t),OS(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const i=t[n];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}n>-1&&(t=t.slice(n+1));const r=Da("Patches").applyPatches_;return Lo(e)?r(e,t):this.produce(e,i=>r(i,t))}};function vv(e,t){const n=Ls(e)?Da("MapSet").proxyMap_(e,t):cd(e)?Da("MapSet").proxySet_(e,t):eW(e,t);return(t?t.scope_:ZN()).drafts_.push(n),n}function rW(e){return Lo(e)||fr(10,e),eA(e)}function eA(e){if(!Ta(e)||fd(e))return e;const t=e[$n];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=pv(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=pv(e,!0);return rf(n,(i,a)=>{QN(n,i,eA(a))},r),t&&(t.finalized_=!1),n}var iW=new nW;iW.produce;var aW={settings:{layout:"horizontal",align:"center",verticalAlign:"middle",itemSorter:"value"},size:{width:0,height:0},payload:[]},tA=On({name:"legend",initialState:aW,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:at()},replaceLegendPayload:{reducer(e,t){var{prev:n,next:r}=t.payload,i=mr(e).payload.indexOf(n);i>-1&&(e.payload[i]=r)},prepare:at()},removeLegendPayload:{reducer(e,t){var n=mr(e).payload.indexOf(t.payload);n>-1&&e.payload.splice(n,1)},prepare:at()}}}),{setLegendSize:Fte,setLegendSettings:Bte,addLegendPayload:oW,replaceLegendPayload:lW,removeLegendPayload:sW}=tA.actions,uW=tA.reducer;function yv(){return yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{separator:t=vo.separator,contentStyle:n,itemStyle:r,labelStyle:i=vo.labelStyle,payload:a,formatter:l,itemSorter:u,wrapperClassName:c,labelClassName:f,label:d,labelFormatter:h,accessibilityLayer:g=vo.accessibilityLayer}=e,y=()=>{if(a&&a.length){var I={padding:0,margin:0},C=(u?Kf(a,u):a).map((L,R)=>{if(L.type==="none")return null;var U=L.formatter||l||pW,{value:D,name:q}=L,z=D,ee=q;if(U){var X=U(D,q,L,R,a);if(Array.isArray(X))[z,ee]=X;else if(X!=null)z=X;else return null}var Q=Ul(Ul({},vo.itemStyle),{},{color:L.color||vo.itemStyle.color},r);return k.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(R),style:Q},Dr(ee)?k.createElement("span",{className:"recharts-tooltip-item-name"},ee):null,Dr(ee)?k.createElement("span",{className:"recharts-tooltip-item-separator"},t):null,k.createElement("span",{className:"recharts-tooltip-item-value"},z),k.createElement("span",{className:"recharts-tooltip-item-unit"},L.unit||""))});return k.createElement("ul",{className:"recharts-tooltip-item-list",style:I},C)}return null},w=Ul(Ul({},vo.contentStyle),n),S=Ul({margin:0},i),b=!mt(d),P=b?d:"",E=Ge("recharts-default-tooltip",c),O=Ge("recharts-tooltip-label",f);b&&h&&a!==void 0&&a!==null&&(P=h(d,a));var A=g?{role:"status","aria-live":"assertive"}:{};return k.createElement("div",yv({className:E,style:w},A),k.createElement("p",{className:O,style:S},k.isValidElement(P)?P:"".concat(P)),y())},Wl="recharts-tooltip-wrapper",mW={visibility:"hidden"};function gW(e){var{coordinate:t,translateX:n,translateY:r}=e;return Ge(Wl,{["".concat(Wl,"-right")]:ge(n)&&t&&ge(t.x)&&n>=t.x,["".concat(Wl,"-left")]:ge(n)&&t&&ge(t.x)&&n=t.y,["".concat(Wl,"-top")]:ge(r)&&t&&ge(t.y)&&r0?i:0),h=n[r]+i;if(t[r])return l[r]?d:h;var g=c[r];if(g==null)return 0;if(l[r]){var y=d,w=g;return yb?Math.max(d,g):Math.max(h,g)}function vW(e){var{translateX:t,translateY:n,useTranslate3d:r}=e;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function yW(e){var{allowEscapeViewBox:t,coordinate:n,offsetTop:r,offsetLeft:i,position:a,reverseDirection:l,tooltipBox:u,useTranslate3d:c,viewBox:f}=e,d,h,g;return u.height>0&&u.width>0&&n?(h=_S({allowEscapeViewBox:t,coordinate:n,key:"x",offset:i,position:a,reverseDirection:l,tooltipDimension:u.width,viewBox:f,viewBoxDimension:f.width}),g=_S({allowEscapeViewBox:t,coordinate:n,key:"y",offset:r,position:a,reverseDirection:l,tooltipDimension:u.height,viewBox:f,viewBoxDimension:f.height}),d=vW({translateX:h,translateY:g,useTranslate3d:c})):d=mW,{cssProperties:d,cssClasses:gW({translateX:h,translateY:g,coordinate:n})}}function IS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function yc(e){for(var t=1;t{if(t.key==="Escape"){var n,r,i,a;this.setState({dismissed:!0,dismissedAtCoordinate:{x:(n=(r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==null&&n!==void 0?n:0,y:(i=(a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==null&&i!==void 0?i:0}})}})}componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}componentDidUpdate(){var t,n;this.state.dismissed&&(((t=this.props.coordinate)===null||t===void 0?void 0:t.x)!==this.state.dismissedAtCoordinate.x||((n=this.props.coordinate)===null||n===void 0?void 0:n.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}render(){var{active:t,allowEscapeViewBox:n,animationDuration:r,animationEasing:i,children:a,coordinate:l,hasPayload:u,isAnimationActive:c,offset:f,position:d,reverseDirection:h,useTranslate3d:g,viewBox:y,wrapperStyle:w,lastBoundingBox:S,innerRef:b,hasPortalFromProps:P}=this.props,E=typeof f=="number"?f:f.x,O=typeof f=="number"?f:f.y,{cssClasses:A,cssProperties:I}=yW({allowEscapeViewBox:n,coordinate:l,offsetLeft:E,offsetTop:O,position:d,reverseDirection:h,tooltipBox:{height:S.height,width:S.width},useTranslate3d:g,viewBox:y}),C=P?{}:yc(yc({transition:c&&t?"transform ".concat(r,"ms ").concat(i):void 0},I),{},{pointerEvents:"none",visibility:!this.state.dismissed&&t&&u?"visible":"hidden",position:"absolute",top:0,left:0}),L=yc(yc({},C),{},{visibility:!this.state.dismissed&&t&&u?"visible":"hidden"},w);return k.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:A,style:L,ref:b},a)}}var nA=()=>{var e;return(e=Pe(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function bv(){return bv=Object.assign?Object.assign.bind():function(e){for(var t=1;tDe(e.x)&&De(e.y),LS=e=>e.base!=null&&lf(e.base)&&lf(e),ql=e=>e.x,Hl=e=>e.y,PW=(e,t)=>{if(typeof e=="function")return e;var n="curve".concat(_s(e));if((n==="curveMonotone"||n==="curveBump")&&t){var r=MS["".concat(n).concat(t==="vertical"?"Y":"X")];if(r)return r}return MS[n]||Hf},RS={connectNulls:!1,type:"linear"},EW=e=>{var{type:t=RS.type,points:n=[],baseLine:r,layout:i,connectNulls:a=RS.connectNulls}=e,l=PW(t,i),u=a?n.filter(lf):n;if(Array.isArray(r)){var c,f=n.map((w,S)=>DS(DS({},w),{},{base:r[S]}));i==="vertical"?c=cc().y(Hl).x1(ql).x0(w=>w.base.x):c=cc().x(ql).y1(Hl).y0(w=>w.base.y);var d=c.defined(LS).curve(l),h=a?f.filter(LS):f;return d(h)}var g;i==="vertical"&&ge(r)?g=cc().y(Hl).x1(ql).x0(r):ge(r)?g=cc().x(ql).y1(Hl).y0(r):g=IO().x(ql).y(Hl);var y=g.defined(lf).curve(l);return y(u)},os=e=>{var{className:t,points:n,path:r,pathRef:i}=e,a=Ba();if((!n||!n.length)&&!r)return null;var l={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},u=n&&n.length?EW(l):r;return k.createElement("path",bv({},Zn(e),jy(e),{className:Ge("recharts-curve",t),d:u===null?void 0:u,ref:i}))},CW=["x","y","top","left","width","height","className"];function wv(){return wv=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(r,"M").concat(a,",").concat(t,"h").concat(n),MW=e=>{var{x:t=0,y:n=0,top:r=0,left:i=0,width:a=0,height:l=0,className:u}=e,c=IW(e,CW),f=OW({x:t,y:n,top:r,left:i,width:a,height:l},c);return!ge(t)||!ge(n)||!ge(a)||!ge(l)||!ge(r)||!ge(i)?null:k.createElement("path",wv({},dn(f),{className:Ge("recharts-cross",u),d:DW(t,n,a,l,r,i)}))};function LW(e,t,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-i,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}function $S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function FS(e){for(var t=1;te.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),rA=(e,t,n)=>e.map(r=>"".concat(FW(r)," ").concat(t,"ms ").concat(n)).join(","),BW=(e,t)=>[Object.keys(e),Object.keys(t)].reduce((n,r)=>n.filter(i=>r.includes(i))),ys=(e,t)=>Object.keys(t).reduce((n,r)=>FS(FS({},n),{},{[r]:e(r,t[r])}),{});function BS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;te+(t-e)*n,kv=e=>{var{from:t,to:n}=e;return t!==n},iA=(e,t,n)=>{var r=ys((i,a)=>{if(kv(a)){var[l,u]=e(a.from,a.to,a.velocity);return Ot(Ot({},a),{},{from:l,velocity:u})}return a},t);return n<1?ys((i,a)=>kv(a)&&r[i]!=null?Ot(Ot({},a),{},{velocity:sf(a.velocity,r[i].velocity,n),from:sf(a.from,r[i].from,n)}):a,t):iA(e,r,n-1)};function HW(e,t,n,r,i,a){var l,u=r.reduce((g,y)=>Ot(Ot({},g),{},{[y]:{from:e[y],velocity:0,to:t[y]}}),{}),c=()=>ys((g,y)=>y.from,u),f=()=>!Object.values(u).filter(kv).length,d=null,h=g=>{l||(l=g);var y=g-l,w=y/n.dt;u=iA(n,u,w),i(Ot(Ot(Ot({},e),t),c())),l=g,f()||(d=a.setTimeout(h))};return()=>(d=a.setTimeout(h),()=>{var g;(g=d)===null||g===void 0||g()})}function VW(e,t,n,r,i,a,l){var u=null,c=i.reduce((h,g)=>{var y=e[g],w=t[g];return y==null||w==null?h:Ot(Ot({},h),{},{[g]:[y,w]})},{}),f,d=h=>{f||(f=h);var g=(h-f)/r,y=ys((S,b)=>sf(...b,n(g)),c);if(a(Ot(Ot(Ot({},e),t),y)),g<1)u=l.setTimeout(d);else{var w=ys((S,b)=>sf(...b,n(1)),c);a(Ot(Ot(Ot({},e),t),w))}};return()=>(u=l.setTimeout(d),()=>{var h;(h=u)===null||h===void 0||h()})}const KW=(e,t,n,r,i,a)=>{var l=BW(e,t);return n==null?()=>(i(Ot(Ot({},e),t)),()=>{}):n.isStepper===!0?HW(e,t,n,l,i,a):VW(e,t,n,r,l,i,a)};var uf=1e-4,aA=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],oA=(e,t)=>e.map((n,r)=>n*t**r).reduce((n,r)=>n+r),US=(e,t)=>n=>{var r=aA(e,t);return oA(r,n)},GW=(e,t)=>n=>{var r=aA(e,t),i=[...r.map((a,l)=>a*l).slice(1),0];return oA(i,n)},YW=e=>{var t,n=e.split("(");if(n.length!==2||n[0]!=="cubic-bezier")return null;var r=(t=n[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(r==null||r.length!==4)return null;var i=r.map(a=>parseFloat(a));return[i[0],i[1],i[2],i[3]]},XW=function(){for(var t=arguments.length,n=new Array(t),r=0;r{var i=US(e,n),a=US(t,r),l=GW(e,n),u=f=>f>1?1:f<0?0:f,c=f=>{for(var d=f>1?1:f,h=d,g=0;g<8;++g){var y=i(h)-d,w=l(h);if(Math.abs(y-d)0&&arguments[0]!==void 0?arguments[0]:{},{stiff:n=100,damping:r=8,dt:i=17}=t,a=(l,u,c)=>{var f=-(l-u)*n,d=c*r,h=c+(f-d)*i/1e3,g=c*i/1e3+l;return Math.abs(g-u){if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return WS(e);case"spring":return ZW();default:if(e.split("(")[0]==="cubic-bezier")return WS(e)}return typeof e=="function"?e:null};function eq(e){var t,n=()=>null,r=!1,i=null,a=l=>{if(!r){if(Array.isArray(l)){if(!l.length)return;var u=l,[c,...f]=u;if(typeof c=="number"){i=e.setTimeout(a.bind(null,f),c);return}a(c),i=e.setTimeout(a.bind(null,f));return}typeof l=="string"&&(t=l,n(t)),typeof l=="object"&&(t=l,n(t)),typeof l=="function"&&l()}};return{stop:()=>{r=!0},start:l=>{r=!1,i&&(i(),i=null),a(l)},subscribe:l=>(n=l,()=>{n=()=>null}),getTimeoutController:()=>e}}class tq{setTimeout(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),i=null,a=l=>{l-r>=n?t(l):typeof requestAnimationFrame=="function"&&(i=requestAnimationFrame(a))};return i=requestAnimationFrame(a),()=>{i!=null&&cancelAnimationFrame(i)}}}function nq(){return eq(new tq)}var rq=k.createContext(nq);function iq(e,t){var n=k.useContext(rq);return k.useMemo(()=>t??n(e),[e,t,n])}var aq=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Rs={isSsr:aq()},oq={begin:0,duration:1e3,easing:"ease",isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},qS={t:0},ng={t:1};function dd(e){var t=mn(e,oq),{isActive:n,canBegin:r,duration:i,easing:a,begin:l,onAnimationEnd:u,onAnimationStart:c,children:f}=t,d=n==="auto"?!Rs.isSsr:n,h=iq(t.animationId,t.animationManager),[g,y]=k.useState(d?qS:ng),w=k.useRef(null);return k.useEffect(()=>{d||y(ng)},[d]),k.useEffect(()=>{if(!d||!r)return Fa;var S=KW(qS,ng,JW(a),i,y,h.getTimeoutController()),b=()=>{w.current=S()};return h.start([c,l,b,i,u]),()=>{h.stop(),w.current&&w.current(),u()}},[d,r,i,a,l,c,u,h]),f(g.t)}function pd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=k.useRef(fs(t)),r=k.useRef(e);return r.current!==e&&(n.current=fs(t),r.current=e),n.current}var lq=["radius"],sq=["radius"],HS,VS,KS,GS,YS,XS,QS,ZS,JS,ej;function tj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nj(e){for(var t=1;t{var a=Ki(n),l=Ki(r),u=Math.min(Math.abs(a)/2,Math.abs(l)/2),c=l>=0?1:-1,f=a>=0?1:-1,d=l>=0&&a>=0||l<0&&a<0?1:0,h;if(u>0&&Array.isArray(i)){for(var g=[0,0,0,0],y=0,w=4;yu?u:b}h=ht(HS||(HS=Cr(["M",",",""])),e,t+c*g[0]),g[0]>0&&(h+=ht(VS||(VS=Cr(["A ",",",",0,0,",",",",",""])),g[0],g[0],d,e+f*g[0],t)),h+=ht(KS||(KS=Cr(["L ",",",""])),e+n-f*g[1],t),g[1]>0&&(h+=ht(GS||(GS=Cr(["A ",",",",0,0,",`, - `,",",""])),g[1],g[1],d,e+n,t+c*g[1])),h+=ht(YS||(YS=Cr(["L ",",",""])),e+n,t+r-c*g[2]),g[2]>0&&(h+=ht(XS||(XS=Cr(["A ",",",",0,0,",`, - `,",",""])),g[2],g[2],d,e+n-f*g[2],t+r)),h+=ht(QS||(QS=Cr(["L ",",",""])),e+f*g[3],t+r),g[3]>0&&(h+=ht(ZS||(ZS=Cr(["A ",",",",0,0,",`, - `,",",""])),g[3],g[3],d,e,t+r-c*g[3])),h+="Z"}else if(u>0&&i===+i&&i>0){var P=Math.min(u,i);h=ht(JS||(JS=Cr(["M ",",",` + height and width.`,C,M,i,a,l,u,n),k.createElement("div",{id:p?"".concat(p):void 0,className:Ge("recharts-responsive-container",g),style:SS(SS({},w),{},{width:i,height:a,minWidth:l,minHeight:u,maxHeight:c}),ref:S},k.createElement("div",{style:$8({width:i,height:a})},k.createElement(WN,{width:C,height:M},f)))}),qN=k.forwardRef((e,t)=>{var n=Ly();if(Mr(n.width)&&Mr(n.height))return e.children;var{width:r,height:i}=F8({width:e.width,height:e.height,aspect:e.aspect}),{calculatedWidth:a,calculatedHeight:l}=BN(void 0,void 0,{width:r,height:i,aspect:e.aspect,maxHeight:e.maxHeight});return ge(a)&&ge(l)?k.createElement(WN,{width:a,height:l},e.children):k.createElement(H8,fv({},e,{width:r,height:i,ref:t}))});function Ry(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 sd=()=>{var e,t=on(),n=Pe(C8),r=Pe(ld),i=(e=Pe(od))===null||e===void 0?void 0:e.padding;return!t||!r||!i?n:{width:r.width-i.left-i.right,height:r.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},HN=()=>{var e;return(e=Pe($t))!==null&&e!==void 0?e:V8},VN=()=>Pe(fi),KN=()=>Pe(di),He=e=>e.layout.layoutType,Ba=()=>Pe(He),zy=()=>{var e=Ba();if(e==="horizontal"||e==="vertical")return e},GN=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},K8=()=>{var e=Ba();return e!==void 0},Ms=e=>{var t=yt(),n=on(),{width:r,height:i}=e,a=Ly(),l=r,u=i;return a&&(l=a.width>0?a.width:r,u=a.height>0?a.height:i),k.useEffect(()=>{!n&&Mr(l)&&Mr(u)&&t(ZU({width:l,height:u}))},[t,n,l,u]),null},YN=Symbol.for("immer-nothing"),jS=Symbol.for("immer-draftable"),$n=Symbol.for("immer-state");function fr(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ms=Object.getPrototypeOf;function Lo(e){return!!e&&!!e[$n]}function Ta(e){var t;return e?XN(e)||Array.isArray(e)||!!e[jS]||!!((t=e.constructor)!=null&&t[jS])||Ls(e)||cd(e):!1}var G8=Object.prototype.constructor.toString(),PS=new WeakMap;function XN(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(n===Object)return!0;if(typeof n!="function")return!1;let r=PS.get(n);return r===void 0&&(r=Function.toString.call(n),PS.set(n,r)),r===G8}function rf(e,t,n=!0){ud(e)===0?(n?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((r,i)=>t(i,r,e))}function ud(e){const t=e[$n];return t?t.type_:Array.isArray(e)?1:Ls(e)?2:cd(e)?3:0}function dv(e,t){return ud(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function QN(e,t,n){const r=ud(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function Y8(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Ls(e){return e instanceof Map}function cd(e){return e instanceof Set}function xa(e){return e.copy_||e.base_}function hv(e,t){if(Ls(e))return new Map(e);if(cd(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=XN(e);if(t===!0||t==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(e);delete r[$n];let i=Reflect.ownKeys(r);for(let a=0;a1&&Object.defineProperties(e,{set:vc,add:vc,clear:vc,delete:vc}),Object.freeze(e),t&&Object.values(e).forEach(n=>$y(n,!0))),e}function X8(){fr(2)}var vc={value:X8};function fd(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var Q8={};function Da(e){const t=Q8[e];return t||fr(0,e),t}var gs;function ZN(){return gs}function Z8(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ES(e,t){t&&(Da("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function pv(e){mv(e),e.drafts_.forEach(J8),e.drafts_=null}function mv(e){e===gs&&(gs=e.parent_)}function CS(e){return gs=Z8(gs,e)}function J8(e){const t=e[$n];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function OS(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[$n].modified_&&(pv(t),fr(4)),Ta(e)&&(e=af(t,e),t.parent_||of(t,e)),t.patches_&&Da("Patches").generateReplacementPatches_(n[$n].base_,e,t.patches_,t.inversePatches_)):e=af(t,n,[]),pv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==YN?e:void 0}function af(e,t,n){if(fd(t))return t;const r=e.immer_.shouldUseStrictIteration(),i=t[$n];if(!i)return rf(t,(a,l)=>NS(e,i,t,a,l,n),r),t;if(i.scope_!==e)return t;if(!i.modified_)return of(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const a=i.copy_;let l=a,u=!1;i.type_===3&&(l=new Set(a),a.clear(),u=!0),rf(l,(c,f)=>NS(e,i,a,c,f,n,u),r),of(e,a,!1),n&&e.patches_&&Da("Patches").generatePatches_(i,n,e.patches_,e.inversePatches_)}return i.copy_}function NS(e,t,n,r,i,a,l){if(i==null||typeof i!="object"&&!l)return;const u=fd(i);if(!(u&&!l)){if(Lo(i)){const c=a&&t&&t.type_!==3&&!dv(t.assigned_,r)?a.concat(r):void 0,f=af(e,i,c);if(QN(n,r,f),Lo(f))e.canAutoFreeze_=!1;else return}else l&&n.add(i);if(Ta(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[r]===i&&u)return;af(e,i),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&(Ls(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&of(e,i)}}}function of(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&$y(t,n)}function eW(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:ZN(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,a=Fy;n&&(i=[r],a=vs);const{revoke:l,proxy:u}=Proxy.revocable(i,a);return r.draft_=u,r.revoke_=l,u}var Fy={get(e,t){if(t===$n)return e;const n=xa(e);if(!dv(n,t))return tW(e,n,t);const r=n[t];return e.finalized_||!Ta(r)?r:r===eg(e.base_,t)?(tg(e),e.copy_[t]=vv(r,e)):r},has(e,t){return t in xa(e)},ownKeys(e){return Reflect.ownKeys(xa(e))},set(e,t,n){const r=JN(xa(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=eg(xa(e),t),a=i==null?void 0:i[$n];if(a&&a.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(Y8(n,i)&&(n!==void 0||dv(e.base_,t)))return!0;tg(e),gv(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return eg(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,tg(e),gv(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=xa(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){fr(11)},getPrototypeOf(e){return ms(e.base_)},setPrototypeOf(){fr(12)}},vs={};rf(Fy,(e,t)=>{vs[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});vs.deleteProperty=function(e,t){return vs.set.call(this,e,t,void 0)};vs.set=function(e,t,n){return Fy.set.call(this,e[0],t,n,e[0])};function eg(e,t){const n=e[$n];return(n?xa(n):e)[t]}function tW(e,t,n){var i;const r=JN(t,n);return r?"value"in r?r.value:(i=r.get)==null?void 0:i.call(e.draft_):void 0}function JN(e,t){if(!(t in e))return;let n=ms(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=ms(n)}}function gv(e){e.modified_||(e.modified_=!0,e.parent_&&gv(e.parent_))}function tg(e){e.copy_||(e.copy_=hv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var nW=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const a=n;n=t;const l=this;return function(c=a,...f){return l.produce(c,d=>n.call(this,d,...f))}}typeof n!="function"&&fr(6),r!==void 0&&typeof r!="function"&&fr(7);let i;if(Ta(t)){const a=CS(this),l=vv(t,void 0);let u=!0;try{i=n(l),u=!1}finally{u?pv(a):mv(a)}return ES(a,r),OS(i,a)}else if(!t||typeof t!="object"){if(i=n(t),i===void 0&&(i=t),i===YN&&(i=void 0),this.autoFreeze_&&$y(i,!0),r){const a=[],l=[];Da("Patches").generateReplacementPatches_(t,i,a,l),r(a,l)}return i}else fr(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(l,...u)=>this.produceWithPatches(l,c=>t(c,...u));let r,i;return[this.produce(t,n,(l,u)=>{r=l,i=u}),r,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){Ta(e)||fr(8),Lo(e)&&(e=rW(e));const t=CS(this),n=vv(e,void 0);return n[$n].isManual_=!0,mv(t),n}finishDraft(e,t){const n=e&&e[$n];(!n||!n.isManual_)&&fr(9);const{scope_:r}=n;return ES(r,t),OS(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const i=t[n];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}n>-1&&(t=t.slice(n+1));const r=Da("Patches").applyPatches_;return Lo(e)?r(e,t):this.produce(e,i=>r(i,t))}};function vv(e,t){const n=Ls(e)?Da("MapSet").proxyMap_(e,t):cd(e)?Da("MapSet").proxySet_(e,t):eW(e,t);return(t?t.scope_:ZN()).drafts_.push(n),n}function rW(e){return Lo(e)||fr(10,e),eA(e)}function eA(e){if(!Ta(e)||fd(e))return e;const t=e[$n];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=hv(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=hv(e,!0);return rf(n,(i,a)=>{QN(n,i,eA(a))},r),t&&(t.finalized_=!1),n}var iW=new nW;iW.produce;var aW={settings:{layout:"horizontal",align:"center",verticalAlign:"middle",itemSorter:"value"},size:{width:0,height:0},payload:[]},tA=On({name:"legend",initialState:aW,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:at()},replaceLegendPayload:{reducer(e,t){var{prev:n,next:r}=t.payload,i=mr(e).payload.indexOf(n);i>-1&&(e.payload[i]=r)},prepare:at()},removeLegendPayload:{reducer(e,t){var n=mr(e).payload.indexOf(t.payload);n>-1&&e.payload.splice(n,1)},prepare:at()}}}),{setLegendSize:Fte,setLegendSettings:Bte,addLegendPayload:oW,replaceLegendPayload:lW,removeLegendPayload:sW}=tA.actions,uW=tA.reducer;function yv(){return yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{separator:t=vo.separator,contentStyle:n,itemStyle:r,labelStyle:i=vo.labelStyle,payload:a,formatter:l,itemSorter:u,wrapperClassName:c,labelClassName:f,label:d,labelFormatter:p,accessibilityLayer:g=vo.accessibilityLayer}=e,y=()=>{if(a&&a.length){var I={padding:0,margin:0},C=(u?Kf(a,u):a).map((M,B)=>{if(M.type==="none")return null;var H=M.formatter||l||hW,{value:L,name:W}=M,R=L,V=W;if(H){var G=H(L,W,M,B,a);if(Array.isArray(G))[R,V]=G;else if(G!=null)R=G;else return null}var Q=Ul(Ul({},vo.itemStyle),{},{color:M.color||vo.itemStyle.color},r);return k.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(B),style:Q},Dr(V)?k.createElement("span",{className:"recharts-tooltip-item-name"},V):null,Dr(V)?k.createElement("span",{className:"recharts-tooltip-item-separator"},t):null,k.createElement("span",{className:"recharts-tooltip-item-value"},R),k.createElement("span",{className:"recharts-tooltip-item-unit"},M.unit||""))});return k.createElement("ul",{className:"recharts-tooltip-item-list",style:I},C)}return null},w=Ul(Ul({},vo.contentStyle),n),S=Ul({margin:0},i),b=!mt(d),P=b?d:"",E=Ge("recharts-default-tooltip",c),O=Ge("recharts-tooltip-label",f);b&&p&&a!==void 0&&a!==null&&(P=p(d,a));var A=g?{role:"status","aria-live":"assertive"}:{};return k.createElement("div",yv({className:E,style:w},A),k.createElement("p",{className:O,style:S},k.isValidElement(P)?P:"".concat(P)),y())},Wl="recharts-tooltip-wrapper",mW={visibility:"hidden"};function gW(e){var{coordinate:t,translateX:n,translateY:r}=e;return Ge(Wl,{["".concat(Wl,"-right")]:ge(n)&&t&&ge(t.x)&&n>=t.x,["".concat(Wl,"-left")]:ge(n)&&t&&ge(t.x)&&n=t.y,["".concat(Wl,"-top")]:ge(r)&&t&&ge(t.y)&&r0?i:0),p=n[r]+i;if(t[r])return l[r]?d:p;var g=c[r];if(g==null)return 0;if(l[r]){var y=d,w=g;return yb?Math.max(d,g):Math.max(p,g)}function vW(e){var{translateX:t,translateY:n,useTranslate3d:r}=e;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function yW(e){var{allowEscapeViewBox:t,coordinate:n,offsetTop:r,offsetLeft:i,position:a,reverseDirection:l,tooltipBox:u,useTranslate3d:c,viewBox:f}=e,d,p,g;return u.height>0&&u.width>0&&n?(p=_S({allowEscapeViewBox:t,coordinate:n,key:"x",offset:i,position:a,reverseDirection:l,tooltipDimension:u.width,viewBox:f,viewBoxDimension:f.width}),g=_S({allowEscapeViewBox:t,coordinate:n,key:"y",offset:r,position:a,reverseDirection:l,tooltipDimension:u.height,viewBox:f,viewBoxDimension:f.height}),d=vW({translateX:p,translateY:g,useTranslate3d:c})):d=mW,{cssProperties:d,cssClasses:gW({translateX:p,translateY:g,coordinate:n})}}function IS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function yc(e){for(var t=1;t{if(t.key==="Escape"){var n,r,i,a;this.setState({dismissed:!0,dismissedAtCoordinate:{x:(n=(r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==null&&n!==void 0?n:0,y:(i=(a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==null&&i!==void 0?i:0}})}})}componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}componentDidUpdate(){var t,n;this.state.dismissed&&(((t=this.props.coordinate)===null||t===void 0?void 0:t.x)!==this.state.dismissedAtCoordinate.x||((n=this.props.coordinate)===null||n===void 0?void 0:n.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}render(){var{active:t,allowEscapeViewBox:n,animationDuration:r,animationEasing:i,children:a,coordinate:l,hasPayload:u,isAnimationActive:c,offset:f,position:d,reverseDirection:p,useTranslate3d:g,viewBox:y,wrapperStyle:w,lastBoundingBox:S,innerRef:b,hasPortalFromProps:P}=this.props,E=typeof f=="number"?f:f.x,O=typeof f=="number"?f:f.y,{cssClasses:A,cssProperties:I}=yW({allowEscapeViewBox:n,coordinate:l,offsetLeft:E,offsetTop:O,position:d,reverseDirection:p,tooltipBox:{height:S.height,width:S.width},useTranslate3d:g,viewBox:y}),C=P?{}:yc(yc({transition:c&&t?"transform ".concat(r,"ms ").concat(i):void 0},I),{},{pointerEvents:"none",visibility:!this.state.dismissed&&t&&u?"visible":"hidden",position:"absolute",top:0,left:0}),M=yc(yc({},C),{},{visibility:!this.state.dismissed&&t&&u?"visible":"hidden"},w);return k.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:A,style:M,ref:b},a)}}var nA=()=>{var e;return(e=Pe(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function bv(){return bv=Object.assign?Object.assign.bind():function(e){for(var t=1;tDe(e.x)&&De(e.y),LS=e=>e.base!=null&&lf(e.base)&&lf(e),ql=e=>e.x,Hl=e=>e.y,PW=(e,t)=>{if(typeof e=="function")return e;var n="curve".concat(_s(e));if((n==="curveMonotone"||n==="curveBump")&&t){var r=MS["".concat(n).concat(t==="vertical"?"Y":"X")];if(r)return r}return MS[n]||Hf},RS={connectNulls:!1,type:"linear"},EW=e=>{var{type:t=RS.type,points:n=[],baseLine:r,layout:i,connectNulls:a=RS.connectNulls}=e,l=PW(t,i),u=a?n.filter(lf):n;if(Array.isArray(r)){var c,f=n.map((w,S)=>DS(DS({},w),{},{base:r[S]}));i==="vertical"?c=cc().y(Hl).x1(ql).x0(w=>w.base.x):c=cc().x(ql).y1(Hl).y0(w=>w.base.y);var d=c.defined(LS).curve(l),p=a?f.filter(LS):f;return d(p)}var g;i==="vertical"&&ge(r)?g=cc().y(Hl).x1(ql).x0(r):ge(r)?g=cc().x(ql).y1(Hl).y0(r):g=IO().x(ql).y(Hl);var y=g.defined(lf).curve(l);return y(u)},os=e=>{var{className:t,points:n,path:r,pathRef:i}=e,a=Ba();if((!n||!n.length)&&!r)return null;var l={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},u=n&&n.length?EW(l):r;return k.createElement("path",bv({},Zn(e),jy(e),{className:Ge("recharts-curve",t),d:u===null?void 0:u,ref:i}))},CW=["x","y","top","left","width","height","className"];function wv(){return wv=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(r,"M").concat(a,",").concat(t,"h").concat(n),MW=e=>{var{x:t=0,y:n=0,top:r=0,left:i=0,width:a=0,height:l=0,className:u}=e,c=IW(e,CW),f=OW({x:t,y:n,top:r,left:i,width:a,height:l},c);return!ge(t)||!ge(n)||!ge(a)||!ge(l)||!ge(r)||!ge(i)?null:k.createElement("path",wv({},dn(f),{className:Ge("recharts-cross",u),d:DW(t,n,a,l,r,i)}))};function LW(e,t,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-i,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}function $S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function FS(e){for(var t=1;te.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),rA=(e,t,n)=>e.map(r=>"".concat(FW(r)," ").concat(t,"ms ").concat(n)).join(","),BW=(e,t)=>[Object.keys(e),Object.keys(t)].reduce((n,r)=>n.filter(i=>r.includes(i))),ys=(e,t)=>Object.keys(t).reduce((n,r)=>FS(FS({},n),{},{[r]:e(r,t[r])}),{});function BS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;te+(t-e)*n,kv=e=>{var{from:t,to:n}=e;return t!==n},iA=(e,t,n)=>{var r=ys((i,a)=>{if(kv(a)){var[l,u]=e(a.from,a.to,a.velocity);return Ot(Ot({},a),{},{from:l,velocity:u})}return a},t);return n<1?ys((i,a)=>kv(a)&&r[i]!=null?Ot(Ot({},a),{},{velocity:sf(a.velocity,r[i].velocity,n),from:sf(a.from,r[i].from,n)}):a,t):iA(e,r,n-1)};function HW(e,t,n,r,i,a){var l,u=r.reduce((g,y)=>Ot(Ot({},g),{},{[y]:{from:e[y],velocity:0,to:t[y]}}),{}),c=()=>ys((g,y)=>y.from,u),f=()=>!Object.values(u).filter(kv).length,d=null,p=g=>{l||(l=g);var y=g-l,w=y/n.dt;u=iA(n,u,w),i(Ot(Ot(Ot({},e),t),c())),l=g,f()||(d=a.setTimeout(p))};return()=>(d=a.setTimeout(p),()=>{var g;(g=d)===null||g===void 0||g()})}function VW(e,t,n,r,i,a,l){var u=null,c=i.reduce((p,g)=>{var y=e[g],w=t[g];return y==null||w==null?p:Ot(Ot({},p),{},{[g]:[y,w]})},{}),f,d=p=>{f||(f=p);var g=(p-f)/r,y=ys((S,b)=>sf(...b,n(g)),c);if(a(Ot(Ot(Ot({},e),t),y)),g<1)u=l.setTimeout(d);else{var w=ys((S,b)=>sf(...b,n(1)),c);a(Ot(Ot(Ot({},e),t),w))}};return()=>(u=l.setTimeout(d),()=>{var p;(p=u)===null||p===void 0||p()})}const KW=(e,t,n,r,i,a)=>{var l=BW(e,t);return n==null?()=>(i(Ot(Ot({},e),t)),()=>{}):n.isStepper===!0?HW(e,t,n,l,i,a):VW(e,t,n,r,l,i,a)};var uf=1e-4,aA=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],oA=(e,t)=>e.map((n,r)=>n*t**r).reduce((n,r)=>n+r),US=(e,t)=>n=>{var r=aA(e,t);return oA(r,n)},GW=(e,t)=>n=>{var r=aA(e,t),i=[...r.map((a,l)=>a*l).slice(1),0];return oA(i,n)},YW=e=>{var t,n=e.split("(");if(n.length!==2||n[0]!=="cubic-bezier")return null;var r=(t=n[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(r==null||r.length!==4)return null;var i=r.map(a=>parseFloat(a));return[i[0],i[1],i[2],i[3]]},XW=function(){for(var t=arguments.length,n=new Array(t),r=0;r{var i=US(e,n),a=US(t,r),l=GW(e,n),u=f=>f>1?1:f<0?0:f,c=f=>{for(var d=f>1?1:f,p=d,g=0;g<8;++g){var y=i(p)-d,w=l(p);if(Math.abs(y-d)0&&arguments[0]!==void 0?arguments[0]:{},{stiff:n=100,damping:r=8,dt:i=17}=t,a=(l,u,c)=>{var f=-(l-u)*n,d=c*r,p=c+(f-d)*i/1e3,g=c*i/1e3+l;return Math.abs(g-u){if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return WS(e);case"spring":return ZW();default:if(e.split("(")[0]==="cubic-bezier")return WS(e)}return typeof e=="function"?e:null};function eq(e){var t,n=()=>null,r=!1,i=null,a=l=>{if(!r){if(Array.isArray(l)){if(!l.length)return;var u=l,[c,...f]=u;if(typeof c=="number"){i=e.setTimeout(a.bind(null,f),c);return}a(c),i=e.setTimeout(a.bind(null,f));return}typeof l=="string"&&(t=l,n(t)),typeof l=="object"&&(t=l,n(t)),typeof l=="function"&&l()}};return{stop:()=>{r=!0},start:l=>{r=!1,i&&(i(),i=null),a(l)},subscribe:l=>(n=l,()=>{n=()=>null}),getTimeoutController:()=>e}}class tq{setTimeout(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),i=null,a=l=>{l-r>=n?t(l):typeof requestAnimationFrame=="function"&&(i=requestAnimationFrame(a))};return i=requestAnimationFrame(a),()=>{i!=null&&cancelAnimationFrame(i)}}}function nq(){return eq(new tq)}var rq=k.createContext(nq);function iq(e,t){var n=k.useContext(rq);return k.useMemo(()=>t??n(e),[e,t,n])}var aq=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Rs={isSsr:aq()},oq={begin:0,duration:1e3,easing:"ease",isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},qS={t:0},ng={t:1};function dd(e){var t=mn(e,oq),{isActive:n,canBegin:r,duration:i,easing:a,begin:l,onAnimationEnd:u,onAnimationStart:c,children:f}=t,d=n==="auto"?!Rs.isSsr:n,p=iq(t.animationId,t.animationManager),[g,y]=k.useState(d?qS:ng),w=k.useRef(null);return k.useEffect(()=>{d||y(ng)},[d]),k.useEffect(()=>{if(!d||!r)return Fa;var S=KW(qS,ng,JW(a),i,y,p.getTimeoutController()),b=()=>{w.current=S()};return p.start([c,l,b,i,u]),()=>{p.stop(),w.current&&w.current(),u()}},[d,r,i,a,l,c,u,p]),f(g.t)}function hd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=k.useRef(fs(t)),r=k.useRef(e);return r.current!==e&&(n.current=fs(t),r.current=e),n.current}var lq=["radius"],sq=["radius"],HS,VS,KS,GS,YS,XS,QS,ZS,JS,ej;function tj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nj(e){for(var t=1;t{var a=Ki(n),l=Ki(r),u=Math.min(Math.abs(a)/2,Math.abs(l)/2),c=l>=0?1:-1,f=a>=0?1:-1,d=l>=0&&a>=0||l<0&&a<0?1:0,p;if(u>0&&Array.isArray(i)){for(var g=[0,0,0,0],y=0,w=4;yu?u:b}p=pt(HS||(HS=Cr(["M",",",""])),e,t+c*g[0]),g[0]>0&&(p+=pt(VS||(VS=Cr(["A ",",",",0,0,",",",",",""])),g[0],g[0],d,e+f*g[0],t)),p+=pt(KS||(KS=Cr(["L ",",",""])),e+n-f*g[1],t),g[1]>0&&(p+=pt(GS||(GS=Cr(["A ",",",",0,0,",`, + `,",",""])),g[1],g[1],d,e+n,t+c*g[1])),p+=pt(YS||(YS=Cr(["L ",",",""])),e+n,t+r-c*g[2]),g[2]>0&&(p+=pt(XS||(XS=Cr(["A ",",",",0,0,",`, + `,",",""])),g[2],g[2],d,e+n-f*g[2],t+r)),p+=pt(QS||(QS=Cr(["L ",",",""])),e+f*g[3],t+r),g[3]>0&&(p+=pt(ZS||(ZS=Cr(["A ",",",",0,0,",`, + `,",",""])),g[3],g[3],d,e,t+r-c*g[3])),p+="Z"}else if(u>0&&i===+i&&i>0){var P=Math.min(u,i);p=pt(JS||(JS=Cr(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+c*P,P,P,d,e+f*P,t,e+n-f*P,t,P,P,d,e+n,t+c*P,e+n,t+r-c*P,P,P,d,e+n-f*P,t+r,e+f*P,t+r,P,P,d,e,t+r-c*P)}else h=ht(ej||(ej=Cr(["M ",","," h "," v "," h "," Z"])),e,t,n,r,-n);return h},aj={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},lA=e=>{var t=mn(e,aj),n=k.useRef(null),[r,i]=k.useState(-1);k.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var de=n.current.getTotalLength();de&&i(de)}catch{}},[]);var{x:a,y:l,width:u,height:c,radius:f,className:d}=t,{animationEasing:h,animationDuration:g,animationBegin:y,isAnimationActive:w,isUpdateAnimationActive:S}=t,b=k.useRef(u),P=k.useRef(c),E=k.useRef(a),O=k.useRef(l),A=k.useMemo(()=>({x:a,y:l,width:u,height:c,radius:f}),[a,l,u,c,f]),I=pd(A,"rectangle-");if(a!==+a||l!==+l||u!==+u||c!==+c||u===0||c===0)return null;var C=Ge("recharts-rectangle",d);if(!S){var L=dn(t),{radius:R}=L,U=rj(L,lq);return k.createElement("path",cf({},U,{x:Ki(a),y:Ki(l),width:Ki(u),height:Ki(c),radius:typeof f=="number"?f:void 0,className:C,d:ij(a,l,u,c,f)}))}var D=b.current,q=P.current,z=E.current,ee=O.current,X="0px ".concat(r===-1?1:r,"px"),Q="".concat(r,"px 0px"),he=rA(["strokeDasharray"],g,typeof h=="string"?h:aj.animationEasing);return k.createElement(dd,{animationId:I,key:I,canBegin:r>0,duration:g,easing:h,isActive:S,begin:y},de=>{var Z=ut(D,u,de),ae=ut(q,c,de),T=ut(z,a,de),F=ut(ee,l,de);n.current&&(b.current=Z,P.current=ae,E.current=T,O.current=F);var W;w?de>0?W={transition:he,strokeDasharray:Q}:W={strokeDasharray:X}:W={strokeDasharray:Q};var _=dn(t),{radius:te}=_,fe=rj(_,sq);return k.createElement("path",cf({},fe,{radius:typeof f=="number"?f:void 0,className:C,d:ij(T,F,Z,ae,f),ref:n,style:nj(nj({},W),t.style)}))})};function oj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function lj(e){for(var t=1;te*180/Math.PI,Xt=(e,t,n,r)=>({x:e+Math.cos(-ff*r)*n,y:t+Math.sin(-ff*r)*n}),vq=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},yq=(e,t)=>{var{x:n,y:r}=e,{x:i,y:a}=t;return Math.sqrt((n-i)**2+(r-a)**2)},xq=(e,t)=>{var{x:n,y:r}=e,{cx:i,cy:a}=t,l=yq({x:n,y:r},{x:i,y:a});if(l<=0)return{radius:l,angle:0};var u=(n-i)/l,c=Math.acos(u);return r>a&&(c=2*Math.PI-c),{radius:l,angle:gq(c),angleInRadian:c}},bq=e=>{var{startAngle:t,endAngle:n}=e,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},wq=(e,t)=>{var{startAngle:n,endAngle:r}=t,i=Math.floor(n/360),a=Math.floor(r/360),l=Math.min(i,a);return e+l*360},kq=(e,t)=>{var{chartX:n,chartY:r}=e,{radius:i,angle:a}=xq({x:n,y:r},t),{innerRadius:l,outerRadius:u}=t;if(iu||i===0)return null;var{startAngle:c,endAngle:f}=bq(t),d=a,h;if(c<=f){for(;d>f;)d-=360;for(;d=c&&d<=f}else{for(;d>c;)d-=360;for(;d=f&&d<=c}return h?lj(lj({},t),{},{radius:i,angle:wq(d,t)}):null};function sA(e){var{cx:t,cy:n,radius:r,startAngle:i,endAngle:a}=e,l=Xt(t,n,r,i),u=Xt(t,n,r,a);return{points:[l,u],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var sj,uj,cj,fj,dj,pj,hj;function Sv(){return Sv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=jn(t-e),r=Math.min(Math.abs(t-e),359.999);return n*r},xc=e=>{var{cx:t,cy:n,radius:r,angle:i,sign:a,isExternal:l,cornerRadius:u,cornerIsExternal:c}=e,f=u*(l?1:-1)+r,d=Math.asin(u/f)/ff,h=c?i:i+a*d,g=Xt(t,n,f,h),y=Xt(t,n,r,h),w=c?i-a*d:i,S=Xt(t,n,f*Math.cos(d*ff),w);return{center:g,circleTangency:y,lineTangency:S,theta:d}},uA=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:a,endAngle:l}=e,u=Sq(a,l),c=a+u,f=Xt(t,n,i,a),d=Xt(t,n,i,c),h=ht(sj||(sj=wa(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+c*P,P,P,d,e+f*P,t,e+n-f*P,t,P,P,d,e+n,t+c*P,e+n,t+r-c*P,P,P,d,e+n-f*P,t+r,e+f*P,t+r,P,P,d,e,t+r-c*P)}else p=pt(ej||(ej=Cr(["M ",","," h "," v "," h "," Z"])),e,t,n,r,-n);return p},aj={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},lA=e=>{var t=mn(e,aj),n=k.useRef(null),[r,i]=k.useState(-1);k.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var ce=n.current.getTotalLength();ce&&i(ce)}catch{}},[]);var{x:a,y:l,width:u,height:c,radius:f,className:d}=t,{animationEasing:p,animationDuration:g,animationBegin:y,isAnimationActive:w,isUpdateAnimationActive:S}=t,b=k.useRef(u),P=k.useRef(c),E=k.useRef(a),O=k.useRef(l),A=k.useMemo(()=>({x:a,y:l,width:u,height:c,radius:f}),[a,l,u,c,f]),I=hd(A,"rectangle-");if(a!==+a||l!==+l||u!==+u||c!==+c||u===0||c===0)return null;var C=Ge("recharts-rectangle",d);if(!S){var M=dn(t),{radius:B}=M,H=rj(M,lq);return k.createElement("path",cf({},H,{x:Ki(a),y:Ki(l),width:Ki(u),height:Ki(c),radius:typeof f=="number"?f:void 0,className:C,d:ij(a,l,u,c,f)}))}var L=b.current,W=P.current,R=E.current,V=O.current,G="0px ".concat(r===-1?1:r,"px"),Q="".concat(r,"px 0px"),de=rA(["strokeDasharray"],g,typeof p=="string"?p:aj.animationEasing);return k.createElement(dd,{animationId:I,key:I,canBegin:r>0,duration:g,easing:p,isActive:S,begin:y},ce=>{var J=ut(L,u,ce),ae=ut(W,c,ce),T=ut(R,a,ce),$=ut(V,l,ce);n.current&&(b.current=J,P.current=ae,E.current=T,O.current=$);var U;w?ce>0?U={transition:de,strokeDasharray:Q}:U={strokeDasharray:G}:U={strokeDasharray:Q};var _=dn(t),{radius:te}=_,he=rj(_,sq);return k.createElement("path",cf({},he,{radius:typeof f=="number"?f:void 0,className:C,d:ij(T,$,J,ae,f),ref:n,style:nj(nj({},U),t.style)}))})};function oj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function lj(e){for(var t=1;te*180/Math.PI,Xt=(e,t,n,r)=>({x:e+Math.cos(-ff*r)*n,y:t+Math.sin(-ff*r)*n}),vq=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},yq=(e,t)=>{var{x:n,y:r}=e,{x:i,y:a}=t;return Math.sqrt((n-i)**2+(r-a)**2)},xq=(e,t)=>{var{x:n,y:r}=e,{cx:i,cy:a}=t,l=yq({x:n,y:r},{x:i,y:a});if(l<=0)return{radius:l,angle:0};var u=(n-i)/l,c=Math.acos(u);return r>a&&(c=2*Math.PI-c),{radius:l,angle:gq(c),angleInRadian:c}},bq=e=>{var{startAngle:t,endAngle:n}=e,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},wq=(e,t)=>{var{startAngle:n,endAngle:r}=t,i=Math.floor(n/360),a=Math.floor(r/360),l=Math.min(i,a);return e+l*360},kq=(e,t)=>{var{chartX:n,chartY:r}=e,{radius:i,angle:a}=xq({x:n,y:r},t),{innerRadius:l,outerRadius:u}=t;if(iu||i===0)return null;var{startAngle:c,endAngle:f}=bq(t),d=a,p;if(c<=f){for(;d>f;)d-=360;for(;d=c&&d<=f}else{for(;d>c;)d-=360;for(;d=f&&d<=c}return p?lj(lj({},t),{},{radius:i,angle:wq(d,t)}):null};function sA(e){var{cx:t,cy:n,radius:r,startAngle:i,endAngle:a}=e,l=Xt(t,n,r,i),u=Xt(t,n,r,a);return{points:[l,u],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var sj,uj,cj,fj,dj,hj,pj;function Sv(){return Sv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=jn(t-e),r=Math.min(Math.abs(t-e),359.999);return n*r},xc=e=>{var{cx:t,cy:n,radius:r,angle:i,sign:a,isExternal:l,cornerRadius:u,cornerIsExternal:c}=e,f=u*(l?1:-1)+r,d=Math.asin(u/f)/ff,p=c?i:i+a*d,g=Xt(t,n,f,p),y=Xt(t,n,r,p),w=c?i-a*d:i,S=Xt(t,n,f*Math.cos(d*ff),w);return{center:g,circleTangency:y,lineTangency:S,theta:d}},uA=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:a,endAngle:l}=e,u=Sq(a,l),c=a+u,f=Xt(t,n,i,a),d=Xt(t,n,i,c),p=pt(sj||(sj=wa(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),f.x,f.y,i,i,+(Math.abs(u)>180),+(a>c),d.x,d.y);if(r>0){var g=Xt(t,n,r,a),y=Xt(t,n,r,c);h+=ht(uj||(uj=wa(["L ",",",` + `])),f.x,f.y,i,i,+(Math.abs(u)>180),+(a>c),d.x,d.y);if(r>0){var g=Xt(t,n,r,a),y=Xt(t,n,r,c);p+=pt(uj||(uj=wa(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),y.x,y.y,r,r,+(Math.abs(u)>180),+(a<=c),g.x,g.y)}else h+=ht(cj||(cj=wa(["L ",","," Z"])),t,n);return h},jq=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,cornerRadius:a,forceCornerRadius:l,cornerIsExternal:u,startAngle:c,endAngle:f}=e,d=jn(f-c),{circleTangency:h,lineTangency:g,theta:y}=xc({cx:t,cy:n,radius:i,angle:c,sign:d,cornerRadius:a,cornerIsExternal:u}),{circleTangency:w,lineTangency:S,theta:b}=xc({cx:t,cy:n,radius:i,angle:f,sign:-d,cornerRadius:a,cornerIsExternal:u}),P=u?Math.abs(c-f):Math.abs(c-f)-y-b;if(P<0)return l?ht(fj||(fj=wa(["M ",",",` + `,","," Z"])),y.x,y.y,r,r,+(Math.abs(u)>180),+(a<=c),g.x,g.y)}else p+=pt(cj||(cj=wa(["L ",","," Z"])),t,n);return p},jq=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,cornerRadius:a,forceCornerRadius:l,cornerIsExternal:u,startAngle:c,endAngle:f}=e,d=jn(f-c),{circleTangency:p,lineTangency:g,theta:y}=xc({cx:t,cy:n,radius:i,angle:c,sign:d,cornerRadius:a,cornerIsExternal:u}),{circleTangency:w,lineTangency:S,theta:b}=xc({cx:t,cy:n,radius:i,angle:f,sign:-d,cornerRadius:a,cornerIsExternal:u}),P=u?Math.abs(c-f):Math.abs(c-f)-y-b;if(P<0)return l?pt(fj||(fj=wa(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),g.x,g.y,a,a,a*2,a,a,-a*2):uA({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:f});var E=ht(dj||(dj=wa(["M ",",",` + `])),g.x,g.y,a,a,a*2,a,a,-a*2):uA({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:f});var E=pt(dj||(dj=wa(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),g.x,g.y,a,a,+(d<0),h.x,h.y,i,i,+(P>180),+(d<0),w.x,w.y,a,a,+(d<0),S.x,S.y);if(r>0){var{circleTangency:O,lineTangency:A,theta:I}=xc({cx:t,cy:n,radius:r,angle:c,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),{circleTangency:C,lineTangency:L,theta:R}=xc({cx:t,cy:n,radius:r,angle:f,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),U=u?Math.abs(c-f):Math.abs(c-f)-I-R;if(U<0&&a===0)return"".concat(E,"L").concat(t,",").concat(n,"Z");E+=ht(pj||(pj=wa(["L",",",` + `])),g.x,g.y,a,a,+(d<0),p.x,p.y,i,i,+(P>180),+(d<0),w.x,w.y,a,a,+(d<0),S.x,S.y);if(r>0){var{circleTangency:O,lineTangency:A,theta:I}=xc({cx:t,cy:n,radius:r,angle:c,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),{circleTangency:C,lineTangency:M,theta:B}=xc({cx:t,cy:n,radius:r,angle:f,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),H=u?Math.abs(c-f):Math.abs(c-f)-I-B;if(H<0&&a===0)return"".concat(E,"L").concat(t,",").concat(n,"Z");E+=pt(hj||(hj=wa(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),L.x,L.y,a,a,+(d<0),C.x,C.y,r,r,+(U>180),+(d>0),O.x,O.y,a,a,+(d<0),A.x,A.y)}else E+=ht(hj||(hj=wa(["L",",","Z"])),t,n);return E},Pq={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},cA=e=>{var t=mn(e,Pq),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:l,forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d,className:h}=t;if(a0&&Math.abs(f-d)<360?S=jq({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(w,y/2),forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d}):S=uA({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:f,endAngle:d}),k.createElement("path",Sv({},dn(t),{className:g,d:S}))};function Eq(e,t,n){if(e==="horizontal")return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e==="vertical")return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(GO(t)){if(e==="centric"){var{cx:r,cy:i,innerRadius:a,outerRadius:l,angle:u}=t,c=Xt(r,i,a,u),f=Xt(r,i,l,u);return[{x:c.x,y:c.y},{x:f.x,y:f.y}]}return sA(t)}}var rg={},ig={},ag={},mj;function Cq(){return mj||(mj=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=iN();function n(r){return t.isSymbol(r)?NaN:Number(r)}e.toNumber=n})(ag)),ag}var gj;function Oq(){return gj||(gj=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Cq();function n(r){return r?(r=t.toNumber(r),r===1/0||r===-1/0?(r<0?-1:1)*Number.MAX_VALUE:r===r?r:0):r===0?r:0}e.toFinite=n})(ig)),ig}var vj;function Nq(){return vj||(vj=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=aN(),n=Oq();function r(i,a,l){l&&typeof l!="number"&&t.isIterateeCall(i,a,l)&&(a=l=void 0),i=n.toFinite(i),a===void 0?(a=i,i=0):a=n.toFinite(a),l=l===void 0?it?1:e>=t?0:NaN}function Iq(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function By(e){let t,n,r;e.length!==2?(t=Gi,n=(u,c)=>Gi(e(u),c),r=(u,c)=>e(u)-c):(t=e===Gi||e===Iq?e:Tq,n=e,r=e);function i(u,c,f=0,d=u.length){if(f>>1;n(u[h],c)<0?f=h+1:d=h}while(f>>1;n(u[h],c)<=0?f=h+1:d=h}while(ff&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:l,right:a}}function Tq(){return 0}function dA(e){return e===null?NaN:+e}function*Dq(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const Mq=By(Gi),zs=Mq.right;By(dA).center;class xj extends Map{constructor(t,n=zq){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(bj(this,t))}has(t){return super.has(bj(this,t))}set(t,n){return super.set(Lq(this,t),n)}delete(t){return super.delete(Rq(this,t))}}function bj({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function Lq({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Rq({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function zq(e){return e!==null&&typeof e=="object"?e.valueOf():e}function $q(e=Gi){if(e===Gi)return pA;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function pA(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Fq=Math.sqrt(50),Bq=Math.sqrt(10),Uq=Math.sqrt(2);function df(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),l=a>=Fq?10:a>=Bq?5:a>=Uq?2:1;let u,c,f;return i<0?(f=Math.pow(10,-i)/l,u=Math.round(e*f),c=Math.round(t*f),u/ft&&--c,f=-f):(f=Math.pow(10,i)*l,u=Math.round(e/f),c=Math.round(t/f),u*ft&&--c),c0))return[];if(e===t)return[e];const r=t=i))return[];const u=a-i+1,c=new Array(u);if(r)if(l<0)for(let f=0;f=r)&&(n=r);return n}function kj(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function hA(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?pA:$q(i);r>n;){if(r-n>600){const c=r-n+1,f=t-n+1,d=Math.log(c),h=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*h*(c-h)/c)*(f-c/2<0?-1:1),y=Math.max(n,Math.floor(t-f*h/c+g)),w=Math.min(r,Math.floor(t+(c-f)*h/c+g));hA(e,t,y,w,i)}const a=e[t];let l=n,u=r;for(Vl(e,n,t),i(e[r],a)>0&&Vl(e,n,r);l0;)--u}i(e[n],a)===0?Vl(e,n,u):(++u,Vl(e,u,r)),u<=t&&(n=u+1),t<=u&&(r=u-1)}return e}function Vl(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Wq(e,t,n){if(e=Float64Array.from(Dq(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return kj(e);if(t>=1)return wj(e);var r,i=(r-1)*t,a=Math.floor(i),l=wj(hA(e,a).subarray(0,a+1)),u=kj(e.subarray(a+1));return l+(u-l)*(i-a)}}function qq(e,t,n=dA){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),l=+n(e[a],a,e),u=+n(e[a+1],a+1,e);return l+(u-l)*(i-a)}}function Hq(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=new Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?bc(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?bc(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=Gq.exec(e))?new En(t[1],t[2],t[3],1):(t=Yq.exec(e))?new En(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Xq.exec(e))?bc(t[1],t[2],t[3],t[4]):(t=Qq.exec(e))?bc(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Zq.exec(e))?Nj(t[1],t[2]/100,t[3]/100,1):(t=Jq.exec(e))?Nj(t[1],t[2]/100,t[3]/100,t[4]):Sj.hasOwnProperty(e)?Ej(Sj[e]):e==="transparent"?new En(NaN,NaN,NaN,0):null}function Ej(e){return new En(e>>16&255,e>>8&255,e&255,1)}function bc(e,t,n,r){return r<=0&&(e=t=n=NaN),new En(e,t,n,r)}function n9(e){return e instanceof $s||(e=ws(e)),e?(e=e.rgb(),new En(e.r,e.g,e.b,e.opacity)):new En}function Ov(e,t,n,r){return arguments.length===1?n9(e):new En(e,t,n,r??1)}function En(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}qy(En,Ov,gA($s,{brighter(e){return e=e==null?pf:Math.pow(pf,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xs:Math.pow(xs,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new En(Ea(this.r),Ea(this.g),Ea(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:Cj,formatHex:Cj,formatHex8:r9,formatRgb:Oj,toString:Oj}));function Cj(){return`#${ka(this.r)}${ka(this.g)}${ka(this.b)}`}function r9(){return`#${ka(this.r)}${ka(this.g)}${ka(this.b)}${ka((isNaN(this.opacity)?1:this.opacity)*255)}`}function Oj(){const e=hf(this.opacity);return`${e===1?"rgb(":"rgba("}${Ea(this.r)}, ${Ea(this.g)}, ${Ea(this.b)}${e===1?")":`, ${e})`}`}function hf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ea(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ka(e){return e=Ea(e),(e<16?"0":"")+e.toString(16)}function Nj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new dr(e,t,n,r)}function vA(e){if(e instanceof dr)return new dr(e.h,e.s,e.l,e.opacity);if(e instanceof $s||(e=ws(e)),!e)return new dr;if(e instanceof dr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),l=NaN,u=a-i,c=(a+i)/2;return u?(t===a?l=(n-r)/u+(n0&&c<1?0:l,new dr(l,u,c,e.opacity)}function i9(e,t,n,r){return arguments.length===1?vA(e):new dr(e,t,n,r??1)}function dr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}qy(dr,i9,gA($s,{brighter(e){return e=e==null?pf:Math.pow(pf,e),new dr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xs:Math.pow(xs,e),new dr(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,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new En(lg(e>=240?e-240:e+120,i,r),lg(e,i,r),lg(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new dr(Aj(this.h),wc(this.s),wc(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("}${Aj(this.h)}, ${wc(this.s)*100}%, ${wc(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Aj(e){return e=(e||0)%360,e<0?e+360:e}function wc(e){return Math.max(0,Math.min(1,e||0))}function lg(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Hy=e=>()=>e;function a9(e,t){return function(n){return e+n*t}}function o9(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function l9(e){return(e=+e)==1?yA:function(t,n){return n-t?o9(t,n,e):Hy(isNaN(t)?n:t)}}function yA(e,t){var n=t-e;return n?a9(e,n):Hy(isNaN(e)?t:e)}const _j=(function e(t){var n=l9(t);function r(i,a){var l=n((i=Ov(i)).r,(a=Ov(a)).r),u=n(i.g,a.g),c=n(i.b,a.b),f=yA(i.opacity,a.opacity);return function(d){return i.r=l(d),i.g=u(d),i.b=c(d),i.opacity=f(d),i+""}}return r.gamma=e,r})(1);function s9(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),u[l]?u[l]+=a:u[++l]=a),(r=r[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,c.push({i:l,x:mf(r,i)})),n=sg.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function x9(e,t,n){var r=e[0],i=e[1],a=t[0],l=t[1];return i2?b9:x9,c=f=null,h}function h(g){return g==null||isNaN(g=+g)?a:(c||(c=u(e.map(r),t,n)))(r(l(g)))}return h.invert=function(g){return l(i((f||(f=u(t,e.map(r),mf)))(g)))},h.domain=function(g){return arguments.length?(e=Array.from(g,gf),d()):e.slice()},h.range=function(g){return arguments.length?(t=Array.from(g),d()):t.slice()},h.rangeRound=function(g){return t=Array.from(g),n=Vy,d()},h.clamp=function(g){return arguments.length?(l=g?!0:fn,d()):l!==fn},h.interpolate=function(g){return arguments.length?(n=g,d()):n},h.unknown=function(g){return arguments.length?(a=g,h):a},function(g,y){return r=g,i=y,d()}}function Ky(){return hd()(fn,fn)}function w9(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 n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Ro(e){return e=vf(Math.abs(e)),e?e[1]:NaN}function k9(e,t){return function(n,r){for(var i=n.length,a=[],l=0,u=e[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),a.push(n.substring(i-=u,i+u)),!((c+=u+1)>r));)u=e[l=(l+1)%e.length];return a.reverse().join(t)}}function S9(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var j9=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ks(e){if(!(t=j9.exec(e)))throw new Error("invalid format: "+e);var t;return new Gy({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]})}ks.prototype=Gy.prototype;function Gy(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+""}Gy.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 P9(e){e:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var yf;function E9(e,t){var n=vf(e,t);if(!n)return yf=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(yf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,l=r.length;return a===l?r:a>l?r+new Array(a-l+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+vf(e,Math.max(0,t+a-1))[0]}function Tj(e,t){var n=vf(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Dj={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:w9,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)=>Tj(e*100,t),r:Tj,s:E9,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Mj(e){return e}var Lj=Array.prototype.map,Rj=["y","z","a","f","p","n","ยต","m","","k","M","G","T","P","E","Z","Y"];function C9(e){var t=e.grouping===void 0||e.thousands===void 0?Mj:k9(Lj.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?Mj:S9(Lj.call(e.numerals,String)),l=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"โˆ’":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function f(h,g){h=ks(h);var y=h.fill,w=h.align,S=h.sign,b=h.symbol,P=h.zero,E=h.width,O=h.comma,A=h.precision,I=h.trim,C=h.type;C==="n"?(O=!0,C="g"):Dj[C]||(A===void 0&&(A=12),I=!0,C="g"),(P||y==="0"&&w==="=")&&(P=!0,y="0",w="=");var L=(g&&g.prefix!==void 0?g.prefix:"")+(b==="$"?n:b==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),R=(b==="$"?r:/[%p]/.test(C)?l:"")+(g&&g.suffix!==void 0?g.suffix:""),U=Dj[C],D=/[defgprs%]/.test(C);A=A===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function q(z){var ee=L,X=R,Q,he,de;if(C==="c")X=U(z)+X,z="";else{z=+z;var Z=z<0||1/z<0;if(z=isNaN(z)?c:U(Math.abs(z),A),I&&(z=P9(z)),Z&&+z==0&&S!=="+"&&(Z=!1),ee=(Z?S==="("?S:u:S==="-"||S==="("?"":S)+ee,X=(C==="s"&&!isNaN(z)&&yf!==void 0?Rj[8+yf/3]:"")+X+(Z&&S==="("?")":""),D){for(Q=-1,he=z.length;++Qde||de>57){X=(de===46?i+z.slice(Q+1):z.slice(Q))+X,z=z.slice(0,Q);break}}}O&&!P&&(z=t(z,1/0));var ae=ee.length+z.length+X.length,T=ae>1)+ee+z+X+T.slice(ae);break;default:z=T+ee+z+X;break}return a(z)}return q.toString=function(){return h+""},q}function d(h,g){var y=Math.max(-8,Math.min(8,Math.floor(Ro(g)/3)))*3,w=Math.pow(10,-y),S=f((h=ks(h),h.type="f",h),{suffix:Rj[8+y/3]});return function(b){return S(w*b)}}return{format:f,formatPrefix:d}}var kc,Yy,xA;O9({thousands:",",grouping:[3],currency:["$",""]});function O9(e){return kc=C9(e),Yy=kc.format,xA=kc.formatPrefix,kc}function N9(e){return Math.max(0,-Ro(Math.abs(e)))}function A9(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ro(t)/3)))*3-Ro(Math.abs(e)))}function _9(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ro(t)-Ro(e))+1}function bA(e,t,n,r){var i=Ev(e,t,n),a;switch(r=ks(r??",f"),r.type){case"s":{var l=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=A9(i,l))&&(r.precision=a),xA(r,l)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=_9(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=N9(i))&&(r.precision=a-(r.type==="%")*2);break}}return Yy(r)}function ea(e){var t=e.domain;return e.ticks=function(n){var r=t();return jv(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return bA(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,a=r.length-1,l=r[i],u=r[a],c,f,d=10;for(u0;){if(f=Pv(l,u,n),f===c)return r[i]=l,r[a]=u,t(r);if(f>0)l=Math.floor(l/f)*f,u=Math.ceil(u/f)*f;else if(f<0)l=Math.ceil(l*f)/f,u=Math.floor(u*f)/f;else break;c=f}return e},e}function wA(){var e=Ky();return e.copy=function(){return Fs(e,wA())},tr.apply(e,arguments),ea(e)}function kA(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,gf),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return kA(e).unknown(t)},e=arguments.length?Array.from(e,gf):[0,1],ea(n)}function SA(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],l;return aMath.pow(e,t)}function L9(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 Fj(e){return(t,n)=>-e(-t,n)}function Xy(e){const t=e(zj,$j),n=t.domain;let r=10,i,a;function l(){return i=L9(r),a=M9(r),n()[0]<0?(i=Fj(i),a=Fj(a),e(I9,T9)):e(zj,$j),t}return t.base=function(u){return arguments.length?(r=+u,l()):r},t.domain=function(u){return arguments.length?(n(u),l()):n()},t.ticks=u=>{const c=n();let f=c[0],d=c[c.length-1];const h=d0){for(;g<=y;++g)for(w=1;wd)break;P.push(S)}}else for(;g<=y;++g)for(w=r-1;w>=1;--w)if(S=g>0?w/a(-g):w*a(g),!(Sd)break;P.push(S)}P.length*2{if(u==null&&(u=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=ks(c)).precision==null&&(c.trim=!0),c=Yy(c)),u===1/0)return c;const f=Math.max(1,r*u/t.ticks().length);return d=>{let h=d/a(Math.round(i(d)));return h*rn(SA(n(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function jA(){const e=Xy(hd()).domain([1,10]);return e.copy=()=>Fs(e,jA()).base(e.base()),tr.apply(e,arguments),e}function Bj(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Uj(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Qy(e){var t=1,n=e(Bj(t),Uj(t));return n.constant=function(r){return arguments.length?e(Bj(t=+r),Uj(t)):t},ea(n)}function PA(){var e=Qy(hd());return e.copy=function(){return Fs(e,PA()).constant(e.constant())},tr.apply(e,arguments)}function Wj(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function R9(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function z9(e){return e<0?-e*e:e*e}function Zy(e){var t=e(fn,fn),n=1;function r(){return n===1?e(fn,fn):n===.5?e(R9,z9):e(Wj(n),Wj(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},ea(t)}function Jy(){var e=Zy(hd());return e.copy=function(){return Fs(e,Jy()).exponent(e.exponent())},tr.apply(e,arguments),e}function $9(){return Jy.apply(null,arguments).exponent(.5)}function qj(e){return Math.sign(e)*e*e}function F9(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function EA(){var e=Ky(),t=[0,1],n=!1,r;function i(a){var l=F9(e(a));return isNaN(l)?r:n?Math.round(l):l}return i.invert=function(a){return e.invert(qj(a))},i.domain=function(a){return arguments.length?(e.domain(a),i):e.domain()},i.range=function(a){return arguments.length?(e.range((t=Array.from(a,gf)).map(qj)),i):t.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(n=!!a,i):n},i.clamp=function(a){return arguments.length?(e.clamp(a),i):e.clamp()},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return EA(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},tr.apply(i,arguments),ea(i)}function CA(){var e=[],t=[],n=[],r;function i(){var l=0,u=Math.max(1,t.length);for(n=new Array(u-1);++l0?n[u-1]:e[0],u=n?[r[n-1],t]:[r[f-1],r[f]]},l.unknown=function(c){return arguments.length&&(a=c),l},l.thresholds=function(){return r.slice()},l.copy=function(){return OA().domain([e,t]).range(i).unknown(a)},tr.apply(ea(l),arguments)}function NA(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[zs(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var l=t.indexOf(a);return[e[l-1],e[l]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return NA().domain(e).range(t).unknown(n)},tr.apply(i,arguments)}const ug=new Date,cg=new Date;function Nt(e,t,n,r){function i(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const l=i(a),u=i.ceil(a);return a-l(t(a=new Date(+a),l==null?1:Math.floor(l)),a),i.range=(a,l,u)=>{const c=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return c;let f;do c.push(f=new Date(+a)),t(a,u),e(a);while(fNt(l=>{if(l>=l)for(;e(l),!a(l);)l.setTime(l-1)},(l,u)=>{if(l>=l)if(u<0)for(;++u<=0;)for(;t(l,-1),!a(l););else for(;--u>=0;)for(;t(l,1),!a(l););}),n&&(i.count=(a,l)=>(ug.setTime(+a),cg.setTime(+l),e(ug),e(cg),Math.floor(n(ug,cg))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?l=>r(l)%a===0:l=>i.count(0,l)%a===0):i)),i}const xf=Nt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);xf.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Nt(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):xf);xf.range;const Jr=1e3,Qn=Jr*60,ei=Qn*60,ii=ei*24,ex=ii*7,Hj=ii*30,fg=ii*365,Sa=Nt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Jr)},(e,t)=>(t-e)/Jr,e=>e.getUTCSeconds());Sa.range;const tx=Nt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Jr)},(e,t)=>{e.setTime(+e+t*Qn)},(e,t)=>(t-e)/Qn,e=>e.getMinutes());tx.range;const nx=Nt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Qn)},(e,t)=>(t-e)/Qn,e=>e.getUTCMinutes());nx.range;const rx=Nt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Jr-e.getMinutes()*Qn)},(e,t)=>{e.setTime(+e+t*ei)},(e,t)=>(t-e)/ei,e=>e.getHours());rx.range;const ix=Nt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ei)},(e,t)=>(t-e)/ei,e=>e.getUTCHours());ix.range;const Bs=Nt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Qn)/ii,e=>e.getDate()-1);Bs.range;const md=Nt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>e.getUTCDate()-1);md.range;const AA=Nt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>Math.floor(e/ii));AA.range;function Ua(e){return Nt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Qn)/ex)}const gd=Ua(0),bf=Ua(1),B9=Ua(2),U9=Ua(3),zo=Ua(4),W9=Ua(5),q9=Ua(6);gd.range;bf.range;B9.range;U9.range;zo.range;W9.range;q9.range;function Wa(e){return Nt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/ex)}const vd=Wa(0),wf=Wa(1),H9=Wa(2),V9=Wa(3),$o=Wa(4),K9=Wa(5),G9=Wa(6);vd.range;wf.range;H9.range;V9.range;$o.range;K9.range;G9.range;const ax=Nt(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());ax.range;const ox=Nt(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());ox.range;const ai=Nt(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());ai.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Nt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});ai.range;const oi=Nt(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());oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Nt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});oi.range;function _A(e,t,n,r,i,a){const l=[[Sa,1,Jr],[Sa,5,5*Jr],[Sa,15,15*Jr],[Sa,30,30*Jr],[a,1,Qn],[a,5,5*Qn],[a,15,15*Qn],[a,30,30*Qn],[i,1,ei],[i,3,3*ei],[i,6,6*ei],[i,12,12*ei],[r,1,ii],[r,2,2*ii],[n,1,ex],[t,1,Hj],[t,3,3*Hj],[e,1,fg]];function u(f,d,h){const g=db).right(l,g);if(y===l.length)return e.every(Ev(f/fg,d/fg,h));if(y===0)return xf.every(Math.max(Ev(f,d,h),1));const[w,S]=l[g/l[y-1][2]53)return null;"w"in ie||(ie.w=1),"Z"in ie?(ze=pg(Kl(ie.y,0,1)),ct=ze.getUTCDay(),ze=ct>4||ct===0?wf.ceil(ze):wf(ze),ze=md.offset(ze,(ie.V-1)*7),ie.y=ze.getUTCFullYear(),ie.m=ze.getUTCMonth(),ie.d=ze.getUTCDate()+(ie.w+6)%7):(ze=dg(Kl(ie.y,0,1)),ct=ze.getDay(),ze=ct>4||ct===0?bf.ceil(ze):bf(ze),ze=Bs.offset(ze,(ie.V-1)*7),ie.y=ze.getFullYear(),ie.m=ze.getMonth(),ie.d=ze.getDate()+(ie.w+6)%7)}else("W"in ie||"U"in ie)&&("w"in ie||(ie.w="u"in ie?ie.u%7:"W"in ie?1:0),ct="Z"in ie?pg(Kl(ie.y,0,1)).getUTCDay():dg(Kl(ie.y,0,1)).getDay(),ie.m=0,ie.d="W"in ie?(ie.w+6)%7+ie.W*7-(ct+5)%7:ie.w+ie.U*7-(ct+6)%7);return"Z"in ie?(ie.H+=ie.Z/100|0,ie.M+=ie.Z%100,pg(ie)):dg(ie)}}function R(Y,we,Ae,ie){for(var rt=0,ze=we.length,ct=Ae.length,ft,Wt;rt=ct)return-1;if(ft=we.charCodeAt(rt++),ft===37){if(ft=we.charAt(rt++),Wt=I[ft in Vj?we.charAt(rt++):ft],!Wt||(ie=Wt(Y,Ae,ie))<0)return-1}else if(ft!=Ae.charCodeAt(ie++))return-1}return ie}function U(Y,we,Ae){var ie=f.exec(we.slice(Ae));return ie?(Y.p=d.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function D(Y,we,Ae){var ie=y.exec(we.slice(Ae));return ie?(Y.w=w.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function q(Y,we,Ae){var ie=h.exec(we.slice(Ae));return ie?(Y.w=g.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function z(Y,we,Ae){var ie=P.exec(we.slice(Ae));return ie?(Y.m=E.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function ee(Y,we,Ae){var ie=S.exec(we.slice(Ae));return ie?(Y.m=b.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function X(Y,we,Ae){return R(Y,t,we,Ae)}function Q(Y,we,Ae){return R(Y,n,we,Ae)}function he(Y,we,Ae){return R(Y,r,we,Ae)}function de(Y){return l[Y.getDay()]}function Z(Y){return a[Y.getDay()]}function ae(Y){return c[Y.getMonth()]}function T(Y){return u[Y.getMonth()]}function F(Y){return i[+(Y.getHours()>=12)]}function W(Y){return 1+~~(Y.getMonth()/3)}function _(Y){return l[Y.getUTCDay()]}function te(Y){return a[Y.getUTCDay()]}function fe(Y){return c[Y.getUTCMonth()]}function ce(Y){return u[Y.getUTCMonth()]}function Se(Y){return i[+(Y.getUTCHours()>=12)]}function je(Y){return 1+~~(Y.getUTCMonth()/3)}return{format:function(Y){var we=C(Y+="",O);return we.toString=function(){return Y},we},parse:function(Y){var we=L(Y+="",!1);return we.toString=function(){return Y},we},utcFormat:function(Y){var we=C(Y+="",A);return we.toString=function(){return Y},we},utcParse:function(Y){var we=L(Y+="",!0);return we.toString=function(){return Y},we}}}var Vj={"-":"",_:" ",0:"0"},Ft=/^\s*\d+/,eH=/^%/,tH=/[\\^$*+?|[\]().{}]/g;function We(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",a=i.length;return r+(a[t.toLowerCase(),n]))}function rH(e,t,n){var r=Ft.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function iH(e,t,n){var r=Ft.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function aH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function oH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function lH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Kj(e,t,n){var r=Ft.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Gj(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function sH(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function uH(e,t,n){var r=Ft.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function cH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Yj(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function fH(e,t,n){var r=Ft.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Xj(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function dH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function pH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function hH(e,t,n){var r=Ft.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function mH(e,t,n){var r=Ft.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function gH(e,t,n){var r=eH.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function vH(e,t,n){var r=Ft.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function yH(e,t,n){var r=Ft.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Qj(e,t){return We(e.getDate(),t,2)}function xH(e,t){return We(e.getHours(),t,2)}function bH(e,t){return We(e.getHours()%12||12,t,2)}function wH(e,t){return We(1+Bs.count(ai(e),e),t,3)}function IA(e,t){return We(e.getMilliseconds(),t,3)}function kH(e,t){return IA(e,t)+"000"}function SH(e,t){return We(e.getMonth()+1,t,2)}function jH(e,t){return We(e.getMinutes(),t,2)}function PH(e,t){return We(e.getSeconds(),t,2)}function EH(e){var t=e.getDay();return t===0?7:t}function CH(e,t){return We(gd.count(ai(e)-1,e),t,2)}function TA(e){var t=e.getDay();return t>=4||t===0?zo(e):zo.ceil(e)}function OH(e,t){return e=TA(e),We(zo.count(ai(e),e)+(ai(e).getDay()===4),t,2)}function NH(e){return e.getDay()}function AH(e,t){return We(bf.count(ai(e)-1,e),t,2)}function _H(e,t){return We(e.getFullYear()%100,t,2)}function IH(e,t){return e=TA(e),We(e.getFullYear()%100,t,2)}function TH(e,t){return We(e.getFullYear()%1e4,t,4)}function DH(e,t){var n=e.getDay();return e=n>=4||n===0?zo(e):zo.ceil(e),We(e.getFullYear()%1e4,t,4)}function MH(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+We(t/60|0,"0",2)+We(t%60,"0",2)}function Zj(e,t){return We(e.getUTCDate(),t,2)}function LH(e,t){return We(e.getUTCHours(),t,2)}function RH(e,t){return We(e.getUTCHours()%12||12,t,2)}function zH(e,t){return We(1+md.count(oi(e),e),t,3)}function DA(e,t){return We(e.getUTCMilliseconds(),t,3)}function $H(e,t){return DA(e,t)+"000"}function FH(e,t){return We(e.getUTCMonth()+1,t,2)}function BH(e,t){return We(e.getUTCMinutes(),t,2)}function UH(e,t){return We(e.getUTCSeconds(),t,2)}function WH(e){var t=e.getUTCDay();return t===0?7:t}function qH(e,t){return We(vd.count(oi(e)-1,e),t,2)}function MA(e){var t=e.getUTCDay();return t>=4||t===0?$o(e):$o.ceil(e)}function HH(e,t){return e=MA(e),We($o.count(oi(e),e)+(oi(e).getUTCDay()===4),t,2)}function VH(e){return e.getUTCDay()}function KH(e,t){return We(wf.count(oi(e)-1,e),t,2)}function GH(e,t){return We(e.getUTCFullYear()%100,t,2)}function YH(e,t){return e=MA(e),We(e.getUTCFullYear()%100,t,2)}function XH(e,t){return We(e.getUTCFullYear()%1e4,t,4)}function QH(e,t){var n=e.getUTCDay();return e=n>=4||n===0?$o(e):$o.ceil(e),We(e.getUTCFullYear()%1e4,t,4)}function ZH(){return"+0000"}function Jj(){return"%"}function eP(e){return+e}function tP(e){return Math.floor(+e/1e3)}var yo,LA,RA;JH({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 JH(e){return yo=J9(e),LA=yo.format,yo.parse,RA=yo.utcFormat,yo.utcParse,yo}function eV(e){return new Date(e)}function tV(e){return e instanceof Date?+e:+new Date(+e)}function lx(e,t,n,r,i,a,l,u,c,f){var d=Ky(),h=d.invert,g=d.domain,y=f(".%L"),w=f(":%S"),S=f("%I:%M"),b=f("%I %p"),P=f("%a %d"),E=f("%b %d"),O=f("%B"),A=f("%Y");function I(C){return(c(C)t(i/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,a)=>Wq(e,a/r))},n.copy=function(){return BA(t).domain(e)},pi.apply(n,arguments)}function xd(){var e=0,t=.5,n=1,r=1,i,a,l,u,c,f=fn,d,h=!1,g;function y(S){return isNaN(S=+S)?g:(S=.5+((S=+d(S))-a)*(r*Se.chartData,HA=G([hi],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),VA=(e,t,n,r)=>r?HA(e):hi(e),KA=(e,t,n)=>n?HA(e):hi(e);function li(e){if(Array.isArray(e)&&e.length===2){var[t,n]=e;if(De(t)&&De(n))return!0}return!1}function nP(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function GA(e,t){if(t&&typeof e!="function"&&Array.isArray(e)&&e.length===2){var[n,r]=e,i,a;if(De(n))i=n;else if(typeof n=="function")return;if(De(r))a=r;else if(typeof r=="function")return;var l=[i,a];if(li(l))return l}}function oV(e,t,n){if(!(!n&&t==null)){if(typeof e=="function"&&t!=null)try{var r=e(t,n);if(li(r))return nP(r,t,n)}catch{}if(Array.isArray(e)&&e.length===2){var[i,a]=e,l,u;if(i==="auto")t!=null&&(l=Math.min(...t));else if(ge(i))l=i;else if(typeof i=="function")try{t!=null&&(l=i(t==null?void 0:t[0]))}catch{}else if(typeof i=="string"&&hS.test(i)){var c=hS.exec(i);if(c==null||c[1]==null||t==null)l=void 0;else{var f=+c[1];l=t[0]-f}}else l=t==null?void 0:t[0];if(a==="auto")t!=null&&(u=Math.max(...t));else if(ge(a))u=a;else if(typeof a=="function")try{t!=null&&(u=a(t==null?void 0:t[1]))}catch{}else if(typeof a=="string"&&mS.test(a)){var d=mS.exec(a);if(d==null||d[1]==null||t==null)u=void 0;else{var h=+d[1];u=t[1]+h}}else u=t==null?void 0:t[1];var g=[l,u];if(li(g))return t==null?g:nP(g,t,n)}}}var qo=1e9,lV={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},fx,ot=!0,er="[DecimalError] ",Ca=er+"Invalid argument: ",cx=er+"Exponent out of range: ",Ho=Math.floor,ba=Math.pow,sV=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Mn,Lt=1e7,nt=7,YA=9007199254740991,kf=Ho(YA/nt),ye={};ye.absoluteValue=ye.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};ye.comparedTo=ye.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1};ye.decimalPlaces=ye.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*nt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};ye.dividedBy=ye.div=function(e){return ti(this,new this.constructor(e))};ye.dividedToIntegerBy=ye.idiv=function(e){var t=this,n=t.constructor;return Ye(ti(t,new n(e),0,1),n.precision)};ye.equals=ye.eq=function(e){return!this.cmp(e)};ye.exponent=function(){return jt(this)};ye.greaterThan=ye.gt=function(e){return this.cmp(e)>0};ye.greaterThanOrEqualTo=ye.gte=function(e){return this.cmp(e)>=0};ye.isInteger=ye.isint=function(){return this.e>this.d.length-2};ye.isNegative=ye.isneg=function(){return this.s<0};ye.isPositive=ye.ispos=function(){return this.s>0};ye.isZero=function(){return this.s===0};ye.lessThan=ye.lt=function(e){return this.cmp(e)<0};ye.lessThanOrEqualTo=ye.lte=function(e){return this.cmp(e)<1};ye.logarithm=ye.log=function(e){var t,n=this,r=n.constructor,i=r.precision,a=i+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Mn))throw Error(er+"NaN");if(n.s<1)throw Error(er+(n.s?"NaN":"-Infinity"));return n.eq(Mn)?new r(0):(ot=!1,t=ti(Ss(n,a),Ss(e,a),a),ot=!0,Ye(t,i))};ye.minus=ye.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?ZA(t,e):XA(t,(e.s=-e.s,e))};ye.modulo=ye.mod=function(e){var t,n=this,r=n.constructor,i=r.precision;if(e=new r(e),!e.s)throw Error(er+"NaN");return n.s?(ot=!1,t=ti(n,e,0,1).times(e),ot=!0,n.minus(t)):Ye(new r(n),i)};ye.naturalExponential=ye.exp=function(){return QA(this)};ye.naturalLogarithm=ye.ln=function(){return Ss(this)};ye.negated=ye.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};ye.plus=ye.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?XA(t,e):ZA(t,(e.s=-e.s,e))};ye.precision=ye.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ca+e);if(t=jt(i)+1,r=i.d.length-1,n=r*nt+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};ye.squareRoot=ye.sqrt=function(){var e,t,n,r,i,a,l,u=this,c=u.constructor;if(u.s<1){if(!u.s)return new c(0);throw Error(er+"NaN")}for(e=jt(u),ot=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=Ir(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Ho((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),r=new c(t)):r=new c(i.toString()),n=c.precision,i=l=n+3;;)if(a=r,r=a.plus(ti(u,a,l+2)).times(.5),Ir(a.d).slice(0,l)===(t=Ir(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),i==l&&t=="4999"){if(Ye(a,n+1,0),a.times(a).eq(u)){r=a;break}}else if(t!="9999")break;l+=4}return ot=!0,Ye(r,n)};ye.times=ye.mul=function(e){var t,n,r,i,a,l,u,c,f,d=this,h=d.constructor,g=d.d,y=(e=new h(e)).d;if(!d.s||!e.s)return new h(0);for(e.s*=d.s,n=d.e+e.e,c=g.length,f=y.length,c=0;){for(t=0,i=c+r;i>r;)u=a[i]+y[r]*g[i-r-1]+t,a[i--]=u%Lt|0,t=u/Lt|0;a[i]=(a[i]+t)%Lt|0}for(;!a[--l];)a.pop();return t?++n:a.shift(),e.d=a,e.e=n,ot?Ye(e,h.precision):e};ye.toDecimalPlaces=ye.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Lr(e,0,qo),t===void 0?t=r.rounding:Lr(t,0,8),Ye(n,e+jt(n)+1,t))};ye.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Ma(r,!0):(Lr(e,0,qo),t===void 0?t=i.rounding:Lr(t,0,8),r=Ye(new i(r),e+1,t),n=Ma(r,!0,e+1)),n};ye.toFixed=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?Ma(i):(Lr(e,0,qo),t===void 0?t=a.rounding:Lr(t,0,8),r=Ye(new a(i),e+jt(i)+1,t),n=Ma(r.abs(),!1,e+jt(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};ye.toInteger=ye.toint=function(){var e=this,t=e.constructor;return Ye(new t(e),jt(e)+1,t.rounding)};ye.toNumber=function(){return+this};ye.toPower=ye.pow=function(e){var t,n,r,i,a,l,u=this,c=u.constructor,f=12,d=+(e=new c(e));if(!e.s)return new c(Mn);if(u=new c(u),!u.s){if(e.s<1)throw Error(er+"Infinity");return u}if(u.eq(Mn))return u;if(r=c.precision,e.eq(Mn))return Ye(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,a=u.s,l){if((n=d<0?-d:d)<=YA){for(i=new c(Mn),t=Math.ceil(r/nt+4),ot=!1;n%2&&(i=i.times(u),iP(i.d,t)),n=Ho(n/2),n!==0;)u=u.times(u),iP(u.d,t);return ot=!0,e.s<0?new c(Mn).div(i):Ye(i,r)}}else if(a<0)throw Error(er+"NaN");return a=a<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,ot=!1,i=e.times(Ss(u,r+f)),ot=!0,i=QA(i),i.s=a,i};ye.toPrecision=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?(n=jt(i),r=Ma(i,n<=a.toExpNeg||n>=a.toExpPos)):(Lr(e,1,qo),t===void 0?t=a.rounding:Lr(t,0,8),i=Ye(new a(i),e,t),n=jt(i),r=Ma(i,e<=n||n<=a.toExpNeg,e)),r};ye.toSignificantDigits=ye.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Lr(e,1,qo),t===void 0?t=r.rounding:Lr(t,0,8)),Ye(new r(n),e,t)};ye.toString=ye.valueOf=ye.val=ye.toJSON=ye[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=jt(e),n=e.constructor;return Ma(e,t<=n.toExpNeg||t>=n.toExpPos)};function XA(e,t){var n,r,i,a,l,u,c,f,d=e.constructor,h=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),ot?Ye(t,h):t;if(c=e.d,f=t.d,l=e.e,i=t.e,c=c.slice(),a=l-i,a){for(a<0?(r=c,a=-a,u=f.length):(r=f,i=l,u=c.length),l=Math.ceil(h/nt),u=l>u?l+1:u+1,a>u&&(a=u,r.length=1),r.reverse();a--;)r.push(0);r.reverse()}for(u=c.length,a=f.length,u-a<0&&(a=u,r=f,f=c,c=r),n=0;a;)n=(c[--a]=c[a]+f[a]+n)/Lt|0,c[a]%=Lt;for(n&&(c.unshift(n),++i),u=c.length;c[--u]==0;)c.pop();return t.d=c,t.e=i,ot?Ye(t,h):t}function Lr(e,t,n){if(e!==~~e||en)throw Error(Ca+e)}function Ir(e){var t,n,r,i=e.length-1,a="",l=e[0];if(i>0){for(a+=l,t=1;tl?1:-1;else for(u=c=0;ui[u]?1:-1;break}return c}function n(r,i,a){for(var l=0;a--;)r[a]-=l,l=r[a]1;)r.shift()}return function(r,i,a,l){var u,c,f,d,h,g,y,w,S,b,P,E,O,A,I,C,L,R,U=r.constructor,D=r.s==i.s?1:-1,q=r.d,z=i.d;if(!r.s)return new U(r);if(!i.s)throw Error(er+"Division by zero");for(c=r.e-i.e,L=z.length,I=q.length,y=new U(D),w=y.d=[],f=0;z[f]==(q[f]||0);)++f;if(z[f]>(q[f]||0)&&--c,a==null?E=a=U.precision:l?E=a+(jt(r)-jt(i))+1:E=a,E<0)return new U(0);if(E=E/nt+2|0,f=0,L==1)for(d=0,z=z[0],E++;(f1&&(z=e(z,d),q=e(q,d),L=z.length,I=q.length),A=L,S=q.slice(0,L),b=S.length;b=Lt/2&&++C;do d=0,u=t(z,S,L,b),u<0?(P=S[0],L!=b&&(P=P*Lt+(S[1]||0)),d=P/C|0,d>1?(d>=Lt&&(d=Lt-1),h=e(z,d),g=h.length,b=S.length,u=t(h,S,g,b),u==1&&(d--,n(h,L16)throw Error(cx+jt(e));if(!e.s)return new d(Mn);for(ot=!1,u=h,l=new d(.03125);e.abs().gte(.1);)e=e.times(l),f+=5;for(r=Math.log(ba(2,f))/Math.LN10*2+5|0,u+=r,n=i=a=new d(Mn),d.precision=u;;){if(i=Ye(i.times(e),u),n=n.times(++c),l=a.plus(ti(i,n,u)),Ir(l.d).slice(0,u)===Ir(a.d).slice(0,u)){for(;f--;)a=Ye(a.times(a),u);return d.precision=h,t==null?(ot=!0,Ye(a,h)):a}a=l}}function jt(e){for(var t=e.e*nt,n=e.d[0];n>=10;n/=10)t++;return t}function hg(e,t,n){if(t>e.LN10.sd())throw ot=!0,n&&(e.precision=n),Error(er+"LN10 precision limit exceeded");return Ye(new e(e.LN10),t)}function Wi(e){for(var t="";e--;)t+="0";return t}function Ss(e,t){var n,r,i,a,l,u,c,f,d,h=1,g=10,y=e,w=y.d,S=y.constructor,b=S.precision;if(y.s<1)throw Error(er+(y.s?"NaN":"-Infinity"));if(y.eq(Mn))return new S(0);if(t==null?(ot=!1,f=b):f=t,y.eq(10))return t==null&&(ot=!0),hg(S,f);if(f+=g,S.precision=f,n=Ir(w),r=n.charAt(0),a=jt(y),Math.abs(a)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(e),n=Ir(y.d),r=n.charAt(0),h++;a=jt(y),r>1?(y=new S("0."+n),a++):y=new S(r+"."+n.slice(1))}else return c=hg(S,f+2,b).times(a+""),y=Ss(new S(r+"."+n.slice(1)),f-g).plus(c),S.precision=b,t==null?(ot=!0,Ye(y,b)):y;for(u=l=y=ti(y.minus(Mn),y.plus(Mn),f),d=Ye(y.times(y),f),i=3;;){if(l=Ye(l.times(d),f),c=u.plus(ti(l,new S(i),f)),Ir(c.d).slice(0,f)===Ir(u.d).slice(0,f))return u=u.times(2),a!==0&&(u=u.plus(hg(S,f+2,b).times(a+""))),u=ti(u,new S(h),f),S.precision=b,t==null?(ot=!0,Ye(u,b)):u;u=c,i+=2}}function rP(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(r,i),t){if(i-=r,n=n-r-1,e.e=Ho(n/nt),e.d=[],r=(n+1)%nt,n<0&&(r+=nt),rkf||e.e<-kf))throw Error(cx+n)}else e.s=0,e.e=0,e.d=[0];return e}function Ye(e,t,n){var r,i,a,l,u,c,f,d,h=e.d;for(l=1,a=h[0];a>=10;a/=10)l++;if(r=t-l,r<0)r+=nt,i=t,f=h[d=0];else{if(d=Math.ceil((r+1)/nt),a=h.length,d>=a)return e;for(f=a=h[d],l=1;a>=10;a/=10)l++;r%=nt,i=r-nt+l}if(n!==void 0&&(a=ba(10,l-i-1),u=f/a%10|0,c=t<0||h[d+1]!==void 0||f%a,c=n<4?(u||c)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||c||n==6&&(r>0?i>0?f/ba(10,l-i):0:h[d-1])%10&1||n==(e.s<0?8:7))),t<1||!h[0])return c?(a=jt(e),h.length=1,t=t-a-1,h[0]=ba(10,(nt-t%nt)%nt),e.e=Ho(-t/nt)||0):(h.length=1,h[0]=e.e=e.s=0),e;if(r==0?(h.length=d,a=1,d--):(h.length=d+1,a=ba(10,nt-r),h[d]=i>0?(f/ba(10,l-i)%ba(10,i)|0)*a:0),c)for(;;)if(d==0){(h[0]+=a)==Lt&&(h[0]=1,++e.e);break}else{if(h[d]+=a,h[d]!=Lt)break;h[d--]=0,a=1}for(r=h.length;h[--r]===0;)h.pop();if(ot&&(e.e>kf||e.e<-kf))throw Error(cx+jt(e));return e}function ZA(e,t){var n,r,i,a,l,u,c,f,d,h,g=e.constructor,y=g.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new g(e),ot?Ye(t,y):t;if(c=e.d,h=t.d,r=t.e,f=e.e,c=c.slice(),l=f-r,l){for(d=l<0,d?(n=c,l=-l,u=h.length):(n=h,r=f,u=c.length),i=Math.max(Math.ceil(y/nt),u)+2,l>i&&(l=i,n.length=1),n.reverse(),i=l;i--;)n.push(0);n.reverse()}else{for(i=c.length,u=h.length,d=i0;--i)c[u++]=0;for(i=h.length;i>l;){if(c[--i]0?a=a.charAt(0)+"."+a.slice(1)+Wi(r):l>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Wi(-i-1)+a,n&&(r=n-l)>0&&(a+=Wi(r))):i>=l?(a+=Wi(i+1-l),n&&(r=n-i-1)>0&&(a=a+"."+Wi(r))):((r=i+1)0&&(i+1===l&&(a+="."),a+=Wi(r))),e.s<0?"-"+a:a}function iP(e,t){if(e.length>t)return e.length=t,!0}function JA(e){var t,n,r;function i(a){var l=this;if(!(l instanceof i))return new i(a);if(l.constructor=i,a instanceof i){l.s=a.s,l.e=a.e,l.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(Ca+a);if(a>0)l.s=1;else if(a<0)a=-a,l.s=-1;else{l.s=0,l.e=0,l.d=[0];return}if(a===~~a&&a<1e7){l.e=0,l.d=[a];return}return rP(l,a.toString())}else if(typeof a!="string")throw Error(Ca+a);if(a.charCodeAt(0)===45?(a=a.slice(1),l.s=-1):l.s=1,sV.test(a))rP(l,a);else throw Error(Ca+a)}if(i.prototype=ye,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=JA,i.config=i.set=uV,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(Ca+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Ca+n+": "+r);return this}var fx=JA(lV);Mn=new fx(1);const Ke=fx;function e_(e){var t;return e===0?t=1:t=Math.floor(new Ke(e).abs().log(10).toNumber())+1,t}function t_(e,t,n){for(var r=new Ke(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var n_=e=>{var[t,n]=e,[r,i]=[t,n];return t>n&&([r,i]=[n,t]),[r,i]},r_=(e,t,n)=>{if(e.lte(0))return new Ke(0);var r=e_(e.toNumber()),i=new Ke(10).pow(r),a=e.div(i),l=r!==1?.05:.1,u=new Ke(Math.ceil(a.div(l).toNumber())).add(n).mul(l),c=u.mul(i);return t?new Ke(c.toNumber()):new Ke(Math.ceil(c.toNumber()))},cV=(e,t,n)=>{var r=new Ke(1),i=new Ke(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new Ke(10).pow(e_(e)-1),i=new Ke(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new Ke(Math.floor(e)))}else e===0?i=new Ke(Math.floor((t-1)/2)):n||(i=new Ke(Math.floor(e)));for(var l=Math.floor((t-1)/2),u=[],c=0;c4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-t)/(r-1)))return{step:new Ke(0),tickMin:new Ke(0),tickMax:new Ke(0)};var l=r_(new Ke(n).sub(t).div(r-1),i,a),u;t<=0&&n>=0?u=new Ke(0):(u=new Ke(t).add(n).div(2),u=u.sub(new Ke(u).mod(l)));var c=Math.ceil(u.sub(t).div(l).toNumber()),f=Math.ceil(new Ke(n).sub(u).div(l).toNumber()),d=c+f+1;return d>r?i_(t,n,r,i,a+1):(d0?f+(r-d):f,c=n>0?c:c+(r-d)),{step:l,tickMin:u.sub(new Ke(c).mul(l)),tickMax:u.add(new Ke(f).mul(l))})},fV=function(t){var[n,r]=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=Math.max(i,2),[u,c]=n_([n,r]);if(u===-1/0||c===1/0){var f=c===1/0?[u,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),c];return n>r?f.reverse():f}if(u===c)return cV(u,i,a);var{step:d,tickMin:h,tickMax:g}=i_(u,c,l,a,0),y=t_(h,g.add(new Ke(.1).mul(d)),d);return n>r?y.reverse():y},dV=function(t,n){var[r,i]=t,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,[l,u]=n_([r,i]);if(l===-1/0||u===1/0)return[r,i];if(l===u)return[l];var c=Math.max(n,2),f=r_(new Ke(u).sub(l).div(c-1),a,0),d=[...t_(new Ke(l),new Ke(u),f),u];return a===!1&&(d=d.map(h=>Math.round(h))),r>i?d.reverse():d},a_=e=>e.rootProps.maxBarSize,pV=e=>e.rootProps.barGap,o_=e=>e.rootProps.barCategoryGap,hV=e=>e.rootProps.barSize,bd=e=>e.rootProps.stackOffset,l_=e=>e.rootProps.reverseStackOrder,dx=e=>e.options.chartName,px=e=>e.rootProps.syncId,s_=e=>e.rootProps.syncMethod,hx=e=>e.options.eventEmitter,mV=e=>e.rootProps.baseValue,zt={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},va={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},Or={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},wd=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function kd(e,t,n){if(n!=="auto")return n;if(e!=null)return zr(e,t)?"category":"number"}function aP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Sf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},mx=G([xV,GN],(e,t)=>{var n;if(e!=null)return e;var r=(n=kd(t,"angleAxis",oP.type))!==null&&n!==void 0?n:"category";return Sf(Sf({},oP),{},{type:r})}),bV=(e,t)=>e.polarAxis.radiusAxis[t],gx=G([bV,GN],(e,t)=>{var n;if(e!=null)return e;var r=(n=kd(t,"radiusAxis",lP.type))!==null&&n!==void 0?n:"category";return Sf(Sf({},lP),{},{type:r})}),Sd=e=>e.polarOptions,vx=G([fi,di,$t],vq),u_=G([Sd,vx],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),c_=G([Sd,vx],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),wV=e=>{if(e==null)return[0,0];var{startAngle:t,endAngle:n}=e;return[t,n]},f_=G([Sd],wV);G([mx,f_],wd);var d_=G([vx,u_,c_],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});G([gx,d_],wd);var p_=G([He,Sd,u_,c_,fi,di],(e,t,n,r,i,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||n==null||r==null)){var{cx:l,cy:u,startAngle:c,endAngle:f}=t;return{cx:vr(l,i,i/2),cy:vr(u,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:f,clockWise:!1}}}),Bt=(e,t)=>t,jd=(e,t,n)=>n;function Pd(e){return e==null?void 0:e.id}function h_(e,t,n){var{chartData:r=[]}=t,{allowDuplicatedCategory:i,dataKey:a}=n,l=new Map;return e.forEach(u=>{var c,f=(c=u.data)!==null&&c!==void 0?c:r;if(!(f==null||f.length===0)){var d=Pd(u);f.forEach((h,g)=>{var y=a==null||i?g:String(St(h,a,null)),w=St(h,u.dataKey,0),S;l.has(y)?S=l.get(y):S={},Object.assign(S,{[d]:w}),l.set(y,S)})}}),Array.from(l.values())}function Ed(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Cd=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Od(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function kV(e,t){if(e.length===t.length){for(var n=0;n{var t=He(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Vo=e=>e.tooltip.settings.axisId;function SV(e){if(e in es)return es[e]();var t="scale".concat(_s(e));if(t in es)return es[t]()}function sP(e){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:(function(a){function l(){return a.apply(this,arguments)}return l.toString=function(){return a.toString()},l})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(a){var l=i[0],u=i[1];return l<=u?a>=l&&a<=u:a>=u&&a<=l},bandwidth:n?()=>n.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,l)=>{var u=e(a);if(u!=null){if(e.bandwidth&&l!==null&&l!==void 0&&l.position){var c=e.bandwidth();switch(l.position){case"middle":u+=c/2;break;case"end":u+=c;break}}return u}}}}function uP(e,t,n){if(typeof e=="function")return sP(e.copy().domain(t).range(n));if(e!=null){var r=SV(e);if(r!=null)return r.domain(t).range(n),sP(r)}}var jV=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!li(t)){for(var n,r,i=0;ir)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t}default:return t}};function cP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jf(e){for(var t=1;te.cartesianAxis.xAxis[t],mi=(e,t)=>{var n=m_(e,t);return n??Dt},Mt={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:_v,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,width:Ds},g_=(e,t)=>e.cartesianAxis.yAxis[t],gi=(e,t)=>{var n=g_(e,t);return n??Mt},OV={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:""},yx=(e,t)=>{var n=e.cartesianAxis.zAxis[t];return n??OV},gn=(e,t,n)=>{switch(t){case"xAxis":return mi(e,n);case"yAxis":return gi(e,n);case"zAxis":return yx(e,n);case"angleAxis":return mx(e,n);case"radiusAxis":return gx(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},NV=(e,t,n)=>{switch(t){case"xAxis":return mi(e,n);case"yAxis":return gi(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},Us=(e,t,n)=>{switch(t){case"xAxis":return mi(e,n);case"yAxis":return gi(e,n);case"angleAxis":return mx(e,n);case"radiusAxis":return gx(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},v_=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function y_(e,t){return n=>{switch(e){case"xAxis":return"xAxisId"in n&&n.xAxisId===t;case"yAxis":return"yAxisId"in n&&n.yAxisId===t;case"zAxis":return"zAxisId"in n&&n.zAxisId===t;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===t;default:return!1}}}var Nd=e=>e.graphicalItems.cartesianItems,AV=G([Bt,jd],y_),x_=(e,t,n)=>e.filter(n).filter(r=>(t==null?void 0:t.includeHidden)===!0?!0:!r.hide),Ws=G([Nd,gn,AV],x_,{memoizeOptions:{resultEqualityCheck:Od}}),b_=G([Ws],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Ed)),w_=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),_V=G([Ws],w_),k_=e=>e.map(t=>t.data).filter(Boolean).flat(1),IV=G([Ws],k_,{memoizeOptions:{resultEqualityCheck:Od}}),S_=(e,t)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=t;return e.length>0?e:n.slice(r,i+1)},xx=G([IV,VA],S_),j_=(e,t,n)=>(t==null?void 0:t.dataKey)!=null?e.map(r=>({value:St(r,t.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>e.map(i=>({value:St(i,r)}))):e.map(r=>({value:r})),Ad=G([xx,gn,Ws],j_);function P_(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function Tc(e){if(Dr(e)||e instanceof Date){var t=Number(e);if(De(t))return t}}function fP(e){if(Array.isArray(e)){var t=[Tc(e[0]),Tc(e[1])];return li(t)?t:void 0}var n=Tc(e);if(n!=null)return[n,n]}function si(e){return e.map(Tc).filter(Pn)}function TV(e,t,n){return!n||typeof t!="number"||gr(t)?[]:n.length?si(n.flatMap(r=>{var i=St(e,r.dataKey),a,l;if(Array.isArray(i)?[a,l]=i:a=l=i,!(!De(a)||!De(l)))return[t-a,t+l]})):[]}var At=e=>{var t=Ut(e),n=Vo(e);return Us(e,t,n)},qs=G([At],e=>e==null?void 0:e.dataKey),DV=G([b_,VA,At],h_),E_=(e,t,n,r)=>{var i={},a=t.reduce((l,u)=>{if(u.stackId==null)return l;var c=l[u.stackId];return c==null&&(c=[]),c.push(u),l[u.stackId]=c,l},i);return Object.fromEntries(Object.entries(a).map(l=>{var[u,c]=l,f=r?[...c].reverse():c,d=f.map(Pd);return[u,{stackedData:u8(e,d,n),graphicalItems:f}]}))},Pf=G([DV,b_,bd,l_],E_),C_=(e,t,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=t;if(r==null&&n!=="zAxis"){var l=p8(e,i,a);if(!(l!=null&&l[0]===0&&l[1]===0))return l}},MV=G([gn],e=>e.allowDataOverflow),bx=e=>{var t;if(e==null||!("domain"in e))return _v;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var n=si(e.ticks);return[Math.min(...n),Math.max(...n)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:_v},O_=G([gn],bx),N_=G([O_,MV],GA),LV=G([Pf,hi,Bt,N_],C_,{memoizeOptions:{resultEqualityCheck:Cd}}),wx=e=>e.errorBars,RV=(e,t,n)=>e.flatMap(r=>t[r.id]).filter(Boolean).filter(r=>P_(n,r)),Ef=function(){for(var t=arguments.length,n=new Array(t),r=0;r{var a,l;if(n.length>0&&e.forEach(u=>{n.forEach(c=>{var f,d,h=(f=r[c.id])===null||f===void 0?void 0:f.filter(P=>P_(i,P)),g=St(u,(d=t.dataKey)!==null&&d!==void 0?d:c.dataKey),y=TV(u,g,h);if(y.length>=2){var w=Math.min(...y),S=Math.max(...y);(a==null||wl)&&(l=S)}var b=fP(g);b!=null&&(a=a==null?b[0]:Math.min(a,b[0]),l=l==null?b[1]:Math.max(l,b[1]))})}),(t==null?void 0:t.dataKey)!=null&&e.forEach(u=>{var c=fP(St(u,t.dataKey));c!=null&&(a=a==null?c[0]:Math.min(a,c[0]),l=l==null?c[1]:Math.max(l,c[1]))}),De(a)&&De(l))return[a,l]},zV=G([xx,gn,_V,wx,Bt],A_,{memoizeOptions:{resultEqualityCheck:Cd}});function $V(e){var{value:t}=e;if(Dr(t)||t instanceof Date)return t}var FV=(e,t,n)=>{var r=e.map($V).filter(i=>i!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&qO(r))?fA(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},__=e=>e.referenceElements.dots,Ko=(e,t,n)=>e.filter(r=>r.ifOverflow==="extendDomain").filter(r=>t==="xAxis"?r.xAxisId===n:r.yAxisId===n),BV=G([__,Bt,jd],Ko),I_=e=>e.referenceElements.areas,UV=G([I_,Bt,jd],Ko),T_=e=>e.referenceElements.lines,WV=G([T_,Bt,jd],Ko),D_=(e,t)=>{if(e!=null){var n=si(e.map(r=>t==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},qV=G(BV,Bt,D_),M_=(e,t)=>{if(e!=null){var n=si(e.flatMap(r=>[t==="xAxis"?r.x1:r.y1,t==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},HV=G([UV,Bt],M_);function VV(e){var t;if(e.x!=null)return si([e.x]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.x);return n==null||n.length===0?[]:si(n)}function KV(e){var t;if(e.y!=null)return si([e.y]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.y);return n==null||n.length===0?[]:si(n)}var L_=(e,t)=>{if(e!=null){var n=e.flatMap(r=>t==="xAxis"?VV(r):KV(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},GV=G([WV,Bt],L_),YV=G(qV,GV,HV,(e,t,n)=>Ef(e,n,t)),R_=(e,t,n,r,i,a,l,u)=>{if(n!=null)return n;var c=l==="vertical"&&u==="xAxis"||l==="horizontal"&&u==="yAxis",f=c?Ef(r,a,i):Ef(a,i);return oV(t,f,e.allowDataOverflow)},XV=G([gn,O_,N_,LV,zV,YV,He,Bt],R_,{memoizeOptions:{resultEqualityCheck:Cd}}),QV=[0,1],z_=(e,t,n,r,i,a,l)=>{if(!((e==null||n==null||n.length===0)&&l===void 0)){var{dataKey:u,type:c}=e,f=zr(t,a);if(f&&u==null){var d;return fA(0,(d=n==null?void 0:n.length)!==null&&d!==void 0?d:0)}return c==="category"?FV(r,e,f):i==="expand"?QV:l}},kx=G([gn,He,xx,Ad,bd,Bt,XV],z_);function ZV(e){return e in es}var $_=(e,t,n)=>{if(e!=null){var{scale:r,type:i}=e;if(r==="auto")return i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof r=="string"){var a="scale".concat(_s(r));return ZV(a)?a:"point"}}},Go=G([gn,v_,dx],$_);function Sx(e,t,n,r){if(!(n==null||r==null))return typeof e.scale=="function"?uP(e.scale,n,r):uP(t,n,r)}var F_=(e,t,n)=>{var r=bx(t);if(!(n!=="auto"&&n!=="linear")){if(t!=null&&t.tickCount&&Array.isArray(r)&&(r[0]==="auto"||r[1]==="auto")&&li(e))return fV(e,t.tickCount,t.allowDecimals);if(t!=null&&t.tickCount&&t.type==="number"&&li(e))return dV(e,t.tickCount,t.allowDecimals)}},jx=G([kx,Us,Go],F_),B_=(e,t,n,r)=>{if(r!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&li(t)&&Array.isArray(n)&&n.length>0){var i,a,l=t[0],u=(i=n[0])!==null&&i!==void 0?i:0,c=t[1],f=(a=n[n.length-1])!==null&&a!==void 0?a:0;return[Math.min(l,u),Math.max(c,f)]}return t},JV=G([gn,kx,jx,Bt],B_),eK=G(Ad,gn,(e,t)=>{if(!(!t||t.type!=="number")){var n=1/0,r=Array.from(si(e.map(h=>h.value))).sort((h,g)=>h-g),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var l=a-i;if(l===0)return 1/0;for(var u=0;ui,(e,t,n,r,i)=>{if(!De(e))return 0;var a=t==="vertical"?r.height:r.width;if(i==="gap")return e*a/2;if(i==="no-gap"){var l=vr(n,e*a),u=e*a/2;return u-l-(u-l)/a*l}return 0}),tK=(e,t,n)=>{var r=mi(e,t);return r==null||typeof r.padding!="string"?0:U_(e,"xAxis",t,n,r.padding)},nK=(e,t,n)=>{var r=gi(e,t);return r==null||typeof r.padding!="string"?0:U_(e,"yAxis",t,n,r.padding)},rK=G(mi,tK,(e,t)=>{var n,r;if(e==null)return{left:0,right:0};var{padding:i}=e;return typeof i=="string"?{left:t,right:t}:{left:((n=i.left)!==null&&n!==void 0?n:0)+t,right:((r=i.right)!==null&&r!==void 0?r:0)+t}}),iK=G(gi,nK,(e,t)=>{var n,r;if(e==null)return{top:0,bottom:0};var{padding:i}=e;return typeof i=="string"?{top:t,bottom:t}:{top:((n=i.top)!==null&&n!==void 0?n:0)+t,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+t}}),aK=G([$t,rK,ld,od,(e,t,n)=>n],(e,t,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),oK=G([$t,He,iK,ld,od,(e,t,n)=>n],(e,t,n,r,i,a)=>{var{padding:l}=i;return a?[r.height-l.bottom,l.top]:t==="horizontal"?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),Hs=(e,t,n,r)=>{var i;switch(t){case"xAxis":return aK(e,n,r);case"yAxis":return oK(e,n,r);case"zAxis":return(i=yx(e,n))===null||i===void 0?void 0:i.range;case"angleAxis":return f_(e);case"radiusAxis":return d_(e,n);default:return}},W_=G([gn,Hs],wd),lK=G([Go,JV],jV),_d=G([gn,Go,lK,W_],Sx);G([Ws,wx,Bt],RV);function q_(e,t){return e.idt.id?1:0}var Id=(e,t)=>t,Td=(e,t,n)=>n,sK=G(id,Id,Td,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(q_)),uK=G(ad,Id,Td,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(q_)),H_=(e,t)=>({width:e.width,height:t.height}),cK=(e,t)=>{var n=typeof t.width=="number"?t.width:Ds;return{width:n,height:e.height}},V_=G($t,mi,H_),fK=(e,t,n)=>{switch(t){case"top":return e.top;case"bottom":return n-e.bottom;default:return 0}},dK=(e,t,n)=>{switch(t){case"left":return e.left;case"right":return n-e.right;default:return 0}},pK=G(di,$t,sK,Id,Td,(e,t,n,r,i)=>{var a={},l;return n.forEach(u=>{var c=H_(t,u);l==null&&(l=fK(t,r,e));var f=r==="top"&&!i||r==="bottom"&&i;a[u.id]=l-Number(f)*c.height,l+=(f?-1:1)*c.height}),a}),hK=G(fi,$t,uK,Id,Td,(e,t,n,r,i)=>{var a={},l;return n.forEach(u=>{var c=cK(t,u);l==null&&(l=dK(t,r,e));var f=r==="left"&&!i||r==="right"&&i;a[u.id]=l-Number(f)*c.width,l+=(f?-1:1)*c.width}),a}),mK=(e,t)=>{var n=mi(e,t);if(n!=null)return pK(e,n.orientation,n.mirror)},gK=G([$t,mi,mK,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n==null?void 0:n[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),vK=(e,t)=>{var n=gi(e,t);if(n!=null)return hK(e,n.orientation,n.mirror)},yK=G([$t,gi,vK,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n==null?void 0:n[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),K_=G($t,gi,(e,t)=>{var n=typeof t.width=="number"?t.width:Ds;return{width:n,height:e.height}}),dP=(e,t,n)=>{switch(t){case"xAxis":return V_(e,n).width;case"yAxis":return K_(e,n).height;default:return}},G_=(e,t,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:l}=n,u=zr(e,r),c=t.map(f=>f.value);if(l&&u&&a==="category"&&i&&qO(c))return c}},Px=G([He,Ad,gn,Bt],G_),Y_=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n,l=zr(e,r);if(l&&(i==="number"||a!=="auto"))return t.map(u=>u.value)}},Ex=G([He,Ad,Us,Bt],Y_),pP=G([He,NV,Go,_d,Px,Ex,Hs,jx,Bt],(e,t,n,r,i,a,l,u,c)=>{if(t!=null){var f=zr(e,c);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:c,categoricalDomain:a,duplicateDomain:i,isCategorical:f,niceTicks:u,range:l,realScaleType:n,scale:r}}}),xK=(e,t,n,r,i,a,l,u,c)=>{if(!(t==null||r==null)){var f=zr(e,c),{type:d,ticks:h,tickCount:g}=t,y=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,w=d==="category"&&r.bandwidth?r.bandwidth()/y:0;w=c==="angleAxis"&&a!=null&&a.length>=2?jn(a[0]-a[1])*2*w:w;var S=h||i;return S?S.map((b,P)=>{var E=l?l.indexOf(b):b,O=r.map(E);return De(O)?{index:P,coordinate:O+w,value:b,offset:w}:null}).filter(Pn):f&&u?u.map((b,P)=>{var E=r.map(b);return De(E)?{coordinate:E+w,value:b,index:P,offset:w}:null}).filter(Pn):r.ticks?r.ticks(g).map((b,P)=>{var E=r.map(b);return De(E)?{coordinate:E+w,value:b,index:P,offset:w}:null}).filter(Pn):r.domain().map((b,P)=>{var E=r.map(b);return De(E)?{coordinate:E+w,value:l?l[b]:b,index:P,offset:w}:null}).filter(Pn)}},X_=G([He,Us,Go,_d,jx,Hs,Px,Ex,Bt],xK),bK=(e,t,n,r,i,a,l)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var u=zr(e,l),{tickCount:c}=t,f=0;return f=l==="angleAxis"&&(r==null?void 0:r.length)>=2?jn(r[0]-r[1])*2*f:f,u&&a?a.map((d,h)=>{var g=n.map(d);return De(g)?{coordinate:g+f,value:d,index:h,offset:f}:null}).filter(Pn):n.ticks?n.ticks(c).map((d,h)=>{var g=n.map(d);return De(g)?{coordinate:g+f,value:d,index:h,offset:f}:null}).filter(Pn):n.domain().map((d,h)=>{var g=n.map(d);return De(g)?{coordinate:g+f,value:i?i[d]:d,index:h,offset:f}:null}).filter(Pn)}},Qi=G([He,Us,_d,Hs,Px,Ex,Bt],bK),Zi=G(gn,_d,(e,t)=>{if(!(e==null||t==null))return jf(jf({},e),{},{scale:t})}),wK=G([gn,Go,kx,W_],Sx);G((e,t,n)=>yx(e,n),wK,(e,t)=>{if(!(e==null||t==null))return jf(jf({},e),{},{scale:t})});var kK=G([He,id,ad],(e,t,n)=>{switch(e){case"horizontal":return t.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),Q_=e=>e.options.defaultTooltipEventType,Z_=e=>e.options.validateTooltipEventTypes;function J_(e,t,n){if(e==null)return t;var r=e?"axis":"item";return n==null?t:n.includes(r)?r:t}function Cx(e,t){var n=Q_(e),r=Z_(e);return J_(t,n,r)}function SK(e){return Pe(t=>Cx(t,e))}var eI=(e,t)=>{var n,r=Number(t);if(!(gr(r)||t==null))return r>=0?e==null||(n=e[r])===null||n===void 0?void 0:n.value:void 0},jK=e=>e.tooltip.settings,Hi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},PK={itemInteraction:{click:Hi,hover:Hi},axisInteraction:{click:Hi,hover:Hi},keyboardInteraction:Hi,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}},tI=On({name:"tooltip",initialState:PK,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:at()},replaceTooltipEntrySettings:{reducer(e,t){var{prev:n,next:r}=t.payload,i=mr(e).tooltipItemPayloads.indexOf(n);i>-1&&(e.tooltipItemPayloads[i]=r)},prepare:at()},removeTooltipEntrySettings:{reducer(e,t){var n=mr(e).tooltipItemPayloads.indexOf(t.payload);n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:at()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,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.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.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.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}}}),{addTooltipEntrySettings:EK,replaceTooltipEntrySettings:CK,removeTooltipEntrySettings:OK,setTooltipSettingsState:NK,setActiveMouseOverItemIndex:nI,mouseLeaveItem:AK,mouseLeaveChart:rI,setActiveClickItemIndex:_K,setMouseOverAxisIndex:iI,setMouseClickAxisIndex:IK,setSyncInteraction:Iv,setKeyboardInteraction:Tv}=tI.actions,TK=tI.reducer;function hP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Sc(e){for(var t=1;t{if(t==null)return Hi;var i=RK(e,t,n);if(i==null)return Hi;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(zK(i)){if(a)return Sc(Sc({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return Sc(Sc({},Hi),{},{coordinate:i.coordinate})};function $K(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 n=Number(e);return Number.isFinite(n)?n:void 0}function FK(e,t){var n=$K(e),r=t[0],i=t[1];if(n===void 0)return!1;var a=Math.min(r,i),l=Math.max(r,i);return n>=a&&n<=l}function BK(e,t,n){if(n==null||t==null)return!0;var r=St(e,t);return r==null||!li(n)?!0:FK(r,n)}var Ox=(e,t,n,r)=>{var i=e==null?void 0:e.index;if(i==null)return null;var a=Number(i);if(!De(a))return i;var l=0,u=1/0;t.length>0&&(u=t.length-1);var c=Math.max(l,Math.min(a,u)),f=t[c];return f==null||BK(f,n,r)?String(c):null},oI=(e,t,n,r,i,a,l)=>{if(a!=null){var u=l[0],c=u==null?void 0:u.getPosition(a);if(c!=null)return c;var f=i==null?void 0:i[Number(a)];if(f)switch(n){case"horizontal":return{x:f.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:f.coordinate}}}},lI=(e,t,n,r)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(n==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,i==null&&r!=null){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(l=>{var u;return((u=l.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},sI=e=>e.options.tooltipPayloadSearcher,Yo=e=>e.tooltip;function mP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function gP(e){for(var t=1;t{if(!(t==null||a==null)){var{chartData:u,computedData:c,dataStartIndex:f,dataEndIndex:d}=n,h=[];return e.reduce((g,y)=>{var w,{dataDefinedOnItem:S,settings:b}=y,P=HK(S,u),E=Array.isArray(P)?LN(P,f,d):P,O=(w=b==null?void 0:b.dataKey)!==null&&w!==void 0?w:r,A=b==null?void 0:b.nameKey,I;if(r&&Array.isArray(E)&&!Array.isArray(E[0])&&l==="axis"?I=HO(E,r,i):I=a(E,t,c,A),Array.isArray(I))I.forEach(L=>{var R=gP(gP({},b),{},{name:L.name,unit:L.unit,color:void 0,fill:void 0});g.push(gS({tooltipEntrySettings:R,dataKey:L.dataKey,payload:L.payload,value:St(L.payload,L.dataKey),name:L.name}))});else{var C;g.push(gS({tooltipEntrySettings:b,dataKey:O,payload:I,value:St(I,O),name:(C=St(I,A))!==null&&C!==void 0?C:b==null?void 0:b.name}))}return g},h)}},Nx=G([At,v_,dx],$_),VK=G([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),KK=G([Ut,Vo],y_),Xo=G([VK,At,KK],x_,{memoizeOptions:{resultEqualityCheck:Od}}),GK=G([Xo],e=>e.filter(Ed)),YK=G([Xo],k_,{memoizeOptions:{resultEqualityCheck:Od}}),Qo=G([YK,hi],S_),XK=G([GK,hi,At],h_),Ax=G([Qo,At,Xo],j_),cI=G([At],bx),QK=G([At],e=>e.allowDataOverflow),fI=G([cI,QK],GA),ZK=G([Xo],e=>e.filter(Ed)),JK=G([XK,ZK,bd,l_],E_),e7=G([JK,hi,Ut,fI],C_),t7=G([Xo],w_),n7=G([Qo,At,t7,wx,Ut],A_,{memoizeOptions:{resultEqualityCheck:Cd}}),r7=G([__,Ut,Vo],Ko),i7=G([r7,Ut],D_),a7=G([I_,Ut,Vo],Ko),o7=G([a7,Ut],M_),l7=G([T_,Ut,Vo],Ko),s7=G([l7,Ut],L_),u7=G([i7,s7,o7],Ef),c7=G([At,cI,fI,e7,n7,u7,He,Ut],R_),Vs=G([At,He,Qo,Ax,bd,Ut,c7],z_),f7=G([Vs,At,Nx],F_),d7=G([At,Vs,f7,Ut],B_),dI=e=>{var t=Ut(e),n=Vo(e),r=!1;return Hs(e,t,n,r)},pI=G([At,dI],wd),hI=G([At,Nx,d7,pI],Sx),p7=G([He,Ax,At,Ut],G_),h7=G([He,Ax,At,Ut],Y_),m7=(e,t,n,r,i,a,l,u)=>{if(t){var{type:c}=t,f=zr(e,u);if(r){var d=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,h=c==="category"&&r.bandwidth?r.bandwidth()/d:0;return h=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?jn(i[0]-i[1])*2*h:h,f&&l?l.map((g,y)=>{var w=r.map(g);return De(w)?{coordinate:w+h,value:g,index:y,offset:h}:null}).filter(Pn):r.domain().map((g,y)=>{var w=r.map(g);return De(w)?{coordinate:w+h,value:a?a[g]:g,index:y,offset:h}:null}).filter(Pn)}}},vi=G([He,At,Nx,hI,dI,p7,h7,Ut],m7),_x=G([Q_,Z_,jK],(e,t,n)=>J_(n.shared,e,t)),mI=e=>e.tooltip.settings.trigger,Ix=e=>e.tooltip.settings.defaultIndex,Ks=G([Yo,_x,mI,Ix],aI),La=G([Ks,Qo,qs,Vs],Ox),gI=G([vi,La],eI),vI=G([Ks],e=>{if(e)return e.dataKey});G([Ks],e=>{if(e)return e.graphicalItemId});var yI=G([Yo,_x,mI,Ix],lI),g7=G([fi,di,He,$t,vi,Ix,yI],oI),v7=G([Ks,g7],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),y7=G([Ks],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),x7=G([yI,La,hi,qs,gI,sI,_x],uI),b7=G([x7],e=>{if(e!=null){var t=e.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(t))}});function vP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function yP(e){for(var t=1;tPe(At),P7=()=>{var e=j7(),t=Pe(vi),n=Pe(hI);return Mo(!e||!n?void 0:yP(yP({},e),{},{scale:n}),t)};function xP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xo(e){for(var t=1;t{var i=t.find(a=>a&&a.index===n);if(i){if(e==="horizontal")return{x:i.coordinate,y:r.chartY};if(e==="vertical")return{x:r.chartX,y:i.coordinate}}return{x:0,y:0}},A7=(e,t,n,r)=>{var i=t.find(f=>f&&f.index===n);if(i){if(e==="centric"){var a=i.coordinate,{radius:l}=r;return xo(xo(xo({},r),Xt(r.cx,r.cy,l,a)),{},{angle:a,radius:l})}var u=i.coordinate,{angle:c}=r;return xo(xo(xo({},r),Xt(r.cx,r.cy,u,c)),{},{angle:c,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 _7(e,t){var{chartX:n,chartY:r}=e;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var xI=(e,t,n,r,i)=>{var a,l=(a=t==null?void 0:t.length)!==null&&a!==void 0?a:0;if(l<=1||e==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(c=n[u-1])===null||c===void 0?void 0:c.coordinate:(f=n[l-1])===null||f===void 0?void 0:f.coordinate,w=(d=n[u])===null||d===void 0?void 0:d.coordinate,S=u>=l-1?(h=n[0])===null||h===void 0?void 0:h.coordinate:(g=n[u+1])===null||g===void 0?void 0:g.coordinate,b=void 0;if(!(y==null||w==null||S==null))if(jn(w-y)!==jn(S-w)){var P=[];if(jn(S-w)===jn(i[1]-i[0])){b=S;var E=w+i[1]-i[0];P[0]=Math.min(E,(E+y)/2),P[1]=Math.max(E,(E+y)/2)}else{b=y;var O=S+i[1]-i[0];P[0]=Math.min(w,(O+w)/2),P[1]=Math.max(w,(O+w)/2)}var A=[Math.min(w,(b+w)/2),Math.max(w,(b+w)/2)];if(e>A[0]&&e<=A[1]||e>=P[0]&&e<=P[1]){var I;return(I=n[u])===null||I===void 0?void 0:I.index}}else{var C=Math.min(y,S),L=Math.max(y,S);if(e>(C+w)/2&&e<=(L+w)/2){var R;return(R=n[u])===null||R===void 0?void 0:R.index}}}else if(t)for(var U=0;U(D.coordinate+z.coordinate)/2||U>0&&U(D.coordinate+z.coordinate)/2&&e<=(D.coordinate+q.coordinate)/2)return D.index}}return-1},bI=()=>Pe(dx),Tx=(e,t)=>t,wI=(e,t,n)=>n,Dx=(e,t,n,r)=>r,I7=G(vi,e=>Kf(e,t=>t.coordinate)),Mx=G([Yo,Tx,wI,Dx],aI),Lx=G([Mx,Qo,qs,Vs],Ox),T7=(e,t,n)=>{if(t!=null){var r=Yo(e);return t==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},kI=G([Yo,Tx,wI,Dx],lI),Cf=G([fi,di,He,$t,vi,Dx,kI],oI),D7=G([Mx,Cf],(e,t)=>{var n;return(n=e.coordinate)!==null&&n!==void 0?n:t}),SI=G([vi,Lx],eI),M7=G([kI,Lx,hi,qs,SI,sI,Tx],uI),L7=G([Mx,Lx],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),R7=(e,t,n,r,i,a,l)=>{if(!(!e||!n||!r||!i)&&_7(e,l)){var u=h8(e,t),c=xI(u,a,i,n,r),f=N7(t,i,c,e);return{activeIndex:String(c),activeCoordinate:f}}},z7=(e,t,n,r,i,a,l)=>{if(!(!e||!r||!i||!a||!n)){var u=kq(e,n);if(u){var c=m8(u,t),f=xI(c,l,a,r,i),d=A7(t,a,f,u);return{activeIndex:String(f),activeCoordinate:d}}}},$7=(e,t,n,r,i,a,l,u)=>{if(!(!e||!t||!r||!i||!a))return t==="horizontal"||t==="vertical"?R7(e,t,r,i,a,l,u):z7(e,t,n,r,i,a,l)},F7=G(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),B7=G(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(r=>parseInt(r,10)).concat(Object.values(zt)),n=Array.from(new Set(t));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:kV}});function bP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function wP(e){for(var t=1;twP(wP({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),H7)},K7=new Set(Object.values(zt));function G7(e){return K7.has(e)}var jI=On({name:"zIndex",initialState:V7,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:at()},unregisterZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(e.zIndexMap[n].consumers-=1,e.zIndexMap[n].consumers<=0&&!G7(n)&&delete e.zIndexMap[n])},prepare:at()},registerZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n,element:r,isPanorama:i}=t.payload;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=r:e.zIndexMap[n].element=r:e.zIndexMap[n]={consumers:0,element:i?void 0:r,panoramaElement:i?r:void 0}},prepare:at()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:at()}}}),{registerZIndexPortal:Y7,unregisterZIndexPortal:X7,registerZIndexPortalElement:Q7,unregisterZIndexPortalElement:Z7}=jI.actions,J7=jI.reducer;function nr(e){var{zIndex:t,children:n}=e,r=K8(),i=r&&t!==void 0&&t!==0,a=on(),l=yt();k.useLayoutEffect(()=>i?(l(Y7({zIndex:t})),()=>{l(X7({zIndex:t}))}):Fa,[l,t,i]);var u=Pe(c=>F7(c,t,a));return i?u?EO.createPortal(n,u):null:n}function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;tk.useContext(PI),mg={exports:{}},SP;function lG(){return SP||(SP=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(c,f,d){this.fn=c,this.context=f,this.once=d||!1}function a(c,f,d,h,g){if(typeof d!="function")throw new TypeError("The listener must be a function");var y=new i(d,h||c,g),w=n?n+f:f;return c._events[w]?c._events[w].fn?c._events[w]=[c._events[w],y]:c._events[w].push(y):(c._events[w]=y,c._eventsCount++),c}function l(c,f){--c._eventsCount===0?c._events=new r:delete c._events[f]}function u(){this._events=new r,this._eventsCount=0}u.prototype.eventNames=function(){var f=[],d,h;if(this._eventsCount===0)return f;for(h in d=this._events)t.call(d,h)&&f.push(n?h.slice(1):h);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(d)):f},u.prototype.listeners=function(f){var d=n?n+f:f,h=this._events[d];if(!h)return[];if(h.fn)return[h.fn];for(var g=0,y=h.length,w=new Array(y);g{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!gr(n))return e[n]}},cG={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},CI=On({name:"options",initialState:cG,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),fG=CI.reducer,{createEventEmitter:dG}=CI.actions;function pG(e){return e.tooltip.syncInteraction}var hG={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},OI=On({name:"chartData",initialState:hG,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{startIndex:n,endIndex:r}=t.payload;n!=null&&(e.dataStartIndex=n),r!=null&&(e.dataEndIndex=r)}}}),{setChartData:PP,setDataStartEndIndexes:mG,setComputedData:Ute}=OI.actions,gG=OI.reducer,vG=["x","y"];function EP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function bo(e){for(var t=1;tc.rootProps.className);k.useEffect(()=>{if(e==null)return Fa;var c=(f,d,h)=>{if(t!==h&&e===f){if(r==="index"){var g;if(l&&d!==null&&d!==void 0&&(g=d.payload)!==null&&g!==void 0&&g.coordinate&&d.payload.sourceViewBox){var y=d.payload.coordinate,{x:w,y:S}=y,b=wG(y,vG),{x:P,y:E,width:O,height:A}=d.payload.sourceViewBox,I=bo(bo({},b),{},{x:l.x+(O?(w-P)/O:0)*l.width,y:l.y+(A?(S-E)/A:0)*l.height});n(bo(bo({},d),{},{payload:bo(bo({},d.payload),{},{coordinate:I})}))}else n(d);return}if(i!=null){var C;if(typeof r=="function"){var L={activeTooltipIndex:d.payload.index==null?void 0:Number(d.payload.index),isTooltipActive:d.payload.active,activeIndex:d.payload.index==null?void 0:Number(d.payload.index),activeLabel:d.payload.label,activeDataKey:d.payload.dataKey,activeCoordinate:d.payload.coordinate},R=r(i,L);C=i[R]}else r==="value"&&(C=i.find(he=>String(he.value)===d.payload.label));var{coordinate:U}=d.payload;if(C==null||d.payload.active===!1||U==null||l==null){n(Iv({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}var{x:D,y:q}=U,z=Math.min(D,l.x+l.width),ee=Math.min(q,l.y+l.height),X={x:a==="horizontal"?C.coordinate:z,y:a==="horizontal"?ee:C.coordinate},Q=Iv({active:d.payload.active,coordinate:X,dataKey:d.payload.dataKey,index:String(C.index),label:d.payload.label,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:d.payload.graphicalItemId});n(Q)}}};return js.on(Mv,c),()=>{js.off(Mv,c)}},[u,n,t,e,r,i,a,l])}function jG(){var e=Pe(px),t=Pe(hx),n=yt();k.useEffect(()=>{if(e==null)return Fa;var r=(i,a,l)=>{t!==l&&e===i&&n(mG(a))};return js.on(jP,r),()=>{js.off(jP,r)}},[n,t,e])}function PG(){var e=yt();k.useEffect(()=>{e(dG())},[e]),SG(),jG()}function EG(e,t,n,r,i,a){var l=Pe(y=>T7(y,e,t)),u=Pe(hx),c=Pe(px),f=Pe(s_),d=Pe(pG),h=d==null?void 0:d.active,g=sd();k.useEffect(()=>{if(!h&&c!=null&&u!=null){var y=Iv({active:a,coordinate:n,dataKey:l,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:g,graphicalItemId:void 0});js.emit(Mv,c,y,u)}},[h,n,l,i,r,u,c,f,a,g])}function CP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function OP(e){for(var t=1;t{L(NK({shared:E,trigger:O,axisId:C,active:i,defaultIndex:R}))},[L,E,O,C,i,R]);var U=sd(),D=nA(),q=SK(E),{activeIndex:z,isActive:ee}=(t=Pe(Se=>L7(Se,q,O,R)))!==null&&t!==void 0?t:{},X=Pe(Se=>M7(Se,q,O,R)),Q=Pe(Se=>SI(Se,q,O,R)),he=Pe(Se=>D7(Se,q,O,R)),de=X,Z=oG(),ae=(n=i??ee)!==null&&n!==void 0?n:!1,[T,F]=eU([de,ae]),W=q==="axis"?Q:void 0;EG(q,O,he,W,z,ae);var _=I??Z;if(_==null||U==null||q==null)return null;var te=de??NP;ae||(te=NP),f&&te.length&&(te=E6(te.filter(Se=>Se.value!=null&&(Se.hide!==!0||r.includeHidden)),g,AG));var fe=te.length>0,ce=k.createElement(wW,{allowEscapeViewBox:a,animationDuration:l,animationEasing:u,isAnimationActive:d,active:ae,coordinate:he,hasPayload:fe,offset:h,position:y,reverseDirection:w,useTranslate3d:S,viewBox:U,wrapperStyle:b,lastBoundingBox:T,innerRef:F,hasPortalFromProps:!!I},_G(c,OP(OP({},r),{},{payload:te,label:W,active:ae,activeIndex:z,coordinate:he,accessibilityLayer:D})));return k.createElement(k.Fragment,null,EO.createPortal(ce,_),ae&&k.createElement(aG,{cursor:P,tooltipEventType:q,coordinate:he,payload:te,index:z}))}var AI=e=>null;AI.displayName="Cell";function TG(e,t,n){return(t=DG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DG(e){var t=MG(e,"string");return typeof t=="symbol"?t:t+""}function MG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class LG{constructor(t){TG(this,"cache",new Map),this.maxSize=t}get(t){var n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function AP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function RG(e){for(var t=1;t{try{var n=document.getElementById(IP);n||(n=document.createElement("span"),n.setAttribute("id",IP),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,UG,t),n.textContent="".concat(e);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},ls=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Rs.isSsr)return{width:0,height:0};if(!_I.enableCache)return TP(t,n);var r=WG(t,n),i=_P.get(r);if(i)return i;var a=TP(t,n);return _P.set(r,a),a},II;function qG(e,t,n){return(t=HG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HG(e){var t=VG(e,"string");return typeof t=="symbol"?t:t+""}function VG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var DP=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,MP=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,KG=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,GG=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,YG={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},XG=["cm","mm","pt","pc","in","Q","px"];function QG(e){return XG.includes(e)}var jo="NaN";function ZG(e,t){return e*YG[t]}class Yt{static parse(t){var n,[,r,i]=(n=GG.exec(t))!==null&&n!==void 0?n:[];return r==null?Yt.NaN:new Yt(parseFloat(r),i??"")}constructor(t,n){this.num=t,this.unit=n,this.num=t,this.unit=n,gr(t)&&(this.unit=""),n!==""&&!KG.test(n)&&(this.num=NaN,this.unit=""),QG(n)&&(this.num=ZG(t,n),this.unit="px")}add(t){return this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num+t.num,this.unit)}subtract(t){return this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num-t.num,this.unit)}multiply(t){return this.unit!==""&&t.unit!==""&&this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num*t.num,this.unit||t.unit)}divide(t){return this.unit!==""&&t.unit!==""&&this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num/t.num,this.unit||t.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return gr(this.num)}}II=Yt;qG(Yt,"NaN",new II(NaN,""));function TI(e){if(e==null||e.includes(jo))return jo;for(var t=e;t.includes("*")||t.includes("/");){var n,[,r,i,a]=(n=DP.exec(t))!==null&&n!==void 0?n:[],l=Yt.parse(r??""),u=Yt.parse(a??""),c=i==="*"?l.multiply(u):l.divide(u);if(c.isNaN())return jo;t=t.replace(DP,c.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var f,[,d,h,g]=(f=MP.exec(t))!==null&&f!==void 0?f:[],y=Yt.parse(d??""),w=Yt.parse(g??""),S=h==="+"?y.add(w):y.subtract(w);if(S.isNaN())return jo;t=t.replace(MP,S.toString())}return t}var LP=/\(([^()]*)\)/;function JG(e){for(var t=e,n;(n=LP.exec(t))!=null;){var[,r]=n;t=t.replace(LP,TI(r))}return t}function eY(e){var t=e.replace(/\s+/g,"");return t=JG(t),t=TI(t),t}function tY(e){try{return eY(e)}catch{return jo}}function gg(e){var t=tY(e.slice(5,-1));return t===jo?"":t}var nY=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],rY=["dx","dy","angle","className","breakAll"];function Lv(){return Lv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{children:t,breakAll:n,style:r}=e;try{var i=[];mt(t)||(n?i=t.toString().split(""):i=t.toString().split(DI));var a=i.map(u=>({word:u,width:ls(u,r).width})),l=n?0:ls("ย ",r).width;return{wordsWithComputedWidth:a,spaceWidth:l}}catch{return null}};function aY(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}var LI=(e,t,n,r)=>e.reduce((i,a)=>{var{word:l,width:u}=a,c=i[i.length-1];if(c&&u!=null&&(t==null||r||c.width+u+ne.reduce((t,n)=>t.width>n.width?t:n),oY="โ€ฆ",zP=(e,t,n,r,i,a,l,u)=>{var c=e.slice(0,t),f=MI({breakAll:n,style:r,children:c+oY});if(!f)return[!1,[]];var d=LI(f.wordsWithComputedWidth,a,l,u),h=d.length>i||RI(d).width>Number(a);return[h,d]},lY=(e,t,n,r,i)=>{var{maxLines:a,children:l,style:u,breakAll:c}=e,f=ge(a),d=String(l),h=LI(t,r,n,i);if(!f||i)return h;var g=h.length>a||RI(h).width>Number(r);if(!g)return h;for(var y=0,w=d.length-1,S=0,b;y<=w&&S<=d.length-1;){var P=Math.floor((y+w)/2),E=P-1,[O,A]=zP(d,E,c,u,a,r,n,i),[I]=zP(d,P,c,u,a,r,n,i);if(!O&&!I&&(y=P+1),O&&I&&(w=P-1),!O&&I){b=A;break}S++}return b||h},$P=e=>{var t=mt(e)?[]:e.toString().split(DI);return[{words:t,width:void 0}]},sY=e=>{var{width:t,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:l}=e;if((t||n)&&!Rs.isSsr){var u,c,f=MI({breakAll:a,children:r,style:i});if(f){var{wordsWithComputedWidth:d,spaceWidth:h}=f;u=d,c=h}else return $P(r);return lY({breakAll:a,children:r,maxLines:l,style:i},u,c,t,!!n)}return $P(r)},zI="#808080",uY={angle:0,breakAll:!1,capHeight:"0.71em",fill:zI,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Rx=k.forwardRef((e,t)=>{var n=mn(e,uY),{x:r,y:i,lineHeight:a,capHeight:l,fill:u,scaleToFit:c,textAnchor:f,verticalAnchor:d}=n,h=RP(n,nY),g=k.useMemo(()=>sY({breakAll:h.breakAll,children:h.children,maxLines:h.maxLines,scaleToFit:c,style:h.style,width:h.width}),[h.breakAll,h.children,h.maxLines,c,h.style,h.width]),{dx:y,dy:w,angle:S,className:b,breakAll:P}=h,E=RP(h,rY);if(!Dr(r)||!Dr(i)||g.length===0)return null;var O=Number(r)+(ge(y)?y:0),A=Number(i)+(ge(w)?w:0);if(!De(O)||!De(A))return null;var I;switch(d){case"start":I=gg("calc(".concat(l,")"));break;case"middle":I=gg("calc(".concat((g.length-1)/2," * -").concat(a," + (").concat(l," / 2))"));break;default:I=gg("calc(".concat(g.length-1," * -").concat(a,")"));break}var C=[],L=g[0];if(c&&L!=null){var R=L.width,{width:U}=h;C.push("scale(".concat(ge(U)&&ge(R)?U/R:1,")"))}return S&&C.push("rotate(".concat(S,", ").concat(O,", ").concat(A,")")),C.length&&(E.transform=C.join(" ")),k.createElement("text",Lv({},dn(E),{ref:t,x:O,y:A,className:Ge("recharts-text",b),textAnchor:f,fill:u.includes("url")?zI:u}),g.map((D,q)=>{var z=D.words.join(P?"":" ");return k.createElement("tspan",{x:O,dy:q===0?I:a,key:"".concat(z,"-").concat(q)},z)}))});Rx.displayName="Text";function FP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Nr(e){for(var t=1;t{var{viewBox:t,position:n,offset:r=0,parentViewBox:i}=e,{x:a,y:l,height:u,upperWidth:c,lowerWidth:f}=Ry(t),d=a,h=a+(c-f)/2,g=(d+h)/2,y=(c+f)/2,w=d+c/2,S=u>=0?1:-1,b=S*r,P=S>0?"end":"start",E=S>0?"start":"end",O=c>=0?1:-1,A=O*r,I=O>0?"end":"start",C=O>0?"start":"end",L=i;if(n==="top"){var R={x:d+c/2,y:l-b,horizontalAnchor:"middle",verticalAnchor:P};return L&&(R.height=Math.max(l-L.y,0),R.width=c),R}if(n==="bottom"){var U={x:h+f/2,y:l+u+b,horizontalAnchor:"middle",verticalAnchor:E};return L&&(U.height=Math.max(L.y+L.height-(l+u),0),U.width=f),U}if(n==="left"){var D={x:g-A,y:l+u/2,horizontalAnchor:I,verticalAnchor:"middle"};return L&&(D.width=Math.max(D.x-L.x,0),D.height=u),D}if(n==="right"){var q={x:g+y+A,y:l+u/2,horizontalAnchor:C,verticalAnchor:"middle"};return L&&(q.width=Math.max(L.x+L.width-q.x,0),q.height=u),q}var z=L?{width:y,height:u}:{};return n==="insideLeft"?Nr({x:g+A,y:l+u/2,horizontalAnchor:C,verticalAnchor:"middle"},z):n==="insideRight"?Nr({x:g+y-A,y:l+u/2,horizontalAnchor:I,verticalAnchor:"middle"},z):n==="insideTop"?Nr({x:d+c/2,y:l+b,horizontalAnchor:"middle",verticalAnchor:E},z):n==="insideBottom"?Nr({x:h+f/2,y:l+u-b,horizontalAnchor:"middle",verticalAnchor:P},z):n==="insideTopLeft"?Nr({x:d+A,y:l+b,horizontalAnchor:C,verticalAnchor:E},z):n==="insideTopRight"?Nr({x:d+c-A,y:l+b,horizontalAnchor:I,verticalAnchor:E},z):n==="insideBottomLeft"?Nr({x:h+A,y:l+u-b,horizontalAnchor:C,verticalAnchor:P},z):n==="insideBottomRight"?Nr({x:h+f-A,y:l+u-b,horizontalAnchor:I,verticalAnchor:P},z):n&&typeof n=="object"&&(ge(n.x)||_a(n.x))&&(ge(n.y)||_a(n.y))?Nr({x:a+vr(n.x,y),y:l+vr(n.y,u),horizontalAnchor:"end",verticalAnchor:"end"},z):Nr({x:w,y:l+u/2,horizontalAnchor:"middle",verticalAnchor:"middle"},z)},hY=["labelRef"],mY=["content"];function BP(e,t){if(e==null)return{};var n,r,i=gY(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var{x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:l,children:u}=e,c=k.useMemo(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:l}),[t,n,r,i,a,l]);return k.createElement($I.Provider,{value:c},u)},FI=()=>{var e=k.useContext($I),t=sd();return e||(t?Ry(t):void 0)},wY=k.createContext(null),kY=()=>{var e=k.useContext(wY),t=Pe(p_);return e||t},SY=e=>{var{value:t,formatter:n}=e,r=mt(e.children)?t:e.children;return typeof n=="function"?n(r):r},zx=e=>e!=null&&typeof e=="function",jY=(e,t)=>{var n=jn(t-e),r=Math.min(Math.abs(t-e),360);return n*r},PY=(e,t,n,r,i)=>{var{offset:a,className:l}=e,{cx:u,cy:c,innerRadius:f,outerRadius:d,startAngle:h,endAngle:g,clockWise:y}=i,w=(f+d)/2,S=jY(h,g),b=S>=0?1:-1,P,E;switch(t){case"insideStart":P=h+b*a,E=y;break;case"insideEnd":P=g-b*a,E=!y;break;case"end":P=g+b*a,E=y;break;default:throw new Error("Unsupported position ".concat(t))}E=S<=0?E:!E;var O=Xt(u,c,w,P),A=Xt(u,c,w,P+(E?1:-1)*359),I="M".concat(O.x,",").concat(O.y,` + A`,",",",0,0,",",",",","Z"])),M.x,M.y,a,a,+(d<0),C.x,C.y,r,r,+(H>180),+(d>0),O.x,O.y,a,a,+(d<0),A.x,A.y)}else E+=pt(pj||(pj=wa(["L",",","Z"])),t,n);return E},Pq={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},cA=e=>{var t=mn(e,Pq),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:l,forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d,className:p}=t;if(a0&&Math.abs(f-d)<360?S=jq({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(w,y/2),forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d}):S=uA({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:f,endAngle:d}),k.createElement("path",Sv({},dn(t),{className:g,d:S}))};function Eq(e,t,n){if(e==="horizontal")return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e==="vertical")return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(GO(t)){if(e==="centric"){var{cx:r,cy:i,innerRadius:a,outerRadius:l,angle:u}=t,c=Xt(r,i,a,u),f=Xt(r,i,l,u);return[{x:c.x,y:c.y},{x:f.x,y:f.y}]}return sA(t)}}var rg={},ig={},ag={},mj;function Cq(){return mj||(mj=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=iN();function n(r){return t.isSymbol(r)?NaN:Number(r)}e.toNumber=n})(ag)),ag}var gj;function Oq(){return gj||(gj=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Cq();function n(r){return r?(r=t.toNumber(r),r===1/0||r===-1/0?(r<0?-1:1)*Number.MAX_VALUE:r===r?r:0):r===0?r:0}e.toFinite=n})(ig)),ig}var vj;function Nq(){return vj||(vj=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=aN(),n=Oq();function r(i,a,l){l&&typeof l!="number"&&t.isIterateeCall(i,a,l)&&(a=l=void 0),i=n.toFinite(i),a===void 0?(a=i,i=0):a=n.toFinite(a),l=l===void 0?it?1:e>=t?0:NaN}function Iq(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function By(e){let t,n,r;e.length!==2?(t=Gi,n=(u,c)=>Gi(e(u),c),r=(u,c)=>e(u)-c):(t=e===Gi||e===Iq?e:Tq,n=e,r=e);function i(u,c,f=0,d=u.length){if(f>>1;n(u[p],c)<0?f=p+1:d=p}while(f>>1;n(u[p],c)<=0?f=p+1:d=p}while(ff&&r(u[p-1],c)>-r(u[p],c)?p-1:p}return{left:i,center:l,right:a}}function Tq(){return 0}function dA(e){return e===null?NaN:+e}function*Dq(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const Mq=By(Gi),zs=Mq.right;By(dA).center;class xj extends Map{constructor(t,n=zq){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(bj(this,t))}has(t){return super.has(bj(this,t))}set(t,n){return super.set(Lq(this,t),n)}delete(t){return super.delete(Rq(this,t))}}function bj({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function Lq({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Rq({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function zq(e){return e!==null&&typeof e=="object"?e.valueOf():e}function $q(e=Gi){if(e===Gi)return hA;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function hA(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Fq=Math.sqrt(50),Bq=Math.sqrt(10),Uq=Math.sqrt(2);function df(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),l=a>=Fq?10:a>=Bq?5:a>=Uq?2:1;let u,c,f;return i<0?(f=Math.pow(10,-i)/l,u=Math.round(e*f),c=Math.round(t*f),u/ft&&--c,f=-f):(f=Math.pow(10,i)*l,u=Math.round(e/f),c=Math.round(t/f),u*ft&&--c),c0))return[];if(e===t)return[e];const r=t=i))return[];const u=a-i+1,c=new Array(u);if(r)if(l<0)for(let f=0;f=r)&&(n=r);return n}function kj(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function pA(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?hA:$q(i);r>n;){if(r-n>600){const c=r-n+1,f=t-n+1,d=Math.log(c),p=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*p*(c-p)/c)*(f-c/2<0?-1:1),y=Math.max(n,Math.floor(t-f*p/c+g)),w=Math.min(r,Math.floor(t+(c-f)*p/c+g));pA(e,t,y,w,i)}const a=e[t];let l=n,u=r;for(Vl(e,n,t),i(e[r],a)>0&&Vl(e,n,r);l0;)--u}i(e[n],a)===0?Vl(e,n,u):(++u,Vl(e,u,r)),u<=t&&(n=u+1),t<=u&&(r=u-1)}return e}function Vl(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Wq(e,t,n){if(e=Float64Array.from(Dq(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return kj(e);if(t>=1)return wj(e);var r,i=(r-1)*t,a=Math.floor(i),l=wj(pA(e,a).subarray(0,a+1)),u=kj(e.subarray(a+1));return l+(u-l)*(i-a)}}function qq(e,t,n=dA){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),l=+n(e[a],a,e),u=+n(e[a+1],a+1,e);return l+(u-l)*(i-a)}}function Hq(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=new Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?bc(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?bc(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=Gq.exec(e))?new En(t[1],t[2],t[3],1):(t=Yq.exec(e))?new En(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Xq.exec(e))?bc(t[1],t[2],t[3],t[4]):(t=Qq.exec(e))?bc(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Zq.exec(e))?Nj(t[1],t[2]/100,t[3]/100,1):(t=Jq.exec(e))?Nj(t[1],t[2]/100,t[3]/100,t[4]):Sj.hasOwnProperty(e)?Ej(Sj[e]):e==="transparent"?new En(NaN,NaN,NaN,0):null}function Ej(e){return new En(e>>16&255,e>>8&255,e&255,1)}function bc(e,t,n,r){return r<=0&&(e=t=n=NaN),new En(e,t,n,r)}function n9(e){return e instanceof $s||(e=ws(e)),e?(e=e.rgb(),new En(e.r,e.g,e.b,e.opacity)):new En}function Ov(e,t,n,r){return arguments.length===1?n9(e):new En(e,t,n,r??1)}function En(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}qy(En,Ov,gA($s,{brighter(e){return e=e==null?hf:Math.pow(hf,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xs:Math.pow(xs,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new En(Ea(this.r),Ea(this.g),Ea(this.b),pf(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:Cj,formatHex:Cj,formatHex8:r9,formatRgb:Oj,toString:Oj}));function Cj(){return`#${ka(this.r)}${ka(this.g)}${ka(this.b)}`}function r9(){return`#${ka(this.r)}${ka(this.g)}${ka(this.b)}${ka((isNaN(this.opacity)?1:this.opacity)*255)}`}function Oj(){const e=pf(this.opacity);return`${e===1?"rgb(":"rgba("}${Ea(this.r)}, ${Ea(this.g)}, ${Ea(this.b)}${e===1?")":`, ${e})`}`}function pf(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ea(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ka(e){return e=Ea(e),(e<16?"0":"")+e.toString(16)}function Nj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new dr(e,t,n,r)}function vA(e){if(e instanceof dr)return new dr(e.h,e.s,e.l,e.opacity);if(e instanceof $s||(e=ws(e)),!e)return new dr;if(e instanceof dr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),l=NaN,u=a-i,c=(a+i)/2;return u?(t===a?l=(n-r)/u+(n0&&c<1?0:l,new dr(l,u,c,e.opacity)}function i9(e,t,n,r){return arguments.length===1?vA(e):new dr(e,t,n,r??1)}function dr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}qy(dr,i9,gA($s,{brighter(e){return e=e==null?hf:Math.pow(hf,e),new dr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xs:Math.pow(xs,e),new dr(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,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new En(lg(e>=240?e-240:e+120,i,r),lg(e,i,r),lg(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new dr(Aj(this.h),wc(this.s),wc(this.l),pf(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=pf(this.opacity);return`${e===1?"hsl(":"hsla("}${Aj(this.h)}, ${wc(this.s)*100}%, ${wc(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Aj(e){return e=(e||0)%360,e<0?e+360:e}function wc(e){return Math.max(0,Math.min(1,e||0))}function lg(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Hy=e=>()=>e;function a9(e,t){return function(n){return e+n*t}}function o9(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function l9(e){return(e=+e)==1?yA:function(t,n){return n-t?o9(t,n,e):Hy(isNaN(t)?n:t)}}function yA(e,t){var n=t-e;return n?a9(e,n):Hy(isNaN(e)?t:e)}const _j=(function e(t){var n=l9(t);function r(i,a){var l=n((i=Ov(i)).r,(a=Ov(a)).r),u=n(i.g,a.g),c=n(i.b,a.b),f=yA(i.opacity,a.opacity);return function(d){return i.r=l(d),i.g=u(d),i.b=c(d),i.opacity=f(d),i+""}}return r.gamma=e,r})(1);function s9(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),u[l]?u[l]+=a:u[++l]=a),(r=r[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,c.push({i:l,x:mf(r,i)})),n=sg.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function x9(e,t,n){var r=e[0],i=e[1],a=t[0],l=t[1];return i2?b9:x9,c=f=null,p}function p(g){return g==null||isNaN(g=+g)?a:(c||(c=u(e.map(r),t,n)))(r(l(g)))}return p.invert=function(g){return l(i((f||(f=u(t,e.map(r),mf)))(g)))},p.domain=function(g){return arguments.length?(e=Array.from(g,gf),d()):e.slice()},p.range=function(g){return arguments.length?(t=Array.from(g),d()):t.slice()},p.rangeRound=function(g){return t=Array.from(g),n=Vy,d()},p.clamp=function(g){return arguments.length?(l=g?!0:fn,d()):l!==fn},p.interpolate=function(g){return arguments.length?(n=g,d()):n},p.unknown=function(g){return arguments.length?(a=g,p):a},function(g,y){return r=g,i=y,d()}}function Ky(){return pd()(fn,fn)}function w9(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 n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Ro(e){return e=vf(Math.abs(e)),e?e[1]:NaN}function k9(e,t){return function(n,r){for(var i=n.length,a=[],l=0,u=e[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),a.push(n.substring(i-=u,i+u)),!((c+=u+1)>r));)u=e[l=(l+1)%e.length];return a.reverse().join(t)}}function S9(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var j9=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ks(e){if(!(t=j9.exec(e)))throw new Error("invalid format: "+e);var t;return new Gy({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]})}ks.prototype=Gy.prototype;function Gy(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+""}Gy.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 P9(e){e:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var yf;function E9(e,t){var n=vf(e,t);if(!n)return yf=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(yf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,l=r.length;return a===l?r:a>l?r+new Array(a-l+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+vf(e,Math.max(0,t+a-1))[0]}function Tj(e,t){var n=vf(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Dj={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:w9,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)=>Tj(e*100,t),r:Tj,s:E9,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Mj(e){return e}var Lj=Array.prototype.map,Rj=["y","z","a","f","p","n","ยต","m","","k","M","G","T","P","E","Z","Y"];function C9(e){var t=e.grouping===void 0||e.thousands===void 0?Mj:k9(Lj.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?Mj:S9(Lj.call(e.numerals,String)),l=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"โˆ’":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function f(p,g){p=ks(p);var y=p.fill,w=p.align,S=p.sign,b=p.symbol,P=p.zero,E=p.width,O=p.comma,A=p.precision,I=p.trim,C=p.type;C==="n"?(O=!0,C="g"):Dj[C]||(A===void 0&&(A=12),I=!0,C="g"),(P||y==="0"&&w==="=")&&(P=!0,y="0",w="=");var M=(g&&g.prefix!==void 0?g.prefix:"")+(b==="$"?n:b==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),B=(b==="$"?r:/[%p]/.test(C)?l:"")+(g&&g.suffix!==void 0?g.suffix:""),H=Dj[C],L=/[defgprs%]/.test(C);A=A===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function W(R){var V=M,G=B,Q,de,ce;if(C==="c")G=H(R)+G,R="";else{R=+R;var J=R<0||1/R<0;if(R=isNaN(R)?c:H(Math.abs(R),A),I&&(R=P9(R)),J&&+R==0&&S!=="+"&&(J=!1),V=(J?S==="("?S:u:S==="-"||S==="("?"":S)+V,G=(C==="s"&&!isNaN(R)&&yf!==void 0?Rj[8+yf/3]:"")+G+(J&&S==="("?")":""),L){for(Q=-1,de=R.length;++Qce||ce>57){G=(ce===46?i+R.slice(Q+1):R.slice(Q))+G,R=R.slice(0,Q);break}}}O&&!P&&(R=t(R,1/0));var ae=V.length+R.length+G.length,T=ae>1)+V+R+G+T.slice(ae);break;default:R=T+V+R+G;break}return a(R)}return W.toString=function(){return p+""},W}function d(p,g){var y=Math.max(-8,Math.min(8,Math.floor(Ro(g)/3)))*3,w=Math.pow(10,-y),S=f((p=ks(p),p.type="f",p),{suffix:Rj[8+y/3]});return function(b){return S(w*b)}}return{format:f,formatPrefix:d}}var kc,Yy,xA;O9({thousands:",",grouping:[3],currency:["$",""]});function O9(e){return kc=C9(e),Yy=kc.format,xA=kc.formatPrefix,kc}function N9(e){return Math.max(0,-Ro(Math.abs(e)))}function A9(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ro(t)/3)))*3-Ro(Math.abs(e)))}function _9(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ro(t)-Ro(e))+1}function bA(e,t,n,r){var i=Ev(e,t,n),a;switch(r=ks(r??",f"),r.type){case"s":{var l=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=A9(i,l))&&(r.precision=a),xA(r,l)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=_9(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=N9(i))&&(r.precision=a-(r.type==="%")*2);break}}return Yy(r)}function ea(e){var t=e.domain;return e.ticks=function(n){var r=t();return jv(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return bA(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,a=r.length-1,l=r[i],u=r[a],c,f,d=10;for(u0;){if(f=Pv(l,u,n),f===c)return r[i]=l,r[a]=u,t(r);if(f>0)l=Math.floor(l/f)*f,u=Math.ceil(u/f)*f;else if(f<0)l=Math.ceil(l*f)/f,u=Math.floor(u*f)/f;else break;c=f}return e},e}function wA(){var e=Ky();return e.copy=function(){return Fs(e,wA())},tr.apply(e,arguments),ea(e)}function kA(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,gf),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return kA(e).unknown(t)},e=arguments.length?Array.from(e,gf):[0,1],ea(n)}function SA(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],l;return aMath.pow(e,t)}function L9(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 Fj(e){return(t,n)=>-e(-t,n)}function Xy(e){const t=e(zj,$j),n=t.domain;let r=10,i,a;function l(){return i=L9(r),a=M9(r),n()[0]<0?(i=Fj(i),a=Fj(a),e(I9,T9)):e(zj,$j),t}return t.base=function(u){return arguments.length?(r=+u,l()):r},t.domain=function(u){return arguments.length?(n(u),l()):n()},t.ticks=u=>{const c=n();let f=c[0],d=c[c.length-1];const p=d0){for(;g<=y;++g)for(w=1;wd)break;P.push(S)}}else for(;g<=y;++g)for(w=r-1;w>=1;--w)if(S=g>0?w/a(-g):w*a(g),!(Sd)break;P.push(S)}P.length*2{if(u==null&&(u=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=ks(c)).precision==null&&(c.trim=!0),c=Yy(c)),u===1/0)return c;const f=Math.max(1,r*u/t.ticks().length);return d=>{let p=d/a(Math.round(i(d)));return p*rn(SA(n(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function jA(){const e=Xy(pd()).domain([1,10]);return e.copy=()=>Fs(e,jA()).base(e.base()),tr.apply(e,arguments),e}function Bj(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Uj(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Qy(e){var t=1,n=e(Bj(t),Uj(t));return n.constant=function(r){return arguments.length?e(Bj(t=+r),Uj(t)):t},ea(n)}function PA(){var e=Qy(pd());return e.copy=function(){return Fs(e,PA()).constant(e.constant())},tr.apply(e,arguments)}function Wj(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function R9(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function z9(e){return e<0?-e*e:e*e}function Zy(e){var t=e(fn,fn),n=1;function r(){return n===1?e(fn,fn):n===.5?e(R9,z9):e(Wj(n),Wj(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},ea(t)}function Jy(){var e=Zy(pd());return e.copy=function(){return Fs(e,Jy()).exponent(e.exponent())},tr.apply(e,arguments),e}function $9(){return Jy.apply(null,arguments).exponent(.5)}function qj(e){return Math.sign(e)*e*e}function F9(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function EA(){var e=Ky(),t=[0,1],n=!1,r;function i(a){var l=F9(e(a));return isNaN(l)?r:n?Math.round(l):l}return i.invert=function(a){return e.invert(qj(a))},i.domain=function(a){return arguments.length?(e.domain(a),i):e.domain()},i.range=function(a){return arguments.length?(e.range((t=Array.from(a,gf)).map(qj)),i):t.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(n=!!a,i):n},i.clamp=function(a){return arguments.length?(e.clamp(a),i):e.clamp()},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return EA(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},tr.apply(i,arguments),ea(i)}function CA(){var e=[],t=[],n=[],r;function i(){var l=0,u=Math.max(1,t.length);for(n=new Array(u-1);++l0?n[u-1]:e[0],u=n?[r[n-1],t]:[r[f-1],r[f]]},l.unknown=function(c){return arguments.length&&(a=c),l},l.thresholds=function(){return r.slice()},l.copy=function(){return OA().domain([e,t]).range(i).unknown(a)},tr.apply(ea(l),arguments)}function NA(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[zs(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var l=t.indexOf(a);return[e[l-1],e[l]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return NA().domain(e).range(t).unknown(n)},tr.apply(i,arguments)}const ug=new Date,cg=new Date;function Nt(e,t,n,r){function i(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const l=i(a),u=i.ceil(a);return a-l(t(a=new Date(+a),l==null?1:Math.floor(l)),a),i.range=(a,l,u)=>{const c=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return c;let f;do c.push(f=new Date(+a)),t(a,u),e(a);while(fNt(l=>{if(l>=l)for(;e(l),!a(l);)l.setTime(l-1)},(l,u)=>{if(l>=l)if(u<0)for(;++u<=0;)for(;t(l,-1),!a(l););else for(;--u>=0;)for(;t(l,1),!a(l););}),n&&(i.count=(a,l)=>(ug.setTime(+a),cg.setTime(+l),e(ug),e(cg),Math.floor(n(ug,cg))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?l=>r(l)%a===0:l=>i.count(0,l)%a===0):i)),i}const xf=Nt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);xf.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Nt(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):xf);xf.range;const Jr=1e3,Qn=Jr*60,ei=Qn*60,ii=ei*24,ex=ii*7,Hj=ii*30,fg=ii*365,Sa=Nt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Jr)},(e,t)=>(t-e)/Jr,e=>e.getUTCSeconds());Sa.range;const tx=Nt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Jr)},(e,t)=>{e.setTime(+e+t*Qn)},(e,t)=>(t-e)/Qn,e=>e.getMinutes());tx.range;const nx=Nt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Qn)},(e,t)=>(t-e)/Qn,e=>e.getUTCMinutes());nx.range;const rx=Nt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Jr-e.getMinutes()*Qn)},(e,t)=>{e.setTime(+e+t*ei)},(e,t)=>(t-e)/ei,e=>e.getHours());rx.range;const ix=Nt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ei)},(e,t)=>(t-e)/ei,e=>e.getUTCHours());ix.range;const Bs=Nt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Qn)/ii,e=>e.getDate()-1);Bs.range;const md=Nt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>e.getUTCDate()-1);md.range;const AA=Nt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>Math.floor(e/ii));AA.range;function Ua(e){return Nt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Qn)/ex)}const gd=Ua(0),bf=Ua(1),B9=Ua(2),U9=Ua(3),zo=Ua(4),W9=Ua(5),q9=Ua(6);gd.range;bf.range;B9.range;U9.range;zo.range;W9.range;q9.range;function Wa(e){return Nt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/ex)}const vd=Wa(0),wf=Wa(1),H9=Wa(2),V9=Wa(3),$o=Wa(4),K9=Wa(5),G9=Wa(6);vd.range;wf.range;H9.range;V9.range;$o.range;K9.range;G9.range;const ax=Nt(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());ax.range;const ox=Nt(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());ox.range;const ai=Nt(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());ai.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Nt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});ai.range;const oi=Nt(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());oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Nt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});oi.range;function _A(e,t,n,r,i,a){const l=[[Sa,1,Jr],[Sa,5,5*Jr],[Sa,15,15*Jr],[Sa,30,30*Jr],[a,1,Qn],[a,5,5*Qn],[a,15,15*Qn],[a,30,30*Qn],[i,1,ei],[i,3,3*ei],[i,6,6*ei],[i,12,12*ei],[r,1,ii],[r,2,2*ii],[n,1,ex],[t,1,Hj],[t,3,3*Hj],[e,1,fg]];function u(f,d,p){const g=db).right(l,g);if(y===l.length)return e.every(Ev(f/fg,d/fg,p));if(y===0)return xf.every(Math.max(Ev(f,d,p),1));const[w,S]=l[g/l[y-1][2]53)return null;"w"in ie||(ie.w=1),"Z"in ie?(ze=hg(Kl(ie.y,0,1)),ct=ze.getUTCDay(),ze=ct>4||ct===0?wf.ceil(ze):wf(ze),ze=md.offset(ze,(ie.V-1)*7),ie.y=ze.getUTCFullYear(),ie.m=ze.getUTCMonth(),ie.d=ze.getUTCDate()+(ie.w+6)%7):(ze=dg(Kl(ie.y,0,1)),ct=ze.getDay(),ze=ct>4||ct===0?bf.ceil(ze):bf(ze),ze=Bs.offset(ze,(ie.V-1)*7),ie.y=ze.getFullYear(),ie.m=ze.getMonth(),ie.d=ze.getDate()+(ie.w+6)%7)}else("W"in ie||"U"in ie)&&("w"in ie||(ie.w="u"in ie?ie.u%7:"W"in ie?1:0),ct="Z"in ie?hg(Kl(ie.y,0,1)).getUTCDay():dg(Kl(ie.y,0,1)).getDay(),ie.m=0,ie.d="W"in ie?(ie.w+6)%7+ie.W*7-(ct+5)%7:ie.w+ie.U*7-(ct+6)%7);return"Z"in ie?(ie.H+=ie.Z/100|0,ie.M+=ie.Z%100,hg(ie)):dg(ie)}}function B(Z,we,Ae,ie){for(var rt=0,ze=we.length,ct=Ae.length,ft,Wt;rt=ct)return-1;if(ft=we.charCodeAt(rt++),ft===37){if(ft=we.charAt(rt++),Wt=I[ft in Vj?we.charAt(rt++):ft],!Wt||(ie=Wt(Z,Ae,ie))<0)return-1}else if(ft!=Ae.charCodeAt(ie++))return-1}return ie}function H(Z,we,Ae){var ie=f.exec(we.slice(Ae));return ie?(Z.p=d.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function L(Z,we,Ae){var ie=y.exec(we.slice(Ae));return ie?(Z.w=w.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function W(Z,we,Ae){var ie=p.exec(we.slice(Ae));return ie?(Z.w=g.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function R(Z,we,Ae){var ie=P.exec(we.slice(Ae));return ie?(Z.m=E.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function V(Z,we,Ae){var ie=S.exec(we.slice(Ae));return ie?(Z.m=b.get(ie[0].toLowerCase()),Ae+ie[0].length):-1}function G(Z,we,Ae){return B(Z,t,we,Ae)}function Q(Z,we,Ae){return B(Z,n,we,Ae)}function de(Z,we,Ae){return B(Z,r,we,Ae)}function ce(Z){return l[Z.getDay()]}function J(Z){return a[Z.getDay()]}function ae(Z){return c[Z.getMonth()]}function T(Z){return u[Z.getMonth()]}function $(Z){return i[+(Z.getHours()>=12)]}function U(Z){return 1+~~(Z.getMonth()/3)}function _(Z){return l[Z.getUTCDay()]}function te(Z){return a[Z.getUTCDay()]}function he(Z){return c[Z.getUTCMonth()]}function fe(Z){return u[Z.getUTCMonth()]}function Se(Z){return i[+(Z.getUTCHours()>=12)]}function je(Z){return 1+~~(Z.getUTCMonth()/3)}return{format:function(Z){var we=C(Z+="",O);return we.toString=function(){return Z},we},parse:function(Z){var we=M(Z+="",!1);return we.toString=function(){return Z},we},utcFormat:function(Z){var we=C(Z+="",A);return we.toString=function(){return Z},we},utcParse:function(Z){var we=M(Z+="",!0);return we.toString=function(){return Z},we}}}var Vj={"-":"",_:" ",0:"0"},Ft=/^\s*\d+/,eH=/^%/,tH=/[\\^$*+?|[\]().{}]/g;function We(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",a=i.length;return r+(a[t.toLowerCase(),n]))}function rH(e,t,n){var r=Ft.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function iH(e,t,n){var r=Ft.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function aH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function oH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function lH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Kj(e,t,n){var r=Ft.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Gj(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function sH(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function uH(e,t,n){var r=Ft.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function cH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Yj(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function fH(e,t,n){var r=Ft.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Xj(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function dH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function hH(e,t,n){var r=Ft.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function pH(e,t,n){var r=Ft.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function mH(e,t,n){var r=Ft.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function gH(e,t,n){var r=eH.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function vH(e,t,n){var r=Ft.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function yH(e,t,n){var r=Ft.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Qj(e,t){return We(e.getDate(),t,2)}function xH(e,t){return We(e.getHours(),t,2)}function bH(e,t){return We(e.getHours()%12||12,t,2)}function wH(e,t){return We(1+Bs.count(ai(e),e),t,3)}function IA(e,t){return We(e.getMilliseconds(),t,3)}function kH(e,t){return IA(e,t)+"000"}function SH(e,t){return We(e.getMonth()+1,t,2)}function jH(e,t){return We(e.getMinutes(),t,2)}function PH(e,t){return We(e.getSeconds(),t,2)}function EH(e){var t=e.getDay();return t===0?7:t}function CH(e,t){return We(gd.count(ai(e)-1,e),t,2)}function TA(e){var t=e.getDay();return t>=4||t===0?zo(e):zo.ceil(e)}function OH(e,t){return e=TA(e),We(zo.count(ai(e),e)+(ai(e).getDay()===4),t,2)}function NH(e){return e.getDay()}function AH(e,t){return We(bf.count(ai(e)-1,e),t,2)}function _H(e,t){return We(e.getFullYear()%100,t,2)}function IH(e,t){return e=TA(e),We(e.getFullYear()%100,t,2)}function TH(e,t){return We(e.getFullYear()%1e4,t,4)}function DH(e,t){var n=e.getDay();return e=n>=4||n===0?zo(e):zo.ceil(e),We(e.getFullYear()%1e4,t,4)}function MH(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+We(t/60|0,"0",2)+We(t%60,"0",2)}function Zj(e,t){return We(e.getUTCDate(),t,2)}function LH(e,t){return We(e.getUTCHours(),t,2)}function RH(e,t){return We(e.getUTCHours()%12||12,t,2)}function zH(e,t){return We(1+md.count(oi(e),e),t,3)}function DA(e,t){return We(e.getUTCMilliseconds(),t,3)}function $H(e,t){return DA(e,t)+"000"}function FH(e,t){return We(e.getUTCMonth()+1,t,2)}function BH(e,t){return We(e.getUTCMinutes(),t,2)}function UH(e,t){return We(e.getUTCSeconds(),t,2)}function WH(e){var t=e.getUTCDay();return t===0?7:t}function qH(e,t){return We(vd.count(oi(e)-1,e),t,2)}function MA(e){var t=e.getUTCDay();return t>=4||t===0?$o(e):$o.ceil(e)}function HH(e,t){return e=MA(e),We($o.count(oi(e),e)+(oi(e).getUTCDay()===4),t,2)}function VH(e){return e.getUTCDay()}function KH(e,t){return We(wf.count(oi(e)-1,e),t,2)}function GH(e,t){return We(e.getUTCFullYear()%100,t,2)}function YH(e,t){return e=MA(e),We(e.getUTCFullYear()%100,t,2)}function XH(e,t){return We(e.getUTCFullYear()%1e4,t,4)}function QH(e,t){var n=e.getUTCDay();return e=n>=4||n===0?$o(e):$o.ceil(e),We(e.getUTCFullYear()%1e4,t,4)}function ZH(){return"+0000"}function Jj(){return"%"}function eP(e){return+e}function tP(e){return Math.floor(+e/1e3)}var yo,LA,RA;JH({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 JH(e){return yo=J9(e),LA=yo.format,yo.parse,RA=yo.utcFormat,yo.utcParse,yo}function eV(e){return new Date(e)}function tV(e){return e instanceof Date?+e:+new Date(+e)}function lx(e,t,n,r,i,a,l,u,c,f){var d=Ky(),p=d.invert,g=d.domain,y=f(".%L"),w=f(":%S"),S=f("%I:%M"),b=f("%I %p"),P=f("%a %d"),E=f("%b %d"),O=f("%B"),A=f("%Y");function I(C){return(c(C)t(i/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,a)=>Wq(e,a/r))},n.copy=function(){return BA(t).domain(e)},hi.apply(n,arguments)}function xd(){var e=0,t=.5,n=1,r=1,i,a,l,u,c,f=fn,d,p=!1,g;function y(S){return isNaN(S=+S)?g:(S=.5+((S=+d(S))-a)*(r*Se.chartData,HA=X([pi],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),VA=(e,t,n,r)=>r?HA(e):pi(e),KA=(e,t,n)=>n?HA(e):pi(e);function li(e){if(Array.isArray(e)&&e.length===2){var[t,n]=e;if(De(t)&&De(n))return!0}return!1}function nP(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function GA(e,t){if(t&&typeof e!="function"&&Array.isArray(e)&&e.length===2){var[n,r]=e,i,a;if(De(n))i=n;else if(typeof n=="function")return;if(De(r))a=r;else if(typeof r=="function")return;var l=[i,a];if(li(l))return l}}function oV(e,t,n){if(!(!n&&t==null)){if(typeof e=="function"&&t!=null)try{var r=e(t,n);if(li(r))return nP(r,t,n)}catch{}if(Array.isArray(e)&&e.length===2){var[i,a]=e,l,u;if(i==="auto")t!=null&&(l=Math.min(...t));else if(ge(i))l=i;else if(typeof i=="function")try{t!=null&&(l=i(t==null?void 0:t[0]))}catch{}else if(typeof i=="string"&&pS.test(i)){var c=pS.exec(i);if(c==null||c[1]==null||t==null)l=void 0;else{var f=+c[1];l=t[0]-f}}else l=t==null?void 0:t[0];if(a==="auto")t!=null&&(u=Math.max(...t));else if(ge(a))u=a;else if(typeof a=="function")try{t!=null&&(u=a(t==null?void 0:t[1]))}catch{}else if(typeof a=="string"&&mS.test(a)){var d=mS.exec(a);if(d==null||d[1]==null||t==null)u=void 0;else{var p=+d[1];u=t[1]+p}}else u=t==null?void 0:t[1];var g=[l,u];if(li(g))return t==null?g:nP(g,t,n)}}}var qo=1e9,lV={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},fx,ot=!0,er="[DecimalError] ",Ca=er+"Invalid argument: ",cx=er+"Exponent out of range: ",Ho=Math.floor,ba=Math.pow,sV=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Mn,Lt=1e7,nt=7,YA=9007199254740991,kf=Ho(YA/nt),ye={};ye.absoluteValue=ye.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};ye.comparedTo=ye.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1};ye.decimalPlaces=ye.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*nt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};ye.dividedBy=ye.div=function(e){return ti(this,new this.constructor(e))};ye.dividedToIntegerBy=ye.idiv=function(e){var t=this,n=t.constructor;return Ye(ti(t,new n(e),0,1),n.precision)};ye.equals=ye.eq=function(e){return!this.cmp(e)};ye.exponent=function(){return jt(this)};ye.greaterThan=ye.gt=function(e){return this.cmp(e)>0};ye.greaterThanOrEqualTo=ye.gte=function(e){return this.cmp(e)>=0};ye.isInteger=ye.isint=function(){return this.e>this.d.length-2};ye.isNegative=ye.isneg=function(){return this.s<0};ye.isPositive=ye.ispos=function(){return this.s>0};ye.isZero=function(){return this.s===0};ye.lessThan=ye.lt=function(e){return this.cmp(e)<0};ye.lessThanOrEqualTo=ye.lte=function(e){return this.cmp(e)<1};ye.logarithm=ye.log=function(e){var t,n=this,r=n.constructor,i=r.precision,a=i+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Mn))throw Error(er+"NaN");if(n.s<1)throw Error(er+(n.s?"NaN":"-Infinity"));return n.eq(Mn)?new r(0):(ot=!1,t=ti(Ss(n,a),Ss(e,a),a),ot=!0,Ye(t,i))};ye.minus=ye.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?ZA(t,e):XA(t,(e.s=-e.s,e))};ye.modulo=ye.mod=function(e){var t,n=this,r=n.constructor,i=r.precision;if(e=new r(e),!e.s)throw Error(er+"NaN");return n.s?(ot=!1,t=ti(n,e,0,1).times(e),ot=!0,n.minus(t)):Ye(new r(n),i)};ye.naturalExponential=ye.exp=function(){return QA(this)};ye.naturalLogarithm=ye.ln=function(){return Ss(this)};ye.negated=ye.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};ye.plus=ye.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?XA(t,e):ZA(t,(e.s=-e.s,e))};ye.precision=ye.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ca+e);if(t=jt(i)+1,r=i.d.length-1,n=r*nt+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};ye.squareRoot=ye.sqrt=function(){var e,t,n,r,i,a,l,u=this,c=u.constructor;if(u.s<1){if(!u.s)return new c(0);throw Error(er+"NaN")}for(e=jt(u),ot=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=Ir(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Ho((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),r=new c(t)):r=new c(i.toString()),n=c.precision,i=l=n+3;;)if(a=r,r=a.plus(ti(u,a,l+2)).times(.5),Ir(a.d).slice(0,l)===(t=Ir(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),i==l&&t=="4999"){if(Ye(a,n+1,0),a.times(a).eq(u)){r=a;break}}else if(t!="9999")break;l+=4}return ot=!0,Ye(r,n)};ye.times=ye.mul=function(e){var t,n,r,i,a,l,u,c,f,d=this,p=d.constructor,g=d.d,y=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,c=g.length,f=y.length,c=0;){for(t=0,i=c+r;i>r;)u=a[i]+y[r]*g[i-r-1]+t,a[i--]=u%Lt|0,t=u/Lt|0;a[i]=(a[i]+t)%Lt|0}for(;!a[--l];)a.pop();return t?++n:a.shift(),e.d=a,e.e=n,ot?Ye(e,p.precision):e};ye.toDecimalPlaces=ye.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Lr(e,0,qo),t===void 0?t=r.rounding:Lr(t,0,8),Ye(n,e+jt(n)+1,t))};ye.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Ma(r,!0):(Lr(e,0,qo),t===void 0?t=i.rounding:Lr(t,0,8),r=Ye(new i(r),e+1,t),n=Ma(r,!0,e+1)),n};ye.toFixed=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?Ma(i):(Lr(e,0,qo),t===void 0?t=a.rounding:Lr(t,0,8),r=Ye(new a(i),e+jt(i)+1,t),n=Ma(r.abs(),!1,e+jt(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};ye.toInteger=ye.toint=function(){var e=this,t=e.constructor;return Ye(new t(e),jt(e)+1,t.rounding)};ye.toNumber=function(){return+this};ye.toPower=ye.pow=function(e){var t,n,r,i,a,l,u=this,c=u.constructor,f=12,d=+(e=new c(e));if(!e.s)return new c(Mn);if(u=new c(u),!u.s){if(e.s<1)throw Error(er+"Infinity");return u}if(u.eq(Mn))return u;if(r=c.precision,e.eq(Mn))return Ye(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,a=u.s,l){if((n=d<0?-d:d)<=YA){for(i=new c(Mn),t=Math.ceil(r/nt+4),ot=!1;n%2&&(i=i.times(u),iP(i.d,t)),n=Ho(n/2),n!==0;)u=u.times(u),iP(u.d,t);return ot=!0,e.s<0?new c(Mn).div(i):Ye(i,r)}}else if(a<0)throw Error(er+"NaN");return a=a<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,ot=!1,i=e.times(Ss(u,r+f)),ot=!0,i=QA(i),i.s=a,i};ye.toPrecision=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?(n=jt(i),r=Ma(i,n<=a.toExpNeg||n>=a.toExpPos)):(Lr(e,1,qo),t===void 0?t=a.rounding:Lr(t,0,8),i=Ye(new a(i),e,t),n=jt(i),r=Ma(i,e<=n||n<=a.toExpNeg,e)),r};ye.toSignificantDigits=ye.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Lr(e,1,qo),t===void 0?t=r.rounding:Lr(t,0,8)),Ye(new r(n),e,t)};ye.toString=ye.valueOf=ye.val=ye.toJSON=ye[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=jt(e),n=e.constructor;return Ma(e,t<=n.toExpNeg||t>=n.toExpPos)};function XA(e,t){var n,r,i,a,l,u,c,f,d=e.constructor,p=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),ot?Ye(t,p):t;if(c=e.d,f=t.d,l=e.e,i=t.e,c=c.slice(),a=l-i,a){for(a<0?(r=c,a=-a,u=f.length):(r=f,i=l,u=c.length),l=Math.ceil(p/nt),u=l>u?l+1:u+1,a>u&&(a=u,r.length=1),r.reverse();a--;)r.push(0);r.reverse()}for(u=c.length,a=f.length,u-a<0&&(a=u,r=f,f=c,c=r),n=0;a;)n=(c[--a]=c[a]+f[a]+n)/Lt|0,c[a]%=Lt;for(n&&(c.unshift(n),++i),u=c.length;c[--u]==0;)c.pop();return t.d=c,t.e=i,ot?Ye(t,p):t}function Lr(e,t,n){if(e!==~~e||en)throw Error(Ca+e)}function Ir(e){var t,n,r,i=e.length-1,a="",l=e[0];if(i>0){for(a+=l,t=1;tl?1:-1;else for(u=c=0;ui[u]?1:-1;break}return c}function n(r,i,a){for(var l=0;a--;)r[a]-=l,l=r[a]1;)r.shift()}return function(r,i,a,l){var u,c,f,d,p,g,y,w,S,b,P,E,O,A,I,C,M,B,H=r.constructor,L=r.s==i.s?1:-1,W=r.d,R=i.d;if(!r.s)return new H(r);if(!i.s)throw Error(er+"Division by zero");for(c=r.e-i.e,M=R.length,I=W.length,y=new H(L),w=y.d=[],f=0;R[f]==(W[f]||0);)++f;if(R[f]>(W[f]||0)&&--c,a==null?E=a=H.precision:l?E=a+(jt(r)-jt(i))+1:E=a,E<0)return new H(0);if(E=E/nt+2|0,f=0,M==1)for(d=0,R=R[0],E++;(f1&&(R=e(R,d),W=e(W,d),M=R.length,I=W.length),A=M,S=W.slice(0,M),b=S.length;b=Lt/2&&++C;do d=0,u=t(R,S,M,b),u<0?(P=S[0],M!=b&&(P=P*Lt+(S[1]||0)),d=P/C|0,d>1?(d>=Lt&&(d=Lt-1),p=e(R,d),g=p.length,b=S.length,u=t(p,S,g,b),u==1&&(d--,n(p,M16)throw Error(cx+jt(e));if(!e.s)return new d(Mn);for(ot=!1,u=p,l=new d(.03125);e.abs().gte(.1);)e=e.times(l),f+=5;for(r=Math.log(ba(2,f))/Math.LN10*2+5|0,u+=r,n=i=a=new d(Mn),d.precision=u;;){if(i=Ye(i.times(e),u),n=n.times(++c),l=a.plus(ti(i,n,u)),Ir(l.d).slice(0,u)===Ir(a.d).slice(0,u)){for(;f--;)a=Ye(a.times(a),u);return d.precision=p,t==null?(ot=!0,Ye(a,p)):a}a=l}}function jt(e){for(var t=e.e*nt,n=e.d[0];n>=10;n/=10)t++;return t}function pg(e,t,n){if(t>e.LN10.sd())throw ot=!0,n&&(e.precision=n),Error(er+"LN10 precision limit exceeded");return Ye(new e(e.LN10),t)}function Wi(e){for(var t="";e--;)t+="0";return t}function Ss(e,t){var n,r,i,a,l,u,c,f,d,p=1,g=10,y=e,w=y.d,S=y.constructor,b=S.precision;if(y.s<1)throw Error(er+(y.s?"NaN":"-Infinity"));if(y.eq(Mn))return new S(0);if(t==null?(ot=!1,f=b):f=t,y.eq(10))return t==null&&(ot=!0),pg(S,f);if(f+=g,S.precision=f,n=Ir(w),r=n.charAt(0),a=jt(y),Math.abs(a)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(e),n=Ir(y.d),r=n.charAt(0),p++;a=jt(y),r>1?(y=new S("0."+n),a++):y=new S(r+"."+n.slice(1))}else return c=pg(S,f+2,b).times(a+""),y=Ss(new S(r+"."+n.slice(1)),f-g).plus(c),S.precision=b,t==null?(ot=!0,Ye(y,b)):y;for(u=l=y=ti(y.minus(Mn),y.plus(Mn),f),d=Ye(y.times(y),f),i=3;;){if(l=Ye(l.times(d),f),c=u.plus(ti(l,new S(i),f)),Ir(c.d).slice(0,f)===Ir(u.d).slice(0,f))return u=u.times(2),a!==0&&(u=u.plus(pg(S,f+2,b).times(a+""))),u=ti(u,new S(p),f),S.precision=b,t==null?(ot=!0,Ye(u,b)):u;u=c,i+=2}}function rP(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(r,i),t){if(i-=r,n=n-r-1,e.e=Ho(n/nt),e.d=[],r=(n+1)%nt,n<0&&(r+=nt),rkf||e.e<-kf))throw Error(cx+n)}else e.s=0,e.e=0,e.d=[0];return e}function Ye(e,t,n){var r,i,a,l,u,c,f,d,p=e.d;for(l=1,a=p[0];a>=10;a/=10)l++;if(r=t-l,r<0)r+=nt,i=t,f=p[d=0];else{if(d=Math.ceil((r+1)/nt),a=p.length,d>=a)return e;for(f=a=p[d],l=1;a>=10;a/=10)l++;r%=nt,i=r-nt+l}if(n!==void 0&&(a=ba(10,l-i-1),u=f/a%10|0,c=t<0||p[d+1]!==void 0||f%a,c=n<4?(u||c)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||c||n==6&&(r>0?i>0?f/ba(10,l-i):0:p[d-1])%10&1||n==(e.s<0?8:7))),t<1||!p[0])return c?(a=jt(e),p.length=1,t=t-a-1,p[0]=ba(10,(nt-t%nt)%nt),e.e=Ho(-t/nt)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(r==0?(p.length=d,a=1,d--):(p.length=d+1,a=ba(10,nt-r),p[d]=i>0?(f/ba(10,l-i)%ba(10,i)|0)*a:0),c)for(;;)if(d==0){(p[0]+=a)==Lt&&(p[0]=1,++e.e);break}else{if(p[d]+=a,p[d]!=Lt)break;p[d--]=0,a=1}for(r=p.length;p[--r]===0;)p.pop();if(ot&&(e.e>kf||e.e<-kf))throw Error(cx+jt(e));return e}function ZA(e,t){var n,r,i,a,l,u,c,f,d,p,g=e.constructor,y=g.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new g(e),ot?Ye(t,y):t;if(c=e.d,p=t.d,r=t.e,f=e.e,c=c.slice(),l=f-r,l){for(d=l<0,d?(n=c,l=-l,u=p.length):(n=p,r=f,u=c.length),i=Math.max(Math.ceil(y/nt),u)+2,l>i&&(l=i,n.length=1),n.reverse(),i=l;i--;)n.push(0);n.reverse()}else{for(i=c.length,u=p.length,d=i0;--i)c[u++]=0;for(i=p.length;i>l;){if(c[--i]0?a=a.charAt(0)+"."+a.slice(1)+Wi(r):l>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Wi(-i-1)+a,n&&(r=n-l)>0&&(a+=Wi(r))):i>=l?(a+=Wi(i+1-l),n&&(r=n-i-1)>0&&(a=a+"."+Wi(r))):((r=i+1)0&&(i+1===l&&(a+="."),a+=Wi(r))),e.s<0?"-"+a:a}function iP(e,t){if(e.length>t)return e.length=t,!0}function JA(e){var t,n,r;function i(a){var l=this;if(!(l instanceof i))return new i(a);if(l.constructor=i,a instanceof i){l.s=a.s,l.e=a.e,l.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(Ca+a);if(a>0)l.s=1;else if(a<0)a=-a,l.s=-1;else{l.s=0,l.e=0,l.d=[0];return}if(a===~~a&&a<1e7){l.e=0,l.d=[a];return}return rP(l,a.toString())}else if(typeof a!="string")throw Error(Ca+a);if(a.charCodeAt(0)===45?(a=a.slice(1),l.s=-1):l.s=1,sV.test(a))rP(l,a);else throw Error(Ca+a)}if(i.prototype=ye,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=JA,i.config=i.set=uV,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(Ca+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Ca+n+": "+r);return this}var fx=JA(lV);Mn=new fx(1);const Ke=fx;function e_(e){var t;return e===0?t=1:t=Math.floor(new Ke(e).abs().log(10).toNumber())+1,t}function t_(e,t,n){for(var r=new Ke(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var n_=e=>{var[t,n]=e,[r,i]=[t,n];return t>n&&([r,i]=[n,t]),[r,i]},r_=(e,t,n)=>{if(e.lte(0))return new Ke(0);var r=e_(e.toNumber()),i=new Ke(10).pow(r),a=e.div(i),l=r!==1?.05:.1,u=new Ke(Math.ceil(a.div(l).toNumber())).add(n).mul(l),c=u.mul(i);return t?new Ke(c.toNumber()):new Ke(Math.ceil(c.toNumber()))},cV=(e,t,n)=>{var r=new Ke(1),i=new Ke(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new Ke(10).pow(e_(e)-1),i=new Ke(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new Ke(Math.floor(e)))}else e===0?i=new Ke(Math.floor((t-1)/2)):n||(i=new Ke(Math.floor(e)));for(var l=Math.floor((t-1)/2),u=[],c=0;c4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-t)/(r-1)))return{step:new Ke(0),tickMin:new Ke(0),tickMax:new Ke(0)};var l=r_(new Ke(n).sub(t).div(r-1),i,a),u;t<=0&&n>=0?u=new Ke(0):(u=new Ke(t).add(n).div(2),u=u.sub(new Ke(u).mod(l)));var c=Math.ceil(u.sub(t).div(l).toNumber()),f=Math.ceil(new Ke(n).sub(u).div(l).toNumber()),d=c+f+1;return d>r?i_(t,n,r,i,a+1):(d0?f+(r-d):f,c=n>0?c:c+(r-d)),{step:l,tickMin:u.sub(new Ke(c).mul(l)),tickMax:u.add(new Ke(f).mul(l))})},fV=function(t){var[n,r]=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=Math.max(i,2),[u,c]=n_([n,r]);if(u===-1/0||c===1/0){var f=c===1/0?[u,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),c];return n>r?f.reverse():f}if(u===c)return cV(u,i,a);var{step:d,tickMin:p,tickMax:g}=i_(u,c,l,a,0),y=t_(p,g.add(new Ke(.1).mul(d)),d);return n>r?y.reverse():y},dV=function(t,n){var[r,i]=t,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,[l,u]=n_([r,i]);if(l===-1/0||u===1/0)return[r,i];if(l===u)return[l];var c=Math.max(n,2),f=r_(new Ke(u).sub(l).div(c-1),a,0),d=[...t_(new Ke(l),new Ke(u),f),u];return a===!1&&(d=d.map(p=>Math.round(p))),r>i?d.reverse():d},a_=e=>e.rootProps.maxBarSize,hV=e=>e.rootProps.barGap,o_=e=>e.rootProps.barCategoryGap,pV=e=>e.rootProps.barSize,bd=e=>e.rootProps.stackOffset,l_=e=>e.rootProps.reverseStackOrder,dx=e=>e.options.chartName,hx=e=>e.rootProps.syncId,s_=e=>e.rootProps.syncMethod,px=e=>e.options.eventEmitter,mV=e=>e.rootProps.baseValue,zt={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},va={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},Or={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},wd=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function kd(e,t,n){if(n!=="auto")return n;if(e!=null)return zr(e,t)?"category":"number"}function aP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Sf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},mx=X([xV,GN],(e,t)=>{var n;if(e!=null)return e;var r=(n=kd(t,"angleAxis",oP.type))!==null&&n!==void 0?n:"category";return Sf(Sf({},oP),{},{type:r})}),bV=(e,t)=>e.polarAxis.radiusAxis[t],gx=X([bV,GN],(e,t)=>{var n;if(e!=null)return e;var r=(n=kd(t,"radiusAxis",lP.type))!==null&&n!==void 0?n:"category";return Sf(Sf({},lP),{},{type:r})}),Sd=e=>e.polarOptions,vx=X([fi,di,$t],vq),u_=X([Sd,vx],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),c_=X([Sd,vx],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),wV=e=>{if(e==null)return[0,0];var{startAngle:t,endAngle:n}=e;return[t,n]},f_=X([Sd],wV);X([mx,f_],wd);var d_=X([vx,u_,c_],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});X([gx,d_],wd);var h_=X([He,Sd,u_,c_,fi,di],(e,t,n,r,i,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||n==null||r==null)){var{cx:l,cy:u,startAngle:c,endAngle:f}=t;return{cx:vr(l,i,i/2),cy:vr(u,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:f,clockWise:!1}}}),Bt=(e,t)=>t,jd=(e,t,n)=>n;function Pd(e){return e==null?void 0:e.id}function p_(e,t,n){var{chartData:r=[]}=t,{allowDuplicatedCategory:i,dataKey:a}=n,l=new Map;return e.forEach(u=>{var c,f=(c=u.data)!==null&&c!==void 0?c:r;if(!(f==null||f.length===0)){var d=Pd(u);f.forEach((p,g)=>{var y=a==null||i?g:String(St(p,a,null)),w=St(p,u.dataKey,0),S;l.has(y)?S=l.get(y):S={},Object.assign(S,{[d]:w}),l.set(y,S)})}}),Array.from(l.values())}function Ed(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Cd=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Od(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function kV(e,t){if(e.length===t.length){for(var n=0;n{var t=He(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Vo=e=>e.tooltip.settings.axisId;function SV(e){if(e in es)return es[e]();var t="scale".concat(_s(e));if(t in es)return es[t]()}function sP(e){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:(function(a){function l(){return a.apply(this,arguments)}return l.toString=function(){return a.toString()},l})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(a){var l=i[0],u=i[1];return l<=u?a>=l&&a<=u:a>=u&&a<=l},bandwidth:n?()=>n.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,l)=>{var u=e(a);if(u!=null){if(e.bandwidth&&l!==null&&l!==void 0&&l.position){var c=e.bandwidth();switch(l.position){case"middle":u+=c/2;break;case"end":u+=c;break}}return u}}}}function uP(e,t,n){if(typeof e=="function")return sP(e.copy().domain(t).range(n));if(e!=null){var r=SV(e);if(r!=null)return r.domain(t).range(n),sP(r)}}var jV=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!li(t)){for(var n,r,i=0;ir)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t}default:return t}};function cP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jf(e){for(var t=1;te.cartesianAxis.xAxis[t],mi=(e,t)=>{var n=m_(e,t);return n??Dt},Mt={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:_v,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,width:Ds},g_=(e,t)=>e.cartesianAxis.yAxis[t],gi=(e,t)=>{var n=g_(e,t);return n??Mt},OV={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:""},yx=(e,t)=>{var n=e.cartesianAxis.zAxis[t];return n??OV},gn=(e,t,n)=>{switch(t){case"xAxis":return mi(e,n);case"yAxis":return gi(e,n);case"zAxis":return yx(e,n);case"angleAxis":return mx(e,n);case"radiusAxis":return gx(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},NV=(e,t,n)=>{switch(t){case"xAxis":return mi(e,n);case"yAxis":return gi(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},Us=(e,t,n)=>{switch(t){case"xAxis":return mi(e,n);case"yAxis":return gi(e,n);case"angleAxis":return mx(e,n);case"radiusAxis":return gx(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},v_=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function y_(e,t){return n=>{switch(e){case"xAxis":return"xAxisId"in n&&n.xAxisId===t;case"yAxis":return"yAxisId"in n&&n.yAxisId===t;case"zAxis":return"zAxisId"in n&&n.zAxisId===t;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===t;default:return!1}}}var Nd=e=>e.graphicalItems.cartesianItems,AV=X([Bt,jd],y_),x_=(e,t,n)=>e.filter(n).filter(r=>(t==null?void 0:t.includeHidden)===!0?!0:!r.hide),Ws=X([Nd,gn,AV],x_,{memoizeOptions:{resultEqualityCheck:Od}}),b_=X([Ws],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Ed)),w_=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),_V=X([Ws],w_),k_=e=>e.map(t=>t.data).filter(Boolean).flat(1),IV=X([Ws],k_,{memoizeOptions:{resultEqualityCheck:Od}}),S_=(e,t)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=t;return e.length>0?e:n.slice(r,i+1)},xx=X([IV,VA],S_),j_=(e,t,n)=>(t==null?void 0:t.dataKey)!=null?e.map(r=>({value:St(r,t.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>e.map(i=>({value:St(i,r)}))):e.map(r=>({value:r})),Ad=X([xx,gn,Ws],j_);function P_(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function Tc(e){if(Dr(e)||e instanceof Date){var t=Number(e);if(De(t))return t}}function fP(e){if(Array.isArray(e)){var t=[Tc(e[0]),Tc(e[1])];return li(t)?t:void 0}var n=Tc(e);if(n!=null)return[n,n]}function si(e){return e.map(Tc).filter(Pn)}function TV(e,t,n){return!n||typeof t!="number"||gr(t)?[]:n.length?si(n.flatMap(r=>{var i=St(e,r.dataKey),a,l;if(Array.isArray(i)?[a,l]=i:a=l=i,!(!De(a)||!De(l)))return[t-a,t+l]})):[]}var At=e=>{var t=Ut(e),n=Vo(e);return Us(e,t,n)},qs=X([At],e=>e==null?void 0:e.dataKey),DV=X([b_,VA,At],p_),E_=(e,t,n,r)=>{var i={},a=t.reduce((l,u)=>{if(u.stackId==null)return l;var c=l[u.stackId];return c==null&&(c=[]),c.push(u),l[u.stackId]=c,l},i);return Object.fromEntries(Object.entries(a).map(l=>{var[u,c]=l,f=r?[...c].reverse():c,d=f.map(Pd);return[u,{stackedData:u8(e,d,n),graphicalItems:f}]}))},Pf=X([DV,b_,bd,l_],E_),C_=(e,t,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=t;if(r==null&&n!=="zAxis"){var l=h8(e,i,a);if(!(l!=null&&l[0]===0&&l[1]===0))return l}},MV=X([gn],e=>e.allowDataOverflow),bx=e=>{var t;if(e==null||!("domain"in e))return _v;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var n=si(e.ticks);return[Math.min(...n),Math.max(...n)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:_v},O_=X([gn],bx),N_=X([O_,MV],GA),LV=X([Pf,pi,Bt,N_],C_,{memoizeOptions:{resultEqualityCheck:Cd}}),wx=e=>e.errorBars,RV=(e,t,n)=>e.flatMap(r=>t[r.id]).filter(Boolean).filter(r=>P_(n,r)),Ef=function(){for(var t=arguments.length,n=new Array(t),r=0;r{var a,l;if(n.length>0&&e.forEach(u=>{n.forEach(c=>{var f,d,p=(f=r[c.id])===null||f===void 0?void 0:f.filter(P=>P_(i,P)),g=St(u,(d=t.dataKey)!==null&&d!==void 0?d:c.dataKey),y=TV(u,g,p);if(y.length>=2){var w=Math.min(...y),S=Math.max(...y);(a==null||wl)&&(l=S)}var b=fP(g);b!=null&&(a=a==null?b[0]:Math.min(a,b[0]),l=l==null?b[1]:Math.max(l,b[1]))})}),(t==null?void 0:t.dataKey)!=null&&e.forEach(u=>{var c=fP(St(u,t.dataKey));c!=null&&(a=a==null?c[0]:Math.min(a,c[0]),l=l==null?c[1]:Math.max(l,c[1]))}),De(a)&&De(l))return[a,l]},zV=X([xx,gn,_V,wx,Bt],A_,{memoizeOptions:{resultEqualityCheck:Cd}});function $V(e){var{value:t}=e;if(Dr(t)||t instanceof Date)return t}var FV=(e,t,n)=>{var r=e.map($V).filter(i=>i!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&qO(r))?fA(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},__=e=>e.referenceElements.dots,Ko=(e,t,n)=>e.filter(r=>r.ifOverflow==="extendDomain").filter(r=>t==="xAxis"?r.xAxisId===n:r.yAxisId===n),BV=X([__,Bt,jd],Ko),I_=e=>e.referenceElements.areas,UV=X([I_,Bt,jd],Ko),T_=e=>e.referenceElements.lines,WV=X([T_,Bt,jd],Ko),D_=(e,t)=>{if(e!=null){var n=si(e.map(r=>t==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},qV=X(BV,Bt,D_),M_=(e,t)=>{if(e!=null){var n=si(e.flatMap(r=>[t==="xAxis"?r.x1:r.y1,t==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},HV=X([UV,Bt],M_);function VV(e){var t;if(e.x!=null)return si([e.x]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.x);return n==null||n.length===0?[]:si(n)}function KV(e){var t;if(e.y!=null)return si([e.y]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.y);return n==null||n.length===0?[]:si(n)}var L_=(e,t)=>{if(e!=null){var n=e.flatMap(r=>t==="xAxis"?VV(r):KV(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},GV=X([WV,Bt],L_),YV=X(qV,GV,HV,(e,t,n)=>Ef(e,n,t)),R_=(e,t,n,r,i,a,l,u)=>{if(n!=null)return n;var c=l==="vertical"&&u==="xAxis"||l==="horizontal"&&u==="yAxis",f=c?Ef(r,a,i):Ef(a,i);return oV(t,f,e.allowDataOverflow)},XV=X([gn,O_,N_,LV,zV,YV,He,Bt],R_,{memoizeOptions:{resultEqualityCheck:Cd}}),QV=[0,1],z_=(e,t,n,r,i,a,l)=>{if(!((e==null||n==null||n.length===0)&&l===void 0)){var{dataKey:u,type:c}=e,f=zr(t,a);if(f&&u==null){var d;return fA(0,(d=n==null?void 0:n.length)!==null&&d!==void 0?d:0)}return c==="category"?FV(r,e,f):i==="expand"?QV:l}},kx=X([gn,He,xx,Ad,bd,Bt,XV],z_);function ZV(e){return e in es}var $_=(e,t,n)=>{if(e!=null){var{scale:r,type:i}=e;if(r==="auto")return i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof r=="string"){var a="scale".concat(_s(r));return ZV(a)?a:"point"}}},Go=X([gn,v_,dx],$_);function Sx(e,t,n,r){if(!(n==null||r==null))return typeof e.scale=="function"?uP(e.scale,n,r):uP(t,n,r)}var F_=(e,t,n)=>{var r=bx(t);if(!(n!=="auto"&&n!=="linear")){if(t!=null&&t.tickCount&&Array.isArray(r)&&(r[0]==="auto"||r[1]==="auto")&&li(e))return fV(e,t.tickCount,t.allowDecimals);if(t!=null&&t.tickCount&&t.type==="number"&&li(e))return dV(e,t.tickCount,t.allowDecimals)}},jx=X([kx,Us,Go],F_),B_=(e,t,n,r)=>{if(r!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&li(t)&&Array.isArray(n)&&n.length>0){var i,a,l=t[0],u=(i=n[0])!==null&&i!==void 0?i:0,c=t[1],f=(a=n[n.length-1])!==null&&a!==void 0?a:0;return[Math.min(l,u),Math.max(c,f)]}return t},JV=X([gn,kx,jx,Bt],B_),eK=X(Ad,gn,(e,t)=>{if(!(!t||t.type!=="number")){var n=1/0,r=Array.from(si(e.map(p=>p.value))).sort((p,g)=>p-g),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var l=a-i;if(l===0)return 1/0;for(var u=0;ui,(e,t,n,r,i)=>{if(!De(e))return 0;var a=t==="vertical"?r.height:r.width;if(i==="gap")return e*a/2;if(i==="no-gap"){var l=vr(n,e*a),u=e*a/2;return u-l-(u-l)/a*l}return 0}),tK=(e,t,n)=>{var r=mi(e,t);return r==null||typeof r.padding!="string"?0:U_(e,"xAxis",t,n,r.padding)},nK=(e,t,n)=>{var r=gi(e,t);return r==null||typeof r.padding!="string"?0:U_(e,"yAxis",t,n,r.padding)},rK=X(mi,tK,(e,t)=>{var n,r;if(e==null)return{left:0,right:0};var{padding:i}=e;return typeof i=="string"?{left:t,right:t}:{left:((n=i.left)!==null&&n!==void 0?n:0)+t,right:((r=i.right)!==null&&r!==void 0?r:0)+t}}),iK=X(gi,nK,(e,t)=>{var n,r;if(e==null)return{top:0,bottom:0};var{padding:i}=e;return typeof i=="string"?{top:t,bottom:t}:{top:((n=i.top)!==null&&n!==void 0?n:0)+t,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+t}}),aK=X([$t,rK,ld,od,(e,t,n)=>n],(e,t,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),oK=X([$t,He,iK,ld,od,(e,t,n)=>n],(e,t,n,r,i,a)=>{var{padding:l}=i;return a?[r.height-l.bottom,l.top]:t==="horizontal"?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),Hs=(e,t,n,r)=>{var i;switch(t){case"xAxis":return aK(e,n,r);case"yAxis":return oK(e,n,r);case"zAxis":return(i=yx(e,n))===null||i===void 0?void 0:i.range;case"angleAxis":return f_(e);case"radiusAxis":return d_(e,n);default:return}},W_=X([gn,Hs],wd),lK=X([Go,JV],jV),_d=X([gn,Go,lK,W_],Sx);X([Ws,wx,Bt],RV);function q_(e,t){return e.idt.id?1:0}var Id=(e,t)=>t,Td=(e,t,n)=>n,sK=X(id,Id,Td,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(q_)),uK=X(ad,Id,Td,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(q_)),H_=(e,t)=>({width:e.width,height:t.height}),cK=(e,t)=>{var n=typeof t.width=="number"?t.width:Ds;return{width:n,height:e.height}},V_=X($t,mi,H_),fK=(e,t,n)=>{switch(t){case"top":return e.top;case"bottom":return n-e.bottom;default:return 0}},dK=(e,t,n)=>{switch(t){case"left":return e.left;case"right":return n-e.right;default:return 0}},hK=X(di,$t,sK,Id,Td,(e,t,n,r,i)=>{var a={},l;return n.forEach(u=>{var c=H_(t,u);l==null&&(l=fK(t,r,e));var f=r==="top"&&!i||r==="bottom"&&i;a[u.id]=l-Number(f)*c.height,l+=(f?-1:1)*c.height}),a}),pK=X(fi,$t,uK,Id,Td,(e,t,n,r,i)=>{var a={},l;return n.forEach(u=>{var c=cK(t,u);l==null&&(l=dK(t,r,e));var f=r==="left"&&!i||r==="right"&&i;a[u.id]=l-Number(f)*c.width,l+=(f?-1:1)*c.width}),a}),mK=(e,t)=>{var n=mi(e,t);if(n!=null)return hK(e,n.orientation,n.mirror)},gK=X([$t,mi,mK,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n==null?void 0:n[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),vK=(e,t)=>{var n=gi(e,t);if(n!=null)return pK(e,n.orientation,n.mirror)},yK=X([$t,gi,vK,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n==null?void 0:n[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),K_=X($t,gi,(e,t)=>{var n=typeof t.width=="number"?t.width:Ds;return{width:n,height:e.height}}),dP=(e,t,n)=>{switch(t){case"xAxis":return V_(e,n).width;case"yAxis":return K_(e,n).height;default:return}},G_=(e,t,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:l}=n,u=zr(e,r),c=t.map(f=>f.value);if(l&&u&&a==="category"&&i&&qO(c))return c}},Px=X([He,Ad,gn,Bt],G_),Y_=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n,l=zr(e,r);if(l&&(i==="number"||a!=="auto"))return t.map(u=>u.value)}},Ex=X([He,Ad,Us,Bt],Y_),hP=X([He,NV,Go,_d,Px,Ex,Hs,jx,Bt],(e,t,n,r,i,a,l,u,c)=>{if(t!=null){var f=zr(e,c);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:c,categoricalDomain:a,duplicateDomain:i,isCategorical:f,niceTicks:u,range:l,realScaleType:n,scale:r}}}),xK=(e,t,n,r,i,a,l,u,c)=>{if(!(t==null||r==null)){var f=zr(e,c),{type:d,ticks:p,tickCount:g}=t,y=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,w=d==="category"&&r.bandwidth?r.bandwidth()/y:0;w=c==="angleAxis"&&a!=null&&a.length>=2?jn(a[0]-a[1])*2*w:w;var S=p||i;return S?S.map((b,P)=>{var E=l?l.indexOf(b):b,O=r.map(E);return De(O)?{index:P,coordinate:O+w,value:b,offset:w}:null}).filter(Pn):f&&u?u.map((b,P)=>{var E=r.map(b);return De(E)?{coordinate:E+w,value:b,index:P,offset:w}:null}).filter(Pn):r.ticks?r.ticks(g).map((b,P)=>{var E=r.map(b);return De(E)?{coordinate:E+w,value:b,index:P,offset:w}:null}).filter(Pn):r.domain().map((b,P)=>{var E=r.map(b);return De(E)?{coordinate:E+w,value:l?l[b]:b,index:P,offset:w}:null}).filter(Pn)}},X_=X([He,Us,Go,_d,jx,Hs,Px,Ex,Bt],xK),bK=(e,t,n,r,i,a,l)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var u=zr(e,l),{tickCount:c}=t,f=0;return f=l==="angleAxis"&&(r==null?void 0:r.length)>=2?jn(r[0]-r[1])*2*f:f,u&&a?a.map((d,p)=>{var g=n.map(d);return De(g)?{coordinate:g+f,value:d,index:p,offset:f}:null}).filter(Pn):n.ticks?n.ticks(c).map((d,p)=>{var g=n.map(d);return De(g)?{coordinate:g+f,value:d,index:p,offset:f}:null}).filter(Pn):n.domain().map((d,p)=>{var g=n.map(d);return De(g)?{coordinate:g+f,value:i?i[d]:d,index:p,offset:f}:null}).filter(Pn)}},Qi=X([He,Us,_d,Hs,Px,Ex,Bt],bK),Zi=X(gn,_d,(e,t)=>{if(!(e==null||t==null))return jf(jf({},e),{},{scale:t})}),wK=X([gn,Go,kx,W_],Sx);X((e,t,n)=>yx(e,n),wK,(e,t)=>{if(!(e==null||t==null))return jf(jf({},e),{},{scale:t})});var kK=X([He,id,ad],(e,t,n)=>{switch(e){case"horizontal":return t.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),Q_=e=>e.options.defaultTooltipEventType,Z_=e=>e.options.validateTooltipEventTypes;function J_(e,t,n){if(e==null)return t;var r=e?"axis":"item";return n==null?t:n.includes(r)?r:t}function Cx(e,t){var n=Q_(e),r=Z_(e);return J_(t,n,r)}function SK(e){return Pe(t=>Cx(t,e))}var eI=(e,t)=>{var n,r=Number(t);if(!(gr(r)||t==null))return r>=0?e==null||(n=e[r])===null||n===void 0?void 0:n.value:void 0},jK=e=>e.tooltip.settings,Hi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},PK={itemInteraction:{click:Hi,hover:Hi},axisInteraction:{click:Hi,hover:Hi},keyboardInteraction:Hi,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}},tI=On({name:"tooltip",initialState:PK,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:at()},replaceTooltipEntrySettings:{reducer(e,t){var{prev:n,next:r}=t.payload,i=mr(e).tooltipItemPayloads.indexOf(n);i>-1&&(e.tooltipItemPayloads[i]=r)},prepare:at()},removeTooltipEntrySettings:{reducer(e,t){var n=mr(e).tooltipItemPayloads.indexOf(t.payload);n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:at()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,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.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.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.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}}}),{addTooltipEntrySettings:EK,replaceTooltipEntrySettings:CK,removeTooltipEntrySettings:OK,setTooltipSettingsState:NK,setActiveMouseOverItemIndex:nI,mouseLeaveItem:AK,mouseLeaveChart:rI,setActiveClickItemIndex:_K,setMouseOverAxisIndex:iI,setMouseClickAxisIndex:IK,setSyncInteraction:Iv,setKeyboardInteraction:Tv}=tI.actions,TK=tI.reducer;function pP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Sc(e){for(var t=1;t{if(t==null)return Hi;var i=RK(e,t,n);if(i==null)return Hi;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(zK(i)){if(a)return Sc(Sc({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return Sc(Sc({},Hi),{},{coordinate:i.coordinate})};function $K(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 n=Number(e);return Number.isFinite(n)?n:void 0}function FK(e,t){var n=$K(e),r=t[0],i=t[1];if(n===void 0)return!1;var a=Math.min(r,i),l=Math.max(r,i);return n>=a&&n<=l}function BK(e,t,n){if(n==null||t==null)return!0;var r=St(e,t);return r==null||!li(n)?!0:FK(r,n)}var Ox=(e,t,n,r)=>{var i=e==null?void 0:e.index;if(i==null)return null;var a=Number(i);if(!De(a))return i;var l=0,u=1/0;t.length>0&&(u=t.length-1);var c=Math.max(l,Math.min(a,u)),f=t[c];return f==null||BK(f,n,r)?String(c):null},oI=(e,t,n,r,i,a,l)=>{if(a!=null){var u=l[0],c=u==null?void 0:u.getPosition(a);if(c!=null)return c;var f=i==null?void 0:i[Number(a)];if(f)switch(n){case"horizontal":return{x:f.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:f.coordinate}}}},lI=(e,t,n,r)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(n==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,i==null&&r!=null){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(l=>{var u;return((u=l.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},sI=e=>e.options.tooltipPayloadSearcher,Yo=e=>e.tooltip;function mP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function gP(e){for(var t=1;t{if(!(t==null||a==null)){var{chartData:u,computedData:c,dataStartIndex:f,dataEndIndex:d}=n,p=[];return e.reduce((g,y)=>{var w,{dataDefinedOnItem:S,settings:b}=y,P=HK(S,u),E=Array.isArray(P)?LN(P,f,d):P,O=(w=b==null?void 0:b.dataKey)!==null&&w!==void 0?w:r,A=b==null?void 0:b.nameKey,I;if(r&&Array.isArray(E)&&!Array.isArray(E[0])&&l==="axis"?I=HO(E,r,i):I=a(E,t,c,A),Array.isArray(I))I.forEach(M=>{var B=gP(gP({},b),{},{name:M.name,unit:M.unit,color:void 0,fill:void 0});g.push(gS({tooltipEntrySettings:B,dataKey:M.dataKey,payload:M.payload,value:St(M.payload,M.dataKey),name:M.name}))});else{var C;g.push(gS({tooltipEntrySettings:b,dataKey:O,payload:I,value:St(I,O),name:(C=St(I,A))!==null&&C!==void 0?C:b==null?void 0:b.name}))}return g},p)}},Nx=X([At,v_,dx],$_),VK=X([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),KK=X([Ut,Vo],y_),Xo=X([VK,At,KK],x_,{memoizeOptions:{resultEqualityCheck:Od}}),GK=X([Xo],e=>e.filter(Ed)),YK=X([Xo],k_,{memoizeOptions:{resultEqualityCheck:Od}}),Qo=X([YK,pi],S_),XK=X([GK,pi,At],p_),Ax=X([Qo,At,Xo],j_),cI=X([At],bx),QK=X([At],e=>e.allowDataOverflow),fI=X([cI,QK],GA),ZK=X([Xo],e=>e.filter(Ed)),JK=X([XK,ZK,bd,l_],E_),e7=X([JK,pi,Ut,fI],C_),t7=X([Xo],w_),n7=X([Qo,At,t7,wx,Ut],A_,{memoizeOptions:{resultEqualityCheck:Cd}}),r7=X([__,Ut,Vo],Ko),i7=X([r7,Ut],D_),a7=X([I_,Ut,Vo],Ko),o7=X([a7,Ut],M_),l7=X([T_,Ut,Vo],Ko),s7=X([l7,Ut],L_),u7=X([i7,s7,o7],Ef),c7=X([At,cI,fI,e7,n7,u7,He,Ut],R_),Vs=X([At,He,Qo,Ax,bd,Ut,c7],z_),f7=X([Vs,At,Nx],F_),d7=X([At,Vs,f7,Ut],B_),dI=e=>{var t=Ut(e),n=Vo(e),r=!1;return Hs(e,t,n,r)},hI=X([At,dI],wd),pI=X([At,Nx,d7,hI],Sx),h7=X([He,Ax,At,Ut],G_),p7=X([He,Ax,At,Ut],Y_),m7=(e,t,n,r,i,a,l,u)=>{if(t){var{type:c}=t,f=zr(e,u);if(r){var d=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,p=c==="category"&&r.bandwidth?r.bandwidth()/d:0;return p=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?jn(i[0]-i[1])*2*p:p,f&&l?l.map((g,y)=>{var w=r.map(g);return De(w)?{coordinate:w+p,value:g,index:y,offset:p}:null}).filter(Pn):r.domain().map((g,y)=>{var w=r.map(g);return De(w)?{coordinate:w+p,value:a?a[g]:g,index:y,offset:p}:null}).filter(Pn)}}},vi=X([He,At,Nx,pI,dI,h7,p7,Ut],m7),_x=X([Q_,Z_,jK],(e,t,n)=>J_(n.shared,e,t)),mI=e=>e.tooltip.settings.trigger,Ix=e=>e.tooltip.settings.defaultIndex,Ks=X([Yo,_x,mI,Ix],aI),La=X([Ks,Qo,qs,Vs],Ox),gI=X([vi,La],eI),vI=X([Ks],e=>{if(e)return e.dataKey});X([Ks],e=>{if(e)return e.graphicalItemId});var yI=X([Yo,_x,mI,Ix],lI),g7=X([fi,di,He,$t,vi,Ix,yI],oI),v7=X([Ks,g7],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),y7=X([Ks],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),x7=X([yI,La,pi,qs,gI,sI,_x],uI),b7=X([x7],e=>{if(e!=null){var t=e.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(t))}});function vP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function yP(e){for(var t=1;tPe(At),P7=()=>{var e=j7(),t=Pe(vi),n=Pe(pI);return Mo(!e||!n?void 0:yP(yP({},e),{},{scale:n}),t)};function xP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xo(e){for(var t=1;t{var i=t.find(a=>a&&a.index===n);if(i){if(e==="horizontal")return{x:i.coordinate,y:r.chartY};if(e==="vertical")return{x:r.chartX,y:i.coordinate}}return{x:0,y:0}},A7=(e,t,n,r)=>{var i=t.find(f=>f&&f.index===n);if(i){if(e==="centric"){var a=i.coordinate,{radius:l}=r;return xo(xo(xo({},r),Xt(r.cx,r.cy,l,a)),{},{angle:a,radius:l})}var u=i.coordinate,{angle:c}=r;return xo(xo(xo({},r),Xt(r.cx,r.cy,u,c)),{},{angle:c,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 _7(e,t){var{chartX:n,chartY:r}=e;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var xI=(e,t,n,r,i)=>{var a,l=(a=t==null?void 0:t.length)!==null&&a!==void 0?a:0;if(l<=1||e==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(c=n[u-1])===null||c===void 0?void 0:c.coordinate:(f=n[l-1])===null||f===void 0?void 0:f.coordinate,w=(d=n[u])===null||d===void 0?void 0:d.coordinate,S=u>=l-1?(p=n[0])===null||p===void 0?void 0:p.coordinate:(g=n[u+1])===null||g===void 0?void 0:g.coordinate,b=void 0;if(!(y==null||w==null||S==null))if(jn(w-y)!==jn(S-w)){var P=[];if(jn(S-w)===jn(i[1]-i[0])){b=S;var E=w+i[1]-i[0];P[0]=Math.min(E,(E+y)/2),P[1]=Math.max(E,(E+y)/2)}else{b=y;var O=S+i[1]-i[0];P[0]=Math.min(w,(O+w)/2),P[1]=Math.max(w,(O+w)/2)}var A=[Math.min(w,(b+w)/2),Math.max(w,(b+w)/2)];if(e>A[0]&&e<=A[1]||e>=P[0]&&e<=P[1]){var I;return(I=n[u])===null||I===void 0?void 0:I.index}}else{var C=Math.min(y,S),M=Math.max(y,S);if(e>(C+w)/2&&e<=(M+w)/2){var B;return(B=n[u])===null||B===void 0?void 0:B.index}}}else if(t)for(var H=0;H(L.coordinate+R.coordinate)/2||H>0&&H(L.coordinate+R.coordinate)/2&&e<=(L.coordinate+W.coordinate)/2)return L.index}}return-1},bI=()=>Pe(dx),Tx=(e,t)=>t,wI=(e,t,n)=>n,Dx=(e,t,n,r)=>r,I7=X(vi,e=>Kf(e,t=>t.coordinate)),Mx=X([Yo,Tx,wI,Dx],aI),Lx=X([Mx,Qo,qs,Vs],Ox),T7=(e,t,n)=>{if(t!=null){var r=Yo(e);return t==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},kI=X([Yo,Tx,wI,Dx],lI),Cf=X([fi,di,He,$t,vi,Dx,kI],oI),D7=X([Mx,Cf],(e,t)=>{var n;return(n=e.coordinate)!==null&&n!==void 0?n:t}),SI=X([vi,Lx],eI),M7=X([kI,Lx,pi,qs,SI,sI,Tx],uI),L7=X([Mx,Lx],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),R7=(e,t,n,r,i,a,l)=>{if(!(!e||!n||!r||!i)&&_7(e,l)){var u=p8(e,t),c=xI(u,a,i,n,r),f=N7(t,i,c,e);return{activeIndex:String(c),activeCoordinate:f}}},z7=(e,t,n,r,i,a,l)=>{if(!(!e||!r||!i||!a||!n)){var u=kq(e,n);if(u){var c=m8(u,t),f=xI(c,l,a,r,i),d=A7(t,a,f,u);return{activeIndex:String(f),activeCoordinate:d}}}},$7=(e,t,n,r,i,a,l,u)=>{if(!(!e||!t||!r||!i||!a))return t==="horizontal"||t==="vertical"?R7(e,t,r,i,a,l,u):z7(e,t,n,r,i,a,l)},F7=X(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),B7=X(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(r=>parseInt(r,10)).concat(Object.values(zt)),n=Array.from(new Set(t));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:kV}});function bP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function wP(e){for(var t=1;twP(wP({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),H7)},K7=new Set(Object.values(zt));function G7(e){return K7.has(e)}var jI=On({name:"zIndex",initialState:V7,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:at()},unregisterZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(e.zIndexMap[n].consumers-=1,e.zIndexMap[n].consumers<=0&&!G7(n)&&delete e.zIndexMap[n])},prepare:at()},registerZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n,element:r,isPanorama:i}=t.payload;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=r:e.zIndexMap[n].element=r:e.zIndexMap[n]={consumers:0,element:i?void 0:r,panoramaElement:i?r:void 0}},prepare:at()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:at()}}}),{registerZIndexPortal:Y7,unregisterZIndexPortal:X7,registerZIndexPortalElement:Q7,unregisterZIndexPortalElement:Z7}=jI.actions,J7=jI.reducer;function nr(e){var{zIndex:t,children:n}=e,r=K8(),i=r&&t!==void 0&&t!==0,a=on(),l=yt();k.useLayoutEffect(()=>i?(l(Y7({zIndex:t})),()=>{l(X7({zIndex:t}))}):Fa,[l,t,i]);var u=Pe(c=>F7(c,t,a));return i?u?EO.createPortal(n,u):null:n}function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;tk.useContext(PI),mg={exports:{}},SP;function lG(){return SP||(SP=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(c,f,d){this.fn=c,this.context=f,this.once=d||!1}function a(c,f,d,p,g){if(typeof d!="function")throw new TypeError("The listener must be a function");var y=new i(d,p||c,g),w=n?n+f:f;return c._events[w]?c._events[w].fn?c._events[w]=[c._events[w],y]:c._events[w].push(y):(c._events[w]=y,c._eventsCount++),c}function l(c,f){--c._eventsCount===0?c._events=new r:delete c._events[f]}function u(){this._events=new r,this._eventsCount=0}u.prototype.eventNames=function(){var f=[],d,p;if(this._eventsCount===0)return f;for(p in d=this._events)t.call(d,p)&&f.push(n?p.slice(1):p);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(d)):f},u.prototype.listeners=function(f){var d=n?n+f:f,p=this._events[d];if(!p)return[];if(p.fn)return[p.fn];for(var g=0,y=p.length,w=new Array(y);g{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!gr(n))return e[n]}},cG={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},CI=On({name:"options",initialState:cG,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),fG=CI.reducer,{createEventEmitter:dG}=CI.actions;function hG(e){return e.tooltip.syncInteraction}var pG={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},OI=On({name:"chartData",initialState:pG,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{startIndex:n,endIndex:r}=t.payload;n!=null&&(e.dataStartIndex=n),r!=null&&(e.dataEndIndex=r)}}}),{setChartData:PP,setDataStartEndIndexes:mG,setComputedData:Ute}=OI.actions,gG=OI.reducer,vG=["x","y"];function EP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function bo(e){for(var t=1;tc.rootProps.className);k.useEffect(()=>{if(e==null)return Fa;var c=(f,d,p)=>{if(t!==p&&e===f){if(r==="index"){var g;if(l&&d!==null&&d!==void 0&&(g=d.payload)!==null&&g!==void 0&&g.coordinate&&d.payload.sourceViewBox){var y=d.payload.coordinate,{x:w,y:S}=y,b=wG(y,vG),{x:P,y:E,width:O,height:A}=d.payload.sourceViewBox,I=bo(bo({},b),{},{x:l.x+(O?(w-P)/O:0)*l.width,y:l.y+(A?(S-E)/A:0)*l.height});n(bo(bo({},d),{},{payload:bo(bo({},d.payload),{},{coordinate:I})}))}else n(d);return}if(i!=null){var C;if(typeof r=="function"){var M={activeTooltipIndex:d.payload.index==null?void 0:Number(d.payload.index),isTooltipActive:d.payload.active,activeIndex:d.payload.index==null?void 0:Number(d.payload.index),activeLabel:d.payload.label,activeDataKey:d.payload.dataKey,activeCoordinate:d.payload.coordinate},B=r(i,M);C=i[B]}else r==="value"&&(C=i.find(de=>String(de.value)===d.payload.label));var{coordinate:H}=d.payload;if(C==null||d.payload.active===!1||H==null||l==null){n(Iv({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}var{x:L,y:W}=H,R=Math.min(L,l.x+l.width),V=Math.min(W,l.y+l.height),G={x:a==="horizontal"?C.coordinate:R,y:a==="horizontal"?V:C.coordinate},Q=Iv({active:d.payload.active,coordinate:G,dataKey:d.payload.dataKey,index:String(C.index),label:d.payload.label,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:d.payload.graphicalItemId});n(Q)}}};return js.on(Mv,c),()=>{js.off(Mv,c)}},[u,n,t,e,r,i,a,l])}function jG(){var e=Pe(hx),t=Pe(px),n=yt();k.useEffect(()=>{if(e==null)return Fa;var r=(i,a,l)=>{t!==l&&e===i&&n(mG(a))};return js.on(jP,r),()=>{js.off(jP,r)}},[n,t,e])}function PG(){var e=yt();k.useEffect(()=>{e(dG())},[e]),SG(),jG()}function EG(e,t,n,r,i,a){var l=Pe(y=>T7(y,e,t)),u=Pe(px),c=Pe(hx),f=Pe(s_),d=Pe(hG),p=d==null?void 0:d.active,g=sd();k.useEffect(()=>{if(!p&&c!=null&&u!=null){var y=Iv({active:a,coordinate:n,dataKey:l,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:g,graphicalItemId:void 0});js.emit(Mv,c,y,u)}},[p,n,l,i,r,u,c,f,a,g])}function CP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function OP(e){for(var t=1;t{M(NK({shared:E,trigger:O,axisId:C,active:i,defaultIndex:B}))},[M,E,O,C,i,B]);var H=sd(),L=nA(),W=SK(E),{activeIndex:R,isActive:V}=(t=Pe(Se=>L7(Se,W,O,B)))!==null&&t!==void 0?t:{},G=Pe(Se=>M7(Se,W,O,B)),Q=Pe(Se=>SI(Se,W,O,B)),de=Pe(Se=>D7(Se,W,O,B)),ce=G,J=oG(),ae=(n=i??V)!==null&&n!==void 0?n:!1,[T,$]=eU([ce,ae]),U=W==="axis"?Q:void 0;EG(W,O,de,U,R,ae);var _=I??J;if(_==null||H==null||W==null)return null;var te=ce??NP;ae||(te=NP),f&&te.length&&(te=E6(te.filter(Se=>Se.value!=null&&(Se.hide!==!0||r.includeHidden)),g,AG));var he=te.length>0,fe=k.createElement(wW,{allowEscapeViewBox:a,animationDuration:l,animationEasing:u,isAnimationActive:d,active:ae,coordinate:de,hasPayload:he,offset:p,position:y,reverseDirection:w,useTranslate3d:S,viewBox:H,wrapperStyle:b,lastBoundingBox:T,innerRef:$,hasPortalFromProps:!!I},_G(c,OP(OP({},r),{},{payload:te,label:U,active:ae,activeIndex:R,coordinate:de,accessibilityLayer:L})));return k.createElement(k.Fragment,null,EO.createPortal(fe,_),ae&&k.createElement(aG,{cursor:P,tooltipEventType:W,coordinate:de,payload:te,index:R}))}var AI=e=>null;AI.displayName="Cell";function TG(e,t,n){return(t=DG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DG(e){var t=MG(e,"string");return typeof t=="symbol"?t:t+""}function MG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class LG{constructor(t){TG(this,"cache",new Map),this.maxSize=t}get(t){var n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function AP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function RG(e){for(var t=1;t{try{var n=document.getElementById(IP);n||(n=document.createElement("span"),n.setAttribute("id",IP),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,UG,t),n.textContent="".concat(e);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},ls=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Rs.isSsr)return{width:0,height:0};if(!_I.enableCache)return TP(t,n);var r=WG(t,n),i=_P.get(r);if(i)return i;var a=TP(t,n);return _P.set(r,a),a},II;function qG(e,t,n){return(t=HG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HG(e){var t=VG(e,"string");return typeof t=="symbol"?t:t+""}function VG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var DP=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,MP=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,KG=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,GG=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,YG={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},XG=["cm","mm","pt","pc","in","Q","px"];function QG(e){return XG.includes(e)}var jo="NaN";function ZG(e,t){return e*YG[t]}class Yt{static parse(t){var n,[,r,i]=(n=GG.exec(t))!==null&&n!==void 0?n:[];return r==null?Yt.NaN:new Yt(parseFloat(r),i??"")}constructor(t,n){this.num=t,this.unit=n,this.num=t,this.unit=n,gr(t)&&(this.unit=""),n!==""&&!KG.test(n)&&(this.num=NaN,this.unit=""),QG(n)&&(this.num=ZG(t,n),this.unit="px")}add(t){return this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num+t.num,this.unit)}subtract(t){return this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num-t.num,this.unit)}multiply(t){return this.unit!==""&&t.unit!==""&&this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num*t.num,this.unit||t.unit)}divide(t){return this.unit!==""&&t.unit!==""&&this.unit!==t.unit?new Yt(NaN,""):new Yt(this.num/t.num,this.unit||t.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return gr(this.num)}}II=Yt;qG(Yt,"NaN",new II(NaN,""));function TI(e){if(e==null||e.includes(jo))return jo;for(var t=e;t.includes("*")||t.includes("/");){var n,[,r,i,a]=(n=DP.exec(t))!==null&&n!==void 0?n:[],l=Yt.parse(r??""),u=Yt.parse(a??""),c=i==="*"?l.multiply(u):l.divide(u);if(c.isNaN())return jo;t=t.replace(DP,c.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var f,[,d,p,g]=(f=MP.exec(t))!==null&&f!==void 0?f:[],y=Yt.parse(d??""),w=Yt.parse(g??""),S=p==="+"?y.add(w):y.subtract(w);if(S.isNaN())return jo;t=t.replace(MP,S.toString())}return t}var LP=/\(([^()]*)\)/;function JG(e){for(var t=e,n;(n=LP.exec(t))!=null;){var[,r]=n;t=t.replace(LP,TI(r))}return t}function eY(e){var t=e.replace(/\s+/g,"");return t=JG(t),t=TI(t),t}function tY(e){try{return eY(e)}catch{return jo}}function gg(e){var t=tY(e.slice(5,-1));return t===jo?"":t}var nY=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],rY=["dx","dy","angle","className","breakAll"];function Lv(){return Lv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{children:t,breakAll:n,style:r}=e;try{var i=[];mt(t)||(n?i=t.toString().split(""):i=t.toString().split(DI));var a=i.map(u=>({word:u,width:ls(u,r).width})),l=n?0:ls("ย ",r).width;return{wordsWithComputedWidth:a,spaceWidth:l}}catch{return null}};function aY(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}var LI=(e,t,n,r)=>e.reduce((i,a)=>{var{word:l,width:u}=a,c=i[i.length-1];if(c&&u!=null&&(t==null||r||c.width+u+ne.reduce((t,n)=>t.width>n.width?t:n),oY="โ€ฆ",zP=(e,t,n,r,i,a,l,u)=>{var c=e.slice(0,t),f=MI({breakAll:n,style:r,children:c+oY});if(!f)return[!1,[]];var d=LI(f.wordsWithComputedWidth,a,l,u),p=d.length>i||RI(d).width>Number(a);return[p,d]},lY=(e,t,n,r,i)=>{var{maxLines:a,children:l,style:u,breakAll:c}=e,f=ge(a),d=String(l),p=LI(t,r,n,i);if(!f||i)return p;var g=p.length>a||RI(p).width>Number(r);if(!g)return p;for(var y=0,w=d.length-1,S=0,b;y<=w&&S<=d.length-1;){var P=Math.floor((y+w)/2),E=P-1,[O,A]=zP(d,E,c,u,a,r,n,i),[I]=zP(d,P,c,u,a,r,n,i);if(!O&&!I&&(y=P+1),O&&I&&(w=P-1),!O&&I){b=A;break}S++}return b||p},$P=e=>{var t=mt(e)?[]:e.toString().split(DI);return[{words:t,width:void 0}]},sY=e=>{var{width:t,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:l}=e;if((t||n)&&!Rs.isSsr){var u,c,f=MI({breakAll:a,children:r,style:i});if(f){var{wordsWithComputedWidth:d,spaceWidth:p}=f;u=d,c=p}else return $P(r);return lY({breakAll:a,children:r,maxLines:l,style:i},u,c,t,!!n)}return $P(r)},zI="#808080",uY={angle:0,breakAll:!1,capHeight:"0.71em",fill:zI,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Rx=k.forwardRef((e,t)=>{var n=mn(e,uY),{x:r,y:i,lineHeight:a,capHeight:l,fill:u,scaleToFit:c,textAnchor:f,verticalAnchor:d}=n,p=RP(n,nY),g=k.useMemo(()=>sY({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:c,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,c,p.style,p.width]),{dx:y,dy:w,angle:S,className:b,breakAll:P}=p,E=RP(p,rY);if(!Dr(r)||!Dr(i)||g.length===0)return null;var O=Number(r)+(ge(y)?y:0),A=Number(i)+(ge(w)?w:0);if(!De(O)||!De(A))return null;var I;switch(d){case"start":I=gg("calc(".concat(l,")"));break;case"middle":I=gg("calc(".concat((g.length-1)/2," * -").concat(a," + (").concat(l," / 2))"));break;default:I=gg("calc(".concat(g.length-1," * -").concat(a,")"));break}var C=[],M=g[0];if(c&&M!=null){var B=M.width,{width:H}=p;C.push("scale(".concat(ge(H)&&ge(B)?H/B:1,")"))}return S&&C.push("rotate(".concat(S,", ").concat(O,", ").concat(A,")")),C.length&&(E.transform=C.join(" ")),k.createElement("text",Lv({},dn(E),{ref:t,x:O,y:A,className:Ge("recharts-text",b),textAnchor:f,fill:u.includes("url")?zI:u}),g.map((L,W)=>{var R=L.words.join(P?"":" ");return k.createElement("tspan",{x:O,dy:W===0?I:a,key:"".concat(R,"-").concat(W)},R)}))});Rx.displayName="Text";function FP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Nr(e){for(var t=1;t{var{viewBox:t,position:n,offset:r=0,parentViewBox:i}=e,{x:a,y:l,height:u,upperWidth:c,lowerWidth:f}=Ry(t),d=a,p=a+(c-f)/2,g=(d+p)/2,y=(c+f)/2,w=d+c/2,S=u>=0?1:-1,b=S*r,P=S>0?"end":"start",E=S>0?"start":"end",O=c>=0?1:-1,A=O*r,I=O>0?"end":"start",C=O>0?"start":"end",M=i;if(n==="top"){var B={x:d+c/2,y:l-b,horizontalAnchor:"middle",verticalAnchor:P};return M&&(B.height=Math.max(l-M.y,0),B.width=c),B}if(n==="bottom"){var H={x:p+f/2,y:l+u+b,horizontalAnchor:"middle",verticalAnchor:E};return M&&(H.height=Math.max(M.y+M.height-(l+u),0),H.width=f),H}if(n==="left"){var L={x:g-A,y:l+u/2,horizontalAnchor:I,verticalAnchor:"middle"};return M&&(L.width=Math.max(L.x-M.x,0),L.height=u),L}if(n==="right"){var W={x:g+y+A,y:l+u/2,horizontalAnchor:C,verticalAnchor:"middle"};return M&&(W.width=Math.max(M.x+M.width-W.x,0),W.height=u),W}var R=M?{width:y,height:u}:{};return n==="insideLeft"?Nr({x:g+A,y:l+u/2,horizontalAnchor:C,verticalAnchor:"middle"},R):n==="insideRight"?Nr({x:g+y-A,y:l+u/2,horizontalAnchor:I,verticalAnchor:"middle"},R):n==="insideTop"?Nr({x:d+c/2,y:l+b,horizontalAnchor:"middle",verticalAnchor:E},R):n==="insideBottom"?Nr({x:p+f/2,y:l+u-b,horizontalAnchor:"middle",verticalAnchor:P},R):n==="insideTopLeft"?Nr({x:d+A,y:l+b,horizontalAnchor:C,verticalAnchor:E},R):n==="insideTopRight"?Nr({x:d+c-A,y:l+b,horizontalAnchor:I,verticalAnchor:E},R):n==="insideBottomLeft"?Nr({x:p+A,y:l+u-b,horizontalAnchor:C,verticalAnchor:P},R):n==="insideBottomRight"?Nr({x:p+f-A,y:l+u-b,horizontalAnchor:I,verticalAnchor:P},R):n&&typeof n=="object"&&(ge(n.x)||_a(n.x))&&(ge(n.y)||_a(n.y))?Nr({x:a+vr(n.x,y),y:l+vr(n.y,u),horizontalAnchor:"end",verticalAnchor:"end"},R):Nr({x:w,y:l+u/2,horizontalAnchor:"middle",verticalAnchor:"middle"},R)},pY=["labelRef"],mY=["content"];function BP(e,t){if(e==null)return{};var n,r,i=gY(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var{x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:l,children:u}=e,c=k.useMemo(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:l}),[t,n,r,i,a,l]);return k.createElement($I.Provider,{value:c},u)},FI=()=>{var e=k.useContext($I),t=sd();return e||(t?Ry(t):void 0)},wY=k.createContext(null),kY=()=>{var e=k.useContext(wY),t=Pe(h_);return e||t},SY=e=>{var{value:t,formatter:n}=e,r=mt(e.children)?t:e.children;return typeof n=="function"?n(r):r},zx=e=>e!=null&&typeof e=="function",jY=(e,t)=>{var n=jn(t-e),r=Math.min(Math.abs(t-e),360);return n*r},PY=(e,t,n,r,i)=>{var{offset:a,className:l}=e,{cx:u,cy:c,innerRadius:f,outerRadius:d,startAngle:p,endAngle:g,clockWise:y}=i,w=(f+d)/2,S=jY(p,g),b=S>=0?1:-1,P,E;switch(t){case"insideStart":P=p+b*a,E=y;break;case"insideEnd":P=g-b*a,E=!y;break;case"end":P=g+b*a,E=y;break;default:throw new Error("Unsupported position ".concat(t))}E=S<=0?E:!E;var O=Xt(u,c,w,P),A=Xt(u,c,w,P+(E?1:-1)*359),I="M".concat(O.x,",").concat(O.y,` A`).concat(w,",").concat(w,",0,1,").concat(E?0:1,`, - `).concat(A.x,",").concat(A.y),C=mt(e.id)?fs("recharts-radial-line-"):e.id;return k.createElement("text",Zr({},r,{dominantBaseline:"central",className:Ge("recharts-radial-bar-label",l)}),k.createElement("defs",null,k.createElement("path",{id:C,d:I})),k.createElement("textPath",{xlinkHref:"#".concat(C)},n))},EY=(e,t,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:l,startAngle:u,endAngle:c}=e,f=(u+c)/2;if(n==="outside"){var{x:d,y:h}=Xt(r,i,l+t,f);return{x:d,y:h,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var g=(a+l)/2,{x:y,y:w}=Xt(r,i,g,f);return{x:y,y:w,textAnchor:"middle",verticalAnchor:"middle"}},Dc=e=>e!=null&&"cx"in e&&ge(e.cx),CY={angle:0,offset:5,zIndex:zt.label,position:"middle",textBreakAll:!1};function OY(e){if(!Dc(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function qi(e){var t=mn(e,CY),{viewBox:n,parentViewBox:r,position:i,value:a,children:l,content:u,className:c="",textBreakAll:f,labelRef:d}=t,h=kY(),g=FI(),y=i==="center"?g:h??g,w,S,b;n==null?w=y:Dc(n)?w=n:w=Ry(n);var P=OY(w);if(!w||mt(a)&&mt(l)&&!k.isValidElement(u)&&typeof u!="function")return null;var E=ts(ts({},t),{},{viewBox:w});if(k.isValidElement(u)){var{labelRef:O}=E,A=BP(E,hY);return k.cloneElement(u,A)}if(typeof u=="function"){var{content:I}=E,C=BP(E,mY);if(S=k.createElement(u,C),k.isValidElement(S))return S}else S=SY(t);var L=dn(t);if(Dc(w)){if(i==="insideStart"||i==="insideEnd"||i==="end")return PY(t,i,S,L,w);b=EY(w,t.offset,t.position)}else{if(!P)return null;var R=pY({viewBox:P,position:i,offset:t.offset,parentViewBox:Dc(r)?void 0:r});b=ts(ts({x:R.x,y:R.y,textAnchor:R.horizontalAnchor,verticalAnchor:R.verticalAnchor},R.width!==void 0?{width:R.width}:{}),R.height!==void 0?{height:R.height}:{})}return k.createElement(nr,{zIndex:t.zIndex},k.createElement(Rx,Zr({ref:d,className:Ge("recharts-label",c)},L,b,{textAnchor:aY(L.textAnchor)?L.textAnchor:b.textAnchor,breakAll:f}),S))}qi.displayName="Label";var NY=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?k.createElement(qi,Zr({key:"label-implicit"},r)):Dr(e)?k.createElement(qi,Zr({key:"label-implicit",value:e},r)):k.isValidElement(e)?e.type===qi?k.cloneElement(e,ts({key:"label-implicit"},r)):k.createElement(qi,Zr({key:"label-implicit",content:e},r)):zx(e)?k.createElement(qi,Zr({key:"label-implicit",content:e},r)):e&&typeof e=="object"?k.createElement(qi,Zr({},e,{key:"label-implicit"},r)):null};function AY(e){var{label:t,labelRef:n}=e,r=FI();return NY(t,r,n)||null}var vg={},yg={},WP;function _Y(){return WP||(WP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n[n.length-1]}e.last=t})(yg)),yg}var xg={},qP;function IY(){return qP||(qP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return Array.isArray(n)?n:Array.from(n)}e.toArray=t})(xg)),xg}var HP;function TY(){return HP||(HP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=_Y(),n=IY(),r=Ey();function i(a){if(r.isArrayLike(a))return t.last(n.toArray(a))}e.last=i})(vg)),vg}var bg,VP;function DY(){return VP||(VP=1,bg=TY().last),bg}var MY=DY();const LY=xr(MY);var RY=["valueAccessor"],zY=["dataKey","clockWise","id","textBreakAll","zIndex"];function Of(){return Of=Object.assign?Object.assign.bind():function(e){for(var t=1;tArray.isArray(e.value)?LY(e.value):e.value,BI=k.createContext(void 0),UI=BI.Provider,WI=k.createContext(void 0);WI.Provider;function BY(){return k.useContext(BI)}function UY(){return k.useContext(WI)}function Mc(e){var{valueAccessor:t=FY}=e,n=KP(e,RY),{dataKey:r,clockWise:i,id:a,textBreakAll:l,zIndex:u}=n,c=KP(n,zY),f=BY(),d=UY(),h=f||d;return!h||!h.length?null:k.createElement(nr,{zIndex:u??zt.label},k.createElement(pn,{className:"recharts-label-list"},h.map((g,y)=>{var w,S=mt(r)?t(g,y):St(g.payload,r),b=mt(a)?{}:{id:"".concat(a,"-").concat(y)};return k.createElement(qi,Of({key:"label-".concat(y)},dn(g),c,b,{fill:(w=n.fill)!==null&&w!==void 0?w:g.fill,parentViewBox:g.parentViewBox,value:S,textBreakAll:l,viewBox:g.viewBox,index:y,zIndex:0}))})))}Mc.displayName="LabelList";function qI(e){var{label:t}=e;return t?t===!0?k.createElement(Mc,{key:"labelList-implicit"}):k.isValidElement(t)||zx(t)?k.createElement(Mc,{key:"labelList-implicit",content:t}):typeof t=="object"?k.createElement(Mc,Of({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Rv(){return Rv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{cx:t,cy:n,r,className:i}=e,a=Ge("recharts-dot",i);return ge(t)&&ge(n)&&ge(r)?k.createElement("circle",Rv({},Zn(e),jy(e),{className:a,cx:t,cy:n,r})):null},WY={radiusAxis:{},angleAxis:{}},VI=On({name:"polarAxis",initialState:WY,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]}}}),{addRadiusAxis:Wte,removeRadiusAxis:qte,addAngleAxis:Hte,removeAngleAxis:Vte}=VI.actions,qY=VI.reducer;function HY(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var wg={exports:{}},qe={};/** + `).concat(A.x,",").concat(A.y),C=mt(e.id)?fs("recharts-radial-line-"):e.id;return k.createElement("text",Zr({},r,{dominantBaseline:"central",className:Ge("recharts-radial-bar-label",l)}),k.createElement("defs",null,k.createElement("path",{id:C,d:I})),k.createElement("textPath",{xlinkHref:"#".concat(C)},n))},EY=(e,t,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:l,startAngle:u,endAngle:c}=e,f=(u+c)/2;if(n==="outside"){var{x:d,y:p}=Xt(r,i,l+t,f);return{x:d,y:p,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var g=(a+l)/2,{x:y,y:w}=Xt(r,i,g,f);return{x:y,y:w,textAnchor:"middle",verticalAnchor:"middle"}},Dc=e=>e!=null&&"cx"in e&&ge(e.cx),CY={angle:0,offset:5,zIndex:zt.label,position:"middle",textBreakAll:!1};function OY(e){if(!Dc(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function qi(e){var t=mn(e,CY),{viewBox:n,parentViewBox:r,position:i,value:a,children:l,content:u,className:c="",textBreakAll:f,labelRef:d}=t,p=kY(),g=FI(),y=i==="center"?g:p??g,w,S,b;n==null?w=y:Dc(n)?w=n:w=Ry(n);var P=OY(w);if(!w||mt(a)&&mt(l)&&!k.isValidElement(u)&&typeof u!="function")return null;var E=ts(ts({},t),{},{viewBox:w});if(k.isValidElement(u)){var{labelRef:O}=E,A=BP(E,pY);return k.cloneElement(u,A)}if(typeof u=="function"){var{content:I}=E,C=BP(E,mY);if(S=k.createElement(u,C),k.isValidElement(S))return S}else S=SY(t);var M=dn(t);if(Dc(w)){if(i==="insideStart"||i==="insideEnd"||i==="end")return PY(t,i,S,M,w);b=EY(w,t.offset,t.position)}else{if(!P)return null;var B=hY({viewBox:P,position:i,offset:t.offset,parentViewBox:Dc(r)?void 0:r});b=ts(ts({x:B.x,y:B.y,textAnchor:B.horizontalAnchor,verticalAnchor:B.verticalAnchor},B.width!==void 0?{width:B.width}:{}),B.height!==void 0?{height:B.height}:{})}return k.createElement(nr,{zIndex:t.zIndex},k.createElement(Rx,Zr({ref:d,className:Ge("recharts-label",c)},M,b,{textAnchor:aY(M.textAnchor)?M.textAnchor:b.textAnchor,breakAll:f}),S))}qi.displayName="Label";var NY=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?k.createElement(qi,Zr({key:"label-implicit"},r)):Dr(e)?k.createElement(qi,Zr({key:"label-implicit",value:e},r)):k.isValidElement(e)?e.type===qi?k.cloneElement(e,ts({key:"label-implicit"},r)):k.createElement(qi,Zr({key:"label-implicit",content:e},r)):zx(e)?k.createElement(qi,Zr({key:"label-implicit",content:e},r)):e&&typeof e=="object"?k.createElement(qi,Zr({},e,{key:"label-implicit"},r)):null};function AY(e){var{label:t,labelRef:n}=e,r=FI();return NY(t,r,n)||null}var vg={},yg={},WP;function _Y(){return WP||(WP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n[n.length-1]}e.last=t})(yg)),yg}var xg={},qP;function IY(){return qP||(qP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return Array.isArray(n)?n:Array.from(n)}e.toArray=t})(xg)),xg}var HP;function TY(){return HP||(HP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=_Y(),n=IY(),r=Ey();function i(a){if(r.isArrayLike(a))return t.last(n.toArray(a))}e.last=i})(vg)),vg}var bg,VP;function DY(){return VP||(VP=1,bg=TY().last),bg}var MY=DY();const LY=xr(MY);var RY=["valueAccessor"],zY=["dataKey","clockWise","id","textBreakAll","zIndex"];function Of(){return Of=Object.assign?Object.assign.bind():function(e){for(var t=1;tArray.isArray(e.value)?LY(e.value):e.value,BI=k.createContext(void 0),UI=BI.Provider,WI=k.createContext(void 0);WI.Provider;function BY(){return k.useContext(BI)}function UY(){return k.useContext(WI)}function Mc(e){var{valueAccessor:t=FY}=e,n=KP(e,RY),{dataKey:r,clockWise:i,id:a,textBreakAll:l,zIndex:u}=n,c=KP(n,zY),f=BY(),d=UY(),p=f||d;return!p||!p.length?null:k.createElement(nr,{zIndex:u??zt.label},k.createElement(hn,{className:"recharts-label-list"},p.map((g,y)=>{var w,S=mt(r)?t(g,y):St(g.payload,r),b=mt(a)?{}:{id:"".concat(a,"-").concat(y)};return k.createElement(qi,Of({key:"label-".concat(y)},dn(g),c,b,{fill:(w=n.fill)!==null&&w!==void 0?w:g.fill,parentViewBox:g.parentViewBox,value:S,textBreakAll:l,viewBox:g.viewBox,index:y,zIndex:0}))})))}Mc.displayName="LabelList";function qI(e){var{label:t}=e;return t?t===!0?k.createElement(Mc,{key:"labelList-implicit"}):k.isValidElement(t)||zx(t)?k.createElement(Mc,{key:"labelList-implicit",content:t}):typeof t=="object"?k.createElement(Mc,Of({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Rv(){return Rv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{cx:t,cy:n,r,className:i}=e,a=Ge("recharts-dot",i);return ge(t)&&ge(n)&&ge(r)?k.createElement("circle",Rv({},Zn(e),jy(e),{className:a,cx:t,cy:n,r})):null},WY={radiusAxis:{},angleAxis:{}},VI=On({name:"polarAxis",initialState:WY,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]}}}),{addRadiusAxis:Wte,removeRadiusAxis:qte,addAngleAxis:Hte,removeAngleAxis:Vte}=VI.actions,qY=VI.reducer;function HY(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var wg={exports:{}},qe={};/** * @license React * react-is.production.min.js * @@ -121,7 +121,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var GP;function VY(){if(GP)return qe;GP=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.server_context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),y=Symbol.for("react.offscreen"),w;w=Symbol.for("react.module.reference");function S(b){if(typeof b=="object"&&b!==null){var P=b.$$typeof;switch(P){case e:switch(b=b.type,b){case n:case i:case r:case f:case d:return b;default:switch(b=b&&b.$$typeof,b){case u:case l:case c:case g:case h:case a:return b;default:return P}}case t:return P}}}return qe.ContextConsumer=l,qe.ContextProvider=a,qe.Element=e,qe.ForwardRef=c,qe.Fragment=n,qe.Lazy=g,qe.Memo=h,qe.Portal=t,qe.Profiler=i,qe.StrictMode=r,qe.Suspense=f,qe.SuspenseList=d,qe.isAsyncMode=function(){return!1},qe.isConcurrentMode=function(){return!1},qe.isContextConsumer=function(b){return S(b)===l},qe.isContextProvider=function(b){return S(b)===a},qe.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===e},qe.isForwardRef=function(b){return S(b)===c},qe.isFragment=function(b){return S(b)===n},qe.isLazy=function(b){return S(b)===g},qe.isMemo=function(b){return S(b)===h},qe.isPortal=function(b){return S(b)===t},qe.isProfiler=function(b){return S(b)===i},qe.isStrictMode=function(b){return S(b)===r},qe.isSuspense=function(b){return S(b)===f},qe.isSuspenseList=function(b){return S(b)===d},qe.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===n||b===i||b===r||b===f||b===d||b===y||typeof b=="object"&&b!==null&&(b.$$typeof===g||b.$$typeof===h||b.$$typeof===a||b.$$typeof===l||b.$$typeof===c||b.$$typeof===w||b.getModuleId!==void 0)},qe.typeOf=S,qe}var YP;function KY(){return YP||(YP=1,wg.exports=VY()),wg.exports}var GY=KY(),XP=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",QP=null,kg=null,KI=e=>{if(e===QP&&Array.isArray(kg))return kg;var t=[];return k.Children.forEach(e,n=>{mt(n)||(GY.isFragment(n)?t=t.concat(KI(n.props.children)):t.push(n))}),kg=t,QP=e,t};function YY(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(i=>XP(i)):r=[XP(t)],KI(e).forEach(i=>{var a=To(i,"type.displayName")||To(i,"type.name");a&&r.indexOf(a)!==-1&&n.push(i)}),n}var GI=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0,Sg={},ZP;function XY(){return ZP||(ZP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){var i;if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const a=n[Symbol.toStringTag];return a==null||!((i=Object.getOwnPropertyDescriptor(n,Symbol.toStringTag))!=null&&i.writable)?!1:n.toString()===`[object ${a}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}e.isPlainObject=t})(Sg)),Sg}var jg,JP;function QY(){return JP||(JP=1,jg=XY().isPlainObject),jg}var ZY=QY();const JY=xr(ZY);var eE,tE,nE,rE,iE;function aE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function oE(e){for(var t=1;t{var a=n-r,l;return l=ht(eE||(eE=Xl(["M ",",",""])),e,t),l+=ht(tE||(tE=Xl(["L ",",",""])),e+n,t),l+=ht(nE||(nE=Xl(["L ",",",""])),e+n-a/2,t+i),l+=ht(rE||(rE=Xl(["L ",",",""])),e+n-a/2-r,t+i),l+=ht(iE||(iE=Xl(["L ",","," Z"])),e,t),l},rX={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},iX=e=>{var t=mn(e,rX),{x:n,y:r,upperWidth:i,lowerWidth:a,height:l,className:u}=t,{animationEasing:c,animationDuration:f,animationBegin:d,isUpdateAnimationActive:h}=t,g=k.useRef(null),[y,w]=k.useState(-1),S=k.useRef(i),b=k.useRef(a),P=k.useRef(l),E=k.useRef(n),O=k.useRef(r),A=pd(e,"trapezoid-");if(k.useEffect(()=>{if(g.current&&g.current.getTotalLength)try{var X=g.current.getTotalLength();X&&w(X)}catch{}},[]),n!==+n||r!==+r||i!==+i||a!==+a||l!==+l||i===0&&a===0||l===0)return null;var I=Ge("recharts-trapezoid",u);if(!h)return k.createElement("g",null,k.createElement("path",Nf({},dn(t),{className:I,d:lE(n,r,i,a,l)})));var C=S.current,L=b.current,R=P.current,U=E.current,D=O.current,q="0px ".concat(y===-1?1:y,"px"),z="".concat(y,"px 0px"),ee=rA(["strokeDasharray"],f,c);return k.createElement(dd,{animationId:A,key:A,canBegin:y>0,duration:f,easing:c,isActive:h,begin:d},X=>{var Q=ut(C,i,X),he=ut(L,a,X),de=ut(R,l,X),Z=ut(U,n,X),ae=ut(D,r,X);g.current&&(S.current=Q,b.current=he,P.current=de,E.current=Z,O.current=ae);var T=X>0?{transition:ee,strokeDasharray:z}:{strokeDasharray:q};return k.createElement("path",Nf({},dn(t),{className:I,d:lE(Z,ae,Q,he,de),ref:g,style:oE(oE({},T),t.style)}))})},aX=["option","shapeType","activeClassName"];function oX(e,t){if(e==null)return{};var n,r,i=lX(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var r=yt();return(i,a)=>l=>{e==null||e(i,a,l),r(nI({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},XI=e=>{var t=yt();return(n,r)=>i=>{e==null||e(n,r,i),t(AK())}},QI=(e,t,n)=>{var r=yt();return(i,a)=>l=>{e==null||e(i,a,l),r(_K({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function ZI(e){var{tooltipEntrySettings:t}=e,n=yt(),r=on(),i=k.useRef(null);return k.useLayoutEffect(()=>{r||(i.current===null?n(EK(t)):i.current!==t&&n(CK({prev:i.current,next:t})),i.current=t)},[t,n,r]),k.useLayoutEffect(()=>()=>{i.current&&(n(OK(i.current)),i.current=null)},[n]),null}function JI(e){var{legendPayload:t}=e,n=yt(),r=on(),i=k.useRef(null);return k.useLayoutEffect(()=>{r||(i.current===null?n(oW(t)):i.current!==t&&n(lW({prev:i.current,next:t})),i.current=t)},[n,r,t]),k.useLayoutEffect(()=>()=>{i.current&&(n(sW(i.current)),i.current=null)},[n]),null}var Pg,mX=()=>{var[e]=k.useState(()=>fs("uid-"));return e},gX=(Pg=qD.useId)!==null&&Pg!==void 0?Pg:mX;function vX(e,t){var n=gX();return t||(e?"".concat(e,"-").concat(n):n)}var yX=k.createContext(void 0),eT=e=>{var{id:t,type:n,children:r}=e,i=vX("recharts-".concat(n),t);return k.createElement(yX.Provider,{value:i},r(i))},xX={cartesianItems:[],polarItems:[]},tT=On({name:"graphicalItems",initialState:xX,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:at()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=mr(e).cartesianItems.indexOf(n);i>-1&&(e.cartesianItems[i]=r)},prepare:at()},removeCartesianGraphicalItem:{reducer(e,t){var n=mr(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:at()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:at()},removePolarGraphicalItem:{reducer(e,t){var n=mr(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:at()}}}),{addCartesianGraphicalItem:bX,replaceCartesianGraphicalItem:wX,removeCartesianGraphicalItem:kX,addPolarGraphicalItem:Kte,removePolarGraphicalItem:Gte}=tT.actions,SX=tT.reducer,jX=e=>{var t=yt(),n=k.useRef(null);return k.useLayoutEffect(()=>{n.current===null?t(bX(e)):n.current!==e&&t(wX({prev:n.current,next:e})),n.current=e},[t,e]),k.useLayoutEffect(()=>()=>{n.current&&(t(kX(n.current)),n.current=null)},[t]),null},nT=k.memo(jX),PX=["points"];function cE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Eg(e){for(var t=1;t{var b,P,E=Eg(Eg(Eg({r:3},l),h),{},{index:S,cx:(b=w.x)!==null&&b!==void 0?b:void 0,cy:(P=w.y)!==null&&P!==void 0?P:void 0,dataKey:a,value:w.value,payload:w.payload,points:t});return k.createElement(_X,{key:"dot-".concat(S),option:n,dotProps:E,className:i})}),y={};return u&&c!=null&&(y.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(c,")")),k.createElement(nr,{zIndex:f},k.createElement(pn,_f({className:r},y),g))}function fE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function dE(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),KX=G([VX,fi,di],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),$x=()=>Pe(KX),GX=()=>Pe(b7);function pE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Cg(e){for(var t=1;t{var{point:t,childIndex:n,mainColor:r,activeDot:i,dataKey:a,clipPath:l}=e;if(i===!1||t.x==null||t.y==null)return null;var u={index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},c=Cg(Cg(Cg({},u),As(i)),jy(i)),f;return k.isValidElement(i)?f=k.cloneElement(i,c):typeof i=="function"?f=i(c):f=k.createElement(HI,c),k.createElement(pn,{className:"recharts-active-dot",clipPath:l},f)};function hE(e){var{points:t,mainColor:n,activeDot:r,itemDataKey:i,clipPath:a,zIndex:l=zt.activeDot}=e,u=Pe(La),c=GX();if(t==null||c==null)return null;var f=t.find(d=>c.includes(d.payload));return mt(f)?null:k.createElement(nr,{zIndex:l},k.createElement(ZX,{point:f,childIndex:Number(u),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var mE=(e,t,n)=>{var r=n??e;if(!mt(r))return vr(r,t,0)},JX=(e,t,n)=>{var r={},i=e.filter(Ed),a=e.filter(f=>f.stackId==null),l=i.reduce((f,d)=>{var h=f[d.stackId];return h==null&&(h=[]),h.push(d),f[d.stackId]=h,f},r),u=Object.entries(l).map(f=>{var d,[h,g]=f,y=g.map(S=>S.dataKey),w=mE(t,n,(d=g[0])===null||d===void 0?void 0:d.barSize);return{stackId:h,dataKeys:y,barSize:w}}),c=a.map(f=>{var d=[f.dataKey].filter(g=>g!=null),h=mE(t,n,f.barSize);return{stackId:void 0,dataKeys:d,barSize:h}});return[...u,...c]};function gE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Pc(e){for(var t=1;tE+(O.barSize||0),0);g+=(l-1)*u,g>=n&&(g-=(l-1)*u,u=0),g>=n&&h>0&&(d=!0,h*=.9,g=l*h);var y=(n-g)/2>>0,w={offset:y-u,size:0};c=r.reduce((E,O)=>{var A,I={stackId:O.stackId,dataKeys:O.dataKeys,position:{offset:w.offset+w.size+u,size:d?h:(A=O.barSize)!==null&&A!==void 0?A:0}},C=[...E,I];return w=I.position,C},f)}else{var S=vr(t,n,0,!0);n-2*S-(l-1)*u<=0&&(u=0);var b=(n-2*S-(l-1)*u)/l;b>1&&(b>>=0);var P=De(i)?Math.min(b,i):b;c=r.reduce((E,O,A)=>[...E,{stackId:O.stackId,dataKeys:O.dataKeys,position:{offset:S+(b+u)*A+(b-P)/2,size:P}}],f)}return c}}var iQ=(e,t,n,r,i,a,l)=>{var u=mt(l)?t:l,c=rQ(n,r,i!==a?i:a,e,u);return i!==a&&c!=null&&(c=c.map(f=>Pc(Pc({},f),{},{position:Pc(Pc({},f.position),{},{offset:f.position.offset-i/2})}))),c},aQ=(e,t)=>{var n=Pd(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var i=e[r];if(i){var{stackedData:a}=i;if(a)return a.find(l=>l.key===n)}}}},oQ=(e,t)=>{if(!(e==null||t==null)){var n=e.find(r=>r.stackId===t.stackId&&t.dataKey!=null&&r.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function lQ(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&De(e.zIndex)?e.zIndex:t}var sQ=e=>{var{chartData:t}=e,n=yt(),r=on();return k.useEffect(()=>r?()=>{}:(n(PP(t)),()=>{n(PP(void 0))}),[t,n,r]),null},vE={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},aT=On({name:"brush",initialState:vE,reducers:{setBrushSettings(e,t){return t.payload==null?vE:t.payload}}}),{setBrushSettings:Zte}=aT.actions,uQ=aT.reducer;function cQ(e){return(e%180+180)%180}var fQ=function(t){var{width:n,height:r}=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=cQ(i),l=a*Math.PI/180,u=Math.atan(r/n),c=l>u&&l{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=mr(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=mr(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=mr(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:Jte,removeDot:ene,addArea:tne,removeArea:nne,addLine:rne,removeLine:ine}=oT.actions,pQ=oT.reducer,hQ=k.createContext(void 0),mQ=e=>{var{children:t}=e,[n]=k.useState("".concat(fs("recharts"),"-clip")),r=$x();if(r==null)return null;var{x:i,y:a,width:l,height:u}=r;return k.createElement(hQ.Provider,{value:n},k.createElement("defs",null,k.createElement("clipPath",{id:n},k.createElement("rect",{x:i,y:a,height:u,width:l}))),t)};function lT(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;re*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function yQ(e,t){return lT(e,t+1)}function xQ(e,t,n,r,i){for(var a=(r||[]).slice(),{start:l,end:u}=t,c=0,f=1,d=l,h=function(){var w=r==null?void 0:r[c];if(w===void 0)return{v:lT(r,f)};var S=c,b,P=()=>(b===void 0&&(b=n(w,S)),b),E=w.coordinate,O=c===0||Ps(e,E,P,d,u);O||(c=0,d=l,f+=1),O&&(d=E+e*(P()/2+i),c+=f)},g;f<=a.length;)if(g=h(),g)return g.v;return[]}function bQ(e,t,n,r,i){var a=(r||[]).slice(),l=a.length;if(l===0)return[];for(var{start:u,end:c}=t,f=1;f<=l;f++){for(var d=(l-1)%f,h=u,g=!0,y=function(){var A=r[S];if(A==null)return 0;var I=S,C,L=()=>(C===void 0&&(C=n(A,I)),C),R=A.coordinate,U=S===d||Ps(e,R,L,h,c);if(!U)return g=!1,1;U&&(h=R+e*(L()/2+i))},w,S=d;S(S===void 0&&(S=n(y,g)),S);if(g===l-1){var P=e*(w.coordinate+e*b()/2-c);a[g]=w=tn(tn({},w),{},{tickCoord:P>0?w.coordinate-P*e:w.coordinate})}else a[g]=w=tn(tn({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var E=Ps(e,w.tickCoord,b,u,c);E&&(c=w.tickCoord-e*(b()/2+i),a[g]=tn(tn({},w),{},{isShow:!0}))}},d=l-1;d>=0;d--)f(d);return a}function PQ(e,t,n,r,i,a){var l=(r||[]).slice(),u=l.length,{start:c,end:f}=t;if(a){var d=r[u-1];if(d!=null){var h=n(d,u-1),g=e*(d.coordinate+e*h/2-f);if(l[u-1]=d=tn(tn({},d),{},{tickCoord:g>0?d.coordinate-g*e:d.coordinate}),d.tickCoord!=null){var y=Ps(e,d.tickCoord,()=>h,c,f);y&&(f=d.tickCoord-e*(h/2+i),l[u-1]=tn(tn({},d),{},{isShow:!0}))}}}for(var w=a?u-1:u,S=function(E){var O=l[E];if(O==null)return 1;var A=O,I,C=()=>(I===void 0&&(I=n(O,E)),I);if(E===0){var L=e*(A.coordinate-e*C()/2-c);l[E]=A=tn(tn({},A),{},{tickCoord:L<0?A.coordinate-L*e:A.coordinate})}else l[E]=A=tn(tn({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var R=Ps(e,A.tickCoord,C,c,f);R&&(c=A.tickCoord+e*(C()/2+i),l[E]=tn(tn({},A),{},{isShow:!0}))}},b=0;b{var L=typeof f=="function"?f(I.value,C):I.value;return w==="width"?gQ(ls(L,{fontSize:t,letterSpacing:n}),S,h):ls(L,{fontSize:t,letterSpacing:n})[w]},P=i[0],E=i[1],O=i.length>=2&&P!=null&&E!=null?jn(E.coordinate-P.coordinate):1,A=vQ(a,O,w);return c==="equidistantPreserveStart"?xQ(O,A,b,i,l):c==="equidistantPreserveEnd"?bQ(O,A,b,i,l):(c==="preserveStart"||c==="preserveStartEnd"?y=PQ(O,A,b,i,l,c==="preserveStartEnd"):y=jQ(O,A,b,i,l),y.filter(I=>I.isShow))}var EQ=e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:a=0}=e,l=0;if(t){Array.from(t).forEach(d=>{if(d){var h=d.getBoundingClientRect();h.width>l&&(l=h.width)}});var u=n?n.getBoundingClientRect().width:0,c=i+a,f=l+c+u+(n?r:0);return Math.round(f)}return 0},CQ=["axisLine","width","height","className","hide","ticks","axisType"];function OQ(e,t){if(e==null)return{};var n,r,i=NQ(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:a,tickFormatter:l,unit:u,padding:c,tickTextProps:f,orientation:d,mirror:h,x:g,y,width:w,height:S,tickSize:b,tickMargin:P,fontSize:E,letterSpacing:O,getTicksConfig:A,events:I,axisType:C}=e,L=Fx(pt(pt({},A),{},{ticks:n}),E,O),R=MQ(d,h),U=LQ(d,h),D=Zn(A),q=As(r),z={};typeof i=="object"&&(z=i);var ee=pt(pt({},D),{},{fill:"none"},z),X=L.map(de=>pt({entry:de},DQ(de,g,y,w,S,d,b,h,P))),Q=X.map(de=>{var{entry:Z,line:ae}=de;return k.createElement(pn,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Z.value,"-").concat(Z.coordinate,"-").concat(Z.tickCoord)},i&&k.createElement("line",Ra({},ee,ae,{className:Ge("recharts-cartesian-axis-tick-line",To(i,"className"))})))}),he=X.map((de,Z)=>{var ae,T,{entry:F,tick:W}=de,_=pt(pt(pt(pt({verticalAnchor:U},D),{},{textAnchor:R,stroke:"none",fill:a},W),{},{index:Z,payload:F,visibleTicksCount:L.length,tickFormatter:l,padding:c},f),{},{angle:(ae=(T=f==null?void 0:f.angle)!==null&&T!==void 0?T:D.angle)!==null&&ae!==void 0?ae:0}),te=pt(pt({},_),q);return k.createElement(pn,Ra({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},Py(I,F,Z)),r&&k.createElement(RQ,{option:r,tickProps:te,value:"".concat(typeof l=="function"?l(F.value,Z):F.value).concat(u||"")}))});return k.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(C,"-ticks")},he.length>0&&k.createElement(nr,{zIndex:zt.label},k.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(C,"-tick-labels"),ref:t},he)),Q.length>0&&k.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(C,"-tick-lines")},Q))}),$Q=k.forwardRef((e,t)=>{var{axisLine:n,width:r,height:i,className:a,hide:l,ticks:u,axisType:c}=e,f=OQ(e,CQ),[d,h]=k.useState(""),[g,y]=k.useState(""),w=k.useRef(null);k.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var b;return EQ({ticks:w.current,label:(b=e.labelRef)===null||b===void 0?void 0:b.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var S=k.useCallback(b=>{if(b){var P=b.getElementsByClassName("recharts-cartesian-axis-tick-value");w.current=P;var E=P[0];if(E){var O=window.getComputedStyle(E),A=O.fontSize,I=O.letterSpacing;(A!==d||I!==g)&&(h(A),y(I))}}},[d,g]);return l||r!=null&&r<=0||i!=null&&i<=0?null:k.createElement(nr,{zIndex:e.zIndex},k.createElement(pn,{className:Ge("recharts-cartesian-axis",a)},k.createElement(TQ,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:Zn(e)}),k.createElement(zQ,{ref:S,axisType:c,events:f,fontSize:d,getTicksConfig:e,height:e.height,letterSpacing:g,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}),k.createElement(bY,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},k.createElement(AY,{label:e.label,labelRef:e.labelRef}),e.children)))}),Bx=k.forwardRef((e,t)=>{var n=mn(e,ni);return k.createElement($Q,Ra({},n,{ref:t}))});Bx.displayName="CartesianAxis";var FQ=["x1","y1","x2","y2","key"],BQ=["offset"],UQ=["xAxisId","yAxisId"],WQ=["xAxisId","yAxisId"];function bE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nn(e){for(var t=1;t{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:n,x:r,y:i,width:a,height:l,ry:u}=e;return k.createElement("rect",{x:r,y:i,ry:u,width:a,height:l,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function sT(e){var{option:t,lineItemProps:n}=e,r;if(k.isValidElement(t))r=k.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var i,{x1:a,y1:l,x2:u,y2:c,key:f}=n,d=If(n,FQ),h=(i=Zn(d))!==null&&i!==void 0?i:{},{offset:g}=h,y=If(h,BQ);r=k.createElement("line",ja({},y,{x1:a,y1:l,x2:u,y2:c,fill:"none",key:f}))}return r}function YQ(e){var{x:t,width:n,horizontal:r=!0,horizontalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:l}=e,u=If(e,UQ),c=i.map((f,d)=>{var h=nn(nn({},u),{},{x1:t,y1:f,x2:t+n,y2:f,key:"line-".concat(d),index:d});return k.createElement(sT,{key:"line-".concat(d),option:r,lineItemProps:h})});return k.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function XQ(e){var{y:t,height:n,vertical:r=!0,verticalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:l}=e,u=If(e,WQ),c=i.map((f,d)=>{var h=nn(nn({},u),{},{x1:f,y1:t,x2:f,y2:t+n,key:"line-".concat(d),index:d});return k.createElement(sT,{option:r,lineItemProps:h,key:"line-".concat(d)})});return k.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function QQ(e){var{horizontalFill:t,fillOpacity:n,x:r,y:i,width:a,height:l,horizontalPoints:u,horizontal:c=!0}=e;if(!c||!t||!t.length||u==null)return null;var f=u.map(h=>Math.round(h+i-i)).sort((h,g)=>h-g);i!==f[0]&&f.unshift(0);var d=f.map((h,g)=>{var y=f[g+1],w=y==null,S=w?i+l-h:y-h;if(S<=0)return null;var b=g%t.length;return k.createElement("rect",{key:"react-".concat(g),y:h,x:r,height:S,width:a,stroke:"none",fill:t[b],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return k.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function ZQ(e){var{vertical:t=!0,verticalFill:n,fillOpacity:r,x:i,y:a,width:l,height:u,verticalPoints:c}=e;if(!t||!n||!n.length)return null;var f=c.map(h=>Math.round(h+i-i)).sort((h,g)=>h-g);i!==f[0]&&f.unshift(0);var d=f.map((h,g)=>{var y=f[g+1],w=y==null,S=w?i+l-h:y-h;if(S<=0)return null;var b=g%n.length;return k.createElement("rect",{key:"react-".concat(g),x:h,y:a,width:S,height:u,stroke:"none",fill:n[b],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return k.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var JQ=(e,t)=>{var{xAxis:n,width:r,height:i,offset:a}=e;return RN(Fx(nn(nn(nn({},ni),n),{},{ticks:zN(n),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},eZ=(e,t)=>{var{yAxis:n,width:r,height:i,offset:a}=e;return RN(Fx(nn(nn(nn({},ni),n),{},{ticks:zN(n),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},tZ={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:zt.grid};function Ux(e){var t=VN(),n=KN(),r=HN(),i=nn(nn({},mn(e,tZ)),{},{x:ge(e.x)?e.x:r.left,y:ge(e.y)?e.y:r.top,width:ge(e.width)?e.width:r.width,height:ge(e.height)?e.height:r.height}),{xAxisId:a,yAxisId:l,x:u,y:c,width:f,height:d,syncWithTicks:h,horizontalValues:g,verticalValues:y}=i,w=on(),S=Pe(U=>pP(U,"xAxis",a,w)),b=Pe(U=>pP(U,"yAxis",l,w));if(!Mr(f)||!Mr(d)||!ge(u)||!ge(c))return null;var P=i.verticalCoordinatesGenerator||JQ,E=i.horizontalCoordinatesGenerator||eZ,{horizontalPoints:O,verticalPoints:A}=i;if((!O||!O.length)&&typeof E=="function"){var I=g&&g.length,C=E({yAxis:b?nn(nn({},b),{},{ticks:I?g:b.ticks}):void 0,width:t??f,height:n??d,offset:r},I?!0:h);nf(Array.isArray(C),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(O=C)}if((!A||!A.length)&&typeof P=="function"){var L=y&&y.length,R=P({xAxis:S?nn(nn({},S),{},{ticks:L?y:S.ticks}):void 0,width:t??f,height:n??d,offset:r},L?!0:h);nf(Array.isArray(R),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof R,"]")),Array.isArray(R)&&(A=R)}return k.createElement(nr,{zIndex:i.zIndex},k.createElement("g",{className:"recharts-cartesian-grid"},k.createElement(GQ,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),k.createElement(QQ,ja({},i,{horizontalPoints:O})),k.createElement(ZQ,ja({},i,{verticalPoints:A})),k.createElement(YQ,ja({},i,{offset:r,horizontalPoints:O,xAxis:S,yAxis:b})),k.createElement(XQ,ja({},i,{offset:r,verticalPoints:A,xAxis:S,yAxis:b}))))}Ux.displayName="CartesianGrid";var nZ={},uT=On({name:"errorBars",initialState:nZ,reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(a=>a.dataKey===r.dataKey&&a.direction===r.direction?i:a))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:ane,replaceErrorBar:one,removeErrorBar:lne}=uT.actions,rZ=uT.reducer,iZ=["children"];function aZ(e,t){if(e==null)return{};var n,r,i=oZ(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},sZ=k.createContext(lZ);function uZ(e){var{children:t}=e,n=aZ(e,iZ);return k.createElement(sZ.Provider,{value:n},t)}function Wx(e,t){var n,r,i=Pe(f=>mi(f,e)),a=Pe(f=>gi(f,t)),l=(n=i==null?void 0:i.allowDataOverflow)!==null&&n!==void 0?n:Dt.allowDataOverflow,u=(r=a==null?void 0:a.allowDataOverflow)!==null&&r!==void 0?r:Mt.allowDataOverflow,c=l||u;return{needClip:c,needClipX:l,needClipY:u}}function cT(e){var{xAxisId:t,yAxisId:n,clipPathId:r}=e,i=$x(),{needClipX:a,needClipY:l,needClip:u}=Wx(t,n);if(!u||!i)return null;var{x:c,y:f,width:d,height:h}=i;return k.createElement("clipPath",{id:"clipPath-".concat(r)},k.createElement("rect",{x:a?c:c-d/2,y:l?f:f-h/2,width:a?d:d*2,height:l?h:h*2}))}function cZ(e){var t=As(e),n=3,r=2;if(t!=null){var{r:i,strokeWidth:a}=t,l=Number(i),u=Number(a);return(Number.isNaN(l)||l<0)&&(l=n),(Number.isNaN(u)||u<0)&&(u=r),{r:l,strokeWidth:u}}return{r:n,strokeWidth:r}}var Og={exports:{}},Ng={};/** + */var GP;function VY(){if(GP)return qe;GP=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.server_context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),y=Symbol.for("react.offscreen"),w;w=Symbol.for("react.module.reference");function S(b){if(typeof b=="object"&&b!==null){var P=b.$$typeof;switch(P){case e:switch(b=b.type,b){case n:case i:case r:case f:case d:return b;default:switch(b=b&&b.$$typeof,b){case u:case l:case c:case g:case p:case a:return b;default:return P}}case t:return P}}}return qe.ContextConsumer=l,qe.ContextProvider=a,qe.Element=e,qe.ForwardRef=c,qe.Fragment=n,qe.Lazy=g,qe.Memo=p,qe.Portal=t,qe.Profiler=i,qe.StrictMode=r,qe.Suspense=f,qe.SuspenseList=d,qe.isAsyncMode=function(){return!1},qe.isConcurrentMode=function(){return!1},qe.isContextConsumer=function(b){return S(b)===l},qe.isContextProvider=function(b){return S(b)===a},qe.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===e},qe.isForwardRef=function(b){return S(b)===c},qe.isFragment=function(b){return S(b)===n},qe.isLazy=function(b){return S(b)===g},qe.isMemo=function(b){return S(b)===p},qe.isPortal=function(b){return S(b)===t},qe.isProfiler=function(b){return S(b)===i},qe.isStrictMode=function(b){return S(b)===r},qe.isSuspense=function(b){return S(b)===f},qe.isSuspenseList=function(b){return S(b)===d},qe.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===n||b===i||b===r||b===f||b===d||b===y||typeof b=="object"&&b!==null&&(b.$$typeof===g||b.$$typeof===p||b.$$typeof===a||b.$$typeof===l||b.$$typeof===c||b.$$typeof===w||b.getModuleId!==void 0)},qe.typeOf=S,qe}var YP;function KY(){return YP||(YP=1,wg.exports=VY()),wg.exports}var GY=KY(),XP=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",QP=null,kg=null,KI=e=>{if(e===QP&&Array.isArray(kg))return kg;var t=[];return k.Children.forEach(e,n=>{mt(n)||(GY.isFragment(n)?t=t.concat(KI(n.props.children)):t.push(n))}),kg=t,QP=e,t};function YY(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(i=>XP(i)):r=[XP(t)],KI(e).forEach(i=>{var a=To(i,"type.displayName")||To(i,"type.name");a&&r.indexOf(a)!==-1&&n.push(i)}),n}var GI=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0,Sg={},ZP;function XY(){return ZP||(ZP=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){var i;if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const a=n[Symbol.toStringTag];return a==null||!((i=Object.getOwnPropertyDescriptor(n,Symbol.toStringTag))!=null&&i.writable)?!1:n.toString()===`[object ${a}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}e.isPlainObject=t})(Sg)),Sg}var jg,JP;function QY(){return JP||(JP=1,jg=XY().isPlainObject),jg}var ZY=QY();const JY=xr(ZY);var eE,tE,nE,rE,iE;function aE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function oE(e){for(var t=1;t{var a=n-r,l;return l=pt(eE||(eE=Xl(["M ",",",""])),e,t),l+=pt(tE||(tE=Xl(["L ",",",""])),e+n,t),l+=pt(nE||(nE=Xl(["L ",",",""])),e+n-a/2,t+i),l+=pt(rE||(rE=Xl(["L ",",",""])),e+n-a/2-r,t+i),l+=pt(iE||(iE=Xl(["L ",","," Z"])),e,t),l},rX={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},iX=e=>{var t=mn(e,rX),{x:n,y:r,upperWidth:i,lowerWidth:a,height:l,className:u}=t,{animationEasing:c,animationDuration:f,animationBegin:d,isUpdateAnimationActive:p}=t,g=k.useRef(null),[y,w]=k.useState(-1),S=k.useRef(i),b=k.useRef(a),P=k.useRef(l),E=k.useRef(n),O=k.useRef(r),A=hd(e,"trapezoid-");if(k.useEffect(()=>{if(g.current&&g.current.getTotalLength)try{var G=g.current.getTotalLength();G&&w(G)}catch{}},[]),n!==+n||r!==+r||i!==+i||a!==+a||l!==+l||i===0&&a===0||l===0)return null;var I=Ge("recharts-trapezoid",u);if(!p)return k.createElement("g",null,k.createElement("path",Nf({},dn(t),{className:I,d:lE(n,r,i,a,l)})));var C=S.current,M=b.current,B=P.current,H=E.current,L=O.current,W="0px ".concat(y===-1?1:y,"px"),R="".concat(y,"px 0px"),V=rA(["strokeDasharray"],f,c);return k.createElement(dd,{animationId:A,key:A,canBegin:y>0,duration:f,easing:c,isActive:p,begin:d},G=>{var Q=ut(C,i,G),de=ut(M,a,G),ce=ut(B,l,G),J=ut(H,n,G),ae=ut(L,r,G);g.current&&(S.current=Q,b.current=de,P.current=ce,E.current=J,O.current=ae);var T=G>0?{transition:V,strokeDasharray:R}:{strokeDasharray:W};return k.createElement("path",Nf({},dn(t),{className:I,d:lE(J,ae,Q,de,ce),ref:g,style:oE(oE({},T),t.style)}))})},aX=["option","shapeType","activeClassName"];function oX(e,t){if(e==null)return{};var n,r,i=lX(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var r=yt();return(i,a)=>l=>{e==null||e(i,a,l),r(nI({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},XI=e=>{var t=yt();return(n,r)=>i=>{e==null||e(n,r,i),t(AK())}},QI=(e,t,n)=>{var r=yt();return(i,a)=>l=>{e==null||e(i,a,l),r(_K({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function ZI(e){var{tooltipEntrySettings:t}=e,n=yt(),r=on(),i=k.useRef(null);return k.useLayoutEffect(()=>{r||(i.current===null?n(EK(t)):i.current!==t&&n(CK({prev:i.current,next:t})),i.current=t)},[t,n,r]),k.useLayoutEffect(()=>()=>{i.current&&(n(OK(i.current)),i.current=null)},[n]),null}function JI(e){var{legendPayload:t}=e,n=yt(),r=on(),i=k.useRef(null);return k.useLayoutEffect(()=>{r||(i.current===null?n(oW(t)):i.current!==t&&n(lW({prev:i.current,next:t})),i.current=t)},[n,r,t]),k.useLayoutEffect(()=>()=>{i.current&&(n(sW(i.current)),i.current=null)},[n]),null}var Pg,mX=()=>{var[e]=k.useState(()=>fs("uid-"));return e},gX=(Pg=qD.useId)!==null&&Pg!==void 0?Pg:mX;function vX(e,t){var n=gX();return t||(e?"".concat(e,"-").concat(n):n)}var yX=k.createContext(void 0),eT=e=>{var{id:t,type:n,children:r}=e,i=vX("recharts-".concat(n),t);return k.createElement(yX.Provider,{value:i},r(i))},xX={cartesianItems:[],polarItems:[]},tT=On({name:"graphicalItems",initialState:xX,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:at()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=mr(e).cartesianItems.indexOf(n);i>-1&&(e.cartesianItems[i]=r)},prepare:at()},removeCartesianGraphicalItem:{reducer(e,t){var n=mr(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:at()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:at()},removePolarGraphicalItem:{reducer(e,t){var n=mr(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:at()}}}),{addCartesianGraphicalItem:bX,replaceCartesianGraphicalItem:wX,removeCartesianGraphicalItem:kX,addPolarGraphicalItem:Kte,removePolarGraphicalItem:Gte}=tT.actions,SX=tT.reducer,jX=e=>{var t=yt(),n=k.useRef(null);return k.useLayoutEffect(()=>{n.current===null?t(bX(e)):n.current!==e&&t(wX({prev:n.current,next:e})),n.current=e},[t,e]),k.useLayoutEffect(()=>()=>{n.current&&(t(kX(n.current)),n.current=null)},[t]),null},nT=k.memo(jX),PX=["points"];function cE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Eg(e){for(var t=1;t{var b,P,E=Eg(Eg(Eg({r:3},l),p),{},{index:S,cx:(b=w.x)!==null&&b!==void 0?b:void 0,cy:(P=w.y)!==null&&P!==void 0?P:void 0,dataKey:a,value:w.value,payload:w.payload,points:t});return k.createElement(_X,{key:"dot-".concat(S),option:n,dotProps:E,className:i})}),y={};return u&&c!=null&&(y.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(c,")")),k.createElement(nr,{zIndex:f},k.createElement(hn,_f({className:r},y),g))}function fE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function dE(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),KX=X([VX,fi,di],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),$x=()=>Pe(KX),GX=()=>Pe(b7);function hE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Cg(e){for(var t=1;t{var{point:t,childIndex:n,mainColor:r,activeDot:i,dataKey:a,clipPath:l}=e;if(i===!1||t.x==null||t.y==null)return null;var u={index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},c=Cg(Cg(Cg({},u),As(i)),jy(i)),f;return k.isValidElement(i)?f=k.cloneElement(i,c):typeof i=="function"?f=i(c):f=k.createElement(HI,c),k.createElement(hn,{className:"recharts-active-dot",clipPath:l},f)};function pE(e){var{points:t,mainColor:n,activeDot:r,itemDataKey:i,clipPath:a,zIndex:l=zt.activeDot}=e,u=Pe(La),c=GX();if(t==null||c==null)return null;var f=t.find(d=>c.includes(d.payload));return mt(f)?null:k.createElement(nr,{zIndex:l},k.createElement(ZX,{point:f,childIndex:Number(u),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var mE=(e,t,n)=>{var r=n??e;if(!mt(r))return vr(r,t,0)},JX=(e,t,n)=>{var r={},i=e.filter(Ed),a=e.filter(f=>f.stackId==null),l=i.reduce((f,d)=>{var p=f[d.stackId];return p==null&&(p=[]),p.push(d),f[d.stackId]=p,f},r),u=Object.entries(l).map(f=>{var d,[p,g]=f,y=g.map(S=>S.dataKey),w=mE(t,n,(d=g[0])===null||d===void 0?void 0:d.barSize);return{stackId:p,dataKeys:y,barSize:w}}),c=a.map(f=>{var d=[f.dataKey].filter(g=>g!=null),p=mE(t,n,f.barSize);return{stackId:void 0,dataKeys:d,barSize:p}});return[...u,...c]};function gE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Pc(e){for(var t=1;tE+(O.barSize||0),0);g+=(l-1)*u,g>=n&&(g-=(l-1)*u,u=0),g>=n&&p>0&&(d=!0,p*=.9,g=l*p);var y=(n-g)/2>>0,w={offset:y-u,size:0};c=r.reduce((E,O)=>{var A,I={stackId:O.stackId,dataKeys:O.dataKeys,position:{offset:w.offset+w.size+u,size:d?p:(A=O.barSize)!==null&&A!==void 0?A:0}},C=[...E,I];return w=I.position,C},f)}else{var S=vr(t,n,0,!0);n-2*S-(l-1)*u<=0&&(u=0);var b=(n-2*S-(l-1)*u)/l;b>1&&(b>>=0);var P=De(i)?Math.min(b,i):b;c=r.reduce((E,O,A)=>[...E,{stackId:O.stackId,dataKeys:O.dataKeys,position:{offset:S+(b+u)*A+(b-P)/2,size:P}}],f)}return c}}var iQ=(e,t,n,r,i,a,l)=>{var u=mt(l)?t:l,c=rQ(n,r,i!==a?i:a,e,u);return i!==a&&c!=null&&(c=c.map(f=>Pc(Pc({},f),{},{position:Pc(Pc({},f.position),{},{offset:f.position.offset-i/2})}))),c},aQ=(e,t)=>{var n=Pd(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var i=e[r];if(i){var{stackedData:a}=i;if(a)return a.find(l=>l.key===n)}}}},oQ=(e,t)=>{if(!(e==null||t==null)){var n=e.find(r=>r.stackId===t.stackId&&t.dataKey!=null&&r.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function lQ(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&De(e.zIndex)?e.zIndex:t}var sQ=e=>{var{chartData:t}=e,n=yt(),r=on();return k.useEffect(()=>r?()=>{}:(n(PP(t)),()=>{n(PP(void 0))}),[t,n,r]),null},vE={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},aT=On({name:"brush",initialState:vE,reducers:{setBrushSettings(e,t){return t.payload==null?vE:t.payload}}}),{setBrushSettings:Zte}=aT.actions,uQ=aT.reducer;function cQ(e){return(e%180+180)%180}var fQ=function(t){var{width:n,height:r}=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=cQ(i),l=a*Math.PI/180,u=Math.atan(r/n),c=l>u&&l{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=mr(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=mr(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=mr(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:Jte,removeDot:ene,addArea:tne,removeArea:nne,addLine:rne,removeLine:ine}=oT.actions,hQ=oT.reducer,pQ=k.createContext(void 0),mQ=e=>{var{children:t}=e,[n]=k.useState("".concat(fs("recharts"),"-clip")),r=$x();if(r==null)return null;var{x:i,y:a,width:l,height:u}=r;return k.createElement(pQ.Provider,{value:n},k.createElement("defs",null,k.createElement("clipPath",{id:n},k.createElement("rect",{x:i,y:a,height:u,width:l}))),t)};function lT(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;re*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function yQ(e,t){return lT(e,t+1)}function xQ(e,t,n,r,i){for(var a=(r||[]).slice(),{start:l,end:u}=t,c=0,f=1,d=l,p=function(){var w=r==null?void 0:r[c];if(w===void 0)return{v:lT(r,f)};var S=c,b,P=()=>(b===void 0&&(b=n(w,S)),b),E=w.coordinate,O=c===0||Ps(e,E,P,d,u);O||(c=0,d=l,f+=1),O&&(d=E+e*(P()/2+i),c+=f)},g;f<=a.length;)if(g=p(),g)return g.v;return[]}function bQ(e,t,n,r,i){var a=(r||[]).slice(),l=a.length;if(l===0)return[];for(var{start:u,end:c}=t,f=1;f<=l;f++){for(var d=(l-1)%f,p=u,g=!0,y=function(){var A=r[S];if(A==null)return 0;var I=S,C,M=()=>(C===void 0&&(C=n(A,I)),C),B=A.coordinate,H=S===d||Ps(e,B,M,p,c);if(!H)return g=!1,1;H&&(p=B+e*(M()/2+i))},w,S=d;S(S===void 0&&(S=n(y,g)),S);if(g===l-1){var P=e*(w.coordinate+e*b()/2-c);a[g]=w=tn(tn({},w),{},{tickCoord:P>0?w.coordinate-P*e:w.coordinate})}else a[g]=w=tn(tn({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var E=Ps(e,w.tickCoord,b,u,c);E&&(c=w.tickCoord-e*(b()/2+i),a[g]=tn(tn({},w),{},{isShow:!0}))}},d=l-1;d>=0;d--)f(d);return a}function PQ(e,t,n,r,i,a){var l=(r||[]).slice(),u=l.length,{start:c,end:f}=t;if(a){var d=r[u-1];if(d!=null){var p=n(d,u-1),g=e*(d.coordinate+e*p/2-f);if(l[u-1]=d=tn(tn({},d),{},{tickCoord:g>0?d.coordinate-g*e:d.coordinate}),d.tickCoord!=null){var y=Ps(e,d.tickCoord,()=>p,c,f);y&&(f=d.tickCoord-e*(p/2+i),l[u-1]=tn(tn({},d),{},{isShow:!0}))}}}for(var w=a?u-1:u,S=function(E){var O=l[E];if(O==null)return 1;var A=O,I,C=()=>(I===void 0&&(I=n(O,E)),I);if(E===0){var M=e*(A.coordinate-e*C()/2-c);l[E]=A=tn(tn({},A),{},{tickCoord:M<0?A.coordinate-M*e:A.coordinate})}else l[E]=A=tn(tn({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var B=Ps(e,A.tickCoord,C,c,f);B&&(c=A.tickCoord+e*(C()/2+i),l[E]=tn(tn({},A),{},{isShow:!0}))}},b=0;b{var M=typeof f=="function"?f(I.value,C):I.value;return w==="width"?gQ(ls(M,{fontSize:t,letterSpacing:n}),S,p):ls(M,{fontSize:t,letterSpacing:n})[w]},P=i[0],E=i[1],O=i.length>=2&&P!=null&&E!=null?jn(E.coordinate-P.coordinate):1,A=vQ(a,O,w);return c==="equidistantPreserveStart"?xQ(O,A,b,i,l):c==="equidistantPreserveEnd"?bQ(O,A,b,i,l):(c==="preserveStart"||c==="preserveStartEnd"?y=PQ(O,A,b,i,l,c==="preserveStartEnd"):y=jQ(O,A,b,i,l),y.filter(I=>I.isShow))}var EQ=e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:a=0}=e,l=0;if(t){Array.from(t).forEach(d=>{if(d){var p=d.getBoundingClientRect();p.width>l&&(l=p.width)}});var u=n?n.getBoundingClientRect().width:0,c=i+a,f=l+c+u+(n?r:0);return Math.round(f)}return 0},CQ=["axisLine","width","height","className","hide","ticks","axisType"];function OQ(e,t){if(e==null)return{};var n,r,i=NQ(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:a,tickFormatter:l,unit:u,padding:c,tickTextProps:f,orientation:d,mirror:p,x:g,y,width:w,height:S,tickSize:b,tickMargin:P,fontSize:E,letterSpacing:O,getTicksConfig:A,events:I,axisType:C}=e,M=Fx(ht(ht({},A),{},{ticks:n}),E,O),B=MQ(d,p),H=LQ(d,p),L=Zn(A),W=As(r),R={};typeof i=="object"&&(R=i);var V=ht(ht({},L),{},{fill:"none"},R),G=M.map(ce=>ht({entry:ce},DQ(ce,g,y,w,S,d,b,p,P))),Q=G.map(ce=>{var{entry:J,line:ae}=ce;return k.createElement(hn,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(J.value,"-").concat(J.coordinate,"-").concat(J.tickCoord)},i&&k.createElement("line",Ra({},V,ae,{className:Ge("recharts-cartesian-axis-tick-line",To(i,"className"))})))}),de=G.map((ce,J)=>{var ae,T,{entry:$,tick:U}=ce,_=ht(ht(ht(ht({verticalAnchor:H},L),{},{textAnchor:B,stroke:"none",fill:a},U),{},{index:J,payload:$,visibleTicksCount:M.length,tickFormatter:l,padding:c},f),{},{angle:(ae=(T=f==null?void 0:f.angle)!==null&&T!==void 0?T:L.angle)!==null&&ae!==void 0?ae:0}),te=ht(ht({},_),W);return k.createElement(hn,Ra({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat($.value,"-").concat($.coordinate,"-").concat($.tickCoord)},Py(I,$,J)),r&&k.createElement(RQ,{option:r,tickProps:te,value:"".concat(typeof l=="function"?l($.value,J):$.value).concat(u||"")}))});return k.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(C,"-ticks")},de.length>0&&k.createElement(nr,{zIndex:zt.label},k.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(C,"-tick-labels"),ref:t},de)),Q.length>0&&k.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(C,"-tick-lines")},Q))}),$Q=k.forwardRef((e,t)=>{var{axisLine:n,width:r,height:i,className:a,hide:l,ticks:u,axisType:c}=e,f=OQ(e,CQ),[d,p]=k.useState(""),[g,y]=k.useState(""),w=k.useRef(null);k.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var b;return EQ({ticks:w.current,label:(b=e.labelRef)===null||b===void 0?void 0:b.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var S=k.useCallback(b=>{if(b){var P=b.getElementsByClassName("recharts-cartesian-axis-tick-value");w.current=P;var E=P[0];if(E){var O=window.getComputedStyle(E),A=O.fontSize,I=O.letterSpacing;(A!==d||I!==g)&&(p(A),y(I))}}},[d,g]);return l||r!=null&&r<=0||i!=null&&i<=0?null:k.createElement(nr,{zIndex:e.zIndex},k.createElement(hn,{className:Ge("recharts-cartesian-axis",a)},k.createElement(TQ,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:Zn(e)}),k.createElement(zQ,{ref:S,axisType:c,events:f,fontSize:d,getTicksConfig:e,height:e.height,letterSpacing:g,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}),k.createElement(bY,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},k.createElement(AY,{label:e.label,labelRef:e.labelRef}),e.children)))}),Bx=k.forwardRef((e,t)=>{var n=mn(e,ni);return k.createElement($Q,Ra({},n,{ref:t}))});Bx.displayName="CartesianAxis";var FQ=["x1","y1","x2","y2","key"],BQ=["offset"],UQ=["xAxisId","yAxisId"],WQ=["xAxisId","yAxisId"];function bE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nn(e){for(var t=1;t{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:n,x:r,y:i,width:a,height:l,ry:u}=e;return k.createElement("rect",{x:r,y:i,ry:u,width:a,height:l,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function sT(e){var{option:t,lineItemProps:n}=e,r;if(k.isValidElement(t))r=k.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var i,{x1:a,y1:l,x2:u,y2:c,key:f}=n,d=If(n,FQ),p=(i=Zn(d))!==null&&i!==void 0?i:{},{offset:g}=p,y=If(p,BQ);r=k.createElement("line",ja({},y,{x1:a,y1:l,x2:u,y2:c,fill:"none",key:f}))}return r}function YQ(e){var{x:t,width:n,horizontal:r=!0,horizontalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:l}=e,u=If(e,UQ),c=i.map((f,d)=>{var p=nn(nn({},u),{},{x1:t,y1:f,x2:t+n,y2:f,key:"line-".concat(d),index:d});return k.createElement(sT,{key:"line-".concat(d),option:r,lineItemProps:p})});return k.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function XQ(e){var{y:t,height:n,vertical:r=!0,verticalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:l}=e,u=If(e,WQ),c=i.map((f,d)=>{var p=nn(nn({},u),{},{x1:f,y1:t,x2:f,y2:t+n,key:"line-".concat(d),index:d});return k.createElement(sT,{option:r,lineItemProps:p,key:"line-".concat(d)})});return k.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function QQ(e){var{horizontalFill:t,fillOpacity:n,x:r,y:i,width:a,height:l,horizontalPoints:u,horizontal:c=!0}=e;if(!c||!t||!t.length||u==null)return null;var f=u.map(p=>Math.round(p+i-i)).sort((p,g)=>p-g);i!==f[0]&&f.unshift(0);var d=f.map((p,g)=>{var y=f[g+1],w=y==null,S=w?i+l-p:y-p;if(S<=0)return null;var b=g%t.length;return k.createElement("rect",{key:"react-".concat(g),y:p,x:r,height:S,width:a,stroke:"none",fill:t[b],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return k.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function ZQ(e){var{vertical:t=!0,verticalFill:n,fillOpacity:r,x:i,y:a,width:l,height:u,verticalPoints:c}=e;if(!t||!n||!n.length)return null;var f=c.map(p=>Math.round(p+i-i)).sort((p,g)=>p-g);i!==f[0]&&f.unshift(0);var d=f.map((p,g)=>{var y=f[g+1],w=y==null,S=w?i+l-p:y-p;if(S<=0)return null;var b=g%n.length;return k.createElement("rect",{key:"react-".concat(g),x:p,y:a,width:S,height:u,stroke:"none",fill:n[b],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return k.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var JQ=(e,t)=>{var{xAxis:n,width:r,height:i,offset:a}=e;return RN(Fx(nn(nn(nn({},ni),n),{},{ticks:zN(n),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},eZ=(e,t)=>{var{yAxis:n,width:r,height:i,offset:a}=e;return RN(Fx(nn(nn(nn({},ni),n),{},{ticks:zN(n),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},tZ={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:zt.grid};function Ux(e){var t=VN(),n=KN(),r=HN(),i=nn(nn({},mn(e,tZ)),{},{x:ge(e.x)?e.x:r.left,y:ge(e.y)?e.y:r.top,width:ge(e.width)?e.width:r.width,height:ge(e.height)?e.height:r.height}),{xAxisId:a,yAxisId:l,x:u,y:c,width:f,height:d,syncWithTicks:p,horizontalValues:g,verticalValues:y}=i,w=on(),S=Pe(H=>hP(H,"xAxis",a,w)),b=Pe(H=>hP(H,"yAxis",l,w));if(!Mr(f)||!Mr(d)||!ge(u)||!ge(c))return null;var P=i.verticalCoordinatesGenerator||JQ,E=i.horizontalCoordinatesGenerator||eZ,{horizontalPoints:O,verticalPoints:A}=i;if((!O||!O.length)&&typeof E=="function"){var I=g&&g.length,C=E({yAxis:b?nn(nn({},b),{},{ticks:I?g:b.ticks}):void 0,width:t??f,height:n??d,offset:r},I?!0:p);nf(Array.isArray(C),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(O=C)}if((!A||!A.length)&&typeof P=="function"){var M=y&&y.length,B=P({xAxis:S?nn(nn({},S),{},{ticks:M?y:S.ticks}):void 0,width:t??f,height:n??d,offset:r},M?!0:p);nf(Array.isArray(B),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof B,"]")),Array.isArray(B)&&(A=B)}return k.createElement(nr,{zIndex:i.zIndex},k.createElement("g",{className:"recharts-cartesian-grid"},k.createElement(GQ,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),k.createElement(QQ,ja({},i,{horizontalPoints:O})),k.createElement(ZQ,ja({},i,{verticalPoints:A})),k.createElement(YQ,ja({},i,{offset:r,horizontalPoints:O,xAxis:S,yAxis:b})),k.createElement(XQ,ja({},i,{offset:r,verticalPoints:A,xAxis:S,yAxis:b}))))}Ux.displayName="CartesianGrid";var nZ={},uT=On({name:"errorBars",initialState:nZ,reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(a=>a.dataKey===r.dataKey&&a.direction===r.direction?i:a))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:ane,replaceErrorBar:one,removeErrorBar:lne}=uT.actions,rZ=uT.reducer,iZ=["children"];function aZ(e,t){if(e==null)return{};var n,r,i=oZ(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},sZ=k.createContext(lZ);function uZ(e){var{children:t}=e,n=aZ(e,iZ);return k.createElement(sZ.Provider,{value:n},t)}function Wx(e,t){var n,r,i=Pe(f=>mi(f,e)),a=Pe(f=>gi(f,t)),l=(n=i==null?void 0:i.allowDataOverflow)!==null&&n!==void 0?n:Dt.allowDataOverflow,u=(r=a==null?void 0:a.allowDataOverflow)!==null&&r!==void 0?r:Mt.allowDataOverflow,c=l||u;return{needClip:c,needClipX:l,needClipY:u}}function cT(e){var{xAxisId:t,yAxisId:n,clipPathId:r}=e,i=$x(),{needClipX:a,needClipY:l,needClip:u}=Wx(t,n);if(!u||!i)return null;var{x:c,y:f,width:d,height:p}=i;return k.createElement("clipPath",{id:"clipPath-".concat(r)},k.createElement("rect",{x:a?c:c-d/2,y:l?f:f-p/2,width:a?d:d*2,height:l?p:p*2}))}function cZ(e){var t=As(e),n=3,r=2;if(t!=null){var{r:i,strokeWidth:a}=t,l=Number(i),u=Number(a);return(Number.isNaN(l)||l<0)&&(l=n),(Number.isNaN(u)||u<0)&&(u=r),{r:l,strokeWidth:u}}return{r:n,strokeWidth:r}}var Og={exports:{}},Ng={};/** * @license React * use-sync-external-store-with-selector.production.js * @@ -129,7 +129,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var wE;function fZ(){if(wE)return Ng;wE=1;var e=Fo();function t(c,f){return c===f&&(c!==0||1/c===1/f)||c!==c&&f!==f}var n=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,i=e.useRef,a=e.useEffect,l=e.useMemo,u=e.useDebugValue;return Ng.useSyncExternalStoreWithSelector=function(c,f,d,h,g){var y=i(null);if(y.current===null){var w={hasValue:!1,value:null};y.current=w}else w=y.current;y=l(function(){function b(I){if(!P){if(P=!0,E=I,I=h(I),g!==void 0&&w.hasValue){var C=w.value;if(g(C,I))return O=C}return O=I}if(C=O,n(E,I))return C;var L=h(I);return g!==void 0&&g(C,L)?(E=I,C):(E=I,O=L)}var P=!1,E,O,A=d===void 0?null:d;return[function(){return b(f())},A===null?void 0:function(){return b(A())}]},[f,d,h,g]);var S=r(c,y[0],y[1]);return a(function(){w.hasValue=!0,w.value=S},[S]),u(S),S},Ng}var kE;function dZ(){return kE||(kE=1,Og.exports=fZ()),Og.exports}dZ();function pZ(e){e()}function hZ(){let e=null,t=null;return{clear(){e=null,t=null},notify(){pZ(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var SE={notify(){},get:()=>[]};function mZ(e,t){let n,r=SE,i=0,a=!1;function l(S){d();const b=r.subscribe(S);let P=!1;return()=>{P||(P=!0,b(),h())}}function u(){r.notify()}function c(){w.onStateChange&&w.onStateChange()}function f(){return a}function d(){i++,n||(n=e.subscribe(c),r=hZ())}function h(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=SE)}function g(){a||(a=!0,d())}function y(){a&&(a=!1,h())}const w={addNestedSub:l,notifyNestedSubs:u,handleChangeWrapper:c,isSubscribed:f,trySubscribe:g,tryUnsubscribe:y,getListeners:()=>r};return w}var gZ=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",vZ=gZ(),yZ=()=>typeof navigator<"u"&&navigator.product==="ReactNative",xZ=yZ(),bZ=()=>vZ||xZ?k.useLayoutEffect:k.useEffect,wZ=bZ();function jE(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function kZ(e,t){if(jE(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const c=mZ(i);return{store:i,subscription:c,getServerState:r?()=>r:void 0}},[i,r]),l=k.useMemo(()=>i.getState(),[i]);wZ(()=>{const{subscription:c}=a;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),l!==i.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[a,l]);const u=n||jZ;return k.createElement(u.Provider,{value:a},t)}var EZ=PZ,CZ=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius"]);function OZ(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Dd(e,t){var n=new Set([...Object.keys(e),...Object.keys(t)]);for(var r of n)if(CZ.has(r)){if(e[r]==null&&t[r]==null)continue;if(!kZ(e[r],t[r]))return!1}else if(!OZ(e[r],t[r]))return!1;return!0}function $r(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:rT}function Fr(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:rT}var fT=(e,t,n)=>Zi(e,"xAxis",$r(e,t),n),dT=(e,t,n)=>Qi(e,"xAxis",$r(e,t),n),pT=(e,t,n)=>Zi(e,"yAxis",Fr(e,t),n),hT=(e,t,n)=>Qi(e,"yAxis",Fr(e,t),n),NZ=G([He,fT,pT,dT,hT],(e,t,n,r,i)=>zr(e,"xAxis")?Mo(t,r,!1):Mo(n,i,!1)),AZ=(e,t)=>t,mT=G([Nd,AZ],(e,t)=>e.filter(n=>n.type==="area").find(n=>n.id===t)),gT=e=>{var t=He(e),n=zr(t,"xAxis");return n?"yAxis":"xAxis"},_Z=(e,t)=>{var n=gT(e);return n==="yAxis"?Fr(e,t):$r(e,t)},IZ=(e,t,n)=>Pf(e,gT(e),_Z(e,t),n),TZ=G([mT,IZ],(e,t)=>{var n;if(!(e==null||t==null)){var{stackId:r}=e,i=Pd(e);if(!(r==null||i==null)){var a=(n=t[r])===null||n===void 0?void 0:n.stackedData,l=a==null?void 0:a.find(u=>u.key===i);if(l!=null)return l.map(u=>[u[0],u[1]])}}}),DZ=G([He,fT,pT,dT,hT,TZ,KA,NZ,mT,mV],(e,t,n,r,i,a,l,u,c,f)=>{var{chartData:d,dataStartIndex:h,dataEndIndex:g}=l;if(!(c==null||e!=="horizontal"&&e!=="vertical"||t==null||n==null||r==null||i==null||r.length===0||i.length===0||u==null)){var{data:y}=c,w;if(y&&y.length>0?w=y:w=d==null?void 0:d.slice(h,g+1),w!=null)return JZ({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:h,areaSettings:c,stackedData:a,displayedData:w,chartBaseValue:f,bandSize:u})}}),MZ=["id"],LZ=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Oa(){return Oa=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{dataKey:t,name:n,stroke:r,fill:i,legendType:a,hide:l}=e;return[{inactive:l,dataKey:t,type:a,color:Tf(r,i),value:rd(n,t),payload:e}]},UZ=k.memo(e=>{var{dataKey:t,data:n,stroke:r,strokeWidth:i,fill:a,name:l,hide:u,unit:c,tooltipType:f,id:d}=e,h={dataDefinedOnItem:n,getPosition:Fa,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:rd(l,t),hide:u,type:f,color:Tf(r,a),unit:c,graphicalItemId:d}};return k.createElement(ZI,{tooltipEntrySettings:h})});function WZ(e){var{clipPathId:t,points:n,props:r}=e,{needClip:i,dot:a,dataKey:l}=r,u=Zn(r);return k.createElement(TX,{points:n,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:l,baseProps:u,needClip:i,clipPathId:t})}function qZ(e){var{showLabels:t,children:n,points:r}=e,i=r.map(a=>{var l,u,c={x:(l=a.x)!==null&&l!==void 0?l:0,y:(u=a.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Po(Po({},c),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return k.createElement(UI,{value:t?i:void 0},n)}function EE(e){var{points:t,baseLine:n,needClip:r,clipPathId:i,props:a}=e,{layout:l,type:u,stroke:c,connectNulls:f,isRange:d}=a,{id:h}=a,g=vT(a,MZ),y=Zn(g),w=dn(g);return k.createElement(k.Fragment,null,(t==null?void 0:t.length)>1&&k.createElement(pn,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},k.createElement(os,Oa({},w,{id:h,points:t,connectNulls:f,type:u,baseLine:n,layout:l,stroke:"none",className:"recharts-area-area"})),c!=="none"&&k.createElement(os,Oa({},y,{className:"recharts-area-curve",layout:l,type:u,connectNulls:f,fill:"none",points:t})),c!=="none"&&d&&k.createElement(os,Oa({},y,{className:"recharts-area-curve",layout:l,type:u,connectNulls:f,fill:"none",points:n}))),k.createElement(WZ,{points:t,props:g,clipPathId:i}))}function HZ(e){var t,n,{alpha:r,baseLine:i,points:a,strokeWidth:l}=e,u=(t=a[0])===null||t===void 0?void 0:t.y,c=(n=a[a.length-1])===null||n===void 0?void 0:n.y;if(!De(u)||!De(c))return null;var f=r*Math.abs(u-c),d=Math.max(...a.map(h=>h.x||0));return ge(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(h=>h.x||0),d)),ge(d)?k.createElement("rect",{x:0,y:uh.y||0));return ge(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(h=>h.y||0),d)),ge(d)?k.createElement("rect",{x:u({points:l,baseLine:u}),[l,u]),S=pd(w,"recharts-area-"),b=zy(),[P,E]=k.useState(!1),O=!P,A=k.useCallback(()=>{typeof y=="function"&&y(),E(!1)},[y]),I=k.useCallback(()=>{typeof g=="function"&&g(),E(!0)},[g]);if(b==null)return null;var C=i.current,L=a.current;return k.createElement(qZ,{showLabels:O,points:l},r.children,k.createElement(dd,{animationId:S,begin:f,duration:d,isActive:c,easing:h,onAnimationEnd:A,onAnimationStart:I,key:S},R=>{if(C){var U=C.length/l.length,D=R===1?l:l.map((z,ee)=>{var X=Math.floor(ee*U);if(C[X]){var Q=C[X];return Po(Po({},z),{},{x:ut(Q.x,z.x,R),y:ut(Q.y,z.y,R)})}return z}),q;return ge(u)?q=ut(L,u,R):mt(u)||gr(u)?q=ut(L,0,R):q=u.map((z,ee)=>{var X=Math.floor(ee*U);if(Array.isArray(L)&&L[X]){var Q=L[X];return Po(Po({},z),{},{x:ut(Q.x,z.x,R),y:ut(Q.y,z.y,R)})}return z}),R>0&&(i.current=D,a.current=q),k.createElement(EE,{points:D,baseLine:q,needClip:t,clipPathId:n,props:r})}return R>0&&(i.current=l,a.current=u),k.createElement(pn,null,c&&k.createElement("defs",null,k.createElement("clipPath",{id:"animationClipPath-".concat(n)},k.createElement(KZ,{alpha:R,points:l,baseLine:u,layout:b,strokeWidth:r.strokeWidth}))),k.createElement(pn,{clipPath:"url(#animationClipPath-".concat(n,")")},k.createElement(EE,{points:l,baseLine:u,needClip:t,clipPathId:n,props:r})))}),k.createElement(qI,{label:r.label}))}function YZ(e){var{needClip:t,clipPathId:n,props:r}=e,i=k.useRef(null),a=k.useRef();return k.createElement(GZ,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}class XZ extends k.PureComponent{render(){var{hide:t,dot:n,points:r,className:i,top:a,left:l,needClip:u,xAxisId:c,yAxisId:f,width:d,height:h,id:g,baseLine:y,zIndex:w}=this.props;if(t)return null;var S=Ge("recharts-area",i),b=g,{r:P,strokeWidth:E}=cZ(n),O=GI(n),A=P*2+E,I=u?"url(#clipPath-".concat(O?"":"dots-").concat(b,")"):void 0;return k.createElement(nr,{zIndex:w},k.createElement(pn,{className:S},u&&k.createElement("defs",null,k.createElement(cT,{clipPathId:b,xAxisId:c,yAxisId:f}),!O&&k.createElement("clipPath",{id:"clipPath-dots-".concat(b)},k.createElement("rect",{x:l-A/2,y:a-A/2,width:d+A,height:h+A}))),k.createElement(YZ,{needClip:u,clipPathId:b,props:this.props})),k.createElement(hE,{points:r,mainColor:Tf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(y)&&k.createElement(hE,{points:y,mainColor:Tf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}var yT={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:zt.area};function QZ(e){var t,n=mn(e,yT),{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:l,connectNulls:u,dot:c,fill:f,fillOpacity:d,hide:h,isAnimationActive:g,legendType:y,stroke:w,xAxisId:S,yAxisId:b}=n,P=vT(n,LZ),E=Ba(),O=bI(),{needClip:A}=Wx(S,b),I=on(),{points:C,isRange:L,baseLine:R}=(t=Pe(X=>DZ(X,e.id,I)))!==null&&t!==void 0?t:{},U=$x();if(E!=="horizontal"&&E!=="vertical"||U==null||O!=="AreaChart"&&O!=="ComposedChart")return null;var{height:D,width:q,x:z,y:ee}=U;return!C||!C.length?null:k.createElement(XZ,Oa({},P,{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:l,baseLine:R,connectNulls:u,dot:c,fill:f,fillOpacity:d,height:D,hide:h,layout:E,isAnimationActive:g==="auto"?!Rs.isSsr:g,isRange:L,legendType:y,needClip:A,points:C,stroke:w,width:q,left:z,top:ee,xAxisId:S,yAxisId:b}))}var ZZ=(e,t,n,r,i)=>{var a=n??t;if(ge(a))return a;var l=e==="horizontal"?i:r,u=l.scale.domain();if(l.type==="number"){var c=Math.max(u[0],u[1]),f=Math.min(u[0],u[1]);return a==="dataMin"?f:a==="dataMax"||c<0?c:Math.max(Math.min(u[0],u[1]),0)}return a==="dataMin"?u[0]:a==="dataMax"?u[1]:u[0]};function JZ(e){var{areaSettings:{connectNulls:t,baseValue:n,dataKey:r},stackedData:i,layout:a,chartBaseValue:l,xAxis:u,yAxis:c,displayedData:f,dataStartIndex:d,xAxisTicks:h,yAxisTicks:g,bandSize:y}=e,w=i&&i.length,S=ZZ(a,l,n,u,c),b=a==="horizontal",P=!1,E=f.map((A,I)=>{var C,L,R,U;if(w)U=i[d+I];else{var D=St(A,r);Array.isArray(D)?(U=D,P=!0):U=[S,D]}var q=(C=(L=U)===null||L===void 0?void 0:L[1])!==null&&C!==void 0?C:null,z=q==null||w&&!t&&St(A,r)==null;if(b){var ee;return{x:dS({axis:u,ticks:h,bandSize:y,entry:A,index:I}),y:z?null:(ee=c.scale.map(q))!==null&&ee!==void 0?ee:null,value:U,payload:A}}return{x:z?null:(R=u.scale.map(q))!==null&&R!==void 0?R:null,y:dS({axis:c,ticks:g,bandSize:y,entry:A,index:I}),value:U,payload:A}}),O;return w||P?O=E.map(A=>{var I,C=Array.isArray(A.value)?A.value[0]:null;if(b){var L;return{x:A.x,y:C!=null&&A.y!=null&&(L=c.scale.map(C))!==null&&L!==void 0?L:null,payload:A.payload}}return{x:C!=null&&(I=u.scale.map(C))!==null&&I!==void 0?I:null,y:A.y,payload:A.payload}}):O=b?c.scale.map(S):u.scale.map(S),{points:E,baseLine:O??0,isRange:P}}function eJ(e){var t=mn(e,yT),n=on();return k.createElement(eT,{id:t.id,type:"area"},r=>k.createElement(k.Fragment,null,k.createElement(JI,{legendPayload:BZ(t)}),k.createElement(UZ,{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:r}),k.createElement(nT,{type:"area",id:r,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:$N(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),k.createElement(QZ,Oa({},t,{id:r}))))}var zv=k.memo(eJ,Dd);zv.displayName="Area";var tJ="Invariant failed";function nJ(e,t){throw new Error(tJ)}function $v(){return $v=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(ge(t))return t;var a=ge(r)||mt(r);return a?t(r,i):(a||nJ(),n)}},iJ=(e,t,n)=>n,aJ=(e,t)=>t,Gs=G([Nd,aJ],(e,t)=>e.filter(n=>n.type==="bar").find(n=>n.id===t)),oJ=G([Gs],e=>e==null?void 0:e.maxBarSize),lJ=(e,t,n,r)=>r,sJ=G([He,Nd,$r,Fr,iJ],(e,t,n,r,i)=>t.filter(a=>e==="horizontal"?a.xAxisId===n:a.yAxisId===r).filter(a=>a.isPanorama===i).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),uJ=(e,t,n)=>{var r=He(e),i=$r(e,t),a=Fr(e,t);if(!(i==null||a==null))return r==="horizontal"?Pf(e,"yAxis",a,n):Pf(e,"xAxis",i,n)},cJ=(e,t)=>{var n=He(e),r=$r(e,t),i=Fr(e,t);if(!(r==null||i==null))return n==="horizontal"?dP(e,"xAxis",r):dP(e,"yAxis",i)},fJ=G([sJ,hV,cJ],JX),dJ=(e,t,n)=>{var r,i,a=Gs(e,t);if(a==null)return 0;var l=$r(e,t),u=Fr(e,t);if(l==null||u==null)return 0;var c=He(e),f=a_(e),{maxBarSize:d}=a,h=mt(d)?f:d,g,y;return c==="horizontal"?(g=Zi(e,"xAxis",l,n),y=Qi(e,"xAxis",l,n)):(g=Zi(e,"yAxis",u,n),y=Qi(e,"yAxis",u,n)),(r=(i=Mo(g,y,!0))!==null&&i!==void 0?i:h)!==null&&r!==void 0?r:0},xT=(e,t,n)=>{var r=He(e),i=$r(e,t),a=Fr(e,t);if(!(i==null||a==null)){var l,u;return r==="horizontal"?(l=Zi(e,"xAxis",i,n),u=Qi(e,"xAxis",i,n)):(l=Zi(e,"yAxis",a,n),u=Qi(e,"yAxis",a,n)),Mo(l,u)}},pJ=G([fJ,a_,pV,o_,dJ,xT,oJ],iQ),hJ=(e,t,n)=>{var r=$r(e,t);if(r!=null)return Zi(e,"xAxis",r,n)},mJ=(e,t,n)=>{var r=Fr(e,t);if(r!=null)return Zi(e,"yAxis",r,n)},gJ=(e,t,n)=>{var r=$r(e,t);if(r!=null)return Qi(e,"xAxis",r,n)},vJ=(e,t,n)=>{var r=Fr(e,t);if(r!=null)return Qi(e,"yAxis",r,n)},yJ=G([pJ,Gs],oQ),xJ=G([uJ,Gs],aQ),bJ=G([$t,My,hJ,mJ,gJ,vJ,yJ,He,KA,xT,xJ,Gs,lJ],(e,t,n,r,i,a,l,u,c,f,d,h,g)=>{var{chartData:y,dataStartIndex:w,dataEndIndex:S}=c;if(!(h==null||l==null||t==null||u!=="horizontal"&&u!=="vertical"||n==null||r==null||i==null||a==null||f==null)){var{data:b}=h,P;if(b!=null&&b.length>0?P=b:P=y==null?void 0:y.slice(w,S+1),P!=null)return GJ({layout:u,barSettings:h,pos:l,parentViewBox:t,bandSize:f,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:d,displayedData:P,offset:e,cells:g,dataStartIndex:w})}}),wJ=["index"];function Fv(){return Fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=k.useContext(bT);if(t!=null)return t.stackId;if(e!=null)return $N(e)},PJ=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),EJ=e=>{var t=k.useContext(bT);if(t!=null){var{stackId:n}=t;return"url(#".concat(PJ(n,e),")")}},wT=e=>{var{index:t}=e,n=kJ(e,wJ),r=EJ(t);return k.createElement(pn,Fv({className:"recharts-bar-stack-layer",clipPath:r},n))},CJ=["onMouseEnter","onMouseLeave","onClick"],OJ=["value","background","tooltipPosition"],NJ=["id"],AJ=["onMouseEnter","onClick","onMouseLeave"];function ui(){return ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{dataKey:t,name:n,fill:r,legendType:i,hide:a}=e;return[{inactive:a,dataKey:t,type:i,color:r,value:rd(n,t),payload:e}]},LJ=k.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:i,name:a,hide:l,unit:u,tooltipType:c,id:f}=e,d={dataDefinedOnItem:void 0,getPosition:Fa,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:rd(a,t),hide:l,type:c,color:i,unit:u,graphicalItemId:f}};return k.createElement(ZI,{tooltipEntrySettings:d})});function RJ(e){var t=Pe(La),{data:n,dataKey:r,background:i,allOtherBarProps:a}=e,{onMouseEnter:l,onMouseLeave:u,onClick:c}=a,f=Mf(a,CJ),d=YI(l,r,a.id),h=XI(u),g=QI(c,r,a.id);if(!i||n==null)return null;var y=As(i);return k.createElement(nr,{zIndex:lQ(i,zt.barBackground)},n.map((w,S)=>{var{value:b,background:P,tooltipPosition:E}=w,O=Mf(w,OJ);if(!P)return null;var A=d(w,S),I=h(w,S),C=g(w,S),L=un(un(un(un(un({option:i,isActive:String(S)===t},O),{},{fill:"#eee"},P),y),Py(f,w,S)),{},{onMouseEnter:A,onMouseLeave:I,onClick:C,dataKey:r,index:S,className:"recharts-bar-background-rectangle"});return k.createElement(Df,ui({key:"background-bar-".concat(S)},L))}))}function zJ(e){var{showLabels:t,children:n,rects:r}=e,i=r==null?void 0:r.map(a=>{var l={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return un(un({},l),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:l,fill:a.fill})});return k.createElement(UI,{value:t?i:void 0},n)}function $J(e){var{shape:t,activeBar:n,baseProps:r,entry:i,index:a,dataKey:l}=e,u=Pe(La),c=Pe(vI),f=n&&String(a)===u&&(c==null||l===c),d=f?n:t;return f?k.createElement(nr,{zIndex:zt.activeBar},k.createElement(wT,{index:a},k.createElement(Df,ui({},r,{name:String(r.name)},i,{isActive:f,option:d,index:a,dataKey:l})))):k.createElement(Df,ui({},r,{name:String(r.name)},i,{isActive:f,option:d,index:a,dataKey:l}))}function FJ(e){var{shape:t,baseProps:n,entry:r,index:i,dataKey:a}=e;return k.createElement(Df,ui({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a}))}function BJ(e){var t,{data:n,props:r}=e,i=(t=Zn(r))!==null&&t!==void 0?t:{},{id:a}=i,l=Mf(i,NJ),{shape:u,dataKey:c,activeBar:f}=r,{onMouseEnter:d,onClick:h,onMouseLeave:g}=r,y=Mf(r,AJ),w=YI(d,c,a),S=XI(g),b=QI(h,c,a);return n?k.createElement(k.Fragment,null,n.map((P,E)=>k.createElement(wT,ui({index:E,key:"rectangle-".concat(P==null?void 0:P.x,"-").concat(P==null?void 0:P.y,"-").concat(P==null?void 0:P.value,"-").concat(E),className:"recharts-bar-rectangle"},Py(y,P,E),{onMouseEnter:w(P,E),onMouseLeave:S(P,E),onClick:b(P,E)}),f?k.createElement($J,{shape:u,activeBar:f,baseProps:l,entry:P,index:E,dataKey:c}):k.createElement(FJ,{shape:u,baseProps:l,entry:P,index:E,dataKey:c})))):null}function UJ(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:i,isAnimationActive:a,animationBegin:l,animationDuration:u,animationEasing:c,onAnimationEnd:f,onAnimationStart:d}=t,h=n.current,g=pd(t,"recharts-bar-"),[y,w]=k.useState(!1),S=!y,b=k.useCallback(()=>{typeof f=="function"&&f(),w(!1)},[f]),P=k.useCallback(()=>{typeof d=="function"&&d(),w(!0)},[d]);return k.createElement(zJ,{showLabels:S,rects:r},k.createElement(dd,{animationId:g,begin:l,duration:u,isActive:a,easing:c,onAnimationEnd:b,onAnimationStart:P,key:g},E=>{var O=E===1?r:r==null?void 0:r.map((A,I)=>{var C=h&&h[I];if(C)return un(un({},A),{},{x:ut(C.x,A.x,E),y:ut(C.y,A.y,E),width:ut(C.width,A.width,E),height:ut(C.height,A.height,E)});if(i==="horizontal"){var L=ut(0,A.height,E),R=ut(A.stackedBarStart,A.y,E);return un(un({},A),{},{y:R,height:L})}var U=ut(0,A.width,E),D=ut(A.stackedBarStart,A.x,E);return un(un({},A),{},{width:U,x:D})});return E>0&&(n.current=O??null),O==null?null:k.createElement(pn,null,k.createElement(BJ,{props:t,data:O}))}),k.createElement(qI,{label:t.label}),t.children)}function WJ(e){var t=k.useRef(null);return k.createElement(UJ,{previousRectanglesRef:t,props:e})}var kT=0,qJ=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:St(e,t)}};class HJ extends k.PureComponent{render(){var{hide:t,data:n,dataKey:r,className:i,xAxisId:a,yAxisId:l,needClip:u,background:c,id:f}=this.props;if(t||n==null)return null;var d=Ge("recharts-bar",i),h=f;return k.createElement(pn,{className:d,id:f},u&&k.createElement("defs",null,k.createElement(cT,{clipPathId:h,xAxisId:a,yAxisId:l})),k.createElement(pn,{className:"recharts-bar-rectangles",clipPath:u?"url(#clipPath-".concat(h,")"):void 0},k.createElement(RJ,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),k.createElement(WJ,this.props)))}}var VJ={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:kT,xAxisId:0,yAxisId:0,zIndex:zt.bar};function KJ(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:l,animationBegin:u,animationDuration:c,animationEasing:f,isAnimationActive:d}=e,{needClip:h}=Wx(t,n),g=Ba(),y=on(),w=YY(e.children,AI),S=Pe(E=>bJ(E,e.id,y,w));if(g!=="vertical"&&g!=="horizontal")return null;var b,P=S==null?void 0:S[0];return P==null||P.height==null||P.width==null?b=0:b=g==="vertical"?P.height/2:P.width/2,k.createElement(uZ,{xAxisId:t,yAxisId:n,data:S,dataPointFormatter:qJ,errorBarOffset:b},k.createElement(HJ,ui({},e,{layout:g,needClip:h,data:S,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:l,animationBegin:u,animationDuration:c,animationEasing:f,isAnimationActive:d})))}function GJ(e){var{layout:t,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:a,xAxis:l,yAxis:u,xAxisTicks:c,yAxisTicks:f,stackedData:d,displayedData:h,offset:g,cells:y,parentViewBox:w,dataStartIndex:S}=e,b=t==="horizontal"?u:l,P=d?b.scale.domain():null,E=c8({numericAxis:b}),O=b.scale.map(E);return h.map((A,I)=>{var C,L,R,U,D,q;if(d){var z=d[I+S];if(z==null)return null;C=a8(z,P)}else C=St(A,n),Array.isArray(C)||(C=[E,C]);var ee=rJ(r,kT)(C[1],I);if(t==="horizontal"){var X,Q=u.scale.map(C[0]),he=u.scale.map(C[1]);if(Q==null||he==null)return null;L=pS({axis:l,ticks:c,bandSize:a,offset:i.offset,entry:A,index:I}),R=(X=he??Q)!==null&&X!==void 0?X:void 0,U=i.size;var de=Q-he;if(D=gr(de)?0:de,q={x:L,y:g.top,width:U,height:g.height},Math.abs(ee)>0&&Math.abs(D)0&&Math.abs(U)k.createElement(k.Fragment,null,k.createElement(JI,{legendPayload:MJ(t)}),k.createElement(LJ,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:i}),k.createElement(nT,{type:"bar",id:i,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r}),k.createElement(nr,{zIndex:t.zIndex},k.createElement(KJ,ui({},t,{id:i})))))}var Bv=k.memo(YJ,Dd);Bv.displayName="Bar";var XJ=["domain","range"],QJ=["domain","range"];function OE(e,t){if(e==null)return{};var n,r,i=ZJ(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{if(l!=null)return _E(_E({},a),{},{type:l})},[a,l]);return k.useLayoutEffect(()=>{u!=null&&(n.current===null?t(zX(u)):n.current!==u&&t($X({prev:n.current,next:u})),n.current=u)},[u,t]),k.useLayoutEffect(()=>()=>{n.current&&(t(FX(n.current)),n.current=null)},[t]),null}var lee=e=>{var{xAxisId:t,className:n}=e,r=Pe(My),i=on(),a="xAxis",l=Pe(P=>X_(P,a,t,i)),u=Pe(P=>V_(P,t)),c=Pe(P=>gK(P,t)),f=Pe(P=>m_(P,t));if(u==null||c==null||f==null)return null;var{dangerouslySetInnerHTML:d,ticks:h,scale:g}=e,y=Wv(e,eee),{id:w,scale:S}=f,b=Wv(f,tee);return k.createElement(Bx,Uv({},y,b,{x:c.x,y:c.y,width:u.width,height:u.height,className:Ge("recharts-".concat(a," ").concat(a),n),viewBox:r,ticks:l,axisType:a}))},see={allowDataOverflow:Dt.allowDataOverflow,allowDecimals:Dt.allowDecimals,allowDuplicatedCategory:Dt.allowDuplicatedCategory,angle:Dt.angle,axisLine:ni.axisLine,height:Dt.height,hide:!1,includeHidden:Dt.includeHidden,interval:Dt.interval,label:!1,minTickGap:Dt.minTickGap,mirror:Dt.mirror,orientation:Dt.orientation,padding:Dt.padding,reversed:Dt.reversed,scale:Dt.scale,tick:Dt.tick,tickCount:Dt.tickCount,tickLine:ni.tickLine,tickSize:ni.tickSize,type:Dt.type,xAxisId:0},uee=e=>{var t=mn(e,see);return k.createElement(k.Fragment,null,k.createElement(oee,{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}),k.createElement(lee,t))},qx=k.memo(uee,ST);qx.displayName="XAxis";var cee=["type"],fee=["dangerouslySetInnerHTML","ticks","scale"],dee=["id","scale"];function qv(){return qv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(l!=null)return TE(TE({},a),{},{type:l})},[l,a]);return k.useLayoutEffect(()=>{u!=null&&(n.current===null?t(BX(u)):n.current!==u&&t(UX({prev:n.current,next:u})),n.current=u)},[u,t]),k.useLayoutEffect(()=>()=>{n.current&&(t(WX(n.current)),n.current=null)},[t]),null}function yee(e){var{yAxisId:t,className:n,width:r,label:i}=e,a=k.useRef(null),l=k.useRef(null),u=Pe(My),c=on(),f=yt(),d="yAxis",h=Pe(C=>K_(C,t)),g=Pe(C=>yK(C,t)),y=Pe(C=>X_(C,d,t,c)),w=Pe(C=>g_(C,t));if(k.useLayoutEffect(()=>{if(!(r!=="auto"||!h||zx(i)||k.isValidElement(i)||w==null)){var C=a.current;if(C){var L=C.getCalculatedWidth();Math.round(h.width)!==Math.round(L)&&f(qX({id:t,width:L}))}}},[y,h,f,i,t,r,w]),h==null||g==null||w==null)return null;var{dangerouslySetInnerHTML:S,ticks:b,scale:P}=e,E=Hv(e,fee),{id:O,scale:A}=w,I=Hv(w,dee);return k.createElement(Bx,qv({},E,I,{ref:a,labelRef:l,x:g.x,y:g.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:h.width,height:h.height,className:Ge("recharts-".concat(d," ").concat(d),n),viewBox:u,ticks:y,axisType:d}))}var xee={allowDataOverflow:Mt.allowDataOverflow,allowDecimals:Mt.allowDecimals,allowDuplicatedCategory:Mt.allowDuplicatedCategory,angle:Mt.angle,axisLine:ni.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:ni.tickLine,tickSize:ni.tickSize,type:Mt.type,width:Mt.width,yAxisId:0},bee=e=>{var t=mn(e,xee);return k.createElement(k.Fragment,null,k.createElement(vee,{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}),k.createElement(yee,t))},Es=k.memo(bee,ST);Es.displayName="YAxis";var wee=(e,t)=>t,Hx=G([wee,He,p_,Ut,pI,vi,I7,$t],$7),Vx=e=>{var t=e.currentTarget.getBoundingClientRect(),n=t.width/e.currentTarget.offsetWidth,r=t.height/e.currentTarget.offsetHeight;return{chartX:Math.round((e.clientX-t.left)/n),chartY:Math.round((e.clientY-t.top)/r)}},jT=Jn("mouseClick"),PT=Ts();PT.startListening({actionCreator:jT,effect:(e,t)=>{var n=e.payload,r=Hx(t.getState(),Vx(n));(r==null?void 0:r.activeIndex)!=null&&t.dispatch(IK({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Vv=Jn("mouseMove"),ET=Ts(),Ec=null;ET.startListening({actionCreator:Vv,effect:(e,t)=>{var n=e.payload;Ec!==null&&cancelAnimationFrame(Ec);var r=Vx(n);Ec=requestAnimationFrame(()=>{var i=t.getState(),a=Cx(i,i.tooltip.settings.shared);if(a==="axis"){var l=Hx(i,r);(l==null?void 0:l.activeIndex)!=null?t.dispatch(iI({activeIndex:l.activeIndex,activeDataKey:void 0,activeCoordinate:l.activeCoordinate})):t.dispatch(rI())}Ec=null})}});function kee(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 DE={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},CT=On({name:"rootProps",initialState:DE,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:DE.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}}}),See=CT.reducer,{updateOptions:jee}=CT.actions,Pee=null,Eee={updatePolarOptions:(e,t)=>t.payload},OT=On({name:"polarOptions",initialState:Pee,reducers:Eee}),{updatePolarOptions:sne}=OT.actions,Cee=OT.reducer,NT=Jn("keyDown"),AT=Jn("focus"),Kx=Ts();Kx.startListening({actionCreator:NT,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,a=e.payload;if(!(a!=="ArrowRight"&&a!=="ArrowLeft"&&a!=="Enter")){var l=Ox(i,Qo(n),qs(n),Vs(n)),u=l==null?-1:Number(l);if(!(!Number.isFinite(u)||u<0)){var c=vi(n);if(a==="Enter"){var f=Cf(n,"axis","hover",String(i.index));t.dispatch(Tv({active:!i.active,activeIndex:i.index,activeCoordinate:f}));return}var d=kK(n),h=d==="left-to-right"?1:-1,g=a==="ArrowRight"?1:-1,y=u+g*h;if(!(c==null||y>=c.length||y<0)){var w=Cf(n,"axis","hover",String(y));t.dispatch(Tv({active:!0,activeIndex:y.toString(),activeCoordinate:w}))}}}}}});Kx.startListening({actionCreator:AT,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var a="0",l=Cf(n,"axis","hover",String(a));t.dispatch(Tv({active:!0,activeIndex:a,activeCoordinate:l}))}}}});var Yn=Jn("externalEvent"),_T=Ts(),Ig=new Map;_T.startListening({actionCreator:Yn,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){r.persist();var i=r.type,a=Ig.get(i);a!==void 0&&cancelAnimationFrame(a);var l=requestAnimationFrame(()=>{try{var u=t.getState(),c={activeCoordinate:v7(u),activeDataKey:vI(u),activeIndex:La(u),activeLabel:gI(u),activeTooltipIndex:La(u),isTooltipActive:y7(u)};n(c,r)}finally{Ig.delete(i)}});Ig.set(i,l)}}});var Oee=G([Yo],e=>e.tooltipItemPayloads),Nee=G([Oee,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(a=>a.settings.graphicalItemId===n);if(r!=null){var{getPosition:i}=r;if(i!=null)return i(t)}}}),IT=Jn("touchMove"),TT=Ts();TT.startListening({actionCreator:IT,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){var r=t.getState(),i=Cx(r,r.tooltip.settings.shared);if(i==="axis"){var a=n.touches[0];if(a==null)return;var l=Hx(r,Vx({clientX:a.clientX,clientY:a.clientY,currentTarget:n.currentTarget}));(l==null?void 0:l.activeIndex)!=null&&t.dispatch(iI({activeIndex:l.activeIndex,activeDataKey:void 0,activeCoordinate:l.activeCoordinate}))}else if(i==="item"){var u,c=n.touches[0];if(document.elementFromPoint==null||c==null)return;var f=document.elementFromPoint(c.clientX,c.clientY);if(!f||!f.getAttribute)return;var d=f.getAttribute(v8),h=(u=f.getAttribute(y8))!==null&&u!==void 0?u:void 0,g=Xo(r).find(S=>S.id===h);if(d==null||g==null||h==null)return;var{dataKey:y}=g,w=Nee(r,d,h);t.dispatch(nI({activeDataKey:y,activeIndex:d,activeCoordinate:w,activeGraphicalItemId:h}))}}}});var Aee=sN({brush:uQ,cartesianAxis:HX,chartData:gG,errorBars:rZ,graphicalItems:SX,layout:e8,legend:uW,options:fG,polarAxis:qY,polarOptions:Cee,referenceElements:pQ,rootProps:See,tooltip:TK,zIndex:J7}),_ee=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return PU({reducer:Aee,preloadedState:t,middleware:r=>{var i;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([PT.middleware,ET.middleware,Kx.middleware,_T.middleware,TT.middleware])},enhancers:r=>{var i=r;return typeof r=="function"&&(i=r()),i.concat(SN({type:"raf"}))},devTools:{serialize:{replacer:kee},name:"recharts-".concat(n)}})};function Iee(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,i=on(),a=k.useRef(null);if(i)return n;a.current==null&&(a.current=_ee(t,r));var l=Oy;return k.createElement(EZ,{context:l,store:a.current},n)}function Tee(e){var{layout:t,margin:n}=e,r=yt(),i=on();return k.useEffect(()=>{i||(r(QU(t)),r(XU(n)))},[r,i,t,n]),null}var Dee=k.memo(Tee,Dd);function Mee(e){var t=yt();return k.useEffect(()=>{t(jee(e))},[t,e]),null}function ME(e){var{zIndex:t,isPanorama:n}=e,r=k.useRef(null),i=yt();return k.useLayoutEffect(()=>(r.current&&i(Q7({zIndex:t,element:r.current,isPanorama:n})),()=>{i(Z7({zIndex:t,isPanorama:n}))}),[i,t,n]),k.createElement("g",{tabIndex:-1,ref:r})}function LE(e){var{children:t,isPanorama:n}=e,r=Pe(B7);if(!r||r.length===0)return t;var i=r.filter(l=>l<0),a=r.filter(l=>l>0);return k.createElement(k.Fragment,null,i.map(l=>k.createElement(ME,{key:l,zIndex:l,isPanorama:n})),t,a.map(l=>k.createElement(ME,{key:l,zIndex:l,isPanorama:n})))}var Lee=["children"];function Ree(e,t){if(e==null)return{};var n,r,i=zee(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=VN(),r=KN(),i=nA();if(!Mr(n)||!Mr(r))return null;var{children:a,otherAttributes:l,title:u,desc:c}=e,f,d;return l!=null&&(typeof l.tabIndex=="number"?f=l.tabIndex:f=i?0:void 0,typeof l.role=="string"?d=l.role:d=i?"application":void 0),k.createElement(PO,Lf({},l,{title:u,desc:c,role:d,tabIndex:f,width:n,height:r,style:$ee,ref:t}),a)}),Bee=e=>{var{children:t}=e,n=Pe(ld);if(!n)return null;var{width:r,height:i,y:a,x:l}=n;return k.createElement(PO,{width:r,height:i,x:l,y:a},t)},RE=k.forwardRef((e,t)=>{var{children:n}=e,r=Ree(e,Lee),i=on();return i?k.createElement(Bee,null,k.createElement(LE,{isPanorama:!0},n)):k.createElement(Fee,Lf({ref:t},r),k.createElement(LE,{isPanorama:!1},n))});function Uee(){var e=yt(),[t,n]=k.useState(null),r=Pe(g8);return k.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),a=i.width/t.offsetWidth;De(a)&&a!==r&&e(JU(a))}},[t,e,r]),n}function zE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Wee(e){for(var t=1;t(PG(),null);function Rf(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Gee=k.forwardRef((e,t)=>{var n,r,i=k.useRef(null),[a,l]=k.useState({containerWidth:Rf((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:Rf((r=e.style)===null||r===void 0?void 0:r.height)}),u=k.useCallback((f,d)=>{l(h=>{var g=Math.round(f),y=Math.round(d);return h.containerWidth===g&&h.containerHeight===y?h:{containerWidth:g,containerHeight:y}})},[]),c=k.useCallback(f=>{if(typeof t=="function"&&t(f),f!=null&&typeof ResizeObserver<"u"){var{width:d,height:h}=f.getBoundingClientRect();u(d,h);var g=w=>{var S=w[0];if(S!=null){var{width:b,height:P}=S.contentRect;u(b,P)}},y=new ResizeObserver(g);y.observe(f),i.current=y}},[t,u]);return k.useEffect(()=>()=>{var f=i.current;f!=null&&f.disconnect()},[u]),k.createElement(k.Fragment,null,k.createElement(Ms,{width:a.containerWidth,height:a.containerHeight}),k.createElement("div",Yi({ref:c},e)))}),Yee=k.forwardRef((e,t)=>{var{width:n,height:r}=e,[i,a]=k.useState({containerWidth:Rf(n),containerHeight:Rf(r)}),l=k.useCallback((c,f)=>{a(d=>{var h=Math.round(c),g=Math.round(f);return d.containerWidth===h&&d.containerHeight===g?d:{containerWidth:h,containerHeight:g}})},[]),u=k.useCallback(c=>{if(typeof t=="function"&&t(c),c!=null){var{width:f,height:d}=c.getBoundingClientRect();l(f,d)}},[t,l]);return k.createElement(k.Fragment,null,k.createElement(Ms,{width:i.containerWidth,height:i.containerHeight}),k.createElement("div",Yi({ref:u},e)))}),Xee=k.forwardRef((e,t)=>{var{width:n,height:r}=e;return k.createElement(k.Fragment,null,k.createElement(Ms,{width:n,height:r}),k.createElement("div",Yi({ref:t},e)))}),Qee=k.forwardRef((e,t)=>{var{width:n,height:r}=e;return typeof n=="string"||typeof r=="string"?k.createElement(Yee,Yi({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?k.createElement(Xee,Yi({},e,{width:n,height:r,ref:t})):k.createElement(k.Fragment,null,k.createElement(Ms,{width:n,height:r}),k.createElement("div",Yi({ref:t},e)))});function Zee(e){return e?Gee:Qee}var Jee=k.forwardRef((e,t)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:l,onDoubleClick:u,onMouseDown:c,onMouseEnter:f,onMouseLeave:d,onMouseMove:h,onMouseUp:g,onTouchEnd:y,onTouchMove:w,onTouchStart:S,style:b,width:P,responsive:E,dispatchTouchEvents:O=!0}=e,A=k.useRef(null),I=yt(),[C,L]=k.useState(null),[R,U]=k.useState(null),D=Uee(),q=Ly(),z=(q==null?void 0:q.width)>0?q.width:P,ee=(q==null?void 0:q.height)>0?q.height:i,X=k.useCallback(Y=>{D(Y),typeof t=="function"&&t(Y),L(Y),U(Y),Y!=null&&(A.current=Y)},[D,t,L,U]),Q=k.useCallback(Y=>{I(jT(Y)),I(Yn({handler:a,reactEvent:Y}))},[I,a]),he=k.useCallback(Y=>{I(Vv(Y)),I(Yn({handler:f,reactEvent:Y}))},[I,f]),de=k.useCallback(Y=>{I(rI()),I(Yn({handler:d,reactEvent:Y}))},[I,d]),Z=k.useCallback(Y=>{I(Vv(Y)),I(Yn({handler:h,reactEvent:Y}))},[I,h]),ae=k.useCallback(()=>{I(AT())},[I]),T=k.useCallback(Y=>{I(NT(Y.key))},[I]),F=k.useCallback(Y=>{I(Yn({handler:l,reactEvent:Y}))},[I,l]),W=k.useCallback(Y=>{I(Yn({handler:u,reactEvent:Y}))},[I,u]),_=k.useCallback(Y=>{I(Yn({handler:c,reactEvent:Y}))},[I,c]),te=k.useCallback(Y=>{I(Yn({handler:g,reactEvent:Y}))},[I,g]),fe=k.useCallback(Y=>{I(Yn({handler:S,reactEvent:Y}))},[I,S]),ce=k.useCallback(Y=>{O&&I(IT(Y)),I(Yn({handler:w,reactEvent:Y}))},[I,O,w]),Se=k.useCallback(Y=>{I(Yn({handler:y,reactEvent:Y}))},[I,y]),je=Zee(E);return k.createElement(PI.Provider,{value:C},k.createElement(a5.Provider,{value:R},k.createElement(je,{width:z??(b==null?void 0:b.width),height:ee??(b==null?void 0:b.height),className:Ge("recharts-wrapper",r),style:Wee({position:"relative",cursor:"default",width:z,height:ee},b),onClick:Q,onContextMenu:F,onDoubleClick:W,onFocus:ae,onKeyDown:T,onMouseDown:_,onMouseEnter:he,onMouseLeave:de,onMouseMove:Z,onMouseUp:te,onTouchEnd:Se,onTouchMove:ce,onTouchStart:fe,ref:X},k.createElement(Kee,null),n)))}),ete=["width","height","responsive","children","className","style","compact","title","desc"];function tte(e,t){if(e==null)return{};var n,r,i=nte(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var{width:n,height:r,responsive:i,children:a,className:l,style:u,compact:c,title:f,desc:d}=e,h=tte(e,ete),g=Zn(h);return c?k.createElement(k.Fragment,null,k.createElement(Ms,{width:n,height:r}),k.createElement(RE,{otherAttributes:g,title:f,desc:d},a)):k.createElement(Jee,{className:l,style:u,width:n,height:r,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},k.createElement(RE,{otherAttributes:g,title:f,desc:d,ref:t},k.createElement(mQ,null,a)))});function Kv(){return Kv=Object.assign?Object.assign.bind():function(e){for(var t=1;tk.createElement(DT,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:ote,tooltipPayloadSearcher:EI,categoricalChartProps:e,ref:t})),ste=["axis"],ute=k.forwardRef((e,t)=>k.createElement(DT,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:ste,tooltipPayloadSearcher:EI,categoricalChartProps:e,ref:t}));function MT({active:e,payload:t,label:n,labelFormatter:r,valueFormatter:i}){if(!e||!t||t.length===0)return null;const a=r?r(n||""):n;return m.jsxs("div",{className:"bg-base-200 border border-base-300 rounded-lg px-3 py-2 shadow-lg text-sm",children:[a&&m.jsx("p",{className:"text-base-content font-medium mb-1",children:a}),t.map((l,u)=>{const[c,f]=i?i(l.value,l.name):[l.value,l.name];return m.jsxs("p",{className:"text-base-content/80",children:[m.jsxs("span",{className:"font-medium",children:[f,":"]})," ",c]},u)})]})}function cte({daily:e}){if(!e||e.length===0)return m.jsx("div",{className:"flex items-center justify-center h-48 text-base-content/50",children:"No data available"});const t=e.map(n=>({...n,displayDate:n.date.includes("-")?`${n.date.slice(5,7)}/${n.date.slice(8,10)}`:`${n.date.slice(4,6)}/${n.date.slice(6,8)}`}));return m.jsx("div",{className:"h-80 w-full",children:m.jsx(qN,{width:"100%",height:"100%",debounce:50,children:m.jsxs(ute,{data:t,margin:{top:5,right:20,left:10,bottom:5},children:[m.jsxs("defs",{children:[m.jsxs("linearGradient",{id:"dailyCostGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[m.jsx("stop",{offset:"5%",stopColor:"#3b82f6",stopOpacity:.6}),m.jsx("stop",{offset:"95%",stopColor:"#3b82f6",stopOpacity:0})]}),m.jsxs("linearGradient",{id:"dailyTokenGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[m.jsx("stop",{offset:"5%",stopColor:"#8b5cf6",stopOpacity:.3}),m.jsx("stop",{offset:"95%",stopColor:"#8b5cf6",stopOpacity:0})]})]}),m.jsx(Ux,{strokeDasharray:"3 3",className:"stroke-base-content/10"}),m.jsx(qx,{dataKey:"displayDate",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1}),m.jsx(Es,{yAxisId:"cost",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:n=>`${n.toFixed(0)}$`}),m.jsx(Es,{yAxisId:"tokens",orientation:"right",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:n=>Io(n)}),m.jsx(NI,{content:m.jsx(MT,{labelFormatter:n=>`Date: ${n}`,valueFormatter:(n,r)=>r==="totalCost"?[`${Number(n).toFixed(2)}$`,"Cost"]:r==="totalTokens"?[Io(Number(n)),"Tokens"]:[n,r]})}),m.jsx(zv,{yAxisId:"tokens",type:"monotone",dataKey:"totalTokens",stroke:"#8b5cf6",strokeWidth:1.5,fill:"url(#dailyTokenGradient)"}),m.jsx(zv,{yAxisId:"cost",type:"monotone",dataKey:"totalCost",stroke:"#3b82f6",strokeWidth:2,fill:"url(#dailyCostGradient)"})]})})})}function fte({monthly:e}){return!e||e.length===0?m.jsx("div",{className:"flex items-center justify-center h-48 text-base-content/50",children:"No data available"}):m.jsx("div",{className:"h-80 w-full",children:m.jsx(qN,{width:"100%",height:"100%",debounce:50,children:m.jsxs(lte,{data:e,margin:{top:5,right:20,left:10,bottom:5},children:[m.jsx(Ux,{strokeDasharray:"3 3",className:"stroke-base-content/10"}),m.jsx(qx,{dataKey:"month",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1}),m.jsx(Es,{yAxisId:"cost",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:t=>`${t.toFixed(0)}$`}),m.jsx(Es,{yAxisId:"tokens",orientation:"right",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:t=>Io(t)}),m.jsx(NI,{content:m.jsx(MT,{labelFormatter:t=>`Month: ${t}`,valueFormatter:(t,n)=>n==="totalCost"?[`${Number(t).toFixed(2)}$`,"Cost"]:n==="totalTokens"?[Io(Number(t)),"Tokens"]:[t,n]})}),m.jsx(Bv,{yAxisId:"tokens",dataKey:"totalTokens",fill:"#8b5cf6",opacity:.4,radius:[4,4,0,0]}),m.jsx(Bv,{yAxisId:"cost",dataKey:"totalCost",fill:"#6366f1",opacity:.8,radius:[4,4,0,0]})]})})})}function dte(){const{daily:e,monthly:t,isLoading:n,error:r,available:i,dataExists:a}=KB();if(n)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-baseline gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsxs("span",{className:"text-xs text-base-content/40 flex items-center gap-2",children:[m.jsx("span",{className:"loading loading-spinner loading-xs"}),"Loading usage data..."]})]}),m.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[...Array(4)].map((c,f)=>m.jsx("div",{className:"stats shadow bg-base-200 animate-pulse",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"h-3 bg-base-300 rounded w-20 mb-2"}),m.jsx("div",{className:"h-8 bg-base-300 rounded w-24 mb-1"}),m.jsx("div",{className:"h-3 bg-base-300 rounded w-16"})]})},f))}),m.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4",children:[m.jsx("div",{className:"card bg-base-200 lg:col-span-2 animate-pulse",children:m.jsxs("div",{className:"card-body",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-48 mb-4"}),m.jsx("div",{className:"h-48 bg-base-300 rounded"})]})}),m.jsx("div",{className:"card bg-base-200 animate-pulse",children:m.jsxs("div",{className:"card-body",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-40 mb-4"}),m.jsx("div",{className:"h-48 bg-base-300 rounded"})]})})]})]});if(!i)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("p",{className:"text-base-content/60",children:"Token usage and API cost tracking"})]}),m.jsxs("div",{className:"alert alert-warning",children:[m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),m.jsxs("div",{children:[m.jsx("h3",{className:"font-bold",children:"Usage tracking requires ccusage"}),m.jsxs("div",{className:"text-xs",children:["Install with:"," ",m.jsx("code",{className:"bg-base-300 px-1 rounded",children:"npm install -g ccusage@latest"})]})]})]})]});if(r)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("p",{className:"text-base-content/60",children:"Token usage and API cost tracking"})]}),m.jsx("div",{className:"alert alert-error",children:m.jsxs("span",{children:["Failed to load usage data: ",r]})})]});if(!a)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("p",{className:"text-base-content/60",children:"Token usage and API cost tracking"})]}),m.jsxs("div",{className:"alert alert-info",children:[m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",className:"stroke-current shrink-0 w-6 h-6",children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),m.jsx("span",{children:"No usage data yet. Statistics will appear here after you use Claude Code."})]})]});const l=e.slice(-14),u=t.length<=2;return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-baseline gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("span",{className:"text-xs text-base-content/40",children:"All projects"})]}),m.jsx(GB,{daily:e}),m.jsxs("div",{className:u?"grid grid-cols-1 lg:grid-cols-3 gap-4":"space-y-4",children:[m.jsx("div",{className:`card bg-base-200 ${u?"lg:col-span-2":""}`,children:m.jsxs("div",{className:"card-body",children:[m.jsx("h2",{className:"card-title text-sm",children:"Daily Cost & Tokens (Last 14 Days)"}),m.jsx(cte,{daily:l})]})}),m.jsx("div",{className:"card bg-base-200",children:m.jsxs("div",{className:"card-body",children:[m.jsx("h2",{className:"card-title text-sm",children:"Monthly Cost & Tokens"}),m.jsx(fte,{monthly:t})]})})]})]})}const pte=2e3,hte=30;function $E(e){if(!e)return NaN;const t=e.replace(/^v/i,"");return parseInt(t,10)}function FE(e,t){const n=new Map;for(const r of t)n.set(r.name,r);return e.map(r=>{const i=n.get(r.name),a=(i==null?void 0:i.version)??null,l=$E(r.latestVersion),u=$E(a),c=i!=null&&!isNaN(l)&&!isNaN(u)&&u{try{const A=await fetch("/api/vault/status");if(!A.ok)throw new Error(`Status fetch failed: ${A.status}`);const I=await A.json();if(!b.current)return;t(I),r(FE(I.catalog,I.assets)),u(null)}catch(A){if(!b.current)return;u(A.message)}finally{b.current&&a(!1)}},[]),E=k.useCallback(async A=>{if(!(c.current.has(A)||f.current.has(A))){f.current.add(A),d.current.delete(A),h(I=>I+1);try{const I=await fetch(`/api/vault/detail/${encodeURIComponent(A)}`);if(!I.ok)throw new Error(`Detail fetch failed: ${I.status}`);const C=await I.json();b.current&&c.current.set(A,C)}catch(I){b.current&&(d.current.set(A,I.message),console.error("Failed to fetch vault detail:",A,I))}finally{f.current.delete(A),b.current&&h(I=>I+1)}}},[]),O=k.useCallback(async()=>{y(!0),S(null);try{const A=await fetch("/api/vault/install",{method:"POST"});if(!A.ok){const C=await A.json().catch(()=>({error:"Install failed"}));throw new Error(C.error||"Install failed")}let I=0;for(;IsetTimeout(R,pte)),!b.current)return;I++;const C=await fetch("/api/vault/status");if(!C.ok)continue;const L=await C.json();if(!L.isInstalling){c.current.clear(),d.current.clear(),b.current&&(t(L),r(FE(L.catalog,L.assets)),y(!1));return}}b.current&&(S("Install taking longer than expected"),y(!1),await P())}catch(A){b.current&&(S(A.message),y(!1))}},[P]);return k.useEffect(()=>(b.current=!0,P(),()=>{b.current=!1}),[P]),{vaultStatus:e,mergedAssets:n,isLoading:i,error:l,fetchDetail:E,detailCache:c.current,loadingDetails:f.current,detailErrors:d.current,installAll:O,isInstalling:g,installError:w,refresh:P}}function gte({assets:e}){const t=e.length,n=e.reduce((u,c)=>(u[c.type]=(u[c.type]||0)+1,u),{}),r=n.skill||0,i=n.rule||0,a=n.command||0,l=t-r-i-a;return m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Total Assets"}),m.jsx("div",{className:"stat-value text-primary",children:t}),m.jsx("div",{className:"stat-desc",children:"In vault catalog"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Skills"}),m.jsx("div",{className:"stat-value",children:r}),m.jsx("div",{className:"stat-desc",children:"Reusable workflows"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Rules"}),m.jsx("div",{className:"stat-value",children:i}),m.jsx("div",{className:"stat-desc",children:"Coding standards"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:l>0?"Commands & Other":"Commands"}),m.jsx("div",{className:"stat-value",children:a+l}),m.jsx("div",{className:"stat-desc",children:"Slash commands"})]})})]})}function vte({detail:e,isLoading:t,onRetry:n}){return t?m.jsxs("div",{className:"p-4 bg-base-200 rounded-b-lg flex items-center gap-2",children:[m.jsx("span",{className:"loading loading-spinner loading-sm"}),m.jsx("span",{className:"text-sm text-base-content/60",children:"Loading details..."})]}):e?m.jsxs("div",{className:"p-4 bg-base-200 rounded-b-lg space-y-3",children:[e.metadata.description&&m.jsx("p",{className:"text-sm text-base-content/70",children:e.metadata.description}),e.versions.length>0&&m.jsxs("div",{children:[m.jsx("h4",{className:"text-xs font-semibold text-base-content/50 uppercase mb-2",children:"Version History"}),m.jsxs("table",{className:"table table-xs w-full",children:[m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{children:"Version"}),m.jsx("th",{children:"Date"}),m.jsx("th",{children:"Files"})]})}),m.jsx("tbody",{children:e.versions.map(r=>m.jsxs("tr",{children:[m.jsxs("td",{className:"font-mono",children:["v",r.version]}),m.jsx("td",{className:"text-base-content/60",children:r.createdAt??"โ€”"}),m.jsx("td",{children:r.filesCount})]},r.version))})]})]}),e.metadata.authors.length>0&&m.jsxs("div",{className:"text-xs text-base-content/50",children:["Authors: ",e.metadata.authors.join(", ")]})]}):m.jsxs("div",{className:"p-4 bg-base-200 rounded-b-lg text-sm text-base-content/60",children:[m.jsx("span",{children:"Failed to load details."}),n&&m.jsx("button",{className:"btn btn-ghost btn-xs ml-2",onClick:n,children:"Retry"})]})}const yte={skill:"lucide:wand-2",rule:"lucide:scale",command:"lucide:terminal"},xte={skill:"primary",rule:"info",command:"accent"},bte=[{id:"all",label:"All"},{id:"skill",label:"Skills"},{id:"rule",label:"Rules"},{id:"command",label:"Commands"}];function wte({assets:e,searchQuery:t,activeTab:n,onTabChange:r,onSearchChange:i,expandedAsset:a,onAssetClick:l,fetchDetail:u,detailCache:c,loadingDetails:f}){const d=e.filter(h=>{const g=n==="all"||h.type===n,y=!t||h.name.toLowerCase().includes(t.toLowerCase());return g&&y});return m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[m.jsx(JD,{tabs:bte,activeTab:n,onTabChange:r}),m.jsx("input",{type:"text",placeholder:"Search assets...",className:"input input-bordered input-sm w-60",value:t,onChange:h=>i(h.target.value)})]}),d.length===0?m.jsx("div",{className:"text-center py-8 text-base-content/50",children:t?`No assets matching "${t}"`:"No assets in this category"}):m.jsx("div",{className:"overflow-x-auto",children:m.jsxs("table",{className:"table w-full",children:[m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{children:"Name"}),m.jsx("th",{children:"Type"}),m.jsx("th",{children:"Installed"}),m.jsx("th",{children:"Latest"}),m.jsx("th",{children:"Scope"})]})}),m.jsx("tbody",{children:d.map(h=>m.jsx(kte,{asset:h,isExpanded:a===h.name,onClick:()=>l(h.name),fetchDetail:u,detail:c.get(h.name)??null,isLoadingDetail:f.has(h.name)},h.name))})]})})]})}function kte({asset:e,isExpanded:t,onClick:n,fetchDetail:r,detail:i,isLoadingDetail:a}){const l=yte[e.type]??"lucide:package",u=xte[e.type]??"ghost",c=()=>{n(),!t&&!i&&!a&&r(e.name)};return m.jsxs(m.Fragment,{children:[m.jsxs("tr",{className:"cursor-pointer hover:bg-base-200 transition-colors",onClick:c,children:[m.jsx("td",{children:m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(le,{icon:l,size:16,className:"text-base-content/50"}),m.jsx("span",{className:"font-medium",children:e.name}),e.hasUpdate&&m.jsx(Ie,{variant:"warning",size:"sm",children:"update"})]})}),m.jsx("td",{children:m.jsx(Ie,{variant:u,size:"sm",children:e.type})}),m.jsx("td",{className:"font-mono text-sm",children:e.installedVersion??"โ€”"}),m.jsxs("td",{className:"font-mono text-sm",children:["v",e.latestVersion]}),m.jsx("td",{className:"text-sm text-base-content/60",children:e.scope??"โ€”"})]}),t&&m.jsx("tr",{children:m.jsx("td",{colSpan:5,className:"p-0",children:m.jsx(vte,{detail:i,isLoading:a,onRetry:()=>r(e.name)})})})]})}function Ste(e){try{const t=new URL(e);return(t.host+t.pathname).replace(/\.git$/,"")}catch{return e}}function jte(){const{vaultStatus:e,mergedAssets:t,isLoading:n,error:r,fetchDetail:i,detailCache:a,loadingDetails:l,installAll:u,isInstalling:c,installError:f}=mte(),d=cC(),h=k.useRef(c),[g,y]=k.useState(""),[w,S]=k.useState("all"),[b,P]=k.useState(null),E=k.useCallback(()=>{u()},[u]),O=k.useCallback(A=>{P(I=>I===A?null:A)},[]);return k.useEffect(()=>{h.current&&!c&&(f?f.includes("longer than expected")?d.warning(f,"Install Timeout"):d.error(f,"Install Failed"):d.success("Vault synced successfully","Sync Complete")),h.current=c},[c,f,d]),n?m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-baseline gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsxs("span",{className:"text-xs text-base-content/40 flex items-center gap-2",children:[m.jsx("span",{className:"loading loading-spinner loading-xs"}),"Loading vault data..."]})]}),m.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[...Array(4)].map((A,I)=>m.jsx("div",{className:"stats shadow bg-base-200 animate-pulse",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"h-3 bg-base-300 rounded w-20 mb-2"}),m.jsx("div",{className:"h-8 bg-base-300 rounded w-24 mb-1"}),m.jsx("div",{className:"h-3 bg-base-300 rounded w-16"})]})},I))}),m.jsx("div",{className:"card bg-base-200 animate-pulse",children:m.jsxs("div",{className:"card-body",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-48 mb-4"}),m.jsx("div",{className:"h-48 bg-base-300 rounded"})]})})]}):r?m.jsxs("div",{className:"space-y-8",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsx("div",{className:"alert alert-error",children:m.jsxs("span",{children:["Failed to load vault data: ",r]})})]}):e!=null&&e.installed?e.configured?m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsx(Ie,{variant:"success",size:"sm",children:"Connected"}),f&&m.jsx("span",{className:"text-xs text-warning",children:f})]}),m.jsx(Pte,{isInstalling:c,onInstall:E})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm text-base-content/60",children:[e.vaultUrl&&m.jsxs(m.Fragment,{children:[m.jsx(le,{icon:"lucide:git-branch",size:16}),m.jsx("span",{className:"font-mono text-xs",children:Ste(e.vaultUrl)})]}),e.version&&m.jsxs(Ie,{variant:"ghost",size:"sm",children:["sx v",e.version]}),m.jsxs("span",{children:["Run ",m.jsx("code",{className:"font-mono text-xs bg-base-300 px-1 rounded",children:"/vault"})," in Claude Code to push or pull skills, rules, and commands."]})]}),m.jsx(gte,{assets:t}),t.length===0?m.jsx(Eo,{icon:"lucide:package",title:"No assets in vault",description:"Push skills, rules, or commands to your vault using /vault in Claude Code."}):m.jsx(wte,{assets:t,searchQuery:g,activeTab:w,onTabChange:S,onSearchChange:y,expandedAsset:b,onAssetClick:O,fetchDetail:i,detailCache:a,loadingDetails:l})]}):m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),e.version&&m.jsxs(Ie,{variant:"ghost",size:"sm",children:["sx v",e.version]})]}),m.jsx(Eo,{icon:"lucide:archive",title:"Vault not configured",description:"Run /vault in Claude Code to configure your vault and push or pull skills, rules, and commands."})]}):m.jsxs("div",{className:"space-y-8",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsx(Eo,{icon:"lucide:archive",title:"sx is not installed",description:"Run /vault in Claude Code to push or pull skills, rules, and commands."})]})}function Pte({isInstalling:e,onInstall:t}){return m.jsx("button",{className:"btn btn-primary btn-sm",disabled:e,onClick:t,children:e?m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"loading loading-spinner loading-xs"}),"Syncing..."]}):m.jsxs(m.Fragment,{children:[m.jsx(le,{icon:"lucide:refresh-cw",size:14}),"Sync All"]})})}const Ql=[{key:"DEBUG",label:"Debug",icon:"๐Ÿ”",color:"text-gray-400"},{key:"INFO",label:"Info",icon:"โ„น๏ธ",color:"text-info"},{key:"WARN",label:"Warn",icon:"โš ๏ธ",color:"text-warning"},{key:"ERROR",label:"Error",icon:"โŒ",color:"text-error"}],Zl=[{key:"HOOK",label:"Hook",icon:"๐Ÿช",color:"text-purple-400"},{key:"WORKER",label:"Worker",icon:"โš™๏ธ",color:"text-info"},{key:"SDK",label:"SDK",icon:"๐Ÿ“ฆ",color:"text-success"},{key:"PARSER",label:"Parser",icon:"๐Ÿ“„",color:"text-sky-400"},{key:"DB",label:"DB",icon:"๐Ÿ—„๏ธ",color:"text-orange-400"},{key:"SYSTEM",label:"System",icon:"๐Ÿ’ป",color:"text-gray-400"},{key:"HTTP",label:"HTTP",icon:"๐ŸŒ",color:"text-green-400"},{key:"SESSION",label:"Session",icon:"๐Ÿ“‹",color:"text-pink-400"},{key:"CHROMA",label:"Chroma",icon:"๐Ÿ”ฎ",color:"text-violet-400"}];function Ete(e){const t=/^\[([^\]]+)\]\s+\[(\w+)\s*\]\s+\[(\w+)\s*\]\s+(?:\[([^\]]+)\]\s+)?(.*)$/,n=e.match(t);if(!n)return{raw:e};const[,r,i,a,l,u]=n;let c;return u.startsWith("โ†’")?c="dataIn":u.startsWith("โ†")?c="dataOut":u.startsWith("โœ“")?c="success":u.startsWith("โœ—")?c="failure":u.startsWith("โฑ")?c="timing":u.includes("[HAPPY-PATH]")&&(c="happyPath"),{raw:e,timestamp:r,level:i==null?void 0:i.trim(),component:a==null?void 0:a.trim(),correlationId:l||void 0,message:u,isSpecial:c}}function Cte({isOpen:e,onClose:t}){const[n,r]=k.useState(""),[i,a]=k.useState(!1),[l,u]=k.useState(null),[c,f]=k.useState(!1),[d,h]=k.useState(350),[g,y]=k.useState(!1),w=k.useRef(0),S=k.useRef(0),b=k.useRef(null),P=k.useRef(!0),[E,O]=k.useState(new Set(["DEBUG","INFO","WARN","ERROR"])),[A,I]=k.useState(new Set(["HOOK","WORKER","SDK","PARSER","DB","SYSTEM","HTTP","SESSION","CHROMA"])),[C,L]=k.useState(!1),R=k.useMemo(()=>n?n.split(` -`).map(Ete):[],[n]),U=k.useMemo(()=>R.filter(_=>C?_.raw.includes("[ALIGNMENT]"):!_.level||!_.component?!0:E.has(_.level)&&A.has(_.component)),[R,E,A,C]),D=k.useCallback(()=>{if(!b.current)return!0;const{scrollTop:_,scrollHeight:te,clientHeight:fe}=b.current;return te-_-fe<50},[]),q=k.useCallback(()=>{b.current&&P.current&&(b.current.scrollTop=b.current.scrollHeight)},[]),z=k.useCallback(async()=>{P.current=D(),a(!0),u(null);try{const _=await fetch("/api/logs");if(!_.ok)throw new Error(`Failed to fetch logs: ${_.statusText}`);const te=await _.json();r(te.logs||"")}catch(_){u(_ instanceof Error?_.message:"Unknown error")}finally{a(!1)}},[D]);k.useEffect(()=>{q()},[n,q]);const ee=k.useCallback(async()=>{if(confirm("Are you sure you want to clear all logs?")){a(!0),u(null);try{const _=await fetch("/api/logs/clear",{method:"POST"});if(!_.ok)throw new Error(`Failed to clear logs: ${_.statusText}`);r("")}catch(_){u(_ instanceof Error?_.message:"Unknown error")}finally{a(!1)}}},[]),X=k.useCallback(_=>{_.preventDefault(),y(!0),w.current=_.clientY,S.current=d},[d]);k.useEffect(()=>{if(!g)return;const _=fe=>{const ce=w.current-fe.clientY,Se=Math.min(Math.max(150,S.current+ce),window.innerHeight-100);h(Se)},te=()=>{y(!1)};return document.addEventListener("mousemove",_),document.addEventListener("mouseup",te),()=>{document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",te)}},[g]),k.useEffect(()=>{e&&(P.current=!0,z())},[e,z]),k.useEffect(()=>{if(!e||!c)return;const _=setInterval(z,2e3);return()=>clearInterval(_)},[e,c,z]);const Q=k.useCallback(_=>{O(te=>{const fe=new Set(te);return fe.has(_)?fe.delete(_):fe.add(_),fe})},[]),he=k.useCallback(_=>{I(te=>{const fe=new Set(te);return fe.has(_)?fe.delete(_):fe.add(_),fe})},[]),de=k.useCallback(_=>{O(_?new Set(["DEBUG","INFO","WARN","ERROR"]):new Set)},[]),Z=k.useCallback(_=>{I(_?new Set(["HOOK","WORKER","SDK","PARSER","DB","SYSTEM","HTTP","SESSION","CHROMA"]):new Set)},[]);if(!e)return null;const ae=_=>{const te=Ql.find(fe=>fe.key===_);return(te==null?void 0:te.color)||"text-base-content"},T=_=>{const te=Zl.find(fe=>fe.key===_);return(te==null?void 0:te.color)||"text-base-content"},F=_=>_.level==="ERROR"?"bg-error/10":_.level==="WARN"?"bg-warning/5":"",W=(_,te)=>{var Se,je;if(!_.timestamp)return m.jsx("div",{className:"whitespace-pre-wrap break-all text-base-content/60",children:_.raw},te);const fe=Ql.find(Y=>Y.key===_.level),ce=Zl.find(Y=>Y.key===_.component);return m.jsxs("div",{className:`whitespace-pre-wrap break-all py-0.5 px-1 rounded ${F(_)}`,children:[m.jsxs("span",{className:"text-base-content/40",children:["[",_.timestamp,"]"]})," ",m.jsxs("span",{className:`font-medium ${ae(_.level)}`,title:_.level,children:["[",(fe==null?void 0:fe.icon)||""," ",(Se=_.level)==null?void 0:Se.padEnd(5),"]"]})," ",m.jsxs("span",{className:`font-medium ${T(_.component)}`,title:_.component,children:["[",(ce==null?void 0:ce.icon)||""," ",(je=_.component)==null?void 0:je.padEnd(7),"]"]})," ",_.correlationId&&m.jsxs(m.Fragment,{children:[m.jsxs("span",{className:"text-base-content/50",children:["[",_.correlationId,"]"]})," "]}),m.jsx("span",{className:_.isSpecial==="success"?"text-success":_.isSpecial==="failure"?"text-error":"text-base-content",children:_.message})]},te)};return m.jsxs("div",{className:"fixed bottom-0 left-0 right-0 bg-base-100 border-t border-base-300 flex flex-col z-50 shadow-2xl",style:{height:`${d}px`},children:[m.jsx("div",{className:"h-1.5 cursor-ns-resize flex items-center justify-center bg-base-200 hover:bg-base-300 transition-colors",onMouseDown:X,children:m.jsx("div",{className:"w-12 h-1 bg-base-300 rounded-full"})}),m.jsxs("div",{className:"flex justify-between items-center px-3 h-9 bg-base-200 border-b border-base-300",children:[m.jsx("div",{className:"flex gap-1",children:m.jsx("div",{className:"px-3 py-1 text-xs font-medium bg-base-100 text-base-content rounded",children:"Console"})}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-base-content/60 cursor-pointer",children:[m.jsx("input",{type:"checkbox",className:"checkbox checkbox-xs",checked:c,onChange:_=>f(_.target.checked)}),"Auto-refresh"]}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square",onClick:z,disabled:i,title:"Refresh logs",children:m.jsx(le,{icon:"lucide:refresh-cw",size:14,className:i?"animate-spin":""})}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square",onClick:()=>{P.current=!0,q()},title:"Scroll to bottom",children:m.jsx(le,{icon:"lucide:arrow-down",size:14})}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square hover:text-error",onClick:ee,disabled:i,title:"Clear logs",children:m.jsx(le,{icon:"lucide:trash-2",size:14})}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square",onClick:t,title:"Close console",children:m.jsx(le,{icon:"lucide:x",size:14})})]})]}),m.jsxs("div",{className:"flex flex-wrap gap-3 px-3 py-2 bg-base-200/50 border-b border-base-300 text-xs",children:[m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"font-medium text-base-content/50 uppercase text-[10px]",children:"Quick:"}),m.jsx("button",{className:`badge badge-sm cursor-pointer ${C?"badge-warning":"badge-ghost opacity-50"}`,onClick:()=>L(!C),title:"Show only session alignment logs",children:"๐Ÿ”— Alignment"})]}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"font-medium text-base-content/50 uppercase text-[10px]",children:"Levels:"}),m.jsxs("div",{className:"flex flex-wrap gap-1",children:[Ql.map(_=>m.jsxs("button",{className:`badge badge-sm cursor-pointer ${E.has(_.key)?"badge-primary":"badge-ghost opacity-40"}`,onClick:()=>Q(_.key),title:_.label,children:[_.icon," ",_.label]},_.key)),m.jsx("button",{className:"badge badge-sm badge-ghost cursor-pointer",onClick:()=>de(E.size===0),title:E.size===Ql.length?"Select none":"Select all",children:E.size===Ql.length?"โ—‹":"โ—"})]})]}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"font-medium text-base-content/50 uppercase text-[10px]",children:"Components:"}),m.jsxs("div",{className:"flex flex-wrap gap-1",children:[Zl.map(_=>m.jsxs("button",{className:`badge badge-sm cursor-pointer ${A.has(_.key)?"badge-secondary":"badge-ghost opacity-40"}`,onClick:()=>he(_.key),title:_.label,children:[_.icon," ",_.label]},_.key)),m.jsx("button",{className:"badge badge-sm badge-ghost cursor-pointer",onClick:()=>Z(A.size===0),title:A.size===Zl.length?"Select none":"Select all",children:A.size===Zl.length?"โ—‹":"โ—"})]})]})]}),l&&m.jsxs("div",{className:"px-3 py-2 bg-error/10 text-error text-xs",children:["โš  ",l]}),m.jsx("div",{className:"flex-1 overflow-y-auto px-3 py-2",ref:b,children:m.jsx("div",{className:"font-mono text-xs leading-relaxed",children:U.length===0?m.jsx("div",{className:"text-base-content/40 italic",children:"No logs available"}):U.map((_,te)=>W(_,te))})})]})}const Gv={COMMAND_PALETTE:{key:"k",modifiers:["ctrl","meta"],description:"Open command palette",action:"openCommandPalette"},SEARCH:{key:"/",modifiers:["ctrl","meta"],description:"Focus search",action:"focusSearch"},ESCAPE:{key:"Escape",description:"Close modal/palette",action:"escape"},TOGGLE_THEME:{key:"t",modifiers:["ctrl","meta"],description:"Toggle theme",action:"toggleTheme"},TOGGLE_SIDEBAR:{key:"b",modifiers:["ctrl","meta"],description:"Toggle sidebar",action:"toggleSidebar"}},Ote=[{sequence:["g","d"],description:"Go to Dashboard",action:"navigate:/"},{sequence:["g","m"],description:"Go to Memories",action:"navigate:/memories"},{sequence:["g","v"],description:"Go to Vault",action:"navigate:/vault"}];function BE(e){var r,i,a,l;const t=typeof navigator<"u"&&navigator.platform.includes("Mac"),n=[];return((r=e.modifiers)!=null&&r.includes("ctrl")||(i=e.modifiers)!=null&&i.includes("meta"))&&n.push(t?"โŒ˜":"Ctrl"),(a=e.modifiers)!=null&&a.includes("shift")&&n.push(t?"โ‡ง":"Shift"),(l=e.modifiers)!=null&&l.includes("alt")&&n.push(t?"โŒฅ":"Alt"),n.push(e.key.toUpperCase()),n.join(t?"":"+")}function Nte({open:e,onClose:t,onNavigate:n,onToggleTheme:r,onToggleSidebar:i}){const[a,l]=k.useState(""),[u,c]=k.useState(0),f=k.useRef(null),d=k.useRef(null),h=k.useMemo(()=>[{id:"nav-dashboard",label:"Go to Dashboard",shortcut:"G D",category:"navigation",icon:"lucide:layout-dashboard",action:()=>n("/")},{id:"nav-memories",label:"Go to Memories",shortcut:"G M",category:"navigation",icon:"lucide:brain",action:()=>n("/memories")},{id:"nav-usage",label:"Go to Usage",shortcut:"G U",category:"navigation",icon:"lucide:bar-chart-3",action:()=>n("/usage")},{id:"nav-vault",label:"Go to Vault",shortcut:"G V",category:"navigation",icon:"lucide:archive",action:()=>n("/vault")},{id:"action-theme",label:"Toggle Theme",shortcut:BE(Gv.TOGGLE_THEME),category:"action",icon:"lucide:sun-moon",action:r},{id:"action-sidebar",label:"Toggle Sidebar",shortcut:BE(Gv.TOGGLE_SIDEBAR),category:"action",icon:"lucide:panel-left",action:i}],[n,r,i]),g=k.useMemo(()=>{if(!a)return h;const E=a.toLowerCase();return h.filter(O=>O.label.toLowerCase().includes(E)||O.category.toLowerCase().includes(E))},[h,a]);k.useEffect(()=>{c(0)},[a]),k.useEffect(()=>{e&&(l(""),c(0),setTimeout(()=>{var E;return(E=f.current)==null?void 0:E.focus()},50))},[e]),k.useEffect(()=>{if(!d.current)return;const E=d.current.querySelector('[data-selected="true"]');E==null||E.scrollIntoView({block:"nearest"})},[u]);const y=E=>{E.action(),t()},w=E=>{switch(E.key){case"ArrowDown":E.preventDefault(),c(O=>(O+1)%g.length);break;case"ArrowUp":E.preventDefault(),c(O=>(O-1+g.length)%g.length);break;case"Enter":E.preventDefault(),g[u]&&y(g[u]);break;case"Escape":E.preventDefault(),t();break}};if(!e)return null;const S=g.reduce((E,O)=>(E[O.category]||(E[O.category]=[]),E[O.category].push(O),E),{}),b={navigation:"Navigation",action:"Actions",theme:"Theme"};let P=0;return m.jsxs("dialog",{className:"modal modal-open",children:[m.jsxs("div",{className:"modal-box max-w-xl p-0 overflow-hidden",children:[m.jsxs("div",{className:"flex items-center gap-2 p-3 border-b border-base-300",children:[m.jsx(le,{icon:"lucide:search",size:18,className:"text-base-content/50"}),m.jsx("input",{ref:f,type:"text",placeholder:"Type a command or search...",value:a,onChange:E=>l(E.target.value),onKeyDown:w,className:"flex-1 bg-transparent outline-none text-base"}),m.jsx("kbd",{className:"kbd kbd-sm",children:"ESC"})]}),m.jsx("div",{ref:d,className:"max-h-80 overflow-y-auto p-2",children:g.length===0?m.jsx("div",{className:"text-center py-8 text-base-content/50",children:"No commands found"}):Object.entries(S).map(([E,O])=>m.jsxs("div",{children:[m.jsx("div",{className:"text-xs font-medium text-base-content/50 px-2 py-1 mt-2 first:mt-0",children:b[E]||E}),O.map(A=>{const I=P===u,C=P;return P++,m.jsxs("button",{"data-selected":I,className:`w-full flex items-center gap-3 px-3 py-2 rounded-lg text-left transition-colors ${I?"bg-primary text-primary-content":"hover:bg-base-200"}`,onClick:()=>y(A),onMouseEnter:()=>c(C),children:[m.jsx(le,{icon:A.icon,size:16,className:I?"text-primary-content":"text-base-content/60"}),m.jsx("span",{className:"flex-1",children:A.label}),A.shortcut&&m.jsx("kbd",{className:`kbd kbd-sm ${I?"bg-primary-content/20 text-primary-content":""}`,children:A.shortcut})]},A.id)})]},E))}),m.jsxs("div",{className:"border-t border-base-300 px-3 py-2 text-xs text-base-content/50 flex gap-4",children:[m.jsxs("span",{children:[m.jsx("kbd",{className:"kbd kbd-xs",children:"โ†‘โ†“"})," Navigate"]}),m.jsxs("span",{children:[m.jsx("kbd",{className:"kbd kbd-xs",children:"โ†ต"})," Select"]}),m.jsxs("span",{children:[m.jsx("kbd",{className:"kbd kbd-xs",children:"ESC"})," Close"]})]})]}),m.jsx("form",{method:"dialog",className:"modal-backdrop bg-black/50",children:m.jsx("button",{onClick:t,children:"close"})})]})}function Ate({license:e,onActivated:t}){const[n,r]=k.useState(""),[i,a]=k.useState(null),[l,u]=k.useState(!1),c=k.useCallback(async()=>{const y=n.trim();if(y){a(null),u(!0);try{const S=await(await fetch("/api/license/activate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:y})})).json();S.success?(r(""),a(null),t()):a(S.error??"Activation failed")}catch{a("Connection failed. Is the Pilot worker running?")}finally{u(!1)}}},[n,t]),f=k.useCallback(y=>{y.key==="Enter"&&!l&&c()},[c,l]),d=(e==null?void 0:e.isExpired)===!0,h=d?"License Expired":"License Required",g=d?"Your Claude Pilot license has expired. Please activate a new license to continue using the Console.":"Claude Pilot Console requires an active license or trial. Activate your license key below to get started.";return m.jsx("div",{className:"min-h-screen flex items-center justify-center bg-base-200 p-4",children:m.jsx("div",{className:"card bg-base-100 shadow-xl w-full max-w-md",children:m.jsxs("div",{className:"card-body items-center text-center gap-4",children:[m.jsx("div",{className:"text-5xl mb-2",children:d?"๐Ÿšซ":"๐Ÿ”’"}),m.jsx("h1",{className:"card-title text-2xl",children:h}),m.jsx("p",{className:"text-base-content/60 text-sm",children:g}),m.jsxs("div",{className:"w-full space-y-3 mt-2",children:[m.jsx("input",{type:"text",className:"input input-bordered w-full",placeholder:"Enter your license key",value:n,onChange:y=>{r(y.target.value),a(null)},onKeyDown:f,disabled:l,autoFocus:!0}),i&&m.jsx("p",{className:"text-error text-sm text-left",children:i}),m.jsx("button",{className:"btn btn-primary w-full",onClick:c,disabled:l||!n.trim(),children:l?"Activating...":"Activate License"})]}),m.jsx("div",{className:"divider text-base-content/40 text-xs my-1",children:"or"}),m.jsx("a",{href:"https://claude-pilot.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"btn btn-outline btn-sm w-full",children:"Get a License"}),m.jsxs("p",{className:"text-base-content/40 text-xs mt-2",children:["Visit"," ",m.jsx("a",{href:"https://claude-pilot.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"claude-pilot.com"})," ","to learn more about Claude Pilot."]})]})})})}const LT="pilot-memory-theme";function _te(){return typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function UE(){try{const e=localStorage.getItem(LT);if(e==="system"||e==="light"||e==="dark")return e}catch(e){console.warn("Failed to read theme preference from localStorage:",e)}return"system"}function WE(e){return e==="system"?_te():e}function qE(e){return e==="dark"?"claude-pilot":"claude-pilot-light"}function Ite(){const[e,t]=k.useState(UE),[n,r]=k.useState(()=>WE(UE()));return k.useEffect(()=>{const a=WE(e);r(a),document.documentElement.setAttribute("data-theme",qE(a))},[e]),k.useEffect(()=>{if(e!=="system")return;const a=window.matchMedia("(prefers-color-scheme: dark)"),l=u=>{const c=u.matches?"dark":"light";r(c),document.documentElement.setAttribute("data-theme",qE(c))};return a.addEventListener("change",l),()=>a.removeEventListener("change",l)},[e]),{preference:e,resolvedTheme:n,setThemePreference:a=>{try{localStorage.setItem(LT,a),t(a)}catch(l){console.warn("Failed to save theme preference to localStorage:",l),t(a)}}}}function Tte(e,t={}){const{enabled:n=!0}=t,r=k.useRef([]),i=k.useRef(null),a=k.useCallback(()=>{r.current=[],i.current&&(clearTimeout(i.current),i.current=null)},[]);k.useEffect(()=>{if(!n)return;const l=u=>{const c=u.target;if(c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable){u.key==="Escape"&&e("escape");return}navigator.platform.includes("Mac");const f=u.ctrlKey||u.metaKey;for(const d of Object.values(Gv)){const h=!d.modifiers||d.modifiers.some(w=>w==="ctrl"?u.ctrlKey:w==="meta"?u.metaKey:w==="shift"?u.shiftKey:w==="alt"?u.altKey:!1),g=u.key.toLowerCase()===d.key.toLowerCase(),y=d.modifiers&&d.modifiers.length>0;if(g&&h&&(y?f:!f)){u.preventDefault(),e(d.action),a();return}}if(!f&&!u.shiftKey&&!u.altKey){i.current&&clearTimeout(i.current),r.current.push(u.key.toLowerCase()),i.current=setTimeout(a,1e3);for(const d of Ote){const h=r.current,g=d.sequence;if(g.slice(0,h.length).every((w,S)=>w===h[S])){if(h.length===g.length){u.preventDefault(),e(d.action),a();return}return}}a()}};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l),a()}},[n,e,a])}const Dte=[{path:"/",component:BL},{path:"/spec",component:HB},{path:"/memories",component:t1},{path:"/memories/:type",component:t1},{path:"/sessions",component:lR},{path:"/usage",component:dte},{path:"/vault",component:jte},{path:"/settings",component:dR}],HE="pilot-memory-sidebar-collapsed";function Mte(){const{path:e,navigate:t}=hC(),{resolvedTheme:n,setThemePreference:r}=Ite(),{workerStatus:i}=mC(),{license:a,isLoading:l,refetch:u}=pC(),[c,f]=k.useState(()=>{if(typeof window<"u"&&window.innerWidth<1024)return!0;try{return localStorage.getItem(HE)==="true"}catch{return!1}}),[d,h]=k.useState(!1),[g,y]=k.useState(!1),w=k.useCallback(()=>{r(n==="light"?"dark":"light")},[n,r]),S=k.useCallback(()=>{f(O=>{const A=!O;try{localStorage.setItem(HE,String(A))}catch{}return A})},[]),b=k.useCallback(()=>{h(O=>!O)},[]),P=k.useCallback(O=>{if(O==="openCommandPalette")y(!0);else if(O==="escape")y(!1),h(!1);else if(O==="toggleTheme")r(n==="light"?"dark":"light");else if(O==="toggleSidebar")S();else if(O==="focusSearch"){const A=document.querySelector('input[type="search"]');A==null||A.focus()}else O.startsWith("navigate:")&&t(O.replace("navigate:",""))},[n,r,t,S]);Tte(P);const E=!l&&(a==null?void 0:a.valid)===!0&&!a.isExpired;return l?m.jsx("div",{className:"min-h-screen flex items-center justify-center bg-base-200","data-theme":n==="dark"?"claude-pilot":"claude-pilot-light",children:m.jsx("span",{className:"loading loading-spinner loading-lg text-primary"})}):E?m.jsx(gL,{children:m.jsxs(hL,{children:[m.jsx(CL,{currentPath:`#${e}`,workerStatus:i.status,version:i.version,queueDepth:i.queueDepth,theme:n,onToggleTheme:w,onToggleLogs:b,sidebarCollapsed:c,onToggleSidebar:S,children:m.jsx(OL,{routes:Dte})}),m.jsx(Cte,{isOpen:d,onClose:()=>h(!1)}),m.jsx(Nte,{open:g,onClose:()=>y(!1),onNavigate:t,onToggleTheme:w,onToggleSidebar:S})]})}):m.jsx("div",{"data-theme":n==="dark"?"claude-pilot":"claude-pilot-light",children:m.jsx(Ate,{license:a,onActivated:u})})}class Lte extends k.Component{constructor(t){super(t),this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){console.error("[ErrorBoundary] Caught error:",t,n),this.setState({error:t,errorInfo:n})}render(){return this.state.hasError?m.jsxs("div",{style:{padding:"20px",color:"#ff6b6b",backgroundColor:"#1a1a1a",minHeight:"100vh"},children:[m.jsx("h1",{style:{fontSize:"24px",marginBottom:"10px"},children:"Something went wrong"}),m.jsx("p",{style:{marginBottom:"10px",color:"#8b949e"},children:"The application encountered an error. Please refresh the page to try again."}),this.state.error&&m.jsxs("details",{style:{marginTop:"20px",color:"#8b949e"},children:[m.jsx("summary",{style:{cursor:"pointer",marginBottom:"10px"},children:"Error details"}),m.jsxs("pre",{style:{backgroundColor:"#0d1117",padding:"10px",borderRadius:"6px",overflow:"auto"},children:[this.state.error.toString(),this.state.errorInfo&&` + */var wE;function fZ(){if(wE)return Ng;wE=1;var e=Fo();function t(c,f){return c===f&&(c!==0||1/c===1/f)||c!==c&&f!==f}var n=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,i=e.useRef,a=e.useEffect,l=e.useMemo,u=e.useDebugValue;return Ng.useSyncExternalStoreWithSelector=function(c,f,d,p,g){var y=i(null);if(y.current===null){var w={hasValue:!1,value:null};y.current=w}else w=y.current;y=l(function(){function b(I){if(!P){if(P=!0,E=I,I=p(I),g!==void 0&&w.hasValue){var C=w.value;if(g(C,I))return O=C}return O=I}if(C=O,n(E,I))return C;var M=p(I);return g!==void 0&&g(C,M)?(E=I,C):(E=I,O=M)}var P=!1,E,O,A=d===void 0?null:d;return[function(){return b(f())},A===null?void 0:function(){return b(A())}]},[f,d,p,g]);var S=r(c,y[0],y[1]);return a(function(){w.hasValue=!0,w.value=S},[S]),u(S),S},Ng}var kE;function dZ(){return kE||(kE=1,Og.exports=fZ()),Og.exports}dZ();function hZ(e){e()}function pZ(){let e=null,t=null;return{clear(){e=null,t=null},notify(){hZ(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var SE={notify(){},get:()=>[]};function mZ(e,t){let n,r=SE,i=0,a=!1;function l(S){d();const b=r.subscribe(S);let P=!1;return()=>{P||(P=!0,b(),p())}}function u(){r.notify()}function c(){w.onStateChange&&w.onStateChange()}function f(){return a}function d(){i++,n||(n=e.subscribe(c),r=pZ())}function p(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=SE)}function g(){a||(a=!0,d())}function y(){a&&(a=!1,p())}const w={addNestedSub:l,notifyNestedSubs:u,handleChangeWrapper:c,isSubscribed:f,trySubscribe:g,tryUnsubscribe:y,getListeners:()=>r};return w}var gZ=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",vZ=gZ(),yZ=()=>typeof navigator<"u"&&navigator.product==="ReactNative",xZ=yZ(),bZ=()=>vZ||xZ?k.useLayoutEffect:k.useEffect,wZ=bZ();function jE(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function kZ(e,t){if(jE(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const c=mZ(i);return{store:i,subscription:c,getServerState:r?()=>r:void 0}},[i,r]),l=k.useMemo(()=>i.getState(),[i]);wZ(()=>{const{subscription:c}=a;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),l!==i.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[a,l]);const u=n||jZ;return k.createElement(u.Provider,{value:a},t)}var EZ=PZ,CZ=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius"]);function OZ(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Dd(e,t){var n=new Set([...Object.keys(e),...Object.keys(t)]);for(var r of n)if(CZ.has(r)){if(e[r]==null&&t[r]==null)continue;if(!kZ(e[r],t[r]))return!1}else if(!OZ(e[r],t[r]))return!1;return!0}function $r(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:rT}function Fr(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:rT}var fT=(e,t,n)=>Zi(e,"xAxis",$r(e,t),n),dT=(e,t,n)=>Qi(e,"xAxis",$r(e,t),n),hT=(e,t,n)=>Zi(e,"yAxis",Fr(e,t),n),pT=(e,t,n)=>Qi(e,"yAxis",Fr(e,t),n),NZ=X([He,fT,hT,dT,pT],(e,t,n,r,i)=>zr(e,"xAxis")?Mo(t,r,!1):Mo(n,i,!1)),AZ=(e,t)=>t,mT=X([Nd,AZ],(e,t)=>e.filter(n=>n.type==="area").find(n=>n.id===t)),gT=e=>{var t=He(e),n=zr(t,"xAxis");return n?"yAxis":"xAxis"},_Z=(e,t)=>{var n=gT(e);return n==="yAxis"?Fr(e,t):$r(e,t)},IZ=(e,t,n)=>Pf(e,gT(e),_Z(e,t),n),TZ=X([mT,IZ],(e,t)=>{var n;if(!(e==null||t==null)){var{stackId:r}=e,i=Pd(e);if(!(r==null||i==null)){var a=(n=t[r])===null||n===void 0?void 0:n.stackedData,l=a==null?void 0:a.find(u=>u.key===i);if(l!=null)return l.map(u=>[u[0],u[1]])}}}),DZ=X([He,fT,hT,dT,pT,TZ,KA,NZ,mT,mV],(e,t,n,r,i,a,l,u,c,f)=>{var{chartData:d,dataStartIndex:p,dataEndIndex:g}=l;if(!(c==null||e!=="horizontal"&&e!=="vertical"||t==null||n==null||r==null||i==null||r.length===0||i.length===0||u==null)){var{data:y}=c,w;if(y&&y.length>0?w=y:w=d==null?void 0:d.slice(p,g+1),w!=null)return JZ({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:p,areaSettings:c,stackedData:a,displayedData:w,chartBaseValue:f,bandSize:u})}}),MZ=["id"],LZ=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Oa(){return Oa=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{dataKey:t,name:n,stroke:r,fill:i,legendType:a,hide:l}=e;return[{inactive:l,dataKey:t,type:a,color:Tf(r,i),value:rd(n,t),payload:e}]},UZ=k.memo(e=>{var{dataKey:t,data:n,stroke:r,strokeWidth:i,fill:a,name:l,hide:u,unit:c,tooltipType:f,id:d}=e,p={dataDefinedOnItem:n,getPosition:Fa,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:rd(l,t),hide:u,type:f,color:Tf(r,a),unit:c,graphicalItemId:d}};return k.createElement(ZI,{tooltipEntrySettings:p})});function WZ(e){var{clipPathId:t,points:n,props:r}=e,{needClip:i,dot:a,dataKey:l}=r,u=Zn(r);return k.createElement(TX,{points:n,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:l,baseProps:u,needClip:i,clipPathId:t})}function qZ(e){var{showLabels:t,children:n,points:r}=e,i=r.map(a=>{var l,u,c={x:(l=a.x)!==null&&l!==void 0?l:0,y:(u=a.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Po(Po({},c),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return k.createElement(UI,{value:t?i:void 0},n)}function EE(e){var{points:t,baseLine:n,needClip:r,clipPathId:i,props:a}=e,{layout:l,type:u,stroke:c,connectNulls:f,isRange:d}=a,{id:p}=a,g=vT(a,MZ),y=Zn(g),w=dn(g);return k.createElement(k.Fragment,null,(t==null?void 0:t.length)>1&&k.createElement(hn,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},k.createElement(os,Oa({},w,{id:p,points:t,connectNulls:f,type:u,baseLine:n,layout:l,stroke:"none",className:"recharts-area-area"})),c!=="none"&&k.createElement(os,Oa({},y,{className:"recharts-area-curve",layout:l,type:u,connectNulls:f,fill:"none",points:t})),c!=="none"&&d&&k.createElement(os,Oa({},y,{className:"recharts-area-curve",layout:l,type:u,connectNulls:f,fill:"none",points:n}))),k.createElement(WZ,{points:t,props:g,clipPathId:i}))}function HZ(e){var t,n,{alpha:r,baseLine:i,points:a,strokeWidth:l}=e,u=(t=a[0])===null||t===void 0?void 0:t.y,c=(n=a[a.length-1])===null||n===void 0?void 0:n.y;if(!De(u)||!De(c))return null;var f=r*Math.abs(u-c),d=Math.max(...a.map(p=>p.x||0));return ge(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(p=>p.x||0),d)),ge(d)?k.createElement("rect",{x:0,y:up.y||0));return ge(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(p=>p.y||0),d)),ge(d)?k.createElement("rect",{x:u({points:l,baseLine:u}),[l,u]),S=hd(w,"recharts-area-"),b=zy(),[P,E]=k.useState(!1),O=!P,A=k.useCallback(()=>{typeof y=="function"&&y(),E(!1)},[y]),I=k.useCallback(()=>{typeof g=="function"&&g(),E(!0)},[g]);if(b==null)return null;var C=i.current,M=a.current;return k.createElement(qZ,{showLabels:O,points:l},r.children,k.createElement(dd,{animationId:S,begin:f,duration:d,isActive:c,easing:p,onAnimationEnd:A,onAnimationStart:I,key:S},B=>{if(C){var H=C.length/l.length,L=B===1?l:l.map((R,V)=>{var G=Math.floor(V*H);if(C[G]){var Q=C[G];return Po(Po({},R),{},{x:ut(Q.x,R.x,B),y:ut(Q.y,R.y,B)})}return R}),W;return ge(u)?W=ut(M,u,B):mt(u)||gr(u)?W=ut(M,0,B):W=u.map((R,V)=>{var G=Math.floor(V*H);if(Array.isArray(M)&&M[G]){var Q=M[G];return Po(Po({},R),{},{x:ut(Q.x,R.x,B),y:ut(Q.y,R.y,B)})}return R}),B>0&&(i.current=L,a.current=W),k.createElement(EE,{points:L,baseLine:W,needClip:t,clipPathId:n,props:r})}return B>0&&(i.current=l,a.current=u),k.createElement(hn,null,c&&k.createElement("defs",null,k.createElement("clipPath",{id:"animationClipPath-".concat(n)},k.createElement(KZ,{alpha:B,points:l,baseLine:u,layout:b,strokeWidth:r.strokeWidth}))),k.createElement(hn,{clipPath:"url(#animationClipPath-".concat(n,")")},k.createElement(EE,{points:l,baseLine:u,needClip:t,clipPathId:n,props:r})))}),k.createElement(qI,{label:r.label}))}function YZ(e){var{needClip:t,clipPathId:n,props:r}=e,i=k.useRef(null),a=k.useRef();return k.createElement(GZ,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}class XZ extends k.PureComponent{render(){var{hide:t,dot:n,points:r,className:i,top:a,left:l,needClip:u,xAxisId:c,yAxisId:f,width:d,height:p,id:g,baseLine:y,zIndex:w}=this.props;if(t)return null;var S=Ge("recharts-area",i),b=g,{r:P,strokeWidth:E}=cZ(n),O=GI(n),A=P*2+E,I=u?"url(#clipPath-".concat(O?"":"dots-").concat(b,")"):void 0;return k.createElement(nr,{zIndex:w},k.createElement(hn,{className:S},u&&k.createElement("defs",null,k.createElement(cT,{clipPathId:b,xAxisId:c,yAxisId:f}),!O&&k.createElement("clipPath",{id:"clipPath-dots-".concat(b)},k.createElement("rect",{x:l-A/2,y:a-A/2,width:d+A,height:p+A}))),k.createElement(YZ,{needClip:u,clipPathId:b,props:this.props})),k.createElement(pE,{points:r,mainColor:Tf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(y)&&k.createElement(pE,{points:y,mainColor:Tf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}var yT={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:zt.area};function QZ(e){var t,n=mn(e,yT),{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:l,connectNulls:u,dot:c,fill:f,fillOpacity:d,hide:p,isAnimationActive:g,legendType:y,stroke:w,xAxisId:S,yAxisId:b}=n,P=vT(n,LZ),E=Ba(),O=bI(),{needClip:A}=Wx(S,b),I=on(),{points:C,isRange:M,baseLine:B}=(t=Pe(G=>DZ(G,e.id,I)))!==null&&t!==void 0?t:{},H=$x();if(E!=="horizontal"&&E!=="vertical"||H==null||O!=="AreaChart"&&O!=="ComposedChart")return null;var{height:L,width:W,x:R,y:V}=H;return!C||!C.length?null:k.createElement(XZ,Oa({},P,{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:l,baseLine:B,connectNulls:u,dot:c,fill:f,fillOpacity:d,height:L,hide:p,layout:E,isAnimationActive:g==="auto"?!Rs.isSsr:g,isRange:M,legendType:y,needClip:A,points:C,stroke:w,width:W,left:R,top:V,xAxisId:S,yAxisId:b}))}var ZZ=(e,t,n,r,i)=>{var a=n??t;if(ge(a))return a;var l=e==="horizontal"?i:r,u=l.scale.domain();if(l.type==="number"){var c=Math.max(u[0],u[1]),f=Math.min(u[0],u[1]);return a==="dataMin"?f:a==="dataMax"||c<0?c:Math.max(Math.min(u[0],u[1]),0)}return a==="dataMin"?u[0]:a==="dataMax"?u[1]:u[0]};function JZ(e){var{areaSettings:{connectNulls:t,baseValue:n,dataKey:r},stackedData:i,layout:a,chartBaseValue:l,xAxis:u,yAxis:c,displayedData:f,dataStartIndex:d,xAxisTicks:p,yAxisTicks:g,bandSize:y}=e,w=i&&i.length,S=ZZ(a,l,n,u,c),b=a==="horizontal",P=!1,E=f.map((A,I)=>{var C,M,B,H;if(w)H=i[d+I];else{var L=St(A,r);Array.isArray(L)?(H=L,P=!0):H=[S,L]}var W=(C=(M=H)===null||M===void 0?void 0:M[1])!==null&&C!==void 0?C:null,R=W==null||w&&!t&&St(A,r)==null;if(b){var V;return{x:dS({axis:u,ticks:p,bandSize:y,entry:A,index:I}),y:R?null:(V=c.scale.map(W))!==null&&V!==void 0?V:null,value:H,payload:A}}return{x:R?null:(B=u.scale.map(W))!==null&&B!==void 0?B:null,y:dS({axis:c,ticks:g,bandSize:y,entry:A,index:I}),value:H,payload:A}}),O;return w||P?O=E.map(A=>{var I,C=Array.isArray(A.value)?A.value[0]:null;if(b){var M;return{x:A.x,y:C!=null&&A.y!=null&&(M=c.scale.map(C))!==null&&M!==void 0?M:null,payload:A.payload}}return{x:C!=null&&(I=u.scale.map(C))!==null&&I!==void 0?I:null,y:A.y,payload:A.payload}}):O=b?c.scale.map(S):u.scale.map(S),{points:E,baseLine:O??0,isRange:P}}function eJ(e){var t=mn(e,yT),n=on();return k.createElement(eT,{id:t.id,type:"area"},r=>k.createElement(k.Fragment,null,k.createElement(JI,{legendPayload:BZ(t)}),k.createElement(UZ,{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:r}),k.createElement(nT,{type:"area",id:r,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:$N(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),k.createElement(QZ,Oa({},t,{id:r}))))}var zv=k.memo(eJ,Dd);zv.displayName="Area";var tJ="Invariant failed";function nJ(e,t){throw new Error(tJ)}function $v(){return $v=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(ge(t))return t;var a=ge(r)||mt(r);return a?t(r,i):(a||nJ(),n)}},iJ=(e,t,n)=>n,aJ=(e,t)=>t,Gs=X([Nd,aJ],(e,t)=>e.filter(n=>n.type==="bar").find(n=>n.id===t)),oJ=X([Gs],e=>e==null?void 0:e.maxBarSize),lJ=(e,t,n,r)=>r,sJ=X([He,Nd,$r,Fr,iJ],(e,t,n,r,i)=>t.filter(a=>e==="horizontal"?a.xAxisId===n:a.yAxisId===r).filter(a=>a.isPanorama===i).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),uJ=(e,t,n)=>{var r=He(e),i=$r(e,t),a=Fr(e,t);if(!(i==null||a==null))return r==="horizontal"?Pf(e,"yAxis",a,n):Pf(e,"xAxis",i,n)},cJ=(e,t)=>{var n=He(e),r=$r(e,t),i=Fr(e,t);if(!(r==null||i==null))return n==="horizontal"?dP(e,"xAxis",r):dP(e,"yAxis",i)},fJ=X([sJ,pV,cJ],JX),dJ=(e,t,n)=>{var r,i,a=Gs(e,t);if(a==null)return 0;var l=$r(e,t),u=Fr(e,t);if(l==null||u==null)return 0;var c=He(e),f=a_(e),{maxBarSize:d}=a,p=mt(d)?f:d,g,y;return c==="horizontal"?(g=Zi(e,"xAxis",l,n),y=Qi(e,"xAxis",l,n)):(g=Zi(e,"yAxis",u,n),y=Qi(e,"yAxis",u,n)),(r=(i=Mo(g,y,!0))!==null&&i!==void 0?i:p)!==null&&r!==void 0?r:0},xT=(e,t,n)=>{var r=He(e),i=$r(e,t),a=Fr(e,t);if(!(i==null||a==null)){var l,u;return r==="horizontal"?(l=Zi(e,"xAxis",i,n),u=Qi(e,"xAxis",i,n)):(l=Zi(e,"yAxis",a,n),u=Qi(e,"yAxis",a,n)),Mo(l,u)}},hJ=X([fJ,a_,hV,o_,dJ,xT,oJ],iQ),pJ=(e,t,n)=>{var r=$r(e,t);if(r!=null)return Zi(e,"xAxis",r,n)},mJ=(e,t,n)=>{var r=Fr(e,t);if(r!=null)return Zi(e,"yAxis",r,n)},gJ=(e,t,n)=>{var r=$r(e,t);if(r!=null)return Qi(e,"xAxis",r,n)},vJ=(e,t,n)=>{var r=Fr(e,t);if(r!=null)return Qi(e,"yAxis",r,n)},yJ=X([hJ,Gs],oQ),xJ=X([uJ,Gs],aQ),bJ=X([$t,My,pJ,mJ,gJ,vJ,yJ,He,KA,xT,xJ,Gs,lJ],(e,t,n,r,i,a,l,u,c,f,d,p,g)=>{var{chartData:y,dataStartIndex:w,dataEndIndex:S}=c;if(!(p==null||l==null||t==null||u!=="horizontal"&&u!=="vertical"||n==null||r==null||i==null||a==null||f==null)){var{data:b}=p,P;if(b!=null&&b.length>0?P=b:P=y==null?void 0:y.slice(w,S+1),P!=null)return GJ({layout:u,barSettings:p,pos:l,parentViewBox:t,bandSize:f,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:d,displayedData:P,offset:e,cells:g,dataStartIndex:w})}}),wJ=["index"];function Fv(){return Fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=k.useContext(bT);if(t!=null)return t.stackId;if(e!=null)return $N(e)},PJ=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),EJ=e=>{var t=k.useContext(bT);if(t!=null){var{stackId:n}=t;return"url(#".concat(PJ(n,e),")")}},wT=e=>{var{index:t}=e,n=kJ(e,wJ),r=EJ(t);return k.createElement(hn,Fv({className:"recharts-bar-stack-layer",clipPath:r},n))},CJ=["onMouseEnter","onMouseLeave","onClick"],OJ=["value","background","tooltipPosition"],NJ=["id"],AJ=["onMouseEnter","onClick","onMouseLeave"];function ui(){return ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{dataKey:t,name:n,fill:r,legendType:i,hide:a}=e;return[{inactive:a,dataKey:t,type:i,color:r,value:rd(n,t),payload:e}]},LJ=k.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:i,name:a,hide:l,unit:u,tooltipType:c,id:f}=e,d={dataDefinedOnItem:void 0,getPosition:Fa,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:rd(a,t),hide:l,type:c,color:i,unit:u,graphicalItemId:f}};return k.createElement(ZI,{tooltipEntrySettings:d})});function RJ(e){var t=Pe(La),{data:n,dataKey:r,background:i,allOtherBarProps:a}=e,{onMouseEnter:l,onMouseLeave:u,onClick:c}=a,f=Mf(a,CJ),d=YI(l,r,a.id),p=XI(u),g=QI(c,r,a.id);if(!i||n==null)return null;var y=As(i);return k.createElement(nr,{zIndex:lQ(i,zt.barBackground)},n.map((w,S)=>{var{value:b,background:P,tooltipPosition:E}=w,O=Mf(w,OJ);if(!P)return null;var A=d(w,S),I=p(w,S),C=g(w,S),M=un(un(un(un(un({option:i,isActive:String(S)===t},O),{},{fill:"#eee"},P),y),Py(f,w,S)),{},{onMouseEnter:A,onMouseLeave:I,onClick:C,dataKey:r,index:S,className:"recharts-bar-background-rectangle"});return k.createElement(Df,ui({key:"background-bar-".concat(S)},M))}))}function zJ(e){var{showLabels:t,children:n,rects:r}=e,i=r==null?void 0:r.map(a=>{var l={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return un(un({},l),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:l,fill:a.fill})});return k.createElement(UI,{value:t?i:void 0},n)}function $J(e){var{shape:t,activeBar:n,baseProps:r,entry:i,index:a,dataKey:l}=e,u=Pe(La),c=Pe(vI),f=n&&String(a)===u&&(c==null||l===c),d=f?n:t;return f?k.createElement(nr,{zIndex:zt.activeBar},k.createElement(wT,{index:a},k.createElement(Df,ui({},r,{name:String(r.name)},i,{isActive:f,option:d,index:a,dataKey:l})))):k.createElement(Df,ui({},r,{name:String(r.name)},i,{isActive:f,option:d,index:a,dataKey:l}))}function FJ(e){var{shape:t,baseProps:n,entry:r,index:i,dataKey:a}=e;return k.createElement(Df,ui({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a}))}function BJ(e){var t,{data:n,props:r}=e,i=(t=Zn(r))!==null&&t!==void 0?t:{},{id:a}=i,l=Mf(i,NJ),{shape:u,dataKey:c,activeBar:f}=r,{onMouseEnter:d,onClick:p,onMouseLeave:g}=r,y=Mf(r,AJ),w=YI(d,c,a),S=XI(g),b=QI(p,c,a);return n?k.createElement(k.Fragment,null,n.map((P,E)=>k.createElement(wT,ui({index:E,key:"rectangle-".concat(P==null?void 0:P.x,"-").concat(P==null?void 0:P.y,"-").concat(P==null?void 0:P.value,"-").concat(E),className:"recharts-bar-rectangle"},Py(y,P,E),{onMouseEnter:w(P,E),onMouseLeave:S(P,E),onClick:b(P,E)}),f?k.createElement($J,{shape:u,activeBar:f,baseProps:l,entry:P,index:E,dataKey:c}):k.createElement(FJ,{shape:u,baseProps:l,entry:P,index:E,dataKey:c})))):null}function UJ(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:i,isAnimationActive:a,animationBegin:l,animationDuration:u,animationEasing:c,onAnimationEnd:f,onAnimationStart:d}=t,p=n.current,g=hd(t,"recharts-bar-"),[y,w]=k.useState(!1),S=!y,b=k.useCallback(()=>{typeof f=="function"&&f(),w(!1)},[f]),P=k.useCallback(()=>{typeof d=="function"&&d(),w(!0)},[d]);return k.createElement(zJ,{showLabels:S,rects:r},k.createElement(dd,{animationId:g,begin:l,duration:u,isActive:a,easing:c,onAnimationEnd:b,onAnimationStart:P,key:g},E=>{var O=E===1?r:r==null?void 0:r.map((A,I)=>{var C=p&&p[I];if(C)return un(un({},A),{},{x:ut(C.x,A.x,E),y:ut(C.y,A.y,E),width:ut(C.width,A.width,E),height:ut(C.height,A.height,E)});if(i==="horizontal"){var M=ut(0,A.height,E),B=ut(A.stackedBarStart,A.y,E);return un(un({},A),{},{y:B,height:M})}var H=ut(0,A.width,E),L=ut(A.stackedBarStart,A.x,E);return un(un({},A),{},{width:H,x:L})});return E>0&&(n.current=O??null),O==null?null:k.createElement(hn,null,k.createElement(BJ,{props:t,data:O}))}),k.createElement(qI,{label:t.label}),t.children)}function WJ(e){var t=k.useRef(null);return k.createElement(UJ,{previousRectanglesRef:t,props:e})}var kT=0,qJ=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:St(e,t)}};class HJ extends k.PureComponent{render(){var{hide:t,data:n,dataKey:r,className:i,xAxisId:a,yAxisId:l,needClip:u,background:c,id:f}=this.props;if(t||n==null)return null;var d=Ge("recharts-bar",i),p=f;return k.createElement(hn,{className:d,id:f},u&&k.createElement("defs",null,k.createElement(cT,{clipPathId:p,xAxisId:a,yAxisId:l})),k.createElement(hn,{className:"recharts-bar-rectangles",clipPath:u?"url(#clipPath-".concat(p,")"):void 0},k.createElement(RJ,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),k.createElement(WJ,this.props)))}}var VJ={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:kT,xAxisId:0,yAxisId:0,zIndex:zt.bar};function KJ(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:l,animationBegin:u,animationDuration:c,animationEasing:f,isAnimationActive:d}=e,{needClip:p}=Wx(t,n),g=Ba(),y=on(),w=YY(e.children,AI),S=Pe(E=>bJ(E,e.id,y,w));if(g!=="vertical"&&g!=="horizontal")return null;var b,P=S==null?void 0:S[0];return P==null||P.height==null||P.width==null?b=0:b=g==="vertical"?P.height/2:P.width/2,k.createElement(uZ,{xAxisId:t,yAxisId:n,data:S,dataPointFormatter:qJ,errorBarOffset:b},k.createElement(HJ,ui({},e,{layout:g,needClip:p,data:S,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:l,animationBegin:u,animationDuration:c,animationEasing:f,isAnimationActive:d})))}function GJ(e){var{layout:t,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:a,xAxis:l,yAxis:u,xAxisTicks:c,yAxisTicks:f,stackedData:d,displayedData:p,offset:g,cells:y,parentViewBox:w,dataStartIndex:S}=e,b=t==="horizontal"?u:l,P=d?b.scale.domain():null,E=c8({numericAxis:b}),O=b.scale.map(E);return p.map((A,I)=>{var C,M,B,H,L,W;if(d){var R=d[I+S];if(R==null)return null;C=a8(R,P)}else C=St(A,n),Array.isArray(C)||(C=[E,C]);var V=rJ(r,kT)(C[1],I);if(t==="horizontal"){var G,Q=u.scale.map(C[0]),de=u.scale.map(C[1]);if(Q==null||de==null)return null;M=hS({axis:l,ticks:c,bandSize:a,offset:i.offset,entry:A,index:I}),B=(G=de??Q)!==null&&G!==void 0?G:void 0,H=i.size;var ce=Q-de;if(L=gr(ce)?0:ce,W={x:M,y:g.top,width:H,height:g.height},Math.abs(V)>0&&Math.abs(L)0&&Math.abs(H)k.createElement(k.Fragment,null,k.createElement(JI,{legendPayload:MJ(t)}),k.createElement(LJ,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:i}),k.createElement(nT,{type:"bar",id:i,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r}),k.createElement(nr,{zIndex:t.zIndex},k.createElement(KJ,ui({},t,{id:i})))))}var Bv=k.memo(YJ,Dd);Bv.displayName="Bar";var XJ=["domain","range"],QJ=["domain","range"];function OE(e,t){if(e==null)return{};var n,r,i=ZJ(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{if(l!=null)return _E(_E({},a),{},{type:l})},[a,l]);return k.useLayoutEffect(()=>{u!=null&&(n.current===null?t(zX(u)):n.current!==u&&t($X({prev:n.current,next:u})),n.current=u)},[u,t]),k.useLayoutEffect(()=>()=>{n.current&&(t(FX(n.current)),n.current=null)},[t]),null}var lee=e=>{var{xAxisId:t,className:n}=e,r=Pe(My),i=on(),a="xAxis",l=Pe(P=>X_(P,a,t,i)),u=Pe(P=>V_(P,t)),c=Pe(P=>gK(P,t)),f=Pe(P=>m_(P,t));if(u==null||c==null||f==null)return null;var{dangerouslySetInnerHTML:d,ticks:p,scale:g}=e,y=Wv(e,eee),{id:w,scale:S}=f,b=Wv(f,tee);return k.createElement(Bx,Uv({},y,b,{x:c.x,y:c.y,width:u.width,height:u.height,className:Ge("recharts-".concat(a," ").concat(a),n),viewBox:r,ticks:l,axisType:a}))},see={allowDataOverflow:Dt.allowDataOverflow,allowDecimals:Dt.allowDecimals,allowDuplicatedCategory:Dt.allowDuplicatedCategory,angle:Dt.angle,axisLine:ni.axisLine,height:Dt.height,hide:!1,includeHidden:Dt.includeHidden,interval:Dt.interval,label:!1,minTickGap:Dt.minTickGap,mirror:Dt.mirror,orientation:Dt.orientation,padding:Dt.padding,reversed:Dt.reversed,scale:Dt.scale,tick:Dt.tick,tickCount:Dt.tickCount,tickLine:ni.tickLine,tickSize:ni.tickSize,type:Dt.type,xAxisId:0},uee=e=>{var t=mn(e,see);return k.createElement(k.Fragment,null,k.createElement(oee,{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}),k.createElement(lee,t))},qx=k.memo(uee,ST);qx.displayName="XAxis";var cee=["type"],fee=["dangerouslySetInnerHTML","ticks","scale"],dee=["id","scale"];function qv(){return qv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(l!=null)return TE(TE({},a),{},{type:l})},[l,a]);return k.useLayoutEffect(()=>{u!=null&&(n.current===null?t(BX(u)):n.current!==u&&t(UX({prev:n.current,next:u})),n.current=u)},[u,t]),k.useLayoutEffect(()=>()=>{n.current&&(t(WX(n.current)),n.current=null)},[t]),null}function yee(e){var{yAxisId:t,className:n,width:r,label:i}=e,a=k.useRef(null),l=k.useRef(null),u=Pe(My),c=on(),f=yt(),d="yAxis",p=Pe(C=>K_(C,t)),g=Pe(C=>yK(C,t)),y=Pe(C=>X_(C,d,t,c)),w=Pe(C=>g_(C,t));if(k.useLayoutEffect(()=>{if(!(r!=="auto"||!p||zx(i)||k.isValidElement(i)||w==null)){var C=a.current;if(C){var M=C.getCalculatedWidth();Math.round(p.width)!==Math.round(M)&&f(qX({id:t,width:M}))}}},[y,p,f,i,t,r,w]),p==null||g==null||w==null)return null;var{dangerouslySetInnerHTML:S,ticks:b,scale:P}=e,E=Hv(e,fee),{id:O,scale:A}=w,I=Hv(w,dee);return k.createElement(Bx,qv({},E,I,{ref:a,labelRef:l,x:g.x,y:g.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:p.width,height:p.height,className:Ge("recharts-".concat(d," ").concat(d),n),viewBox:u,ticks:y,axisType:d}))}var xee={allowDataOverflow:Mt.allowDataOverflow,allowDecimals:Mt.allowDecimals,allowDuplicatedCategory:Mt.allowDuplicatedCategory,angle:Mt.angle,axisLine:ni.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:ni.tickLine,tickSize:ni.tickSize,type:Mt.type,width:Mt.width,yAxisId:0},bee=e=>{var t=mn(e,xee);return k.createElement(k.Fragment,null,k.createElement(vee,{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}),k.createElement(yee,t))},Es=k.memo(bee,ST);Es.displayName="YAxis";var wee=(e,t)=>t,Hx=X([wee,He,h_,Ut,hI,vi,I7,$t],$7),Vx=e=>{var t=e.currentTarget.getBoundingClientRect(),n=t.width/e.currentTarget.offsetWidth,r=t.height/e.currentTarget.offsetHeight;return{chartX:Math.round((e.clientX-t.left)/n),chartY:Math.round((e.clientY-t.top)/r)}},jT=Jn("mouseClick"),PT=Ts();PT.startListening({actionCreator:jT,effect:(e,t)=>{var n=e.payload,r=Hx(t.getState(),Vx(n));(r==null?void 0:r.activeIndex)!=null&&t.dispatch(IK({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Vv=Jn("mouseMove"),ET=Ts(),Ec=null;ET.startListening({actionCreator:Vv,effect:(e,t)=>{var n=e.payload;Ec!==null&&cancelAnimationFrame(Ec);var r=Vx(n);Ec=requestAnimationFrame(()=>{var i=t.getState(),a=Cx(i,i.tooltip.settings.shared);if(a==="axis"){var l=Hx(i,r);(l==null?void 0:l.activeIndex)!=null?t.dispatch(iI({activeIndex:l.activeIndex,activeDataKey:void 0,activeCoordinate:l.activeCoordinate})):t.dispatch(rI())}Ec=null})}});function kee(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 DE={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},CT=On({name:"rootProps",initialState:DE,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:DE.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}}}),See=CT.reducer,{updateOptions:jee}=CT.actions,Pee=null,Eee={updatePolarOptions:(e,t)=>t.payload},OT=On({name:"polarOptions",initialState:Pee,reducers:Eee}),{updatePolarOptions:sne}=OT.actions,Cee=OT.reducer,NT=Jn("keyDown"),AT=Jn("focus"),Kx=Ts();Kx.startListening({actionCreator:NT,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,a=e.payload;if(!(a!=="ArrowRight"&&a!=="ArrowLeft"&&a!=="Enter")){var l=Ox(i,Qo(n),qs(n),Vs(n)),u=l==null?-1:Number(l);if(!(!Number.isFinite(u)||u<0)){var c=vi(n);if(a==="Enter"){var f=Cf(n,"axis","hover",String(i.index));t.dispatch(Tv({active:!i.active,activeIndex:i.index,activeCoordinate:f}));return}var d=kK(n),p=d==="left-to-right"?1:-1,g=a==="ArrowRight"?1:-1,y=u+g*p;if(!(c==null||y>=c.length||y<0)){var w=Cf(n,"axis","hover",String(y));t.dispatch(Tv({active:!0,activeIndex:y.toString(),activeCoordinate:w}))}}}}}});Kx.startListening({actionCreator:AT,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var a="0",l=Cf(n,"axis","hover",String(a));t.dispatch(Tv({active:!0,activeIndex:a,activeCoordinate:l}))}}}});var Yn=Jn("externalEvent"),_T=Ts(),Ig=new Map;_T.startListening({actionCreator:Yn,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){r.persist();var i=r.type,a=Ig.get(i);a!==void 0&&cancelAnimationFrame(a);var l=requestAnimationFrame(()=>{try{var u=t.getState(),c={activeCoordinate:v7(u),activeDataKey:vI(u),activeIndex:La(u),activeLabel:gI(u),activeTooltipIndex:La(u),isTooltipActive:y7(u)};n(c,r)}finally{Ig.delete(i)}});Ig.set(i,l)}}});var Oee=X([Yo],e=>e.tooltipItemPayloads),Nee=X([Oee,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(a=>a.settings.graphicalItemId===n);if(r!=null){var{getPosition:i}=r;if(i!=null)return i(t)}}}),IT=Jn("touchMove"),TT=Ts();TT.startListening({actionCreator:IT,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){var r=t.getState(),i=Cx(r,r.tooltip.settings.shared);if(i==="axis"){var a=n.touches[0];if(a==null)return;var l=Hx(r,Vx({clientX:a.clientX,clientY:a.clientY,currentTarget:n.currentTarget}));(l==null?void 0:l.activeIndex)!=null&&t.dispatch(iI({activeIndex:l.activeIndex,activeDataKey:void 0,activeCoordinate:l.activeCoordinate}))}else if(i==="item"){var u,c=n.touches[0];if(document.elementFromPoint==null||c==null)return;var f=document.elementFromPoint(c.clientX,c.clientY);if(!f||!f.getAttribute)return;var d=f.getAttribute(v8),p=(u=f.getAttribute(y8))!==null&&u!==void 0?u:void 0,g=Xo(r).find(S=>S.id===p);if(d==null||g==null||p==null)return;var{dataKey:y}=g,w=Nee(r,d,p);t.dispatch(nI({activeDataKey:y,activeIndex:d,activeCoordinate:w,activeGraphicalItemId:p}))}}}});var Aee=sN({brush:uQ,cartesianAxis:HX,chartData:gG,errorBars:rZ,graphicalItems:SX,layout:e8,legend:uW,options:fG,polarAxis:qY,polarOptions:Cee,referenceElements:hQ,rootProps:See,tooltip:TK,zIndex:J7}),_ee=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return PU({reducer:Aee,preloadedState:t,middleware:r=>{var i;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([PT.middleware,ET.middleware,Kx.middleware,_T.middleware,TT.middleware])},enhancers:r=>{var i=r;return typeof r=="function"&&(i=r()),i.concat(SN({type:"raf"}))},devTools:{serialize:{replacer:kee},name:"recharts-".concat(n)}})};function Iee(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,i=on(),a=k.useRef(null);if(i)return n;a.current==null&&(a.current=_ee(t,r));var l=Oy;return k.createElement(EZ,{context:l,store:a.current},n)}function Tee(e){var{layout:t,margin:n}=e,r=yt(),i=on();return k.useEffect(()=>{i||(r(QU(t)),r(XU(n)))},[r,i,t,n]),null}var Dee=k.memo(Tee,Dd);function Mee(e){var t=yt();return k.useEffect(()=>{t(jee(e))},[t,e]),null}function ME(e){var{zIndex:t,isPanorama:n}=e,r=k.useRef(null),i=yt();return k.useLayoutEffect(()=>(r.current&&i(Q7({zIndex:t,element:r.current,isPanorama:n})),()=>{i(Z7({zIndex:t,isPanorama:n}))}),[i,t,n]),k.createElement("g",{tabIndex:-1,ref:r})}function LE(e){var{children:t,isPanorama:n}=e,r=Pe(B7);if(!r||r.length===0)return t;var i=r.filter(l=>l<0),a=r.filter(l=>l>0);return k.createElement(k.Fragment,null,i.map(l=>k.createElement(ME,{key:l,zIndex:l,isPanorama:n})),t,a.map(l=>k.createElement(ME,{key:l,zIndex:l,isPanorama:n})))}var Lee=["children"];function Ree(e,t){if(e==null)return{};var n,r,i=zee(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=VN(),r=KN(),i=nA();if(!Mr(n)||!Mr(r))return null;var{children:a,otherAttributes:l,title:u,desc:c}=e,f,d;return l!=null&&(typeof l.tabIndex=="number"?f=l.tabIndex:f=i?0:void 0,typeof l.role=="string"?d=l.role:d=i?"application":void 0),k.createElement(PO,Lf({},l,{title:u,desc:c,role:d,tabIndex:f,width:n,height:r,style:$ee,ref:t}),a)}),Bee=e=>{var{children:t}=e,n=Pe(ld);if(!n)return null;var{width:r,height:i,y:a,x:l}=n;return k.createElement(PO,{width:r,height:i,x:l,y:a},t)},RE=k.forwardRef((e,t)=>{var{children:n}=e,r=Ree(e,Lee),i=on();return i?k.createElement(Bee,null,k.createElement(LE,{isPanorama:!0},n)):k.createElement(Fee,Lf({ref:t},r),k.createElement(LE,{isPanorama:!1},n))});function Uee(){var e=yt(),[t,n]=k.useState(null),r=Pe(g8);return k.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),a=i.width/t.offsetWidth;De(a)&&a!==r&&e(JU(a))}},[t,e,r]),n}function zE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Wee(e){for(var t=1;t(PG(),null);function Rf(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Gee=k.forwardRef((e,t)=>{var n,r,i=k.useRef(null),[a,l]=k.useState({containerWidth:Rf((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:Rf((r=e.style)===null||r===void 0?void 0:r.height)}),u=k.useCallback((f,d)=>{l(p=>{var g=Math.round(f),y=Math.round(d);return p.containerWidth===g&&p.containerHeight===y?p:{containerWidth:g,containerHeight:y}})},[]),c=k.useCallback(f=>{if(typeof t=="function"&&t(f),f!=null&&typeof ResizeObserver<"u"){var{width:d,height:p}=f.getBoundingClientRect();u(d,p);var g=w=>{var S=w[0];if(S!=null){var{width:b,height:P}=S.contentRect;u(b,P)}},y=new ResizeObserver(g);y.observe(f),i.current=y}},[t,u]);return k.useEffect(()=>()=>{var f=i.current;f!=null&&f.disconnect()},[u]),k.createElement(k.Fragment,null,k.createElement(Ms,{width:a.containerWidth,height:a.containerHeight}),k.createElement("div",Yi({ref:c},e)))}),Yee=k.forwardRef((e,t)=>{var{width:n,height:r}=e,[i,a]=k.useState({containerWidth:Rf(n),containerHeight:Rf(r)}),l=k.useCallback((c,f)=>{a(d=>{var p=Math.round(c),g=Math.round(f);return d.containerWidth===p&&d.containerHeight===g?d:{containerWidth:p,containerHeight:g}})},[]),u=k.useCallback(c=>{if(typeof t=="function"&&t(c),c!=null){var{width:f,height:d}=c.getBoundingClientRect();l(f,d)}},[t,l]);return k.createElement(k.Fragment,null,k.createElement(Ms,{width:i.containerWidth,height:i.containerHeight}),k.createElement("div",Yi({ref:u},e)))}),Xee=k.forwardRef((e,t)=>{var{width:n,height:r}=e;return k.createElement(k.Fragment,null,k.createElement(Ms,{width:n,height:r}),k.createElement("div",Yi({ref:t},e)))}),Qee=k.forwardRef((e,t)=>{var{width:n,height:r}=e;return typeof n=="string"||typeof r=="string"?k.createElement(Yee,Yi({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?k.createElement(Xee,Yi({},e,{width:n,height:r,ref:t})):k.createElement(k.Fragment,null,k.createElement(Ms,{width:n,height:r}),k.createElement("div",Yi({ref:t},e)))});function Zee(e){return e?Gee:Qee}var Jee=k.forwardRef((e,t)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:l,onDoubleClick:u,onMouseDown:c,onMouseEnter:f,onMouseLeave:d,onMouseMove:p,onMouseUp:g,onTouchEnd:y,onTouchMove:w,onTouchStart:S,style:b,width:P,responsive:E,dispatchTouchEvents:O=!0}=e,A=k.useRef(null),I=yt(),[C,M]=k.useState(null),[B,H]=k.useState(null),L=Uee(),W=Ly(),R=(W==null?void 0:W.width)>0?W.width:P,V=(W==null?void 0:W.height)>0?W.height:i,G=k.useCallback(Z=>{L(Z),typeof t=="function"&&t(Z),M(Z),H(Z),Z!=null&&(A.current=Z)},[L,t,M,H]),Q=k.useCallback(Z=>{I(jT(Z)),I(Yn({handler:a,reactEvent:Z}))},[I,a]),de=k.useCallback(Z=>{I(Vv(Z)),I(Yn({handler:f,reactEvent:Z}))},[I,f]),ce=k.useCallback(Z=>{I(rI()),I(Yn({handler:d,reactEvent:Z}))},[I,d]),J=k.useCallback(Z=>{I(Vv(Z)),I(Yn({handler:p,reactEvent:Z}))},[I,p]),ae=k.useCallback(()=>{I(AT())},[I]),T=k.useCallback(Z=>{I(NT(Z.key))},[I]),$=k.useCallback(Z=>{I(Yn({handler:l,reactEvent:Z}))},[I,l]),U=k.useCallback(Z=>{I(Yn({handler:u,reactEvent:Z}))},[I,u]),_=k.useCallback(Z=>{I(Yn({handler:c,reactEvent:Z}))},[I,c]),te=k.useCallback(Z=>{I(Yn({handler:g,reactEvent:Z}))},[I,g]),he=k.useCallback(Z=>{I(Yn({handler:S,reactEvent:Z}))},[I,S]),fe=k.useCallback(Z=>{O&&I(IT(Z)),I(Yn({handler:w,reactEvent:Z}))},[I,O,w]),Se=k.useCallback(Z=>{I(Yn({handler:y,reactEvent:Z}))},[I,y]),je=Zee(E);return k.createElement(PI.Provider,{value:C},k.createElement(a5.Provider,{value:B},k.createElement(je,{width:R??(b==null?void 0:b.width),height:V??(b==null?void 0:b.height),className:Ge("recharts-wrapper",r),style:Wee({position:"relative",cursor:"default",width:R,height:V},b),onClick:Q,onContextMenu:$,onDoubleClick:U,onFocus:ae,onKeyDown:T,onMouseDown:_,onMouseEnter:de,onMouseLeave:ce,onMouseMove:J,onMouseUp:te,onTouchEnd:Se,onTouchMove:fe,onTouchStart:he,ref:G},k.createElement(Kee,null),n)))}),ete=["width","height","responsive","children","className","style","compact","title","desc"];function tte(e,t){if(e==null)return{};var n,r,i=nte(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var{width:n,height:r,responsive:i,children:a,className:l,style:u,compact:c,title:f,desc:d}=e,p=tte(e,ete),g=Zn(p);return c?k.createElement(k.Fragment,null,k.createElement(Ms,{width:n,height:r}),k.createElement(RE,{otherAttributes:g,title:f,desc:d},a)):k.createElement(Jee,{className:l,style:u,width:n,height:r,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},k.createElement(RE,{otherAttributes:g,title:f,desc:d,ref:t},k.createElement(mQ,null,a)))});function Kv(){return Kv=Object.assign?Object.assign.bind():function(e){for(var t=1;tk.createElement(DT,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:ote,tooltipPayloadSearcher:EI,categoricalChartProps:e,ref:t})),ste=["axis"],ute=k.forwardRef((e,t)=>k.createElement(DT,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:ste,tooltipPayloadSearcher:EI,categoricalChartProps:e,ref:t}));function MT({active:e,payload:t,label:n,labelFormatter:r,valueFormatter:i}){if(!e||!t||t.length===0)return null;const a=r?r(n||""):n;return m.jsxs("div",{className:"bg-base-200 border border-base-300 rounded-lg px-3 py-2 shadow-lg text-sm",children:[a&&m.jsx("p",{className:"text-base-content font-medium mb-1",children:a}),t.map((l,u)=>{const[c,f]=i?i(l.value,l.name):[l.value,l.name];return m.jsxs("p",{className:"text-base-content/80",children:[m.jsxs("span",{className:"font-medium",children:[f,":"]})," ",c]},u)})]})}function cte({daily:e}){if(!e||e.length===0)return m.jsx("div",{className:"flex items-center justify-center h-48 text-base-content/50",children:"No data available"});const t=e.map(n=>({...n,displayDate:n.date.includes("-")?`${n.date.slice(5,7)}/${n.date.slice(8,10)}`:`${n.date.slice(4,6)}/${n.date.slice(6,8)}`}));return m.jsx("div",{className:"h-80 w-full",children:m.jsx(qN,{width:"100%",height:"100%",debounce:50,children:m.jsxs(ute,{data:t,margin:{top:5,right:20,left:10,bottom:5},children:[m.jsxs("defs",{children:[m.jsxs("linearGradient",{id:"dailyCostGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[m.jsx("stop",{offset:"5%",stopColor:"#3b82f6",stopOpacity:.6}),m.jsx("stop",{offset:"95%",stopColor:"#3b82f6",stopOpacity:0})]}),m.jsxs("linearGradient",{id:"dailyTokenGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[m.jsx("stop",{offset:"5%",stopColor:"#8b5cf6",stopOpacity:.3}),m.jsx("stop",{offset:"95%",stopColor:"#8b5cf6",stopOpacity:0})]})]}),m.jsx(Ux,{strokeDasharray:"3 3",className:"stroke-base-content/10"}),m.jsx(qx,{dataKey:"displayDate",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1}),m.jsx(Es,{yAxisId:"cost",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:n=>`${n.toFixed(0)}$`}),m.jsx(Es,{yAxisId:"tokens",orientation:"right",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:n=>Io(n)}),m.jsx(NI,{content:m.jsx(MT,{labelFormatter:n=>`Date: ${n}`,valueFormatter:(n,r)=>r==="totalCost"?[`${Number(n).toFixed(2)}$`,"Cost"]:r==="totalTokens"?[Io(Number(n)),"Tokens"]:[n,r]})}),m.jsx(zv,{yAxisId:"tokens",type:"monotone",dataKey:"totalTokens",stroke:"#8b5cf6",strokeWidth:1.5,fill:"url(#dailyTokenGradient)"}),m.jsx(zv,{yAxisId:"cost",type:"monotone",dataKey:"totalCost",stroke:"#3b82f6",strokeWidth:2,fill:"url(#dailyCostGradient)"})]})})})}function fte({monthly:e}){return!e||e.length===0?m.jsx("div",{className:"flex items-center justify-center h-48 text-base-content/50",children:"No data available"}):m.jsx("div",{className:"h-80 w-full",children:m.jsx(qN,{width:"100%",height:"100%",debounce:50,children:m.jsxs(lte,{data:e,margin:{top:5,right:20,left:10,bottom:5},children:[m.jsx(Ux,{strokeDasharray:"3 3",className:"stroke-base-content/10"}),m.jsx(qx,{dataKey:"month",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1}),m.jsx(Es,{yAxisId:"cost",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:t=>`${t.toFixed(0)}$`}),m.jsx(Es,{yAxisId:"tokens",orientation:"right",tick:{fontSize:12},className:"text-base-content/60",tickLine:!1,axisLine:!1,tickFormatter:t=>Io(t)}),m.jsx(NI,{content:m.jsx(MT,{labelFormatter:t=>`Month: ${t}`,valueFormatter:(t,n)=>n==="totalCost"?[`${Number(t).toFixed(2)}$`,"Cost"]:n==="totalTokens"?[Io(Number(t)),"Tokens"]:[t,n]})}),m.jsx(Bv,{yAxisId:"tokens",dataKey:"totalTokens",fill:"#8b5cf6",opacity:.4,radius:[4,4,0,0]}),m.jsx(Bv,{yAxisId:"cost",dataKey:"totalCost",fill:"#6366f1",opacity:.8,radius:[4,4,0,0]})]})})})}function dte(){const{daily:e,monthly:t,isLoading:n,error:r,available:i,dataExists:a}=KB();if(n)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-baseline gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsxs("span",{className:"text-xs text-base-content/40 flex items-center gap-2",children:[m.jsx("span",{className:"loading loading-spinner loading-xs"}),"Loading usage data..."]})]}),m.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[...Array(4)].map((c,f)=>m.jsx("div",{className:"stats shadow bg-base-200 animate-pulse",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"h-3 bg-base-300 rounded w-20 mb-2"}),m.jsx("div",{className:"h-8 bg-base-300 rounded w-24 mb-1"}),m.jsx("div",{className:"h-3 bg-base-300 rounded w-16"})]})},f))}),m.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4",children:[m.jsx("div",{className:"card bg-base-200 lg:col-span-2 animate-pulse",children:m.jsxs("div",{className:"card-body",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-48 mb-4"}),m.jsx("div",{className:"h-48 bg-base-300 rounded"})]})}),m.jsx("div",{className:"card bg-base-200 animate-pulse",children:m.jsxs("div",{className:"card-body",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-40 mb-4"}),m.jsx("div",{className:"h-48 bg-base-300 rounded"})]})})]})]});if(!i)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("p",{className:"text-base-content/60",children:"Token usage and API cost tracking"})]}),m.jsxs("div",{className:"alert alert-warning",children:[m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),m.jsxs("div",{children:[m.jsx("h3",{className:"font-bold",children:"Usage tracking requires ccusage"}),m.jsxs("div",{className:"text-xs",children:["Install with:"," ",m.jsx("code",{className:"bg-base-300 px-1 rounded",children:"npm install -g ccusage@latest"})]})]})]})]});if(r)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("p",{className:"text-base-content/60",children:"Token usage and API cost tracking"})]}),m.jsx("div",{className:"alert alert-error",children:m.jsxs("span",{children:["Failed to load usage data: ",r]})})]});if(!a)return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("p",{className:"text-base-content/60",children:"Token usage and API cost tracking"})]}),m.jsxs("div",{className:"alert alert-info",children:[m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",className:"stroke-current shrink-0 w-6 h-6",children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),m.jsx("span",{children:"No usage data yet. Statistics will appear here after you use Claude Code."})]})]});const l=e.slice(-14),u=t.length<=2;return m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-baseline gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Usage"}),m.jsx("span",{className:"text-xs text-base-content/40",children:"All projects"})]}),m.jsx(GB,{daily:e}),m.jsxs("div",{className:u?"grid grid-cols-1 lg:grid-cols-3 gap-4":"space-y-4",children:[m.jsx("div",{className:`card bg-base-200 ${u?"lg:col-span-2":""}`,children:m.jsxs("div",{className:"card-body",children:[m.jsx("h2",{className:"card-title text-sm",children:"Daily Cost & Tokens (Last 14 Days)"}),m.jsx(cte,{daily:l})]})}),m.jsx("div",{className:"card bg-base-200",children:m.jsxs("div",{className:"card-body",children:[m.jsx("h2",{className:"card-title text-sm",children:"Monthly Cost & Tokens"}),m.jsx(fte,{monthly:t})]})})]})]})}const hte=2e3,pte=30;function $E(e){if(!e)return NaN;const t=e.replace(/^v/i,"");return parseInt(t,10)}function FE(e,t){const n=new Map;for(const r of t)n.set(r.name,r);return e.map(r=>{const i=n.get(r.name),a=(i==null?void 0:i.version)??null,l=$E(r.latestVersion),u=$E(a),c=i!=null&&!isNaN(l)&&!isNaN(u)&&u{try{const A=await fetch("/api/vault/status");if(!A.ok)throw new Error(`Status fetch failed: ${A.status}`);const I=await A.json();if(!b.current)return;t(I),r(FE(I.catalog,I.assets)),u(null)}catch(A){if(!b.current)return;u(A.message)}finally{b.current&&a(!1)}},[]),E=k.useCallback(async A=>{if(!(c.current.has(A)||f.current.has(A))){f.current.add(A),d.current.delete(A),p(I=>I+1);try{const I=await fetch(`/api/vault/detail/${encodeURIComponent(A)}`);if(!I.ok)throw new Error(`Detail fetch failed: ${I.status}`);const C=await I.json();b.current&&c.current.set(A,C)}catch(I){b.current&&(d.current.set(A,I.message),console.error("Failed to fetch vault detail:",A,I))}finally{f.current.delete(A),b.current&&p(I=>I+1)}}},[]),O=k.useCallback(async()=>{y(!0),S(null);try{const A=await fetch("/api/vault/install",{method:"POST"});if(!A.ok){const C=await A.json().catch(()=>({error:"Install failed"}));throw new Error(C.error||"Install failed")}let I=0;for(;IsetTimeout(B,hte)),!b.current)return;I++;const C=await fetch("/api/vault/status");if(!C.ok)continue;const M=await C.json();if(!M.isInstalling){c.current.clear(),d.current.clear(),b.current&&(t(M),r(FE(M.catalog,M.assets)),y(!1));return}}b.current&&(S("Install taking longer than expected"),y(!1),await P())}catch(A){b.current&&(S(A.message),y(!1))}},[P]);return k.useEffect(()=>(b.current=!0,P(),()=>{b.current=!1}),[P]),{vaultStatus:e,mergedAssets:n,isLoading:i,error:l,fetchDetail:E,detailCache:c.current,loadingDetails:f.current,detailErrors:d.current,installAll:O,isInstalling:g,installError:w,refresh:P}}function gte({assets:e}){const t=e.length,n=e.reduce((u,c)=>(u[c.type]=(u[c.type]||0)+1,u),{}),r=n.skill||0,i=n.rule||0,a=n.command||0,l=t-r-i-a;return m.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Total Assets"}),m.jsx("div",{className:"stat-value text-primary",children:t}),m.jsx("div",{className:"stat-desc",children:"In vault catalog"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Skills"}),m.jsx("div",{className:"stat-value",children:r}),m.jsx("div",{className:"stat-desc",children:"Reusable workflows"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:"Rules"}),m.jsx("div",{className:"stat-value",children:i}),m.jsx("div",{className:"stat-desc",children:"Coding standards"})]})}),m.jsx("div",{className:"stats shadow bg-base-200",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"stat-title",children:l>0?"Commands & Other":"Commands"}),m.jsx("div",{className:"stat-value",children:a+l}),m.jsx("div",{className:"stat-desc",children:"Slash commands"})]})})]})}function vte({detail:e,isLoading:t,onRetry:n}){return t?m.jsxs("div",{className:"p-4 bg-base-200 rounded-b-lg flex items-center gap-2",children:[m.jsx("span",{className:"loading loading-spinner loading-sm"}),m.jsx("span",{className:"text-sm text-base-content/60",children:"Loading details..."})]}):e?m.jsxs("div",{className:"p-4 bg-base-200 rounded-b-lg space-y-3",children:[e.metadata.description&&m.jsx("p",{className:"text-sm text-base-content/70",children:e.metadata.description}),e.versions.length>0&&m.jsxs("div",{children:[m.jsx("h4",{className:"text-xs font-semibold text-base-content/50 uppercase mb-2",children:"Version History"}),m.jsxs("table",{className:"table table-xs w-full",children:[m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{children:"Version"}),m.jsx("th",{children:"Date"}),m.jsx("th",{children:"Files"})]})}),m.jsx("tbody",{children:e.versions.map(r=>m.jsxs("tr",{children:[m.jsxs("td",{className:"font-mono",children:["v",r.version]}),m.jsx("td",{className:"text-base-content/60",children:r.createdAt??"โ€”"}),m.jsx("td",{children:r.filesCount})]},r.version))})]})]}),e.metadata.authors.length>0&&m.jsxs("div",{className:"text-xs text-base-content/50",children:["Authors: ",e.metadata.authors.join(", ")]})]}):m.jsxs("div",{className:"p-4 bg-base-200 rounded-b-lg text-sm text-base-content/60",children:[m.jsx("span",{children:"Failed to load details."}),n&&m.jsx("button",{className:"btn btn-ghost btn-xs ml-2",onClick:n,children:"Retry"})]})}const yte={skill:"lucide:wand-2",rule:"lucide:scale",command:"lucide:terminal"},xte={skill:"primary",rule:"info",command:"accent"},bte=[{id:"all",label:"All"},{id:"skill",label:"Skills"},{id:"rule",label:"Rules"},{id:"command",label:"Commands"}];function wte({assets:e,searchQuery:t,activeTab:n,onTabChange:r,onSearchChange:i,expandedAsset:a,onAssetClick:l,fetchDetail:u,detailCache:c,loadingDetails:f}){const d=e.filter(p=>{const g=n==="all"||p.type===n,y=!t||p.name.toLowerCase().includes(t.toLowerCase());return g&&y});return m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[m.jsx(JD,{tabs:bte,activeTab:n,onTabChange:r}),m.jsx("input",{type:"text",placeholder:"Search assets...",className:"input input-bordered input-sm w-60",value:t,onChange:p=>i(p.target.value)})]}),d.length===0?m.jsx("div",{className:"text-center py-8 text-base-content/50",children:t?`No assets matching "${t}"`:"No assets in this category"}):m.jsx("div",{className:"overflow-x-auto",children:m.jsxs("table",{className:"table w-full",children:[m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{children:"Name"}),m.jsx("th",{children:"Type"}),m.jsx("th",{children:"Installed"}),m.jsx("th",{children:"Latest"}),m.jsx("th",{children:"Scope"})]})}),m.jsx("tbody",{children:d.map(p=>m.jsx(kte,{asset:p,isExpanded:a===p.name,onClick:()=>l(p.name),fetchDetail:u,detail:c.get(p.name)??null,isLoadingDetail:f.has(p.name)},p.name))})]})})]})}function kte({asset:e,isExpanded:t,onClick:n,fetchDetail:r,detail:i,isLoadingDetail:a}){const l=yte[e.type]??"lucide:package",u=xte[e.type]??"ghost",c=()=>{n(),!t&&!i&&!a&&r(e.name)};return m.jsxs(m.Fragment,{children:[m.jsxs("tr",{className:"cursor-pointer hover:bg-base-200 transition-colors",onClick:c,children:[m.jsx("td",{children:m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(le,{icon:l,size:16,className:"text-base-content/50"}),m.jsx("span",{className:"font-medium",children:e.name}),e.hasUpdate&&m.jsx(Ie,{variant:"warning",size:"sm",children:"update"})]})}),m.jsx("td",{children:m.jsx(Ie,{variant:u,size:"sm",children:e.type})}),m.jsx("td",{className:"font-mono text-sm",children:e.installedVersion??"โ€”"}),m.jsxs("td",{className:"font-mono text-sm",children:["v",e.latestVersion]}),m.jsx("td",{className:"text-sm text-base-content/60",children:e.scope??"โ€”"})]}),t&&m.jsx("tr",{children:m.jsx("td",{colSpan:5,className:"p-0",children:m.jsx(vte,{detail:i,isLoading:a,onRetry:()=>r(e.name)})})})]})}function Ste(e){try{const t=new URL(e);return(t.host+t.pathname).replace(/\.git$/,"")}catch{return e}}function jte(){const{vaultStatus:e,mergedAssets:t,isLoading:n,error:r,fetchDetail:i,detailCache:a,loadingDetails:l,installAll:u,isInstalling:c,installError:f}=mte(),d=cC(),p=k.useRef(c),[g,y]=k.useState(""),[w,S]=k.useState("all"),[b,P]=k.useState(null),E=k.useCallback(()=>{u()},[u]),O=k.useCallback(A=>{P(I=>I===A?null:A)},[]);return k.useEffect(()=>{p.current&&!c&&(f?f.includes("longer than expected")?d.warning(f,"Install Timeout"):d.error(f,"Install Failed"):d.success("Vault synced successfully","Sync Complete")),p.current=c},[c,f,d]),n?m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-baseline gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsxs("span",{className:"text-xs text-base-content/40 flex items-center gap-2",children:[m.jsx("span",{className:"loading loading-spinner loading-xs"}),"Loading vault data..."]})]}),m.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[...Array(4)].map((A,I)=>m.jsx("div",{className:"stats shadow bg-base-200 animate-pulse",children:m.jsxs("div",{className:"stat",children:[m.jsx("div",{className:"h-3 bg-base-300 rounded w-20 mb-2"}),m.jsx("div",{className:"h-8 bg-base-300 rounded w-24 mb-1"}),m.jsx("div",{className:"h-3 bg-base-300 rounded w-16"})]})},I))}),m.jsx("div",{className:"card bg-base-200 animate-pulse",children:m.jsxs("div",{className:"card-body",children:[m.jsx("div",{className:"h-4 bg-base-300 rounded w-48 mb-4"}),m.jsx("div",{className:"h-48 bg-base-300 rounded"})]})})]}):r?m.jsxs("div",{className:"space-y-8",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsx("div",{className:"alert alert-error",children:m.jsxs("span",{children:["Failed to load vault data: ",r]})})]}):e!=null&&e.installed?e.configured?m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsx(Ie,{variant:"success",size:"sm",children:"Connected"}),f&&m.jsx("span",{className:"text-xs text-warning",children:f})]}),m.jsx(Pte,{isInstalling:c,onInstall:E})]}),m.jsxs("div",{className:"flex items-center gap-2 text-sm text-base-content/60",children:[e.vaultUrl&&m.jsxs(m.Fragment,{children:[m.jsx(le,{icon:"lucide:git-branch",size:16}),m.jsx("span",{className:"font-mono text-xs",children:Ste(e.vaultUrl)})]}),e.version&&m.jsxs(Ie,{variant:"ghost",size:"sm",children:["sx v",e.version]}),m.jsxs("span",{children:["Run ",m.jsx("code",{className:"font-mono text-xs bg-base-300 px-1 rounded",children:"/vault"})," in Claude Code to push or pull skills, rules, and commands."]})]}),m.jsx(gte,{assets:t}),t.length===0?m.jsx(Eo,{icon:"lucide:package",title:"No assets in vault",description:"Push skills, rules, or commands to your vault using /vault in Claude Code."}):m.jsx(wte,{assets:t,searchQuery:g,activeTab:w,onTabChange:S,onSearchChange:y,expandedAsset:b,onAssetClick:O,fetchDetail:i,detailCache:a,loadingDetails:l})]}):m.jsxs("div",{className:"space-y-8",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),e.version&&m.jsxs(Ie,{variant:"ghost",size:"sm",children:["sx v",e.version]})]}),m.jsx(Eo,{icon:"lucide:archive",title:"Vault not configured",description:"Run /vault in Claude Code to configure your vault and push or pull skills, rules, and commands."})]}):m.jsxs("div",{className:"space-y-8",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Vault"}),m.jsx(Eo,{icon:"lucide:archive",title:"sx is not installed",description:"Run /vault in Claude Code to push or pull skills, rules, and commands."})]})}function Pte({isInstalling:e,onInstall:t}){return m.jsx("button",{className:"btn btn-primary btn-sm",disabled:e,onClick:t,children:e?m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"loading loading-spinner loading-xs"}),"Syncing..."]}):m.jsxs(m.Fragment,{children:[m.jsx(le,{icon:"lucide:refresh-cw",size:14}),"Sync All"]})})}const Ql=[{key:"DEBUG",label:"Debug",icon:"๐Ÿ”",color:"text-gray-400"},{key:"INFO",label:"Info",icon:"โ„น๏ธ",color:"text-info"},{key:"WARN",label:"Warn",icon:"โš ๏ธ",color:"text-warning"},{key:"ERROR",label:"Error",icon:"โŒ",color:"text-error"}],Zl=[{key:"HOOK",label:"Hook",icon:"๐Ÿช",color:"text-purple-400"},{key:"WORKER",label:"Worker",icon:"โš™๏ธ",color:"text-info"},{key:"SDK",label:"SDK",icon:"๐Ÿ“ฆ",color:"text-success"},{key:"PARSER",label:"Parser",icon:"๐Ÿ“„",color:"text-sky-400"},{key:"DB",label:"DB",icon:"๐Ÿ—„๏ธ",color:"text-orange-400"},{key:"SYSTEM",label:"System",icon:"๐Ÿ’ป",color:"text-gray-400"},{key:"HTTP",label:"HTTP",icon:"๐ŸŒ",color:"text-green-400"},{key:"SESSION",label:"Session",icon:"๐Ÿ“‹",color:"text-pink-400"},{key:"CHROMA",label:"Chroma",icon:"๐Ÿ”ฎ",color:"text-violet-400"}];function Ete(e){const t=/^\[([^\]]+)\]\s+\[(\w+)\s*\]\s+\[(\w+)\s*\]\s+(?:\[([^\]]+)\]\s+)?(.*)$/,n=e.match(t);if(!n)return{raw:e};const[,r,i,a,l,u]=n;let c;return u.startsWith("โ†’")?c="dataIn":u.startsWith("โ†")?c="dataOut":u.startsWith("โœ“")?c="success":u.startsWith("โœ—")?c="failure":u.startsWith("โฑ")?c="timing":u.includes("[HAPPY-PATH]")&&(c="happyPath"),{raw:e,timestamp:r,level:i==null?void 0:i.trim(),component:a==null?void 0:a.trim(),correlationId:l||void 0,message:u,isSpecial:c}}function Cte({isOpen:e,onClose:t}){const[n,r]=k.useState(""),[i,a]=k.useState(!1),[l,u]=k.useState(null),[c,f]=k.useState(!1),[d,p]=k.useState(350),[g,y]=k.useState(!1),w=k.useRef(0),S=k.useRef(0),b=k.useRef(null),P=k.useRef(!0),[E,O]=k.useState(new Set(["DEBUG","INFO","WARN","ERROR"])),[A,I]=k.useState(new Set(["HOOK","WORKER","SDK","PARSER","DB","SYSTEM","HTTP","SESSION","CHROMA"])),[C,M]=k.useState(!1),B=k.useMemo(()=>n?n.split(` +`).map(Ete):[],[n]),H=k.useMemo(()=>B.filter(_=>C?_.raw.includes("[ALIGNMENT]"):!_.level||!_.component?!0:E.has(_.level)&&A.has(_.component)),[B,E,A,C]),L=k.useCallback(()=>{if(!b.current)return!0;const{scrollTop:_,scrollHeight:te,clientHeight:he}=b.current;return te-_-he<50},[]),W=k.useCallback(()=>{b.current&&P.current&&(b.current.scrollTop=b.current.scrollHeight)},[]),R=k.useCallback(async()=>{P.current=L(),a(!0),u(null);try{const _=await fetch("/api/logs");if(!_.ok)throw new Error(`Failed to fetch logs: ${_.statusText}`);const te=await _.json();r(te.logs||"")}catch(_){u(_ instanceof Error?_.message:"Unknown error")}finally{a(!1)}},[L]);k.useEffect(()=>{W()},[n,W]);const V=k.useCallback(async()=>{if(confirm("Are you sure you want to clear all logs?")){a(!0),u(null);try{const _=await fetch("/api/logs/clear",{method:"POST"});if(!_.ok)throw new Error(`Failed to clear logs: ${_.statusText}`);r("")}catch(_){u(_ instanceof Error?_.message:"Unknown error")}finally{a(!1)}}},[]),G=k.useCallback(_=>{_.preventDefault(),y(!0),w.current=_.clientY,S.current=d},[d]);k.useEffect(()=>{if(!g)return;const _=he=>{const fe=w.current-he.clientY,Se=Math.min(Math.max(150,S.current+fe),window.innerHeight-100);p(Se)},te=()=>{y(!1)};return document.addEventListener("mousemove",_),document.addEventListener("mouseup",te),()=>{document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",te)}},[g]),k.useEffect(()=>{e&&(P.current=!0,R())},[e,R]),k.useEffect(()=>{if(!e||!c)return;const _=setInterval(R,2e3);return()=>clearInterval(_)},[e,c,R]);const Q=k.useCallback(_=>{O(te=>{const he=new Set(te);return he.has(_)?he.delete(_):he.add(_),he})},[]),de=k.useCallback(_=>{I(te=>{const he=new Set(te);return he.has(_)?he.delete(_):he.add(_),he})},[]),ce=k.useCallback(_=>{O(_?new Set(["DEBUG","INFO","WARN","ERROR"]):new Set)},[]),J=k.useCallback(_=>{I(_?new Set(["HOOK","WORKER","SDK","PARSER","DB","SYSTEM","HTTP","SESSION","CHROMA"]):new Set)},[]);if(!e)return null;const ae=_=>{const te=Ql.find(he=>he.key===_);return(te==null?void 0:te.color)||"text-base-content"},T=_=>{const te=Zl.find(he=>he.key===_);return(te==null?void 0:te.color)||"text-base-content"},$=_=>_.level==="ERROR"?"bg-error/10":_.level==="WARN"?"bg-warning/5":"",U=(_,te)=>{var Se,je;if(!_.timestamp)return m.jsx("div",{className:"whitespace-pre-wrap break-all text-base-content/60",children:_.raw},te);const he=Ql.find(Z=>Z.key===_.level),fe=Zl.find(Z=>Z.key===_.component);return m.jsxs("div",{className:`whitespace-pre-wrap break-all py-0.5 px-1 rounded ${$(_)}`,children:[m.jsxs("span",{className:"text-base-content/40",children:["[",_.timestamp,"]"]})," ",m.jsxs("span",{className:`font-medium ${ae(_.level)}`,title:_.level,children:["[",(he==null?void 0:he.icon)||""," ",(Se=_.level)==null?void 0:Se.padEnd(5),"]"]})," ",m.jsxs("span",{className:`font-medium ${T(_.component)}`,title:_.component,children:["[",(fe==null?void 0:fe.icon)||""," ",(je=_.component)==null?void 0:je.padEnd(7),"]"]})," ",_.correlationId&&m.jsxs(m.Fragment,{children:[m.jsxs("span",{className:"text-base-content/50",children:["[",_.correlationId,"]"]})," "]}),m.jsx("span",{className:_.isSpecial==="success"?"text-success":_.isSpecial==="failure"?"text-error":"text-base-content",children:_.message})]},te)};return m.jsxs("div",{className:"fixed bottom-0 left-0 right-0 bg-base-100 border-t border-base-300 flex flex-col z-50 shadow-2xl",style:{height:`${d}px`},children:[m.jsx("div",{className:"h-1.5 cursor-ns-resize flex items-center justify-center bg-base-200 hover:bg-base-300 transition-colors",onMouseDown:G,children:m.jsx("div",{className:"w-12 h-1 bg-base-300 rounded-full"})}),m.jsxs("div",{className:"flex justify-between items-center px-3 h-9 bg-base-200 border-b border-base-300",children:[m.jsx("div",{className:"flex gap-1",children:m.jsx("div",{className:"px-3 py-1 text-xs font-medium bg-base-100 text-base-content rounded",children:"Console"})}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-base-content/60 cursor-pointer",children:[m.jsx("input",{type:"checkbox",className:"checkbox checkbox-xs",checked:c,onChange:_=>f(_.target.checked)}),"Auto-refresh"]}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square",onClick:R,disabled:i,title:"Refresh logs",children:m.jsx(le,{icon:"lucide:refresh-cw",size:14,className:i?"animate-spin":""})}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square",onClick:()=>{P.current=!0,W()},title:"Scroll to bottom",children:m.jsx(le,{icon:"lucide:arrow-down",size:14})}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square hover:text-error",onClick:V,disabled:i,title:"Clear logs",children:m.jsx(le,{icon:"lucide:trash-2",size:14})}),m.jsx("button",{className:"btn btn-ghost btn-xs btn-square",onClick:t,title:"Close console",children:m.jsx(le,{icon:"lucide:x",size:14})})]})]}),m.jsxs("div",{className:"flex flex-wrap gap-3 px-3 py-2 bg-base-200/50 border-b border-base-300 text-xs",children:[m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"font-medium text-base-content/50 uppercase text-[10px]",children:"Quick:"}),m.jsx("button",{className:`badge badge-sm cursor-pointer ${C?"badge-warning":"badge-ghost opacity-50"}`,onClick:()=>M(!C),title:"Show only session alignment logs",children:"๐Ÿ”— Alignment"})]}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"font-medium text-base-content/50 uppercase text-[10px]",children:"Levels:"}),m.jsxs("div",{className:"flex flex-wrap gap-1",children:[Ql.map(_=>m.jsxs("button",{className:`badge badge-sm cursor-pointer ${E.has(_.key)?"badge-primary":"badge-ghost opacity-40"}`,onClick:()=>Q(_.key),title:_.label,children:[_.icon," ",_.label]},_.key)),m.jsx("button",{className:"badge badge-sm badge-ghost cursor-pointer",onClick:()=>ce(E.size===0),title:E.size===Ql.length?"Select none":"Select all",children:E.size===Ql.length?"โ—‹":"โ—"})]})]}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"font-medium text-base-content/50 uppercase text-[10px]",children:"Components:"}),m.jsxs("div",{className:"flex flex-wrap gap-1",children:[Zl.map(_=>m.jsxs("button",{className:`badge badge-sm cursor-pointer ${A.has(_.key)?"badge-secondary":"badge-ghost opacity-40"}`,onClick:()=>de(_.key),title:_.label,children:[_.icon," ",_.label]},_.key)),m.jsx("button",{className:"badge badge-sm badge-ghost cursor-pointer",onClick:()=>J(A.size===0),title:A.size===Zl.length?"Select none":"Select all",children:A.size===Zl.length?"โ—‹":"โ—"})]})]})]}),l&&m.jsxs("div",{className:"px-3 py-2 bg-error/10 text-error text-xs",children:["โš  ",l]}),m.jsx("div",{className:"flex-1 overflow-y-auto px-3 py-2",ref:b,children:m.jsx("div",{className:"font-mono text-xs leading-relaxed",children:H.length===0?m.jsx("div",{className:"text-base-content/40 italic",children:"No logs available"}):H.map((_,te)=>U(_,te))})})]})}const Gv={COMMAND_PALETTE:{key:"k",modifiers:["ctrl","meta"],description:"Open command palette",action:"openCommandPalette"},SEARCH:{key:"/",modifiers:["ctrl","meta"],description:"Focus search",action:"focusSearch"},ESCAPE:{key:"Escape",description:"Close modal/palette",action:"escape"},TOGGLE_THEME:{key:"t",modifiers:["ctrl","meta"],description:"Toggle theme",action:"toggleTheme"},TOGGLE_SIDEBAR:{key:"b",modifiers:["ctrl","meta"],description:"Toggle sidebar",action:"toggleSidebar"}},Ote=[{sequence:["g","d"],description:"Go to Dashboard",action:"navigate:/"},{sequence:["g","m"],description:"Go to Memories",action:"navigate:/memories"},{sequence:["g","v"],description:"Go to Vault",action:"navigate:/vault"}];function BE(e){var r,i,a,l;const t=typeof navigator<"u"&&navigator.platform.includes("Mac"),n=[];return((r=e.modifiers)!=null&&r.includes("ctrl")||(i=e.modifiers)!=null&&i.includes("meta"))&&n.push(t?"โŒ˜":"Ctrl"),(a=e.modifiers)!=null&&a.includes("shift")&&n.push(t?"โ‡ง":"Shift"),(l=e.modifiers)!=null&&l.includes("alt")&&n.push(t?"โŒฅ":"Alt"),n.push(e.key.toUpperCase()),n.join(t?"":"+")}function Nte({open:e,onClose:t,onNavigate:n,onToggleTheme:r,onToggleSidebar:i}){const[a,l]=k.useState(""),[u,c]=k.useState(0),f=k.useRef(null),d=k.useRef(null),p=k.useMemo(()=>[{id:"nav-dashboard",label:"Go to Dashboard",shortcut:"G D",category:"navigation",icon:"lucide:layout-dashboard",action:()=>n("/")},{id:"nav-memories",label:"Go to Memories",shortcut:"G M",category:"navigation",icon:"lucide:brain",action:()=>n("/memories")},{id:"nav-usage",label:"Go to Usage",shortcut:"G U",category:"navigation",icon:"lucide:bar-chart-3",action:()=>n("/usage")},{id:"nav-vault",label:"Go to Vault",shortcut:"G V",category:"navigation",icon:"lucide:archive",action:()=>n("/vault")},{id:"action-theme",label:"Toggle Theme",shortcut:BE(Gv.TOGGLE_THEME),category:"action",icon:"lucide:sun-moon",action:r},{id:"action-sidebar",label:"Toggle Sidebar",shortcut:BE(Gv.TOGGLE_SIDEBAR),category:"action",icon:"lucide:panel-left",action:i}],[n,r,i]),g=k.useMemo(()=>{if(!a)return p;const E=a.toLowerCase();return p.filter(O=>O.label.toLowerCase().includes(E)||O.category.toLowerCase().includes(E))},[p,a]);k.useEffect(()=>{c(0)},[a]),k.useEffect(()=>{e&&(l(""),c(0),setTimeout(()=>{var E;return(E=f.current)==null?void 0:E.focus()},50))},[e]),k.useEffect(()=>{if(!d.current)return;const E=d.current.querySelector('[data-selected="true"]');E==null||E.scrollIntoView({block:"nearest"})},[u]);const y=E=>{E.action(),t()},w=E=>{switch(E.key){case"ArrowDown":E.preventDefault(),c(O=>(O+1)%g.length);break;case"ArrowUp":E.preventDefault(),c(O=>(O-1+g.length)%g.length);break;case"Enter":E.preventDefault(),g[u]&&y(g[u]);break;case"Escape":E.preventDefault(),t();break}};if(!e)return null;const S=g.reduce((E,O)=>(E[O.category]||(E[O.category]=[]),E[O.category].push(O),E),{}),b={navigation:"Navigation",action:"Actions",theme:"Theme"};let P=0;return m.jsxs("dialog",{className:"modal modal-open",children:[m.jsxs("div",{className:"modal-box max-w-xl p-0 overflow-hidden",children:[m.jsxs("div",{className:"flex items-center gap-2 p-3 border-b border-base-300",children:[m.jsx(le,{icon:"lucide:search",size:18,className:"text-base-content/50"}),m.jsx("input",{ref:f,type:"text",placeholder:"Type a command or search...",value:a,onChange:E=>l(E.target.value),onKeyDown:w,className:"flex-1 bg-transparent outline-none text-base"}),m.jsx("kbd",{className:"kbd kbd-sm",children:"ESC"})]}),m.jsx("div",{ref:d,className:"max-h-80 overflow-y-auto p-2",children:g.length===0?m.jsx("div",{className:"text-center py-8 text-base-content/50",children:"No commands found"}):Object.entries(S).map(([E,O])=>m.jsxs("div",{children:[m.jsx("div",{className:"text-xs font-medium text-base-content/50 px-2 py-1 mt-2 first:mt-0",children:b[E]||E}),O.map(A=>{const I=P===u,C=P;return P++,m.jsxs("button",{"data-selected":I,className:`w-full flex items-center gap-3 px-3 py-2 rounded-lg text-left transition-colors ${I?"bg-primary text-primary-content":"hover:bg-base-200"}`,onClick:()=>y(A),onMouseEnter:()=>c(C),children:[m.jsx(le,{icon:A.icon,size:16,className:I?"text-primary-content":"text-base-content/60"}),m.jsx("span",{className:"flex-1",children:A.label}),A.shortcut&&m.jsx("kbd",{className:`kbd kbd-sm ${I?"bg-primary-content/20 text-primary-content":""}`,children:A.shortcut})]},A.id)})]},E))}),m.jsxs("div",{className:"border-t border-base-300 px-3 py-2 text-xs text-base-content/50 flex gap-4",children:[m.jsxs("span",{children:[m.jsx("kbd",{className:"kbd kbd-xs",children:"โ†‘โ†“"})," Navigate"]}),m.jsxs("span",{children:[m.jsx("kbd",{className:"kbd kbd-xs",children:"โ†ต"})," Select"]}),m.jsxs("span",{children:[m.jsx("kbd",{className:"kbd kbd-xs",children:"ESC"})," Close"]})]})]}),m.jsx("form",{method:"dialog",className:"modal-backdrop bg-black/50",children:m.jsx("button",{onClick:t,children:"close"})})]})}function Ate({license:e,onActivated:t}){const[n,r]=k.useState(""),[i,a]=k.useState(null),[l,u]=k.useState(!1),c=k.useCallback(async()=>{const y=n.trim();if(y){a(null),u(!0);try{const S=await(await fetch("/api/license/activate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:y})})).json();S.success?(r(""),a(null),t()):a(S.error??"Activation failed")}catch{a("Connection failed. Is the Pilot worker running?")}finally{u(!1)}}},[n,t]),f=k.useCallback(y=>{y.key==="Enter"&&!l&&c()},[c,l]),d=(e==null?void 0:e.isExpired)===!0,p=d?"License Expired":"License Required",g=d?"Your Pilot Shell license has expired. Please activate a new license to continue using the Console.":"Pilot Shell Console requires an active license or trial. Activate your license key below to get started.";return m.jsx("div",{className:"min-h-screen flex items-center justify-center bg-base-200 p-4",children:m.jsx("div",{className:"card bg-base-100 shadow-xl w-full max-w-md",children:m.jsxs("div",{className:"card-body items-center text-center gap-4",children:[m.jsx("div",{className:"text-5xl mb-2",children:d?"๐Ÿšซ":"๐Ÿ”’"}),m.jsx("h1",{className:"card-title text-2xl",children:p}),m.jsx("p",{className:"text-base-content/60 text-sm",children:g}),m.jsxs("div",{className:"w-full space-y-3 mt-2",children:[m.jsx("input",{type:"text",className:"input input-bordered w-full",placeholder:"Enter your license key",value:n,onChange:y=>{r(y.target.value),a(null)},onKeyDown:f,disabled:l,autoFocus:!0}),i&&m.jsx("p",{className:"text-error text-sm text-left",children:i}),m.jsx("button",{className:"btn btn-primary w-full",onClick:c,disabled:l||!n.trim(),children:l?"Activating...":"Activate License"})]}),m.jsx("div",{className:"divider text-base-content/40 text-xs my-1",children:"or"}),m.jsx("a",{href:"https://pilot-shell.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"btn btn-outline btn-sm w-full",children:"Get a License"}),m.jsxs("p",{className:"text-base-content/40 text-xs mt-2",children:["Visit"," ",m.jsx("a",{href:"https://pilot-shell.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"pilot-shell.com"})," ","to learn more about Pilot Shell."]})]})})})}const LT="pilot-memory-theme";function _te(){return typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function UE(){try{const e=localStorage.getItem(LT);if(e==="system"||e==="light"||e==="dark")return e}catch(e){console.warn("Failed to read theme preference from localStorage:",e)}return"system"}function WE(e){return e==="system"?_te():e}function qE(e){return e==="dark"?"pilot-shell":"pilot-shell-light"}function Ite(){const[e,t]=k.useState(UE),[n,r]=k.useState(()=>WE(UE()));return k.useEffect(()=>{const a=WE(e);r(a),document.documentElement.setAttribute("data-theme",qE(a))},[e]),k.useEffect(()=>{if(e!=="system")return;const a=window.matchMedia("(prefers-color-scheme: dark)"),l=u=>{const c=u.matches?"dark":"light";r(c),document.documentElement.setAttribute("data-theme",qE(c))};return a.addEventListener("change",l),()=>a.removeEventListener("change",l)},[e]),{preference:e,resolvedTheme:n,setThemePreference:a=>{try{localStorage.setItem(LT,a),t(a)}catch(l){console.warn("Failed to save theme preference to localStorage:",l),t(a)}}}}function Tte(e,t={}){const{enabled:n=!0}=t,r=k.useRef([]),i=k.useRef(null),a=k.useCallback(()=>{r.current=[],i.current&&(clearTimeout(i.current),i.current=null)},[]);k.useEffect(()=>{if(!n)return;const l=u=>{const c=u.target;if(c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable){u.key==="Escape"&&e("escape");return}navigator.platform.includes("Mac");const f=u.ctrlKey||u.metaKey;for(const d of Object.values(Gv)){const p=!d.modifiers||d.modifiers.some(w=>w==="ctrl"?u.ctrlKey:w==="meta"?u.metaKey:w==="shift"?u.shiftKey:w==="alt"?u.altKey:!1),g=u.key.toLowerCase()===d.key.toLowerCase(),y=d.modifiers&&d.modifiers.length>0;if(g&&p&&(y?f:!f)){u.preventDefault(),e(d.action),a();return}}if(!f&&!u.shiftKey&&!u.altKey){i.current&&clearTimeout(i.current),r.current.push(u.key.toLowerCase()),i.current=setTimeout(a,1e3);for(const d of Ote){const p=r.current,g=d.sequence;if(g.slice(0,p.length).every((w,S)=>w===p[S])){if(p.length===g.length){u.preventDefault(),e(d.action),a();return}return}}a()}};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l),a()}},[n,e,a])}const Dte=[{path:"/",component:BL},{path:"/spec",component:HB},{path:"/memories",component:t1},{path:"/memories/:type",component:t1},{path:"/sessions",component:lR},{path:"/usage",component:dte},{path:"/vault",component:jte},{path:"/settings",component:dR}],HE="pilot-memory-sidebar-collapsed";function Mte(){const{path:e,navigate:t}=pC(),{resolvedTheme:n,setThemePreference:r}=Ite(),{workerStatus:i}=mC(),{license:a,isLoading:l,refetch:u}=hC(),[c,f]=k.useState(()=>{if(typeof window<"u"&&window.innerWidth<1024)return!0;try{return localStorage.getItem(HE)==="true"}catch{return!1}}),[d,p]=k.useState(!1),[g,y]=k.useState(!1),w=k.useCallback(()=>{r(n==="light"?"dark":"light")},[n,r]),S=k.useCallback(()=>{f(O=>{const A=!O;try{localStorage.setItem(HE,String(A))}catch{}return A})},[]),b=k.useCallback(()=>{p(O=>!O)},[]),P=k.useCallback(O=>{if(O==="openCommandPalette")y(!0);else if(O==="escape")y(!1),p(!1);else if(O==="toggleTheme")r(n==="light"?"dark":"light");else if(O==="toggleSidebar")S();else if(O==="focusSearch"){const A=document.querySelector('input[type="search"]');A==null||A.focus()}else O.startsWith("navigate:")&&t(O.replace("navigate:",""))},[n,r,t,S]);Tte(P);const E=!l&&(a==null?void 0:a.valid)===!0&&!a.isExpired;return l?m.jsx("div",{className:"min-h-screen flex items-center justify-center bg-base-200","data-theme":n==="dark"?"pilot-shell":"pilot-shell-light",children:m.jsx("span",{className:"loading loading-spinner loading-lg text-primary"})}):E?m.jsx(gL,{children:m.jsxs(pL,{children:[m.jsx(CL,{currentPath:`#${e}`,workerStatus:i.status,version:i.version,queueDepth:i.queueDepth,theme:n,onToggleTheme:w,onToggleLogs:b,sidebarCollapsed:c,onToggleSidebar:S,children:m.jsx(OL,{routes:Dte})}),m.jsx(Cte,{isOpen:d,onClose:()=>p(!1)}),m.jsx(Nte,{open:g,onClose:()=>y(!1),onNavigate:t,onToggleTheme:w,onToggleSidebar:S})]})}):m.jsx("div",{"data-theme":n==="dark"?"pilot-shell":"pilot-shell-light",children:m.jsx(Ate,{license:a,onActivated:u})})}class Lte extends k.Component{constructor(t){super(t),this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){console.error("[ErrorBoundary] Caught error:",t,n),this.setState({error:t,errorInfo:n})}render(){return this.state.hasError?m.jsxs("div",{style:{padding:"20px",color:"#ff6b6b",backgroundColor:"#1a1a1a",minHeight:"100vh"},children:[m.jsx("h1",{style:{fontSize:"24px",marginBottom:"10px"},children:"Something went wrong"}),m.jsx("p",{style:{marginBottom:"10px",color:"#8b949e"},children:"The application encountered an error. Please refresh the page to try again."}),this.state.error&&m.jsxs("details",{style:{marginTop:"20px",color:"#8b949e"},children:[m.jsx("summary",{style:{cursor:"pointer",marginBottom:"10px"},children:"Error details"}),m.jsxs("pre",{style:{backgroundColor:"#0d1117",padding:"10px",borderRadius:"6px",overflow:"auto"},children:[this.state.error.toString(),this.state.errorInfo&&` `+this.state.errorInfo.componentStack]})]})]}):this.props.children}}const RT=document.getElementById("root");if(!RT)throw new Error("Root element not found");const Rte=UD.createRoot(RT);Rte.render(m.jsx(Lte,{children:m.jsx(Mte,{})})); diff --git a/pilot/ui/viewer.css b/pilot/ui/viewer.css index 0f42830c..3269bbe1 100644 --- a/pilot/ui/viewer.css +++ b/pilot/ui/viewer.css @@ -1 +1 @@ -/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-green-400:oklch(79.2% .209 151.711);--color-sky-400:oklch(74.6% .16 232.661);--color-violet-400:oklch(70.2% .183 293.541);--color-purple-400:oklch(71.4% .203 305.504);--color-pink-400:oklch(71.8% .202 349.761);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab,red,red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}:root:not(span){overflow:var(--page-overflow)}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--root-bg:#121212;--layout-sidebar-background:#1a1a1a;--layout-topbar-background:#1a1a1a;--color-base-100:#1a1a1a;--color-base-200:#262626;--color-base-300:#333;--color-base-content:#fafafa;--color-primary:#5b9ed9;--color-primary-content:#fff;--color-secondary:#a855f7;--color-secondary-content:#fff;--color-accent:#5b9ed9;--color-accent-content:#fff;--color-neutral:#d1d5db;--color-neutral-content:#1e2832;--color-info:#0ea5e9;--color-info-content:#fff;--color-success:#22c55e;--color-success-content:#fff;--color-warning:#f59e0b;--color-warning-content:#150a00;--color-error:#ef4444;--color-error-content:#fff;--radius-field:.375rem;--radius-box:.5rem;--rounded-box:.5rem;--radius-selector:.375rem;--border:1px}}:where(:root),:root:has(input.theme-controller[value=claude-pilot]:checked),[data-theme=claude-pilot]{color-scheme:dark;--root-bg:#121212;--layout-sidebar-background:#1a1a1a;--layout-topbar-background:#1a1a1a;--color-base-100:#1a1a1a;--color-base-200:#262626;--color-base-300:#333;--color-base-content:#fafafa;--color-primary:#5b9ed9;--color-primary-content:#fff;--color-secondary:#a855f7;--color-secondary-content:#fff;--color-accent:#5b9ed9;--color-accent-content:#fff;--color-neutral:#d1d5db;--color-neutral-content:#1e2832;--color-info:#0ea5e9;--color-info-content:#fff;--color-success:#22c55e;--color-success-content:#fff;--color-warning:#f59e0b;--color-warning-content:#150a00;--color-error:#ef4444;--color-error-content:#fff;--radius-field:.375rem;--radius-box:.5rem;--rounded-box:.5rem;--radius-selector:.375rem;--border:1px}:root:has(input.theme-controller[value=claude-pilot-light]:checked),[data-theme=claude-pilot-light]{color-scheme:light;--root-bg:#f5f5f5;--layout-sidebar-background:#fff;--layout-topbar-background:#fff;--color-base-100:#fff;--color-base-200:#f5f5f5;--color-base-300:#e5e5e5;--color-base-content:#171717;--color-primary:#4a90c7;--color-primary-content:#fff;--color-secondary:#9333ea;--color-secondary-content:#fff;--color-accent:#4a90c7;--color-accent-content:#fff;--color-neutral:#1f2937;--color-neutral-content:#fafcff;--color-info:#0284c7;--color-info-content:#fff;--color-success:#16a34a;--color-success-content:#fff;--color-warning:#d97706;--color-warning-content:#150a00;--color-error:#dc2626;--color-error-content:#fff;--radius-field:.375rem;--radius-box:.5rem;--rounded-box:.5rem;--radius-selector:.375rem;--border:1px}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.diff{webkit-user-select:none;-webkit-user-select:none;user-select:none;direction:ltr;grid-template-rows:1fr 1.8rem 1fr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:95cqi;max-width:95cqi}.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-1:focus-visible) .diff-resizer{min-width:5cqi;max-width:5cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:5cqi;max-width:5cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:95cqi;max-width:95cqi}}.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:clip}.modal::backdrop{display:none}.tooltip{--tt-bg:var(--color-neutral);--tt-off: calc(100% + .5rem) ;--tt-tail: calc(100% + 1px + .25rem) ;display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media(prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media(prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media(hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field),var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)),var(--tab-border-color)calc(69% - var(--border) + .25px),var(--tab-border-color)69%,var(--tab-bg) calc(69% + .25px) ;order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;top:0;right:0;bottom:0;left:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media(prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px #00000003,inset 0 -1px #ffffff03}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.dropdown{position-area:var(--anchor-v,bottom)var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media(prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:95%}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:100%}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:95%}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%)) inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab,red,red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}@media(hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media(prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media(prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete,visibility .2s allow-discrete,min-height .2s ease-out allow-discrete,padding .1s ease-out 20ms,background-color .2s ease-out,height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media(prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete,visibility .2s allow-discrete,min-height .2s ease-out allow-discrete,padding .1s ease-out 20ms,background-color .2s ease-out}}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab,red,red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.toast{translate:var(--toast-x,0)var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media(prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.toggle{border:var(--border)solid currentColor;color:var(--input-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p),var(--radius-selector-max)) + min(var(--border),var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab,red,red)){.toggle{box-shadow:0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab,red,red)){.toggle{--input-color:color-mix(in oklab,var(--color-base-content)50%,#0000)}}.toggle{--toggle-p:calc(var(--size)*.125);--size:calc(var(--size-selector,.25rem)*6);width:calc((var(--size)*2) - (var(--border) + var(--toggle-p))*2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:none}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:none}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab,red,red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)}}.toggle:before{background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}@media(forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:-1px;outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border)solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%)var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x: 0rem ;--tw-border-spacing-y: 0rem ;width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media(hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.select{border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.select{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.select{--size:calc(var(--size-field,.25rem)*10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border)*2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}:is(.select,.select select)::picker(select){-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border)solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth)*3px) -2px #0003;box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth)*.1)),0 8px 10px -6px rgb(0 0 0/calc(var(--depth)*.1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth)*3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0,1fr))auto var(--timeline-row-end,minmax(0,1fr));grid-template-columns:var(--timeline-col-start,minmax(0,1fr))auto var(--timeline-col-end,minmax(0,1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.checkbox{border:var(--border)solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0 3px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media(forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"โœ”๏ธŽ";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"โœ”๏ธŽ";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.progress{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media(prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media(prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px #00000040}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab,red,red)){.stat-desc{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab,red,red)){.stat-title{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"ร—";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.label{color:color-mix(in oklab,currentcolor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab,red,red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab,red,red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab,red,red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border)solid var(--badge-color,var(--color-base-200));background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem)*6);width:fit-content;height:var(--size);padding-inline:calc(var(--size)/2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.kbd{border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000)}}.kbd{border-bottom:calc(var(--border) + 1px)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.kbd{border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000)}}.kbd{--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);font-size:.875rem}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem)*10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border)dashed currentColor}@supports (color:color-mix(in lab,red,red)){.stat:not(:last-child){border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000)}}.stat:not(:last-child){border-block-end:none}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px #000,0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab,red,red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px color-mix(in oklab,color-mix(in oklab,#000 20%,var(--alert-color,var(--color-base-200)))calc(var(--depth)*20%),#0000),0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.chat{--mask-chat:url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;background-color:#0006}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip:after{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media(prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:disabled{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn[disabled]{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media(prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"โˆ’";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"โˆ’";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row>*{grid-row-start:1}.checkbox:disabled{cursor:not-allowed;opacity:.2}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,-.25rem));inset:var(--tt-off)auto auto 50%}.tooltip-bottom:after{transform:translate(-50%)translateY(var(--tt-pos,-.25rem))rotate(180deg);inset:var(--tt-tail)auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translate(calc(var(--tt-pos,.25rem) - .25rem))translateY(-50%);inset:50% var(--tt-off)auto auto}.tooltip-left:after{transform:translate(var(--tt-pos,.25rem))translateY(-50%)rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px)auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translate(calc(var(--tt-pos,-.25rem) + .25rem))translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translate(var(--tt-pos,-.25rem))translateY(-50%)rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip-top:after{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.toast-end{--toast-x:0;inset-inline:auto 1rem}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.toast-bottom{--toast-y:0;top:auto;bottom:1rem}.input-lg{--size:calc(var(--size-field,.25rem)*12);font-size:max(var(--font-size,1.125rem),1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem)*8);font-size:max(var(--font-size,.75rem),.75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem)*6);font-size:max(var(--font-size,.6875rem),.6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.loading-lg{width:calc(var(--size-selector,.25rem)*7)}.loading-md{width:calc(var(--size-selector,.25rem)*6)}.loading-sm{width:calc(var(--size-selector,.25rem)*5)}.loading-xs{width:calc(var(--size-selector,.25rem)*4)}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.checkbox-xs{--size:calc(var(--size-selector,.25rem)*4);padding:.125rem}.select-lg{--size:calc(var(--size-field,.25rem)*12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem)*6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.badge-lg{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}.badge-sm{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}.kbd-sm{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}.kbd-xs{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.progress-accent{color:var(--color-accent)}.progress-error{color:var(--color-error)}.progress-info{color:var(--color-info)}.progress-primary{color:var(--color-primary)}.progress-secondary{color:var(--color-secondary)}.progress-success{color:var(--color-success)}.progress-warning{color:var(--color-warning)}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem)*12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem)*6)}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-error,.input-error:focus,.input-error:focus-within,.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem)*7)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem)*5)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem)*4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-9{left:calc(var(--spacing)*-9)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-auto{margin-left:auto}.kbd{box-shadow:none}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-14{height:calc(var(--spacing)*14)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-\[20\%\]{width:20%}.w-\[35\%\]{width:35%}.w-\[45\%\]{width:45%}.w-\[72px\]{width:72px}.w-full{width:100%}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-32{max-width:calc(var(--spacing)*32)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[16px\]{min-width:16px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-base-300>:not(:last-child)){border-color:var(--color-base-300)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-box{border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-base-100{border-color:var(--color-base-100)}.border-base-200{border-color:var(--color-base-200)}.border-base-300,.border-base-300\/50{border-color:var(--color-base-300)}@supports (color:color-mix(in lab,red,red)){.border-base-300\/50{border-color:color-mix(in oklab,var(--color-base-300)50%,transparent)}}.border-base-content\/10{border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.border-base-content\/10{border-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.border-primary\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.border-primary\/50{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,var(--color-primary)50%,transparent)}}.border-warning\/30{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning)30%,transparent)}}.border-l-accent{border-left-color:var(--color-accent)}.border-l-info{border-left-color:var(--color-info)}.border-l-warning{border-left-color:var(--color-warning)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.bg-base-200\/50{background-color:color-mix(in oklab,var(--color-base-200)50%,transparent)}}.bg-base-200\/60{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.bg-base-200\/60{background-color:color-mix(in oklab,var(--color-base-200)60%,transparent)}}.bg-base-300,.bg-base-300\/50{background-color:var(--color-base-300)}@supports (color:color-mix(in lab,red,red)){.bg-base-300\/50{background-color:color-mix(in oklab,var(--color-base-300)50%,transparent)}}.bg-base-content\/30{background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.bg-base-content\/30{background-color:color-mix(in oklab,var(--color-base-content)30%,transparent)}}.bg-base-content\/50{background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.bg-base-content\/50{background-color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\/10{background-color:color-mix(in oklab,var(--color-error)10%,transparent)}}.bg-info{background-color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-primary-content\/20{background-color:var(--color-primary-content)}@supports (color:color-mix(in lab,red,red)){.bg-primary-content\/20{background-color:color-mix(in oklab,var(--color-primary-content)20%,transparent)}}.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/10{background-color:color-mix(in oklab,var(--color-success)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/5{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning)5%,transparent)}}.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--color-warning)10%,transparent)}}.stroke-base-content\/10{stroke:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.stroke-base-content\/10{stroke:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.stroke-current{stroke:currentColor}.p-0{padding:calc(var(--spacing)*0)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-10{padding-left:calc(var(--spacing)*10)}.pl-12{padding-left:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-base-content,.text-base-content\/20{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/20{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.text-base-content\/30{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/30{color:color-mix(in oklab,var(--color-base-content)30%,transparent)}}.text-base-content\/40{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/40{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}.text-base-content\/50{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/50{color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/60{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.text-base-content\/70{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/70{color:color-mix(in oklab,var(--color-base-content)70%,transparent)}}.text-base-content\/80{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/80{color:color-mix(in oklab,var(--color-base-content)80%,transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/90{color:color-mix(in oklab,var(--color-base-content)90%,transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-orange-400{color:var(--color-orange-400)}.text-pink-400{color:var(--color-pink-400)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-primary\/60{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/60{color:color-mix(in oklab,var(--color-primary)60%,transparent)}}.text-primary\/70{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--color-primary)70%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-secondary{color:var(--color-secondary)}.text-sky-400{color:var(--color-sky-400)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-violet-400{color:var(--color-violet-400)}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-warning\/80{color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\/80{color:color-mix(in oklab,var(--color-warning)80%,transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--color-primary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}@layer daisyui.l1{.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media(hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media(hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}@media(hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-base-200:hover,.hover\:bg-base-200\/50:hover{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-base-200\/50:hover{background-color:color-mix(in oklab,var(--color-base-200)50%,transparent)}}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:40rem){.sm\:block{display:block}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>\*\]\:h-full>*{height:100%}}:root{--layout-sidebar-width:256px}.dashboard-layout{background:var(--root-bg)}.dashboard-sidebar{background:var(--layout-sidebar-background);border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.dashboard-sidebar{border-color:color-mix(in srgb,var(--color-base-content)8%,transparent)}}.dashboard-topbar{background:var(--layout-topbar-background);border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.dashboard-topbar{border-color:color-mix(in srgb,var(--color-base-content)8%,transparent)}}.sidebar-header{border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);border-bottom-width:1px;border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.sidebar-header{border-color:color-mix(in srgb,var(--color-base-content)6%,transparent)}}.sidebar-header-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.sidebar-header-title{color:color-mix(in srgb,var(--color-base-content)50%,transparent)}}.sidebar-section{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.sidebar-section-title{margin-bottom:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.sidebar-section-title{color:color-mix(in srgb,var(--color-base-content)45%,transparent)}}.nav-item{cursor:pointer;align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;display:flex}.nav-item:hover:not(.active){background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.nav-item:hover:not(.active){background:color-mix(in srgb,var(--color-base-content)5%,transparent)}}.nav-item.active{background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.nav-item.active{background:color-mix(in srgb,var(--color-primary)15%,transparent)}}.nav-item.active{box-shadow:inset 0 0 0 1px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.nav-item.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary)30%,transparent)}}.memory-card{border-radius:var(--radius-lg);padding:calc(var(--spacing)*3);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;background:var(--color-base-content);transition-duration:.15s}@supports (color:color-mix(in lab,red,red)){.memory-card{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.memory-card:hover{background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.memory-card:hover{background:color-mix(in srgb,var(--color-base-content)6%,transparent)}}.stats-card{border-radius:var(--radius-lg);padding:calc(var(--spacing)*4);background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.stats-card{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.property-card{border-radius:var(--radius-lg);padding:calc(var(--spacing)*3);background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.property-card{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.property-label{margin-bottom:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-base-content);display:block}@supports (color:color-mix(in lab,red,red)){.property-label{color:color-mix(in srgb,var(--color-base-content)55%,transparent)}}.settings-collapse{border-radius:var(--radius-lg);background:var(--color-base-content);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.settings-collapse{background:color-mix(in srgb,var(--color-base-content)3%,transparent)}}.settings-collapse .collapse-title{min-height:calc(var(--spacing)*0);padding-block:calc(var(--spacing)*2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.status-indicator{align-items:center;gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-radius:3.40282e38px;display:inline-flex}.status-indicator.online{background:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.status-indicator.online{background:color-mix(in srgb,var(--color-success)15%,transparent)}}.status-indicator.online{color:var(--color-success)}.status-indicator.offline{background:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.status-indicator.offline{background:color-mix(in srgb,var(--color-error)15%,transparent)}}.status-indicator.offline{color:var(--color-error)}.status-indicator.processing{background:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.status-indicator.processing{background:color-mix(in srgb,var(--color-warning)15%,transparent)}}.status-indicator.processing{color:var(--color-warning)}@layer daisyui.l1.l2.l3{.search-input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.search-input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.search-input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.search-input:where(input){display:inline-flex}.search-input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.search-input :where(input):focus,.search-input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.search-input :where(input):focus,.search-input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.search-input :where(input[type=url]),.search-input :where(input[type=email]){direction:ltr}.search-input :where(input[type=date]){display:inline-flex}.search-input:focus,.search-input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.search-input:focus,.search-input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.search-input:focus,.search-input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.search-input:focus,.search-input:focus-within{--font-size:1rem}}}.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input{box-shadow:none}.search-input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.search-input::-webkit-date-and-time-value{text-align:inherit}.search-input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.search-input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.search-input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex}.search-input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}}@layer daisyui.l1.l2{.search-input{--size:calc(var(--size-field,.25rem)*8);font-size:max(var(--font-size,.75rem),.75rem)}.search-input[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.badge-observation{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-summary{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.badge-prompt{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-bugfix{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-feature{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-refactor{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-discovery{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-decision{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.badge-change{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}}.search-input{border-style:var(--tw-border-style);background:var(--color-base-content);border-width:1px;width:100%}@supports (color:color-mix(in lab,red,red)){.search-input{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.search-input{border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input{border-color:color-mix(in srgb,var(--color-base-content)10%,transparent)}}.search-input:focus{border-color:var(--color-primary);background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input:focus{background:color-mix(in srgb,var(--color-base-content)6%,transparent)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-base-content)15%,transparent)}}::-webkit-scrollbar-thumb{border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-base-content)25%,transparent)}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items)*100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-green-400:oklch(79.2% .209 151.711);--color-sky-400:oklch(74.6% .16 232.661);--color-violet-400:oklch(70.2% .183 293.541);--color-purple-400:oklch(71.4% .203 305.504);--color-pink-400:oklch(71.8% .202 349.761);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab,red,red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}:root:not(span){overflow:var(--page-overflow)}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--root-bg:#121212;--layout-sidebar-background:#1a1a1a;--layout-topbar-background:#1a1a1a;--color-base-100:#1a1a1a;--color-base-200:#262626;--color-base-300:#333;--color-base-content:#fafafa;--color-primary:#5b9ed9;--color-primary-content:#fff;--color-secondary:#a855f7;--color-secondary-content:#fff;--color-accent:#5b9ed9;--color-accent-content:#fff;--color-neutral:#d1d5db;--color-neutral-content:#1e2832;--color-info:#0ea5e9;--color-info-content:#fff;--color-success:#22c55e;--color-success-content:#fff;--color-warning:#f59e0b;--color-warning-content:#150a00;--color-error:#ef4444;--color-error-content:#fff;--radius-field:.375rem;--radius-box:.5rem;--rounded-box:.5rem;--radius-selector:.375rem;--border:1px}}:where(:root),:root:has(input.theme-controller[value=pilot-shell]:checked),[data-theme=pilot-shell]{color-scheme:dark;--root-bg:#121212;--layout-sidebar-background:#1a1a1a;--layout-topbar-background:#1a1a1a;--color-base-100:#1a1a1a;--color-base-200:#262626;--color-base-300:#333;--color-base-content:#fafafa;--color-primary:#5b9ed9;--color-primary-content:#fff;--color-secondary:#a855f7;--color-secondary-content:#fff;--color-accent:#5b9ed9;--color-accent-content:#fff;--color-neutral:#d1d5db;--color-neutral-content:#1e2832;--color-info:#0ea5e9;--color-info-content:#fff;--color-success:#22c55e;--color-success-content:#fff;--color-warning:#f59e0b;--color-warning-content:#150a00;--color-error:#ef4444;--color-error-content:#fff;--radius-field:.375rem;--radius-box:.5rem;--rounded-box:.5rem;--radius-selector:.375rem;--border:1px}:root:has(input.theme-controller[value=pilot-shell-light]:checked),[data-theme=pilot-shell-light]{color-scheme:light;--root-bg:#f5f5f5;--layout-sidebar-background:#fff;--layout-topbar-background:#fff;--color-base-100:#fff;--color-base-200:#f5f5f5;--color-base-300:#e5e5e5;--color-base-content:#171717;--color-primary:#4a90c7;--color-primary-content:#fff;--color-secondary:#9333ea;--color-secondary-content:#fff;--color-accent:#4a90c7;--color-accent-content:#fff;--color-neutral:#1f2937;--color-neutral-content:#fafcff;--color-info:#0284c7;--color-info-content:#fff;--color-success:#16a34a;--color-success-content:#fff;--color-warning:#d97706;--color-warning-content:#150a00;--color-error:#dc2626;--color-error-content:#fff;--radius-field:.375rem;--radius-box:.5rem;--rounded-box:.5rem;--radius-selector:.375rem;--border:1px}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.diff{webkit-user-select:none;-webkit-user-select:none;user-select:none;direction:ltr;grid-template-rows:1fr 1.8rem 1fr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:95cqi;max-width:95cqi}.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-1:focus-visible) .diff-resizer{min-width:5cqi;max-width:5cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:5cqi;max-width:5cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:95cqi;max-width:95cqi}}.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:clip}.modal::backdrop{display:none}.tooltip{--tt-bg:var(--color-neutral);--tt-off: calc(100% + .5rem) ;--tt-tail: calc(100% + 1px + .25rem) ;display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media(prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media(prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media(hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field),var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)),var(--tab-border-color)calc(69% - var(--border) + .25px),var(--tab-border-color)69%,var(--tab-bg) calc(69% + .25px) ;order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;top:0;right:0;bottom:0;left:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media(prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px #00000003,inset 0 -1px #ffffff03}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.dropdown{position-area:var(--anchor-v,bottom)var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media(prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:95%}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:100%}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:95%}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%)) inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab,red,red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}@media(hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media(prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media(prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete,visibility .2s allow-discrete,min-height .2s ease-out allow-discrete,padding .1s ease-out 20ms,background-color .2s ease-out,height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media(prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete,visibility .2s allow-discrete,min-height .2s ease-out allow-discrete,padding .1s ease-out 20ms,background-color .2s ease-out}}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab,red,red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.toast{translate:var(--toast-x,0)var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media(prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.toggle{border:var(--border)solid currentColor;color:var(--input-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p),var(--radius-selector-max)) + min(var(--border),var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab,red,red)){.toggle{box-shadow:0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab,red,red)){.toggle{--input-color:color-mix(in oklab,var(--color-base-content)50%,#0000)}}.toggle{--toggle-p:calc(var(--size)*.125);--size:calc(var(--size-selector,.25rem)*6);width:calc((var(--size)*2) - (var(--border) + var(--toggle-p))*2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:none}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:none}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab,red,red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)}}.toggle:before{background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}@media(forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:-1px;outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border)solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%)var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x: 0rem ;--tw-border-spacing-y: 0rem ;width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media(hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.select{border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.select{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.select{--size:calc(var(--size-field,.25rem)*10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border)*2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}:is(.select,.select select)::picker(select){-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border)solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth)*3px) -2px #0003;box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth)*.1)),0 8px 10px -6px rgb(0 0 0/calc(var(--depth)*.1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth)*3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0,1fr))auto var(--timeline-row-end,minmax(0,1fr));grid-template-columns:var(--timeline-col-start,minmax(0,1fr))auto var(--timeline-col-end,minmax(0,1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.checkbox{border:var(--border)solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0 3px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media(forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"โœ”๏ธŽ";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"โœ”๏ธŽ";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.progress{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media(prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media(prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px #00000040}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab,red,red)){.stat-desc{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab,red,red)){.stat-title{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"ร—";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.label{color:color-mix(in oklab,currentcolor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab,red,red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab,red,red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab,red,red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border)solid var(--badge-color,var(--color-base-200));background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem)*6);width:fit-content;height:var(--size);padding-inline:calc(var(--size)/2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.kbd{border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000)}}.kbd{border-bottom:calc(var(--border) + 1px)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.kbd{border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000)}}.kbd{--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);font-size:.875rem}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem)*10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border)dashed currentColor}@supports (color:color-mix(in lab,red,red)){.stat:not(:last-child){border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000)}}.stat:not(:last-child){border-block-end:none}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px #000,0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab,red,red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px color-mix(in oklab,color-mix(in oklab,#000 20%,var(--alert-color,var(--color-base-200)))calc(var(--depth)*20%),#0000),0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.chat{--mask-chat:url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;background-color:#0006}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip:after{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media(prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:disabled{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn[disabled]{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media(prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"โˆ’";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"โˆ’";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row>*{grid-row-start:1}.checkbox:disabled{cursor:not-allowed;opacity:.2}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,-.25rem));inset:var(--tt-off)auto auto 50%}.tooltip-bottom:after{transform:translate(-50%)translateY(var(--tt-pos,-.25rem))rotate(180deg);inset:var(--tt-tail)auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translate(calc(var(--tt-pos,.25rem) - .25rem))translateY(-50%);inset:50% var(--tt-off)auto auto}.tooltip-left:after{transform:translate(var(--tt-pos,.25rem))translateY(-50%)rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px)auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translate(calc(var(--tt-pos,-.25rem) + .25rem))translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translate(var(--tt-pos,-.25rem))translateY(-50%)rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip-top:after{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.toast-end{--toast-x:0;inset-inline:auto 1rem}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.toast-bottom{--toast-y:0;top:auto;bottom:1rem}.input-lg{--size:calc(var(--size-field,.25rem)*12);font-size:max(var(--font-size,1.125rem),1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem)*8);font-size:max(var(--font-size,.75rem),.75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem)*6);font-size:max(var(--font-size,.6875rem),.6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.loading-lg{width:calc(var(--size-selector,.25rem)*7)}.loading-md{width:calc(var(--size-selector,.25rem)*6)}.loading-sm{width:calc(var(--size-selector,.25rem)*5)}.loading-xs{width:calc(var(--size-selector,.25rem)*4)}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.checkbox-xs{--size:calc(var(--size-selector,.25rem)*4);padding:.125rem}.select-lg{--size:calc(var(--size-field,.25rem)*12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem)*6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.badge-lg{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}.badge-sm{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}.kbd-sm{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}.kbd-xs{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.progress-accent{color:var(--color-accent)}.progress-error{color:var(--color-error)}.progress-info{color:var(--color-info)}.progress-primary{color:var(--color-primary)}.progress-secondary{color:var(--color-secondary)}.progress-success{color:var(--color-success)}.progress-warning{color:var(--color-warning)}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem)*12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem)*6)}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-error,.input-error:focus,.input-error:focus-within,.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem)*7)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem)*5)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem)*4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-6{bottom:calc(var(--spacing)*6)}.-left-9{left:calc(var(--spacing)*-9)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-auto{margin-left:auto}.kbd{box-shadow:none}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-14{height:calc(var(--spacing)*14)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-\[20\%\]{width:20%}.w-\[35\%\]{width:35%}.w-\[45\%\]{width:45%}.w-\[72px\]{width:72px}.w-full{width:100%}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-32{max-width:calc(var(--spacing)*32)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[16px\]{min-width:16px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-4{scroll-margin-top:calc(var(--spacing)*4)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-base-300>:not(:last-child)){border-color:var(--color-base-300)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-box{border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-base-100{border-color:var(--color-base-100)}.border-base-200{border-color:var(--color-base-200)}.border-base-300,.border-base-300\/50{border-color:var(--color-base-300)}@supports (color:color-mix(in lab,red,red)){.border-base-300\/50{border-color:color-mix(in oklab,var(--color-base-300)50%,transparent)}}.border-base-content\/10{border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.border-base-content\/10{border-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.border-primary\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--color-primary)30%,transparent)}}.border-primary\/50{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,var(--color-primary)50%,transparent)}}.border-warning\/30{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning)30%,transparent)}}.border-l-accent{border-left-color:var(--color-accent)}.border-l-info{border-left-color:var(--color-info)}.border-l-warning{border-left-color:var(--color-warning)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.bg-base-200\/50{background-color:color-mix(in oklab,var(--color-base-200)50%,transparent)}}.bg-base-200\/60{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.bg-base-200\/60{background-color:color-mix(in oklab,var(--color-base-200)60%,transparent)}}.bg-base-300,.bg-base-300\/50{background-color:var(--color-base-300)}@supports (color:color-mix(in lab,red,red)){.bg-base-300\/50{background-color:color-mix(in oklab,var(--color-base-300)50%,transparent)}}.bg-base-content\/30{background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.bg-base-content\/30{background-color:color-mix(in oklab,var(--color-base-content)30%,transparent)}}.bg-base-content\/50{background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.bg-base-content\/50{background-color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\/10{background-color:color-mix(in oklab,var(--color-error)10%,transparent)}}.bg-info{background-color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-primary-content\/20{background-color:var(--color-primary-content)}@supports (color:color-mix(in lab,red,red)){.bg-primary-content\/20{background-color:color-mix(in oklab,var(--color-primary-content)20%,transparent)}}.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/10{background-color:color-mix(in oklab,var(--color-success)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/5{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning)5%,transparent)}}.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--color-warning)10%,transparent)}}.stroke-base-content\/10{stroke:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.stroke-base-content\/10{stroke:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.stroke-current{stroke:currentColor}.p-0{padding:calc(var(--spacing)*0)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-10{padding-left:calc(var(--spacing)*10)}.pl-12{padding-left:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-base-content,.text-base-content\/20{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/20{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.text-base-content\/30{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/30{color:color-mix(in oklab,var(--color-base-content)30%,transparent)}}.text-base-content\/40{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/40{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}.text-base-content\/50{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/50{color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/60{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.text-base-content\/70{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/70{color:color-mix(in oklab,var(--color-base-content)70%,transparent)}}.text-base-content\/80{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/80{color:color-mix(in oklab,var(--color-base-content)80%,transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/90{color:color-mix(in oklab,var(--color-base-content)90%,transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-orange-400{color:var(--color-orange-400)}.text-pink-400{color:var(--color-pink-400)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-primary\/60{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/60{color:color-mix(in oklab,var(--color-primary)60%,transparent)}}.text-primary\/70{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--color-primary)70%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-secondary{color:var(--color-secondary)}.text-sky-400{color:var(--color-sky-400)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-violet-400{color:var(--color-violet-400)}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-warning\/80{color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\/80{color:color-mix(in oklab,var(--color-warning)80%,transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--color-primary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}@layer daisyui.l1{.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media(hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media(hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}@media(hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-base-200:hover,.hover\:bg-base-200\/50:hover{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-base-200\/50:hover{background-color:color-mix(in oklab,var(--color-base-200)50%,transparent)}}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-success\/15:hover{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-success\/15:hover{background-color:color-mix(in oklab,var(--color-success)15%,transparent)}}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:40rem){.sm\:block{display:block}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>\*\]\:h-full>*{height:100%}}:root{--layout-sidebar-width:256px}.dashboard-layout{background:var(--root-bg)}.dashboard-sidebar{background:var(--layout-sidebar-background);border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.dashboard-sidebar{border-color:color-mix(in srgb,var(--color-base-content)8%,transparent)}}.dashboard-topbar{background:var(--layout-topbar-background);border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.dashboard-topbar{border-color:color-mix(in srgb,var(--color-base-content)8%,transparent)}}.sidebar-header{border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);border-bottom-width:1px;border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.sidebar-header{border-color:color-mix(in srgb,var(--color-base-content)6%,transparent)}}.sidebar-header-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.sidebar-header-title{color:color-mix(in srgb,var(--color-base-content)50%,transparent)}}.sidebar-section{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.sidebar-section-title{margin-bottom:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.sidebar-section-title{color:color-mix(in srgb,var(--color-base-content)45%,transparent)}}.nav-item{cursor:pointer;align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;display:flex}.nav-item:hover:not(.active){background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.nav-item:hover:not(.active){background:color-mix(in srgb,var(--color-base-content)5%,transparent)}}.nav-item.active{background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.nav-item.active{background:color-mix(in srgb,var(--color-primary)15%,transparent)}}.nav-item.active{box-shadow:inset 0 0 0 1px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.nav-item.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary)30%,transparent)}}.memory-card{border-radius:var(--radius-lg);padding:calc(var(--spacing)*3);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;background:var(--color-base-content);transition-duration:.15s}@supports (color:color-mix(in lab,red,red)){.memory-card{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.memory-card:hover{background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.memory-card:hover{background:color-mix(in srgb,var(--color-base-content)6%,transparent)}}.stats-card{border-radius:var(--radius-lg);padding:calc(var(--spacing)*4);background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.stats-card{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.property-card{border-radius:var(--radius-lg);padding:calc(var(--spacing)*3);background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.property-card{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.property-label{margin-bottom:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-base-content);display:block}@supports (color:color-mix(in lab,red,red)){.property-label{color:color-mix(in srgb,var(--color-base-content)55%,transparent)}}.settings-collapse{border-radius:var(--radius-lg);background:var(--color-base-content);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.settings-collapse{background:color-mix(in srgb,var(--color-base-content)3%,transparent)}}.settings-collapse .collapse-title{min-height:calc(var(--spacing)*0);padding-block:calc(var(--spacing)*2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.status-indicator{align-items:center;gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-radius:3.40282e38px;display:inline-flex}.status-indicator.online{background:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.status-indicator.online{background:color-mix(in srgb,var(--color-success)15%,transparent)}}.status-indicator.online{color:var(--color-success)}.status-indicator.offline{background:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.status-indicator.offline{background:color-mix(in srgb,var(--color-error)15%,transparent)}}.status-indicator.offline{color:var(--color-error)}.status-indicator.processing{background:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.status-indicator.processing{background:color-mix(in srgb,var(--color-warning)15%,transparent)}}.status-indicator.processing{color:var(--color-warning)}@layer daisyui.l1.l2.l3{.search-input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.search-input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.search-input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.search-input:where(input){display:inline-flex}.search-input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.search-input :where(input):focus,.search-input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.search-input :where(input):focus,.search-input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.search-input :where(input[type=url]),.search-input :where(input[type=email]){direction:ltr}.search-input :where(input[type=date]){display:inline-flex}.search-input:focus,.search-input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.search-input:focus,.search-input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.search-input:focus,.search-input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.search-input:focus,.search-input:focus-within{--font-size:1rem}}}.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.search-input:has(>input[disabled]),.search-input:is(:disabled,[disabled]),fieldset:disabled .search-input{box-shadow:none}.search-input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.search-input::-webkit-date-and-time-value{text-align:inherit}.search-input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.search-input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.search-input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex}.search-input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}}@layer daisyui.l1.l2{.search-input{--size:calc(var(--size-field,.25rem)*8);font-size:max(var(--font-size,.75rem),.75rem)}.search-input[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.badge-observation{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-summary{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.badge-prompt{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-bugfix{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-feature{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-refactor{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-discovery{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-decision{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.badge-change{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}}.search-input{border-style:var(--tw-border-style);background:var(--color-base-content);border-width:1px;width:100%}@supports (color:color-mix(in lab,red,red)){.search-input{background:color-mix(in srgb,var(--color-base-content)4%,transparent)}}.search-input{border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input{border-color:color-mix(in srgb,var(--color-base-content)10%,transparent)}}.search-input:focus{border-color:var(--color-primary);background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.search-input:focus{background:color-mix(in srgb,var(--color-base-content)6%,transparent)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-base-content)15%,transparent)}}::-webkit-scrollbar-thumb{border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-base-content)25%,transparent)}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items)*100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/pyproject.toml b/pyproject.toml index dd92f9e6..3c2a2665 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,9 +6,9 @@ build-backend = "setuptools.build_meta" include = ["launcher*", "installer*"] [project] -name = "claude-pilot" +name = "pilot-shell" version = "1.0.0" -description = "Claude Pilot" +description = "Pilot Shell" requires-python = ">=3.12,<3.13" readme = "README.md" dependencies = [ diff --git a/uninstall.sh b/uninstall.sh index 4472ab77..597d3e0f 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -7,7 +7,8 @@ CLAUDE_DIR="$HOME/.claude" PILOT_PLUGIN_DIR="$CLAUDE_DIR/pilot" MANIFEST_FILE="$CLAUDE_DIR/.pilot-manifest.json" -CLAUDE_ALIAS_MARKER="# Claude Pilot" +CLAUDE_ALIAS_MARKER="# Pilot Shell" +OLD_CLAUDE_PILOT_MARKER="# Claude Pilot" OLD_CCP_MARKER="# Claude CodePro alias" removed_items=() @@ -16,7 +17,7 @@ get_pilot_version() { local pilot_path="$PILOT_DIR/bin/pilot" if [ -x "$pilot_path" ]; then local version - version=$("$pilot_path" --version 2>/dev/null | sed -n 's/.*Pilot v\(.*\)/\1/p') || true + version=$("$pilot_path" --version 2>/dev/null | sed -n 's/.* v\([^ ]*\).*/\1/p') || true if [ -n "$version" ]; then echo "$version" return @@ -41,6 +42,7 @@ get_affected_shell_configs() { ) for config_file in "${config_files[@]}"; do if [ -f "$config_file" ] && grep -q -e "$CLAUDE_ALIAS_MARKER" \ + -e "$OLD_CLAUDE_PILOT_MARKER" \ -e "$OLD_CCP_MARKER" \ -e "alias ccp=" \ -e "alias pilot=" \ @@ -58,7 +60,7 @@ confirm_uninstall() { echo "" echo "======================================================================" - echo " Claude Pilot Uninstaller (v${version})" + echo " Pilot Shell Uninstaller (v${version})" echo "======================================================================" echo "" @@ -143,6 +145,7 @@ remove_shell_aliases() { fi if ! grep -q -e "$CLAUDE_ALIAS_MARKER" \ + -e "$OLD_CLAUDE_PILOT_MARKER" \ -e "$OLD_CCP_MARKER" \ -e "alias ccp=" \ -e "alias pilot=" \ @@ -156,6 +159,7 @@ remove_shell_aliases() { tmp_file=$(mktemp) awk ' + /# Pilot Shell/ { next } /# Claude Pilot/ { next } /# Claude CodePro alias/ { next } /^[[:space:]]*alias ccp=/ { next } @@ -349,9 +353,9 @@ print_summary() { echo "======================================================================" if [ ${#removed_items[@]} -eq 0 ]; then - echo " Nothing to remove. Claude Pilot does not appear to be installed." + echo " Nothing to remove. Pilot Shell does not appear to be installed." else - echo " Claude Pilot has been uninstalled." + echo " Pilot Shell has been uninstalled." echo "" echo " Removed ${#removed_items[@]} items:" for item in "${removed_items[@]}"; do @@ -389,7 +393,7 @@ while [ $# -gt 0 ]; do --help | -h) echo "Usage: uninstall.sh [--yes|-y]" echo "" - echo "Uninstall Claude Pilot and remove all installed files." + echo "Uninstall Pilot Shell and remove all installed files." echo "" echo "Options:" echo " --yes, -y Skip confirmation prompt" @@ -407,10 +411,10 @@ done if ! [ -d "$PILOT_DIR" ] && ! [ -d "$PILOT_PLUGIN_DIR" ] && ! [ -f "$MANIFEST_FILE" ]; then echo "" echo "======================================================================" - echo " Claude Pilot Uninstaller" + echo " Pilot Shell Uninstaller" echo "======================================================================" echo "" - echo " Nothing to remove. Claude Pilot does not appear to be installed." + echo " Nothing to remove. Pilot Shell does not appear to be installed." echo "" echo "======================================================================" echo "" @@ -422,12 +426,12 @@ if [ "$SKIP_CONFIRM" = false ]; then else echo "" echo "======================================================================" - echo " Claude Pilot Uninstaller" + echo " Pilot Shell Uninstaller" echo "======================================================================" fi echo "" -echo " Uninstalling Claude Pilot..." +echo " Uninstalling Pilot Shell..." echo "" remove_shell_aliases diff --git a/uv.lock b/uv.lock index 4281b5dd..a303a733 100644 --- a/uv.lock +++ b/uv.lock @@ -125,53 +125,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, ] -[[package]] -name = "claude-pilot" -version = "1.0.0" -source = { editable = "." } -dependencies = [ - { name = "cryptography" }, - { name = "cython" }, - { name = "platformdirs" }, - { name = "rich" }, - { name = "setuptools" }, -] - -[package.dev-dependencies] -dev = [ - { name = "basedpyright" }, - { name = "build" }, - { name = "pytest" }, - { name = "pytest-asyncio" }, - { name = "pytest-cov" }, - { name = "ruff" }, - { name = "tox" }, - { name = "vexor" }, - { name = "vulture" }, -] - -[package.metadata] -requires-dist = [ - { name = "cryptography", specifier = ">=44.0.0" }, - { name = "cython", specifier = ">=3.0.0" }, - { name = "platformdirs", specifier = ">=4.3.6" }, - { name = "rich", specifier = ">=14.0.0" }, - { name = "setuptools", specifier = ">=61.0" }, -] - -[package.metadata.requires-dev] -dev = [ - { name = "basedpyright", specifier = ">=1.32.1" }, - { name = "build", specifier = ">=1.3.0" }, - { name = "pytest", specifier = ">=8.3.3" }, - { name = "pytest-asyncio", specifier = ">=0.24.0" }, - { name = "pytest-cov", specifier = ">=7.0.0" }, - { name = "ruff", specifier = ">=0.12.3" }, - { name = "tox", specifier = ">=4.28.4" }, - { name = "vexor", specifier = ">=0.22.0" }, - { name = "vulture", specifier = ">=2.14" }, -] - [[package]] name = "click" version = "8.3.1" @@ -614,6 +567,53 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5d/cf/881b457eccacac9e5b2ddd97d5071fb6d668307c57cbf4e3b5278e06e536/pillow-12.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:65b80c1ee7e14a87d6a068dd3b0aea268ffcabfe0498d38661b00c5b4b22e74c", size = 2452612, upload-time = "2026-01-02T09:11:29.309Z" }, ] +[[package]] +name = "pilot-shell" +version = "1.0.0" +source = { editable = "." } +dependencies = [ + { name = "cryptography" }, + { name = "cython" }, + { name = "platformdirs" }, + { name = "rich" }, + { name = "setuptools" }, +] + +[package.dev-dependencies] +dev = [ + { name = "basedpyright" }, + { name = "build" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, + { name = "pytest-cov" }, + { name = "ruff" }, + { name = "tox" }, + { name = "vexor" }, + { name = "vulture" }, +] + +[package.metadata] +requires-dist = [ + { name = "cryptography", specifier = ">=44.0.0" }, + { name = "cython", specifier = ">=3.0.0" }, + { name = "platformdirs", specifier = ">=4.3.6" }, + { name = "rich", specifier = ">=14.0.0" }, + { name = "setuptools", specifier = ">=61.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "basedpyright", specifier = ">=1.32.1" }, + { name = "build", specifier = ">=1.3.0" }, + { name = "pytest", specifier = ">=8.3.3" }, + { name = "pytest-asyncio", specifier = ">=0.24.0" }, + { name = "pytest-cov", specifier = ">=7.0.0" }, + { name = "ruff", specifier = ">=0.12.3" }, + { name = "tox", specifier = ">=4.28.4" }, + { name = "vexor", specifier = ">=0.22.0" }, + { name = "vulture", specifier = ">=2.14" }, +] + [[package]] name = "platformdirs" version = "4.5.0"